Systembeskrivning Inklusive beskrivning av klienterna Juni 2009 Författare: Ted Björling, Accedo Broadband AB Alex Johnsson, Patrick Broman och Fredrik Eldh, Mobile Sorcery AB
Innehållsförteckning 1 Introduktion... 3 2 Systembeskrivning... 3 2.1 Tolk...3 2.2 Klient...3 2.3 Administration...3 3 Problemställningar... 4 3.1 Val av tv-plattform...4 3.2 Synergi mellan dator- och tv-gränssnitt...4 3.3 Flexibel läshastighet...4 3.4 Strömning av ljud...4 3.5 Mobiltelefon...4 3.6 Dator & tv...4 3.7 Mobilklienten...5 3.7.1 Mobil- eller webbapplikation?...5 3.7.2 Läsaren som mobilapplikation...5 3.7.3 Nedladdning och installation...5 3.7.4 Teknikval...5 3.7.5 Teknisk beskrivning av mobilklienten Läsaren...6
1 Introduktion En tjänst skulle tas fram med syftet att spela upp DAISY-produktioner 1 i en multiplattformsmiljö med tillägget att inga speciella insticksprogram bör användas. Valet att endast använda standardkomponenter grundar sig i insikten att för att en tjänst som Läsaren ska kunna bli uppskattad och väl använd så måste den vara så enkel som möjligt. Att dessutom använda Internet som medium och att tillhandahålla Läsaren från en central plats ger de rätta förutsättningarna för en tjänst som är enkel att nå och använda. 2 Systembeskrivning Läsaren består av fyra huvudsakliga komponenter: tolk, server, API 2 och klient. Tolken ansvarar för att DAISY-produktioner letar sig in i Läsarens ekosystem. Servern innehåller den grundläggande tekniken för att till exempel strömma 3 ut produktioner och all användarhantering, och klientens uppgift är att presentera denna information för användarna. Gränssnittet mellan klient och server utgörs av ett API. 2.1 Tolk Tolken är den process som tar in DAISY-innehåll och omformar detta till ett format som klienterna kan ta till sig. När tolken är klar med att processa en produktion så finns dess innehåll prydligt separerat och kvantifierat i en databas och dess bild- och ljuddata finns tillgängliga i lätthanterliga format. 2.2 Klient Det är i klienten den tolkade informationen strålar samman till en sammantagen helhet. 2.3 Administration Just nu finns det inget sätt att från webbgränssnittet addera nya böcker. Det är en funktion som är tänkt till nästa fas. För att lägga till en ny bok måste man exekvera ett Javaprogram, med den bok man vill tolka som parameter. Detta görs i en kommandoprompt som stödjer Java. På grund av detta förutsätter Läsaren idag en viss kunskap vid hanteringen, vilket kan och bör byggas bort i framtida versioner. I dessa bör administratörsgränssnittet begåvas med en uppladdningsfunktion som kan addera nya böcker. I realiteten bör inte Tolken exekveras på samma server som övriga delar av Läsaren, då tolkningsprocessen är krävande och riskerar att påverka användarupplevelsen negativt. 1 DAISY står för Digitalt anpassat informationssystem och är en öppen, internationellt etablerad standard. DAISY är en digital teknik som strukturerar ljud, text och bild på ett sätt som gör det enklare att söka i och läsa texter. Den fungerar även bra för publicering av multimedia. För att läsa mer om DAISY-produktion se Förstudierapporten Strömmande läsning för alla. 2 Ett API eller Application Programming Interface är en regeluppsättning för hur en viss programvara kan kommunicera med annan programvara. Regeluppsättningen beskrivs i princip alltid som en uppsättning funktionsanrop (APIets kontrakt) som under ordnade former ger tillgång till en viss funktionalitet. Man säger ofta att man kapslar in funktionaliteten bakom ett API. 3 Streaming (strömmande media) eller "strömning" är uppspelande av ljud och videofiler på mottagarens dator eller mobiltelefon samtidigt som de överförs från Internet. Streaming används både för uppspelning av lagrade filer från webbplatser och för mottagning av direktsända evenemang på Internet.
3 Problemställningar 3.1 Val av tv-plattform Spelkonsoler har flera aspekter som talar för dem: De är tillgängliga i vanliga butiker för hemelektronik. De är konkurrensutsatta och tillverkade i stor skala vilket leder till att de är billiga. Tack vare att de är byggda för att vara navet i vardagsrummet med en skiftande skara användare är de väldigt användarvänliga. Den spelkonsol som utmärkte sig var Wii från Nintendo. För att surfa på Internet finns Opera i version 9 tillsammans med en integrerad version 7 av Adobes Flashspelare. Dessa tillsammans borgade för att tämligen avancerade tjänster skulle kunna tas fram. Wii uppfyllde med andra ord grundkraven för Läsaren 2.0. 3.2 Flexibel läshastighet Ett krav på Läsaren var att ljudböcker skulle kunna spelas upp i både snabbare och långsammare tempo gentemot originalhastigheten. 3.3 Dator och tv 3.2.1 Synergi mellan dator och tv-gränssnitt En problemställning som visade sig tidigt i projektet var huruvida det skulle tas fram ett gränssnitt för dator och ett för tv eller om det gick att få någon form av synergi. Det som talade för det första alternativet är att tv-miljön traditionellt ställer andra krav på läsbarhet och klarhet än en vanlig datormiljö. I det här projektet går det emellertid att sammanfoga dessa miljöer med ett gott resultat. För Läsarens målgrupper är det en fördel att grafiken är övertydlig även på datorplattformen. Den här insikten har lett till att det endast krävs en version av Läsarens gränssnitt för både tv och dator, vilket sparar extremt mycket tid både i utveckling och vid framtida underhåll. Läsaren i dator respektive tv. 3.4 Strömning av ljud I kravspecifikationen gicks ett antal alternativ igenom för att spela upp ljud, och slutsatsen blev att Flash var den teknologi som var mest lämpad när det gäller dator och tv.
3.5 Mobiltelefon När en mobil kanal skulle utformas för Läsaren, uppstod det från start några huvudfrågor: - Går det att sända en ljudström via mobiltelefonens datakanal tillförlitligt och utan störande avbrott för lyssnaren? - Bör man utgå från mobiltelefonens inbyggda webbläsare respektive mediespelare som plattform, eller behöver man utveckla ett särskilt program en specialbyggd applikation för att kunna läsa böcker i DAISY-format? - Hur kan man kringgå att mobiltelefoner är av olika fabrikat med sinsemellan olika operativsystem och skärmstorlekar samt manövreras med olika knappuppsättningar, joysticks, pennor och fingetryckningar? - Hur inför man en beredskap för nya modeller av mobiltelefoner som lanseras på marknaden utan att ständigt anpassa koden till nya operativsystem? 3.7.1 Mobil- eller webbapplikation? Det finns idag i huvudsak tre kända standarder för mobila webbläsare: WML, XHTML Mobile Profile och Compact HTML. Utav dessa har XHTML-MP störst utbredningen. Den är dessvärre implementerad olika hos varje webbläsartillverkare utan tillgång till, eller förståelse för standarder. Stödet för typografi och layout är i de flesta fall relativt begränsad i mobilens inbyggda webbläsare, vilket gör det nästan omöjligt att tillhandahålla en gemensam layout. På samma sätt som olika webbläsare skiljer sig kring vilka format de stödjer, gäller det även för deras mediespelare (med media avses ljud, musik, rörlig bild, film, animeringar). 3.7.2 Läsaren som mobilapplikation Det var önskvärt med ett kompakt och robust program som kan spela upp ljud, text och bild, möjliggöra bokval ur ett bibliotek och som är anpassningsbart till olika användarbehov. Läsupplevelsen liknar den hos Läsarens dator- och tv-klient. Användaren kan enkelt växla kanal och fortsätta där man senast befann sig med hjälp av ett digitalt hundöra i boken. Läsning av bok i mobilklienten 3.7.3 Nedladdning och installation En mobilapplikation medger en design som i mångt och mycket liknar en webbläsarmiljö. Detta är eftersträvansvärt för att ge användaren en välkänd och sammanhängande läsupplevelse. Det går dock inte att komma ifrån att det krävs någon form av installation. Denna installation sker relativt enkelt, och inte via datorn som på den första och andra generationens GSM- och 3G telefoner. Installationen kan göras enligt följande:
1 Ange telefonens mobilnummer på en webbsida 2 Ett SMS hamnar i telefonens inkorg 3 Klicka ja för att installera klart att köra. 3.7.4 Teknikval För uppspelning av ljud föll valet på AMR 4, som med mycket låg bandbredd tillåter talad röst att överföras även i de fall där nätverket endast tillåter lägre överföringshastigheter. MoSync är ett SDK 5 speciellt designat för utveckling av mobila applikationer. MoSync har en inbyggd lösning för portning till olika modeller och plattformar, baserat på öppna standarder och Eclipse, som i sin tur är ett öppen källkodsprojekt känt världen över. Målsättningen med MoSync är att utvecklare inte ska behöva lägga så mycket tid och arbete på portningen till olika modeller och plattformar, det är inbyggt i MoSync och görs med hög grad av automatik. 3.7.5 Teknisk beskrivning av mobilklienten Läsaren Mobilklienten är skriven i C++ / MoSync. Den har två stora delar: Motorn och användargränssnittet (UI) samt en mindre: Spelarmotorn. Motorn Motorn pratar med Servern, genom HTTP och XML. Motorn hämtar många olika slags data och skickar vidare data till UI:t. Motorn lagrar även data temporärt, på telefonen, så att när UI:t ber om samma data igen behöver man inte upprepa frågan till Servern. Användargränsnsitt (UI) UI:t ritar upp menyer och andra vyer. Det tar emot knapptryckningar och agerar därefter. UI:t ber motorn om data från servern. Designen av UI:t är framtagen med speciell hänsyn till olika målgruppers preferenser. För att kunna realisera denna design på ett konsekvent sätt krävs mycket flexibilitet som inte kan uppnås med generisk, inbyggd UI-funktionalitet. Istället har ett specialiserat ramverk utvecklats från grunden. Spelarmotorn Den spelar upp böckers ljud, en paragraf i taget. Den ser till att hämta ett antal paragrafer i förväg, så att om Internet-uppkopplingen försvinner en liten stund, märker användaren inte det. Den kan även spela upp andra ljud på UI:ts begäran. 4 Adaptive Multi Rate (AMR) är ett format för ljudkomprimering anpassat för tal, som bland annat används inom GSM-telefoni. 5 Software Development Kit (SDK) är en benämning på en uppsättning utvecklingsverktyg som gör det möjligt för mjukvaruutvecklare att bygga applikationer mot ett specifikt programpaket, mjukvaruramverk, hårdvaruplattform, spelkonsol, operativsystem eller liknande.