1 Masterproef Hergebruik van video voor alternatieve distributiekanalen Studiegebied Industriële wetenschappen en technologie Opleiding Master in de i...
Masterproef Hergebruik van video voor alternatieve distributiekanalen
Studiegebied Industriële wetenschappen en technologie Opleiding Master in de industriële wetenschappen: Elektronica-ICT Afstudeerrichting Informatie- en communicatietechnieken Academiejaar 2009-2010
Bert Pinoy
Howest – departement PIH, Graaf Karel de Goedelaan 5, 8500 Kortrijk
Voorwoord Deze masterproef kon niet tot stand komen zonder de hulp van anderen, dat spreekt voor zich. In dit dankwoord wil ik graag iedereen bedanken die, op gelijk welke manier, een bijdrage heeft geleverd aan deze masterproef. Eerst en vooral wil ik mijn beide promotoren Mevr. Vandooren en Dhr. Lerouge bedanken voor hun goede raad en voor hun bereidheid om mij te helpen gedurende het gehele masterjaar. Ook wil ik de mensen van VRT Medialab en Mobilejuice bedanken die hun expertise en ervaring ter beschikking stelden voor mij en mij op deze manier verder hielpen. Uiteraard dien ik ook RMM te bedanken omdat ik heb mogen meewerken aan een project dat verder uitgebouwd zal worden in de toekomst. Ook wil ik mijn vriendin Lies bedanken voor haar steun en luisterend oor gedurende de volledige uitwerking van deze masterproef. Ook mijn naaste vrienden wil ik bedanken, zij zorgden voor het verzetten van mijn gedachten tijdens het jaar door. Dit is eveneens niet onbelangrijk. Ook mijn familie, die er altijd voor me waren, wil ik bedanken. Als laatste wil ik ook mijn ouders bedanken. Vooral door hun steun kon ik deze opleiding aanvatten en tot een goed einde brengen. Zonder deze steun zou het ongetwijfeld ook een pak zwaarder geweest zijn. Waarschijnlijk heb ik nog enkele mensen vergeten te vermelden maar ook hen wil ik graag bedanken. Bert Pinoy Juni 2010
Abstract Focus-WTV has a normal website (www.focus-wtv.tv) which is optimized for video playback. They wanted to make a study on how they could enable video playback on alternative platforms. First off all there was much information needed related to all different kinds of alternative platforms for video distribution. Possible alternative platforms are: gameconsoles, mediacenters, smartphones, etc. The purpose of the initial study was to gather as much specifications as possible of the different possibilities and put them in a way there was a good overview of which platforms would be the best for designing a new way of video playback. The way the most people would be reached was the design of a mobile website. A mobile website is optimized for usage on smartphones and other small mobile devices. The mobile website uses the RSS-feed which is available at the normal website of Focus-WTV to get to the information of all different videofiles. There is also a system of comboboxes implemented so the user can easily select the category of videos of which he wants to see the information. The final part is spent on tests on all different kinds of smartphones. The tests are needed to see which operatingsystem supports the good working of the mobile website and to see which operatingsystem has troubles to process the mobile website. The general conclusion is that, it surely is possible to get a mobile website up and running for video-playback in a short period of time.
Inhoudstafel Voorwoord................................................................................................................. I Abstract ................................................................................................................... II Inhoudstafel ............................................................................................................ III Lijst van gebruikte symbolen en afkortingen ............................................................... VI Lijst van figuren ..................................................................................................... VIII Lijst van tabellen .................................................................................................... VIII 1.
Literatuurlijst ........................................................................................................... 47 Bijlage 1: Overzicht smartphones................................................................................. I Bijlage 2: Functionaliteit + toepassingen Media Centers.............................................. VII Bijlage 3: Broncode mobiele website ........................................................................ VIII Bijlage 4: Screenshots mobiele website .................................................................... XVI
Lijst van gebruikte symbolen en afkortingen [42] 3G 3GP 3GPP AAC AAC-LC AMR AMR-NB AMR-WB API AVC BBC CSS DOM DPI DRM EDGE EDR Fps FTP GPRS GSM HSDPA HSPA HTML HTTP HVGA Kbps M3U MIDI MPEG MSDN OS PC PHP PHP PPI QVGA RIM RMM RSS RSS
Third Generation Third Generation Platform Third Generation Partnership Project Advanced Audio Coding Advanced Audio Coding – Low Complexity Adaptive Multi-Rate Adaptive Multi-rate NarrowBand Adaptive Multi-rate WideBand Application Programming Interface Advanced Video Coding Britisch Broadcasting Corporation Cascading Style Sheets Document Object Model Dots per inch Digital Rights Management system Enhanced Data GSM Environment Enhanced Data Rate Frames per second File Transfer Protocol General Packet Radio Service Global System for Mobile Communications High-Speed Downlink Packet Access High Speed Packet Access HyperText Markup Language Hypertext Transfer Protocol Half-size Video Graphics Array Kilo bits per second Mpeg Url Reference file Musical Instrument Digital Interface Moving Pictures Experts Group Microsoft Developer Networks Operating System Personal Computer Hypertext Preprocessor Personal home page Hypertext Preprocessor Pixels Per Inch Quarter Video Graphics Array Research In Motion Regionale Media Maatschappij Really Simple Syndication Really Simple Syndication
RTMP RTSP SCE SDK TB UI UIQ UMTS URI VBR WAV WCDMA WIFI WMA WMDRM WMDRM XBMC XDK XML
Real Time Messaging Protocol Real Time Streaming Protocol Sony Computer Entertainment Software Development Kit Tera Byte User Interface User Interface IQ Universal Mobile Telecommunications System Uniform Resource Identifier Variable Bit Rate Windows Wave Wideband Code Division Multiple Access Wireless Fidelity Windows Media Audio Windows Media Digital Rights Management Windows Media Digital Rights Management Xbox Media Center Xbox Development Kit Extensible Markup Language
Lijst van figuren Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur Figuur
1: BBC iPlayer .................................................................................................. 2 2: Playstation 3 ................................................................................................ 4 3: XBOX 360 .................................................................................................... 5 4: Nintendo Wii ................................................................................................ 6 5: Sony PSP..................................................................................................... 8 6: Nintendo DS ................................................................................................ 8 7: mobile Internet browsing ............................................................................ 10 8: marketshare Smartphone OS ( Q2 2009) ...................................................... 10 9: Worldwide Operating System Share ............................................................. 11 10: iPhone sales worldwide ............................................................................. 12 11: Total Global iPhone + iPod Touch & PSP sales ............................................ 12 12: iPhone..................................................................................................... 13 13: Symbian .................................................................................................. 14 14: Google Android ........................................................................................ 16 15: Windows Mobile ....................................................................................... 17 16: Windows Media Center functionaliteiten ..................................................... 18 17: Widgets ................................................................................................... 20 18: Mobiele websites ...................................................................................... 22 19: Resultaat na verwerking met Siruna-tool .................................................... 26 20: menu.xml ................................................................................................ 29 21: invullen dropdownmenu met thema‟s ......................................................... 30 22: RSS-feed ................................................................................................. 31 23: XML parser .............................................................................................. 32 24: characterData .......................................................................................... 33 25: startElement ............................................................................................ 33 26: endElement ............................................................................................. 34 27: HTTP progressive download ...................................................................... 39 28: RTMP. ..................................................................................................... 40
Lijst van tabellen Tabel Tabel Tabel Tabel Tabel Tabel
1. Inleiding Deze masterproef wordt gerealiseerd in samenwerking met de Regionale Media Maatschappij (RMM). RMM is de exploitatiemaatschappij van de regionale tv-zender Focus-wtv. Focus-wtv volgt alle actualiteit van West-Vlaanderen op de voet en brengt dagelijks een evenwichtige nieuwsmix van leuke anekdotes, merkwaardige gebeurtenissen en harde feiten. Al de programma‟s en het nieuws kunnen ook herbekeken worden via het webkanaal www.focus-wtv.tv. Door het veranderen van de markt begint de vraag zich op te dringen om dit webkanaal ook over andere platformen te kunnen verspreiden. Deze masterproef onderzoekt deze veran-dering en heeft hoofdzakelijk als doel RMM te informeren naar wat er mogelijk is als alternatief voor het traditionele webkanaal. Deze masterproef is in de eerste fase een onderzoek naar zoveel mogelijk verschillende alternatieve distributiekanalen. Daarna een selectie te maken van de kanalen die in aanmerking komen voor het schrijven van een applicatie en dan uiteindelijk het selecteren van 1 kanaal waarvoor, in een tweede fase, een applicatie geschreven wordt. Deze applicatie wordt uiteraard grondig getest. De masterproef dient als basis voor het verdere ontwerp van 1 (of meerdere) applicaties voor alternatieve distributiekanalen voor video.
1
2. Overzicht van alternatieve distributiekanalen voor video. Dit eerste hoofdstuk omvat een algemene beschrijving van zoveel mogelijk alternatieve distributiekanalen voor video. Elk onderdeel is opgebouwd volgens dezelfde structuur. Eerst een algemene beschrijving van wat het platform juist is, daarna wat meer informatie over de specificaties en als laatste wat meer uitleg over de mogelijkheid om software te ontwikkelen op dat specifiek platform. Er wordt een onderscheid gemaakt tussen een viertal globale categorieën nl.: gameconsoles (toestellen die vooral gebruikt worden om te gamen maar die ook steeds meer beschikken over Internettoegang en zo de deur openen naar een wereld van andere digitale media), smartphones, media centers en andere online mogelijkheden. Eerst en vooral wordt eens gekeken naar het ultieme voorbeeld op dit gebied, met name de BBC iPlayer. Deze informatie is gebaseerd op de blog van BBC iPlayer[1]. 2.1 BBC iPlayer
2.1.1 Bron van inspiratie
Figuur 1: BBC iPlayer [30]
De BBC iPlayer (zie figuur 1) is een service aangeboden door de BBC. Deze service bestaat erin om op verschillende andere platformen dan de klassieke TV de media te kunnen weergeven. Via de iPlayer kunnen de programma‟s die uitgezonden werden op alle zenders van de BBC (BBC One, BBC Two, BBC Three, BBC Four, CHHC, CBeebies, BBC News Channel, BBC Parliament, BBC HD en BBC Alba) gedurende 7 dagen herbekeken worden. Daarna worden de programma‟s verwijderd, dit om uitzonderlijk hoge kosten in verband met auteursrechten te voorkomen.
Deze service wordt aangeboden op verschillende platformen: computers (zowel Linux, Mac als PC), game consoles (Nintendo Wii en Sony Playstation 3), smartphones (zowel iPhone/ iPod touch als Symbian en Android smartphones) en draagbare media spelers van oa. Samsung, Philips en Archos.
2
2.1.2
Algemene werking
Wanneer de programma‟s opgenomen worden, worden ze eerst en vooral verwerkt in een eerste fase. Deze fase omvat het juist monteren en afwerken van de programma‟s. Hier krijgen ze hun definitieve vorm alvorens naar de kijkers getransporteerd te worden. De afgewerkte programma‟s worden dan in een volgend procesblok verwerkt. Deze stap vormt het programma om naar alle formaten die nodig zijn om het beeld (en geluid) op een goede manier te kunnen weergeven op de verschillende platformen die ondersteund worden. Hierbij moet ook rekening gehouden worden met het feit dat alle verschillende formaten een verschillende conversietijd vragen en bijgevolg een programma op bepaalde platformen nog niet beschikbaar is terwijl dat op andere wel zo is. Na deze stap wordt al het materiaal opgeslagen op een 70-tal servers die gehost worden door de BBC zelf. De servers staan in verbinding met het Internet via een up-link van enkele terabyte (TB). Wanneer een gebruiker op een bepaald platform de iPlayer raadpleegt, wordt er een verbinding gemaakt naar de servers en wordt de juiste mediaversie naar de gebruiker gestuurd. Groot knelpunt bij deze werking is de grootte van de up-link. Hoe meer gebruikers de iPlayer raadplegen, hoe groter de belasting. Bijgevolg moet er telkens wanneer er een nieuw platform ondersteund wordt, gekeken worden indien de up-link deze bijkomende belasting zal aankunnen. Het is duidelijk dat dit een constante investering vraagt van de BBC om deze link goed te onderhouden en op regelmatige basis de capaciteit te vergroten zodat de gebruikers geen last krijgen van de stijgende belasting naar de servers toe. De iPlayer is tegenwoordig het best haalbare op het vlak van publicatie van video op meerdere kanalen. Echter, dit is het resultaat van de investering van vele miljoenen en een vrucht van jarenlang research en development. Bijgevolg is het niet haalbaar voor Focus-wtv om dezelfde weg te bewandelen als de BBC, dit omwille van de beperking aan mankracht en budget. Bij wijze van verkenning worden er één of twee platformen gekozen om te bekijken of er naar de toekomst toe een (kleinschaliger) project kan opgestart worden.
2.2 Gameconsoles Wanneer men praat over gameconsoles denken de meesten uiteraard aan videospelletjes spelen via een „console‟ op de televisie. Echter er zijn meer mogelijkheden met dergelijke toestellen, er kunnen ook andere applicaties op afgespeeld worden, zoals een applicatie die de gebruiker een weergave geeft van interessante nieuwsberichten of andere nuttige video informatie. Een mooi voorbeeld hiervan is de iPlayer van de BBC [2], die voor enkele van de onderstaande platforms een toepassing heeft. Logischerwijs moet elk platform dat aanspraak wil maken op een applicatie beschikken over connectiviteit met het Internet. Voor de onderstaande platformen is dit geen probleem, ze beschikken ofwel over de mogelijkheid om draadloos Internet (WiFi) en/of Internet via kabel te ontvangen.
3
2.2.1
Sony Playstation 3 2.2.1.1
Algemeen
De Playstation 3 (PS3) is de meest recent uitgebrachte versie van de populaire spelconsole van Sony. De PS3 (zie figuur 2), bevat in tegenstelling tot de PS2, voldoende mogelijkheden om te verbinden met het Internet [8]. Daardoor biedt dit platform de mogelijkheid aan ontwikkelaars om applicaties te ontwikkelen die kunnen verdeeld worden via het Internet en eventueel via een gespecialiseerde „store‟ van Sony voor applicaties voor de PS3. Deze console onderscheidt zich van de rest door een ingebouwde Blu-Ray speler [8]. Daardoor kan, mits de PS3 aangesloten is aan een HD TV, HD beelden weergeven. Dit Figuur 2: Playstation 3 [31] biedt mogelijkheid om een video applicatie te ontwikkelen die de video‟s in HD weergeeft. Daar kan alvast over nagedacht worden naar de toekomst toe. 2.2.1.2
Internet & video op de PS3
Op elke PS3 console staat standaard een Internetbrowser geïnstalleerd, aangepast aan het PS3 platform [9]. Hierdoor wordt de Internettoegang voor gebruikers sterk vereenvoudigd omdat er niets meer moet gedownload worden alvorens de gebruiker het Internet kan beginnen verkennen. Om de weergave van video op de PS3 te bekijken wordt opnieuw vertrokken vanuit het standpunt van de BBC iPlayer. Volgens de BBC blog [2] werd de eerste versie van de iPlayer die gereleased werd functioneel goed bevonden alhoewel de toenmalige Flash versie van de PS3 nog geen H.264 video‟s ondersteunde. Ook de fullscreen modus werd op dat moment nog niet ondersteund. Daar kwam echter verandering in wanneer Sony een geüpdate versie van de Flash versie voor de PS3 uitgaf. Deze update voorzag erin om H.264 video‟s te ondersteunen, alhoewel de maximale frame rate nog altijd beperkt bleef tot 25 fps. Sedert dan heeft Sony de video playback ervaring van de PS3 verder verbeterd. Na de 3.0 firmware update werd het mogelijk om de iPlayer fullscreen naar de gebruiker te brengen voor een nog betere videoweergave. De BBC zelf zat niet stil tijdens dit gehele proces van updates van Sony. Ze ontwikkelden een 1500 kpbs “SD quality” format om in combinatie met de verbeterde video weergave op de PS3 een schitterend beeld te verkrijgen dat bijna zo goed is als de beeldweergave op een gewoon TV toestel. De controls van de iPlayer werden ook aangepast aan het platform zodat alles gemakkelijk bediend kan worden via de standaard PS3 afstandsbediening [2]. 4
2.2.1.3
Ontwikkeling van applicaties
De software development kit (SDK) die aangeboden wordt om applicaties te ontwikkelen voor PS3 kost ongeveer € 1700 [10]. Vroeger was de SDK duurder. Door het verlagen van de prijs wil Sony ervoor zorgen dat er een bredere range van ontwikkelaars de mogelijkheid geboden wordt om applicaties te ontwikkelen. De SDK kan niet zomaar gedownload worden. De SDK kan bekomen worden door een licentie overeenkomst te tekenen met Sony Computer Entertainment (SCE) en door de aankoop van de tools [10]. Er zal ook een verbetering plaatsvinden op vlak van support en service aan het bedrijf dat deze SDK gebruikt. Uitgaande van SCEE [10] mag er gesteld worden dat het vooral bedrijven zijn die games ontwikkelen die deze SDK aanschaffen, niet zozeer bedrijven die een video (of andere) applicatie willen ontwikkelen. Uiteraard bestaan er hier uitzonderingen, zie de BBC iPlayer [2].
2.2.2
XBOX 360 2.2.2.1
Algemeen
De XBOX 360 (zie figuur 3) is de opvolger van de XBOX ontwikkeld door Microsoft. Deze console moet de concurrentie aangaan met de Nintendo Wii maar vooral met de Sony Playstation 3. Zoals bij de meeste hedendaagse consoles mag er zeker geen Internet connectiviteit ontbreken, deze is aanwezig in de vorm van WiFi en zelfs nog een connector om een ethernetkabel aan te sluiten. Deze console blinkt vooral uit door zijn grote online community van gamers die zich via XBOX Live groeperen en op die manier tegen elkaar spelen. Dit opent uiteraard ook perspectieven als het aankomt op verspreiding van nieuw ontwikkelde applicaties. Figuur 3: XBOX 360 [32]
2.2.2.2
Internet & video op de XBOX 360
In de specificaties van de XBOX 360 [13] staat dat er HD ondersteund wordt. Dit kan naar de toekomst toe deuren openen om HD video‟s te kunnen weergeven die in een video applicatie gebruikt kunnen worden. Vooralsnog is dit niet aan de orde. Uit een artikel [14] blijkt dat een Xbox 360 standaard geen webbrowser heeft, maar er toch (via enige omweg) één op geïnstalleerd kan worden. Dit is een nadeel in vergelijking met andere consoles waarop wel standaard een webbrowser geïnstalleerd is. Een voordeel in vergelijking met andere consoles is dan weer dat Windows Media Center (zie 2.4) ondersteund wordt [13] wat logisch is omdat ook dit een product is van Microsoft. Meer uitleg omtrent Windows Media Center volgt later (zie 2.4) maar het belangrijkste omtrent deze software is dat het kan gebruikt worden om audio en video af te spelen, vergelijk het met een uitgebreidere versie van Windows Media Player. 5
2.2.2.3
Ontwikkeling van applicaties
De SDK om applicaties te kunnen ontwikkelen wordt hier XDK genoemd. Deze XDK kan enkel bekomen worden via Microsoft, dit enkel door developers die ook een developerslicentie van Microsoft kunnen voorleggen. Er moeten ook agreements getekend worden zodat er achteraf geen informatie in verband met de ontwikkelde technologieën van/voor Microsoft kan verspreid worden. Prijsgegevens werden niet gevonden. Een alternatief is het gebruik van OpenXDK software. Deze software wordt ook gebruikt om applicaties voor XBOX te ontwikkelen maar deze genereert andere code dan de traditionele XDK. Er komen nog een aantal stappen aan te pas om deze code goed draaiende te krijgen op een XBOX. Deze programmatuur baseert zich op de C-taal.
2.2.3
Nintendo Wii 2.2.3.1
Algemeen
Figuur 4: Nintendo Wii [33]
De Wii (zie figuur 4) is een gameconsole uitgebracht door gamegigant Nintendo. Deze gameconsole onderscheidt zich van de rest omwille van zijn vooruitstrevende besturing. De Wiiafstandsbediening ziet eruit als een klassieke afstandsbediening maar heeft geheel andere functies. Zo bevat het een motion-sensor waardoor er gespeeld kan worden door met de afstandsbediening bepaalde bewegingen te maken, deze worden geregisteerd door de Wii console en gebruikt om de games aan te sturen. Dit in tegenstelling tot andere consoles waar de afstandsbediening gewoon stil kan gehouden worden en de besturing aan de hand van drukken op knoppen en bewegen met joysticks verwezenlijkt wordt.
Deze console bevat zoals de meeste recent uitgebrachte gameconsoles connectiviteit met het Internet via WiFi, zodoende is het mogelijk om ook voor dit platform een web-based applicatie te ontwikkelen. Dit werd duidelijk bij de korte uitleg over de BBC iPlayer waar de Wii ook een platform is dat ondersteund wordt.
6
2.2.3.2
Internet & video op de Wii
Om te kunnen surfen op Internet moet volgens [2] eerst en vooral het Internet kanaal van de Wii geïnstalleerd worden. Dit kost de gebruiker 500 Wii-punten. Omgerekend is dit €5. Wanneer de gebruiker dit doet wordt er een Opera browser geïnstalleerd. Op deze manier kan er op het Internet gesurft worden en kunnen de applicaties op deze manier geraadpleegd worden. In dit geval gaat het om een applicatie die vooral gebruik maakt van video, daarom moet er zeker gekeken worden naar de videoformaten die ondersteund worden op dit platform. Uit opzoekingswerk kan afgeleid worden dat de Wii enkel Flash 7 ondersteund, dus niet de recentere Flash 8 versie. Groot nadeel aan deze versie van Flash is dat het geen zo‟n goede compressie oplevert als deze van Flash 8 en dus zijn er veel sites die video verdelen,afgestapt van het converteren naar het Flash 7 compatibel formaat. Wanneer er nog eens gekeken wordt naar de BBC iPlayer vond de BBC het blijkbaar toch interessant om dit formaat alsnog te ondersteunen. Dit omdat men zag dat er op die manier meer extra toestellen ondersteund zouden worden. Indien het Flash 7 formaat niet ondersteund zou worden zou het Wii platform onbereikbaar geweest zijn. Met een kleine extra inspanning, het omzetten naar het Flash 7 compatibel formaat, worden meer toestellen bereikt. Als het op streamen van content aankomt kan het volgende beschouwd worden. Voor een aanvaardbare beeldkwaliteit moet er voorzien worden in een 820 kbps bitstroom. Dit wijkt af van de normale bitstroom voor Flash content, namelijk 500 kbps. Deze afwijking is nodig omdat de video codec die wordt gebruikt voor de Wii meer bits nodig heeft om een goeie kwaliteit te bekomen. Een laatste opmerking in verband met de Wii handelt over de standaard Flash-player die meegeleverd wordt. Deze player is ontworpen om video‟s in de aard van Youtube te ondersteunen. Dit wil zeggen dat de videokwaliteit die geleverd kan worden betrekkelijk lager zal liggen dan pakweg een applicatie die video weergeeft op een PC, Mac of iPhone. Momenteel is er nog verder onderzoek aan de gang om de ideale venstergrootte voor video playback te kunnen bepalen. Voor meer gedetailleerde informatie in verband met de Wii zie de BBC iPlayer blog [2]. 2.2.3.3
Ontwikkeling van applicaties
Alvorens een applicatie ontwikkeld kan worden moet er uiteraard eerst een SDK bekomen worden. Daarvoor moet er $1700 (ongeveer €1350) neergeteld worden. Niet iedereen kan zomaar een SDK voor Wii-applicaties bekomen [3]. Het bedrijf van de ontwikkelaar of eventueel de ontwikkelaar zelf moet een licentie bekomen bij Nintendo, dit loopt niet bijzonder vlot. Het bedrijf van de ontwikkelaar moet bepaalde informatie en een beschrijving van het bedrijf doorsturen naar Nintendo. Het blijkt dat er meerdere pogingen moeten gedaan worden om een dergelijke licentie te bekomen zelfs al verandert er weinig of niets aan de informatie die opgegeven wordt bij Nintendo. 7
2.2.4
Sony Playstation Portable (PSP) 2.2.4.1
Algemeen
De PSP werd ontwikkeld door Sony als tegenpool voor de succesvolle handhelds die eerder door Nintendo werden uitgebracht (Alle soorten Game Boys en later de DS). Dit device is uitgerust met WiFi en kan zo draadloos connectie maken met het Internet. Dit opent perspectieven voor de ontwikkeling van applicaties voor dit platform. 2.2.4.2
Internet & video op de PSP
De PSP (zie figuur 5) bevat een gelijkaardige standaard browser als de PS3. Daardoor wordt Internettoegang eenvoudig voor de gebruiker. Omwille van het kleinere scherm (480 x 272 pixels) is het niet echt praktisch om bijzonder lang naar video te kijken maar een snelle blik op een website met video‟s behoort zeker tot de mogelijkheden. Flash video wordt standaard niet ondersteund maar kan via een plug-in wel verwezenlijkt worden, ondertussen heeft Sony een nieuwe firmware versie uitgebracht die Flash ondersteunt [12] en moet Figuur 5: Sony PSP [47] er dus niet meer gezocht worden naar een plug-in om Flash af te kunnen spelen.
2.2.4.3
Ontwikkeling van applicaties
Aangezien de PSP ontwikkeld wordt door Sony verloopt de ontwikkeling van applicaties gelijklopend met de ontwikkeling voor PS3. Enkel de prijs van een SDK verschilt. Deze bedraagt hier €1200.
2.2.5
Nintendo DS 2.2.5.1
Algemeen
De Nintendo DS (zie figuur 6) is een draagbare gameconsole ontwikkeld door Nintendo als tegenhanger van de PSP van Sony en om zo een deel van de markt voor draagbare gameconsoles in te palmen. Deze console heeft in tegenstelling tot de PSP twee schermen, één gewoon scherm en één touchscherm dat kan bediend worden met behulp van een meegeleverde stick. Door deze combinatie van gewoon – en touchscherm onderscheidt de DS zich van Figuur 6: Nintendo DS [46] de rest. Ook wordt deze combinatie als zeer gebruiksvriendelijk en vooruitstrevend beschouwd. 8
2.2.5.2
Internet & video op de Nintendo DS
Er is WiFi aan boord van de DS, dus kan er verbinding gemaakt worden met het Internet. Om te surfen op Internet met de Nintendo DS moet de Nintendo DS browser geïnstalleerd worden. Deze kan besteld worden via de Nintendo Online Store [45]. Dit is een geheugenkaartje dat in de DS moet worden aangebracht net zoals de geheugenkaart van een spel. Aangezien er verschillende versies op de markt zijn moet er goed opgelet worden dat de juiste versie aangeschaft wordt. Deze Nintendo DS browser kost ongeveer $35 (ongeveer €24) [45]. Wanneer dit geïnstalleerd is op de DS kan er vrij gesurft worden op het Internet met de Opera versie voor DS. De DS ondersteunt geen Flash video dus dit kan al geschrapt worden als mogelijke standaard voor het ontwikkelen van een video applicatie. Aangezien de resolutie van beide schermen beperkt is tot 256 x 192 pixels is het de vraag als de video op een voldoende goede manier kan weergegeven worden op het scherm [45]. De resolutie van de DS is een nadeel in vergelijking met de grotere resoluties van bv. de PSP. 2.2.5.3
Ontwikkeling van applicaties
Er is weinig tot geen informatie te vinden over de ontwikkeling van applicaties voor de Nintendo DS. Er werd contact opgenomen met Nintendo via mail maar dat leverde geen antwoord op. Blijkbaar is deze informatie goed afgeschermd, dit waarschijnlijk omdat de informatie vooral bedoeld is voor gespecialiseerde bedrijven (vb. gamestudio‟s).
9
2.3 Smartphones Smartphones zijn dat soort GSM‟s waar meer kan mee gedaan worden dan enkel bellen en sms‟en. De smartphones worden hoe langer hoe meer ook gebruikt om toegang te krijgen tot het Internet, via EDGE, 3G, WiFi,… Deze toestellen vormen een zeer groot deel van de alternatieve platformen en zijn bijgevolg dus zeker eens het bekijken waard. Ook hebben ze een bijzonder groot groeipotentieel naar de toekomst toe. Veelal vinden mensen die een smartphone kopen het belangrijk om overal en altijd bereikbaar te zijn. Dus vinden ze het eveneens belangrijk om informatie die ze nodig hebben overal te Figuur 7: mobile Internet browsing [26] kunnen raadplegen, daarom richten veel bedrijven zich op het ontwikkelen van een mobiele versie van hun eigen website en wordt er meer en meer beroep gedaan op firma‟s die zich hierin specialiseren. Smartphones kunnen geklasseerd worden op verschillende manieren. Eén van deze manieren is volgens besturingssysteem. Afhankelijk van het besturingssysteem hebben de smartphones andere specificaties, bijvoorbeeld: andere browser, andere ondersteuning voor video,… Het best verkochte OS blijkt Symbian (OS voor vooral Nokia smartphones), terwijl het OS van Blackberry op de tweede plaats staat en de Apple iPhone op de derde plaats. Er dient opgemerkt te worden dat Google Android met slechts 2,8% ver achterkomt maar dit kan deels verklaard worden door het feit dat smartphones met Android als OS nog maar verkrijgbaar zijn sinds de tweede helft van 2008. Zie Figuur 8. Omdat er ergens een grens moet getrokken worden van wat van dichterbij bekeken moet worden en wat niet, worden er enkele OS van smartphones van naderbij bekeken nl. Apple iPhone, Nokia Symbian, Google Android en Windows Mobile. Figuur 8: marketshare Smartphone OS ( Q2 2009) [27]
10
Per platform wordt er ook kort even besproken wat een ontwikkelaar nodig heeft om een applicatie te kunnen ontwikkelen en om deze beschikbaar te kunnen stellen aan de gebruikers. Hier zit misschien als verrassing Android tussen, maar deze keuze is zeker niet onterecht. Android is een OS dat nog niet zo lang op de markt is (er zijn nog maar een 10-tal smartphones die dit OS ondersteunen) maar er wordt een grote groei verwacht. Ook is het OS open en kan er bijgevolg snel (en goed) een applicatie voor ontwikkeld worden. Ook zijn Android toestellen sterk gericht op het Internet (waarschijnlijk door de achtergrond van Google) en is dus bijzonder geschikt voor de implementatie van een video applicatie. Op Figuur 9 is er ook duidelijk waar te nemen dat het marktaandeel van Android gestegen is van 2% tot 7% in de periode van februari 2009 tot augustus 2009, dit speelt dus zeker ook in het voordeel om Android verder te bespreken. Er wordt niet gekozen voor RIM als OS(het OS van Blackberry). Dit omdat er eerst een eenmalige fee van $200 aangerekend wordt om te registreren als „erkend‟ developer van applicaties voor Blackberry. Voor deze $200 is het mogelijk om 10 applicaties (10 credits) te verzenden. Ook worden alle applicaties die doorgestuurd worden eerst uitvoerig getest en goed of slecht bevonden. Indien het slecht bevonden wordt zal de waarde van het aantal applicaties die nog kunnen verzonden worden niet aangepast worden, d.w.z. dat er toch een credit verloren gaat. Als er meer dan 10 applicaties dienen verzonden te worden moet er opnieuw $ 200 betaald worden. Het is duidelijk dat dit moeizame goedkeuringsproces niet in het voordeel van RIM speelt. Een ander argument dat in beschouwing wordt genomen is dat enkel Blackberry RIM ondersteunt. Blackberry concentreert zich vooral op de zakelijke wereld terwijl de doelgroep van www.focus-wtv.tv veel breder is dan dat. Ook het teruglopend marktaandeel (zie Figuur 9) kan een argument zijn om RIM buiten beschouwing te laten. Figuur 9 staaft de keuze voor de verschillende mobiele OS. Het marktaandeel van iPhone OS en Android steeg gedurende de beschouwde periode. Symbian heeft ook een zeer groot marktaandeel. Ook Windows Mobile wordt verder besproken alhoewel het marktaandeel daalt. RIM wordt niet verder besproken, dit omwille van bovenstaande redenen.
Figuur 9: Worldwide Operating System Share [38]
11
2.3.1 Apple iPhone Dit OS wordt enkel gebruikt op de iPhone (zie figuur 12) van Apple. Daardoor kan er specifiek gekeken worden naar de specificaties van de iPhone om te kunnen bepalen welke applicaties er kunnen gecreëerd worden voor het OS van de Apple iPhone. Sedert het uitbrengen van de iPhone zijn er drie versies de revue gepasseerd: de iPhone eerste generatie, de iPhone 3G en de iPhone 3GS ( S staat voor speed). Applicaties ontwikkeld voor iPhone worden ook ondersteund door de iPod Touch. In figuur 10 en 11 zijn enkele cijfers in verband met de verkoop van iPhone en iPod Touch weergegeven.
Figuur 10: iPhone sales worldwide [28]
Figuur 11: Total Global iPhone + iPod Touch & PSP sales [29]
12
2.3.1.1
Specificaties
Hier worden ook enkel de belangrijkste specificaties besproken die relevant zijn voor deze masterproef, m.a.w. deze die te maken hebben met video, internettoegang, enz. [15] Tabel 1: Specificaties iPhone/iPhone 3G(S)/iPod Touch
GSM Netwerk WiFi Bluetooth
iPhone EDGE 802.11 b/g Bluetooth 2.0
iPhone 3G(S) EDGE+UMTS 802.11 b/g Bluetooth 2.0 (3GS: 2.1)
iPod Touch / 802.11 b/g Bluetooth 2.1
Beeldschermresolutie is voor elk toestel: 480 x 320 (163 dpi) Op vlak van audio en video wordt overal hetzelfde ondersteunt: Video: H.264/MPEG4 AVC wordt ondersteund met een maximale snelheid van 1,5 Mbps, een resolutie van 640 x 480 pixels en een rate van 30 frames per seconde. Audio: er worden verschillende formaten ondersteund: AAC, protected AAC, MP3, MP3 VBR, WAV,… 2.3.1.2
Ontwikkeling van applicaties
Om een applicatie voor iPhone te kunnen ontwikkelen is er eerst en vooral een SDK nodig. Deze kan men bekomen via de site van Apple. Er bestaan 2 versies: [16] Standard Program Enterprise Program De Standard versie kost $99 (ongeveer €66) en deze software is bedoeld voor ontwikkelaars die een commerciële of gratis applicatie willen ontwikkelen voor iPhone of iPod Touch en die deze applicatie willen verspreiden via de App Store van Apple. De Enterprise versie kost $299 (ongeveer €200) en is bedoeld voor bedrijven met 500 werknemers of meer die willen ontwikkelen onder het eigendomsrecht van Apple. Apple besteedt zo als het ware het ontwikkelen van applicaties uit aan andere bedrijven. De software ondersteunt ook een aantal tools om onmiddellijk op de eigen iPhone te debuggen en de applicatie te optimaliseren. Wanneer er moeilijkheden optreden komen ze zeer snel aan het licht door deze tools. Ook kan er alvast getest worden hoe de applicatie zal werken bij een „echte‟ gebruiker via WiFi of 3G. Figuur 12: iPhone [34]
13
Bij de SDK zit ook een tool inbegrepen die de ontwerper direct toegang verschaft tot de App Store om via deze weg de applicatie te kunnen verspreiden. In de Enterprise versie van de SDK zit, naast de toegang tot de App Store, een optie vervat die kan gebruikt worden om een applicatie te verspreiden via het intranet van het bedrijf die de software aangekocht heeft. De App Store zorgt er in de toekomst ook voor dat updates automatisch verspreid worden naar de gebruikers van de applicatie, de ontwikkelaar hoeft zich daarover geen zorgen te maken [16]. Wat ook belangrijk is om weten zijn de volgende zaken: De ontwikkelaar is vrij om de prijs van de applicatie te kiezen 70% van de opbrengst gaat naar de ontwikkelaar Er wordt een maandelijkse rekening van de opbrengsten verstuurd naar de ontwikkelaar. Er worden geen kosten aangerekend voor applicaties die gratis zijn. Er worden ook geen kosten aangerekend voor betaling met kredietkaarten, voor het hosten van de applicatie en de marketing die erbij komt kijken. Er dient opgemerkt te worden dat deze software enkel gebruikt kan worden op een Mac met OS X Leopard, dit kan dus een bijkomende investering vragen van de ontwikkelaar indien hij nog niet over een dergelijke Mac beschikt [16].
2.3.2 Symbian Symbian wordt vooral gebruikt op toestellen van Nokia. Maar ook Sony Ericsson en Samsung beschikken over een aantal toestellen die dit OS gebruiken [40]. Oorspronkelijk maakten ook Motorola en Psion deel uit van deze samenwerking maar ze stapten er na verloop van tijd uit [40]. Het eerste toestel dat het Symbian OS gebruikte werd gelanceerd in 2001, Figuur 13: Symbian [44] de Nokia 9210 Communicator. In 2006 werd de grens van 100 miljoen toestellen overschreden [40]. Uit deze cijfers blijkt dat Symbian toch een groot marktaandeel heeft op vlak van mobiele OS en moet het dus zeker besproken worden. Figuur 13 toont een aantal toestellen die als OS Symbian hebben.
14
2.3.2.1
Specificaties
De best verkochte toestellen die Symbian gebruiken, worden besproken in Bijlage 1. Uit dit overzicht blijkt dat deze toestellen voldoende ontwikkeld zijn om te wedijveren met de rest aangaande internetconnectiviteit [40]. Enkel de ondersteuning van het vooropgestelde formaat van focus-wtv.tv kan voor problemen zorgen, aangezien het op bepaalde toestellen ondersteund wordt en op andere niet. Als oplossing kan er gebruik gemaakt worden van een applicatie of mobiele website (zie 2.5.2) die links ter beschikking stelt naar de juiste video zodat ook deze toestellen bereikt kunnen worden. 2.3.2.2
Ontwikkelen van applicaties
Voor het ontwikkelen van applicaties voor Symbian is er zoals voor elk platform een juiste SDK nodig. Deze wordt gratis ter beschikking gesteld [41]. Er wordt informatie ter beschikking gesteld om in te loggen op een FTP-server waar de SDK kan gedownload worden [41]. Er dient opgemerkt te worden dat er verschillende versies van de SDK beschikbaar zijn, afhankelijk van het UI platform. Er zijn twee versies beschikbaar: UIQ S60 Elk toestel dat Symbian als OS heeft, ondersteunt 1 van beide platformen. Een overzicht van alle toestellen per platform kan teruggevonden worden op de website van Symbian [41]. Hieruit blijkt alvast dat indien een applicatie moet ontwikkeld worden voor alle Symbian toestellen er minstens twee versies zullen moeten gemaakt worden. Eén versie voor het UIQ-platform en een andere versie voor het S60-platform. Afgaande op de website van Symbian [41] bevat het S60 platform de meeste devices en moest er dus gekozen worden voor het ontwikkelen op één van deze twee platformen zou er toch best gekozen worden voor het laatste. Wanneer er ontwikkeld wordt aan de hand van deze SDK wordt er C++ en Java ondersteund. De SDK‟s voorzien ook in nog enkele andere zaken dan een gewoon programma om applicaties te ontwikkelen namelijk: volledige systeemdocumentatie voor API‟s en tools een PC gebaseerde emulatie van Symbian toestellen voorbeeld applicaties met ondersteunende documentatie Dit is handig om de beginnende kennis van de ontwikkelaar verder te helpen ontwikkelen.
15
2.3.3 Google Android Dit OS wordt gebruikt op smartphones van verschillende producenten. Er bestaan reeds toestellen van HTC, Motorola, Samsung en T-Mobile die als OS Android hebben. De specificaties van deze toestellen worden in Bijlage 1 uitgewerkt. In de nabije toekomst zijn ook LG en Motorola van plan om 1 (of meerdere) Android smartphones op de markt te brengen [17]. Aangezien Android nu nog maar zijn opgang begint te maken zullen er vermoedelijk nog meer producenten volgen. Er duiken ook artikels op waarin staat dat ook Dell plannen heeft om zijn eerste stappen Figuur 14: Google Android [39] op de markt van de smartphones te wagen [18]. Om toch een duidelijk beeld te krijgen van wat een smartphone aan boord moet hebben om een mogelijke applicatie te kunnen ondersteunen worden hieronder enkele minimum specificaties besproken. Deze worden dan gestaafd aan de hand van de data in Bijlage 1. 1 van de smartphones die gebruik maakt van Android wordt weergegeven in figuur 14. 2.3.3.1
Specificaties
De toestellen die verder doorgelicht worden in Bijlage 1 bevatten allemaal voldoende connectiviteit met het Internet via ingebouwde WiFi technologie. Deze technologie is voldoende betrouwbaar en ondersteunt goeie snelheden. De toestellen ondersteunen ook de video standaard die gebruikt wordt op focus-wtv.tv. Dit maakt verdere conversie naar andere formaten overbodig en zodoende kan een applicatie de video gemakkelijk naar al deze toestellen verspreiden. Afgaande op de specificaties komen de beeldschermresoluties redelijk overeen. Hier en daar is er echter een kleine aanpassing nodig om de optimale instellingen voor elke resolutie te kunnen voorzien. Meestal zal het zelfs niet nodig zijn om een aanpassing daarvoor in de applicatie te verwerken omdat een afwijking van enkele pixels toch niet met het blote oog zichtbaar is, doch als de tijd het toelaat kan er voor een aanpassing gezorgd worden. 2.3.3.2
Ontwikkelen van applicaties
De SDK voor het ontwikkelen van applicaties voor Android is open source software m.a.w. met kan deze software gratis gebruiken. Wanneer men de Android SDK installeert samen met een Eclipse plug-in kan men van start gaan [19]. Eclipse is een open source tool die veel services ondersteunt die een ontwikkelaar nodig heeft, een soort gereedschapskist voor ontwikkelaars. Het wordt gebruikt om projecten te construeren, te debuggen en te runnen. Deze plug-in is speciaal ontworpen door Eclipse om een krachtige, geïntegreerde omgeving te voorzien waarin Android applications kunnen ontwikkeld worden. 16
Deze plug-in gaat verder dan de mogelijkheden van Eclipse zelf om snel nieuwe Android projecten op te zetten. De Android SDK bevat de volgende onderdelen [19]: een Android emulator om de werking van de applicatie op verschillende toestellen te kunnen testen. tools om code te schrijven voldoende documentatie enkele voorbeelden van applicaties Wanneer de applicatie getest is en goed bevonden wordt door de ontwikkelaar kan hij op drie verschillende manieren beschikbaar gesteld worden voor de gebruiker [19]: via de Android Market (naar analogie met de App Store van Apple) via de eigen website van de ontwikkelaar via de App Store van een third party Als er gekozen wordt om de applicatie te verdelen via de Android Market wordt er een éénmalige registration fee van $25 aangerekend voor de ontwikkelaar. De ontwikkelaar ontvangt 70% van de verkoop (dit is vanzelfsprekend bij een betalende applicatie), Google deelt niet in de winst [19]. 2.3.4 Windows Mobile Ook dit OS is in gebruik op toestellen van verschillende producenten. Er zijn toestellen op de markt van onder andere: HTC, Samsung, LG en Sony Ericsson. Een overzicht van deze toestellen wordt weergegeven in Bijlage 1. 2.3.4.1
Specificaties
Eerst en vooral is het noodzakelijk dat de toestellen kunnen verbinden met het Internet. Alle toestellen in Bijlage 1 hebben WiFi aan boord en ze beschikken ook allemaal over GPRS technologie. Op alle devices wordt ook het H.264 formaat voor video ondersteund dat standaard aanwezig is op focus-wtv.tv, dit is een groot voordeel. Enkel de resolutie is niet uniform. Niet alle toestellen hebben dezelfde resolutie en bijgevolg moet er ook hier een bepaalde intelligentie worden ingebouwd in de applicatie om ervoor te zorgen dat de weergave bij elke resolutie optimaal is. Alle toestellen beschikken dus over de nodige vereisten om een video applicatie te kunnen opvragen en de video‟s correct weer te kunnen geven. 2.3.4.2
Ontwikkelen van applicaties
Om applicaties te kunnen ontwikkelen voor dit platform is er nood aan de Windows Mobile SDK [20]. Deze wordt gratis ter beschikking gesteld door Microsoft. Voor het indienen en distribueren van ontwikkelde toepassingen bestaan uiteraard richtlijnen [21]. Enkele onderdelen van het beleid zijn: alle functies moeten geïmplementeerd zijn op het moment dat de toepassing ingediend wordt om te
Figuur 15: Windows Mobile [43]
17
testen, aanbevelingen gemaakt na het testen van de applicatie zijn verplicht te volgen,… Uiteraard mag de functionaliteit van de telefoon niet verstoord worden door de applicatie. Kort overzicht van de criteria voor opname van een applicatie in de Windows Marketplace [21]: pictogrammen voor toepassingen: pictogrammen die worden gebruikt in de toepassing moeten in het pakket van de toepassing aanwezig zijn en dit volgens de juiste resoluties, terug te vinden in de specificaties [21]. schermopnames van toepassing: elke ontwikkelaar die een toepassing indient moet minimaal één en maximaal vijf screenshots van deze toepassing verzenden, dit met enkele aanwijzingen in gedachten gehouden. bundelen van toepassingen: toepassingen die worden ingediend voor verspreiding via Windows Marketplace mogen maar één uitvoerbaar bestand installeren beperking op het opnieuw verspreiden van .NET Compact Framework: indien dit moet geïnstalleerd worden op het toestel zorgt Windows Marketplace voor de installatie, niet de applicatie. De verspreiding van de applicatie wordt verzorgd door Windows Marketplace. Dit is een „winkel‟ waar de gebruikers hun applicaties kunnen downloaden, gratis of na betaling van een vergoeding (vergelijk met App Store van Apple, Android Market,…). Figuur 15 toont een weergave van de user interface die voorzien wordt door Windows Mobile. 2.4 Media centers De verzamelnaam media centers staat voor alle toestellen of software die specifiek ontworpen zijn om de gebruiker ervan de optimale opstelling te bieden om audio af te spelen en video weer te geven. Zoals kan afgeleid worden uit de voorgaande zinsnede moet er een onderscheid gemaakt worden tussen toestellen en software. De toestellen zijn meestal ontworpen om met de TV van de gebruiker te verbinden en deze kan dan verbinding maken naar het Internet om audio en/of video op te vragen en deze dan af te spelen op de TV van de gebruiker. Voorbeelden hiervan zijn PhilipsNetTV, AppleTV,… BelgacomTV en Telenet Digital TV kunnen hier ook beschouwd worden als Figuur 16: Windows Media Center functionaliteiten [35] media centers.
18
Ook zij voegen extra functionaliteiten toe aan het gewone TV gebeuren gebruik makende van het Internet. Het klinkt misschien merkwaardig maar ook een XBOX kan als media center functioneren, mits XBMC hierop geïnstalleerd werd (zie ook 2.2.2). XBMC is een gratis open source mediaspeler/mediacenter. Dit werd oorspronkelijk ontworpen voor de XBOX maar werd al snel compatibel gemaakt met computers. Het is compatibel met zowel Windows, Mac als Linux. De media centers in de vorm van software zijn eigenlijk gewoon programma‟s die kunnen aangekocht of gedownload worden (in geval van een open source software) en vervolgens kunnen geïnstalleerd worden op het besturingssysteem naar keuze. Deze media centers kunnen dus onderverdeeld worden naargelang de compatibiliteit met de verschillende gangbare besturingssystemen: Windows: Windows XP media center edition, Windows Vista Home premium, Windows Vista Ultimate en Windows 7 Home premium en hoger Mac Linux Voor elk van deze platformen bestaat er een brede waaier aan mogelijke media centers. Voor een overzicht wordt verwezen naar Bijlage 2. Is het mogelijk om voor de media center devices applicaties te ontwikkelen als third party? Als voorbeeld werden Apple TV en PhilipsNetTV beschouwd. Beide platformen zijn zeer gesloten en bemoeilijken daardoor het ontwikkelen van applicaties als third party. Ook zijn er zeer weinig cijfers bekend in verband met de verspreiding van dergelijke toestellen in België. Bijgevolg wordt op deze platformen niet verder ingegaan. Een nadeel is dat er weinig uniformiteit is tussen de verschillende media centers. Het zal dus nodig zijn om verschillende versies van de applicatie te ontwikkelen om zoveel mogelijk media centers te kunnen bereiken, dit zal echter bijzonder tijdrovend en arbeidsintensief zijn. Het ontwikkelen van applicaties voor een media center software? Voor het ontwikkelen voor bv. Windows Media Center is er enkel nood aan de Windows Media Center SDK en het .NET 2.0 Framework om van start te kunnen gaan met de ontwikkeling. Deze SDK is gratis te downloaden via de website van Microsoft. Microsoft voorziet de ontwikkelaar dan nog via MSDN van informatie in verband met het ontwikkelen van applicaties voor Windows Media Center. Deze informatie wordt ter beschikking gesteld onder de vorm van een help-functie en een help- documentatie.
19
2.5 Andere online mogelijkheden 2.5.1
Widgets
Widgets zijn kleine applicaties die door de gebruiker toegevoegd worden aan een desktop (vb. Windows Vista Sidebar) of aan een gepersonaliseerde webpagine (vb. iGoogle). Widgets kunnen in grote lijnen in 3 categorieën onderverdeeld worden namelijk: desktop widgets: widgets die gebruikt worden op Windows Vista Sidebar, Apple Dashboard, Google Desktop, Superkaramba (Linux), etc. web widgets: dit zijn widgets die gebruikt worden op iGoogle, Facebook,… om zo de pagina een persoonlijke toets te geven. Deze kunnen gemakkelijk aan andere pagina‟s toegevoegd worden door de source code in de code van een webpagina op te nemen. mobile web widgets: widgets die special ontwikkeld zijn voor mobiele toestellen, hier is het mogelijk om een zodanige intelligentie in te bouwen dat ze zich automatisch kunnen aanpassen afhankelijk van het toestel waar ze op opgevraagd worden. Figuur 17: Widgets [36] Belangrijk om weten is dat de widgets een heel ruim aanbod aan mogelijkheden hebben de dag van vandaag. Om een idee te krijgen, volgen hier een aantal veel gebruikte toepassingen: weersvoorspellingen, kalender en nota‟s, klok, systeemmonitor, RSS feed, nieuwslezer, media applicatie,…. Er zijn teveel verschillende toepassingen om deze allemaal op een rijtje te zetten. Een breed scala van widgets is te zien in figuur 17. Er bestaat ook een speciale categorie van widgets, namelijk de widgets met video. Deze worden kortweg vidgets genoemd. Er zijn verschillende sites die voor de gebruiker een gepersonaliseerde vidget opstellen (vb. vidgets.viddler.com). Hierop kan de gebruiker al zijn wensen instellen zoals welke video‟s hij wil zien, welke achtergrondkleur de gebruiker verkiest, enz. Het handige aan deze site is dat de source code gegenereerd wordt en dus op elke site toegevoegd kan worden. Een kijkje in de code leert dat er een playlist specifiek voor de gebruiker opgeslagen wordt op de server die wordt gehost door de ontwikkelaar van de site waarop een vidget kan samengesteld worden. Deze video‟s worden achteraf in de vidget ingevuld wanneer nodig, zodat niet elke video telkens opnieuw gedownload wordt wanneer dit niet nodig is. Dit bespaart de gebruiker vele megabytes aan downloadcapaciteit.
20
Voor het ontwikkelen van mobiele web widgets bestaan er veel tips, hieronder een overzicht van de belangrijkste:
ontwerp voor een mobiele gebruiker: hij is niet in staat om zich voor een lange tijd te focussen op het scherm daarom: verdeelde focus, onderbreekbaar, dynamische omgeving en korte aandachtstijd in gedachten houden. richt op een specifieke gebruikersgroep: een mobiel toestel is iets persoonlijk van de gebruiker dus kan enige customization handig zijn. volg design richtlijnen: gebruik zo weinig mogelijk geheugen en beperk de gebruikte ruimte op het toestel focus op 1 functionaliteit: vb. video of games of nog iets anders maar niet denken hoe meer functionaliteiten, hoe beter want dat is niet zo. maak gebruik van het paperclip principe: easy to look, easy to understand, easy to use (gemakkelijk te bekijken, gemakkelijk te begrijpen en gemakkelijk te gebruiken) wek de aandacht van de gebruiker: door middel van korte titels, simpele headers, mooie professionele lay-out en icoon, preciese beschrijvingen, enkel relevante informatie,… voeg het sociale toe: Maak gebruik van een service waarop de gebruiker zijn mening kan geven over de widget, forum, e-mail of andere contact informatie van de ontwikkelaar, eventueel zelfs connectie met Facebook. maak het plezant voor de gebruiker: voeg iets extra toe zodat de widget zich kan onderscheiden van de rest, zorg voor verrassingen.
21
2.5.2
Mobiele Website
Een mobiele website is een website die geoptimaliseerd is om ernaartoe te surfen met verschillende mobiele toestellen (zie figuur 18). Spontaan wordt er dan gedacht aan smartphones. Het voordeel van een mobiele versie van een website is dat elk soort smartphone die toegang heeft tot het Internet deze site kan bezoeken terwijl er bij ontwikkeling van een native applicatie enkel de ondersteunde smartphones bereikt kunnen worden bv. wanneer een applicatie voor de iPhone ontwikkeld wordt, zal dit enkel toegankelijk zijn voor een iPhone of iPod Touch terwijl een mobiele website een veel groter bereik heeft daar dit platform onafhankelijk is. Ook vereist een mobiele website niet de uitgebreide kennis over het ontwikkelen van een applicatie voor elk verschillend platform. Indien er voor enkele verschillende platformen een native applicatie zou moeten ontwikkeld worden zou voor elk van deze platformen de nodige kennis verworven moeten worden. Dit vraagt uiteraard veel tijd, terwijl een mobiele website enkel kennis vereist over het ontwikkelen van een gewone website. De ontwikkeling van een mobiele website vergt kennis over HTML, CSS, PHP en Java. Daar de tijd nodig om dit onder de knie te krijgen veel kleiner is dan de kennis over elk platform apart speelt ook dit in het voordeel van een mobiele website. Wanneer het op afspelen van video aankomt bestaan er verschillende versies van mobiele websites. Er zijn mobiele websites die enkel gebruik maken van Flash video‟s en andere die een video ter beschikking stellen via een link die verwijst naar een .3GP bestand. Deze laatste optie voorziet in meer mogelijkheden aangezien bij de eerstgenoemde, toestellen die geen Figuur 18: Mobiele websites [37] Flash ondersteunen (zoals de iPhone) uitgesloten worden, terwijl elk toestel dat beschikt over toegang tot het Internet een link naar een video kan openen. Dit is mogelijk omdat elk toestel dan zijn eigen standaard programma opent om video af te kunnen spelen. Een mobiele website vereist enkele specifieke aanpassingen in vergelijking met de nietmobiele variant. Ten eerste moet de resolutie aangepast worden aan het toestel dat de mobiele website opvraagt. 22
Alhoewel er vandaag de dag vrij hoge resoluties (voor smartphones) ondersteund worden is het strikt gezien niet meer nodig om voor elk toestel een aanpassing te doen naar resolutie toe, maar soms blijkt dit nog nodig te zijn. Dit kan gemakkelijk gedaan worden aan de hand van het opvragen van de browser die naar de website surft. Ten tweede kan er ook een aanpassing toegevoegd worden die het soort verbinding naar de mobiele website bekijkt bv. EDGE, WiFi, 3G,… en naargelang daarvan kan een andere (minder belastende) versie van de website getoond worden die geoptimaliseerd is voor weergave bij een bepaalde snelheid. Ook kan het nodig zijn om een boodschap te tonen om een gebruiker, die met 3G surft, erop te wijzen dat indien de website geraadpleegd wordt er redelijk wat gedownload wordt om de video‟s weer te geven. De gebruiker komt zo niet voor verrassingen te staan wanneer hij de factuur van z‟n mobiel surfgedrag in de bus krijgt. Mobiele browsers hebben een andere naam dan gewone internetbrowsers die op een desktop of laptop geïnstalleerd zijn. Aan de hand van een selectiecriterium dat doorlopen wordt bij het begin van het opvragen van de website kan er gekeken worden welke browser gebruikt wordt. Is het een mobiele browser? Dan wordt automatisch het stuk (HTML) code getoond dat geschikt is voor mobiele browsers. Indien dit niet zo is, wordt de gewone versie op het scherm getoond. Dit heeft als groot voordeel dat er geen aparte domeinnaam moet aangemaakt worden voor de mobiele versie van de website (vb. www.m.focus-wtv.tv) maar er gewoon een aanpassing moet plaatsvinden in de source code van de gewone website. Daardoor moet de gebruiker ook niet op de hoogte gebracht worden van een nieuwe domeinnaam voor een mobiele versie van de website maar kan de gebruiker naar de vertrouwde website surfen die automatisch aangepast wordt. Op het Internet zijn er bedrijven te vinden die een mobiele website aanmaken van een bestaande (niet-mobiele) website (bv. Siruna). Ook bestaan er websites die een (mobiele) website evalueren naar verschillende criteria toe bv. gebruiksgemak, laadsnelheid, geheugengebruik, gebruiksvriendelijkheid,… Voor het ontwikkelen van een mobiele website zijn er ook verschillende (open source) programma‟s ter beschikking zoals bv. Aptana of jQuery. Deze kunnen nog aangevuld worden met een Eclipse plug-in die zorgt voor een bepaalde intelligentie om lijsten met commando‟s aan te vullen. Deze software kan gebruikt worden voor het ontwikkelen van verschillende soorten mobiele websites en is dus niet specifiek voor het ontwikkelen van een mobiele website met video. 2.6 Besluit Om een goeie vergelijking te kunnen maken van de meest relevante informatie in verband met de alternatieve platformen die hierboven besproken worden, wordt er een samenvattende tabel opgesteld. Hierdoor wordt alle informatie, om een snelle vergelijking te kunnen maken, op een duidelijke en overzichtelijke manier weergegeven en wordt de keuze van één of meerdere geschikte platformen vergemakkelijkt.
23
Tabel 2: Samenvatting hoofdstuk 1.
Gameconsoles - Sony PS3
-
Microsoft Xbox 360 Nintendo Wii
-
Nintendo DS
-
Sony PSP
Smartphones - Apple iPhone -
-
-
Symbian
Google Android Windows Mobile
Media Centers
Internet toegang
Resolutie
Video ondersteuning
1ste versie enkel via kabel, latere versies ook via WiFi WiFi en internet via kabel WiFi en internet via speciale kabel op USB poort WiFi (geen standaard browser)
TV resolutie (SD of HD)
€ 1700
TV resolutie (SD of H.264 wordt HD) ondersteund TV resolutie (SD)
Via Microsoft (prijs niet gekend) € 1350 + licentie bij Nintendo
WiFi
Beperkte resolutie: Flash ondersteunt via € 1200 + licentie bij Standaardbrowser 480 x 272 pixels plug-in Sony aanwezig
Zeer beperkte Flash wordt resolutie: 256 x 192 ondersteund pixels
WiFi en 3G
Kleine resolutie: 480 x 320 pixels WiFi en 3G Afhankelijk van toestel tot toestel maar eerder beperkt WiFi en sommige 3G Afhankelijk van toestel tot toestel maar eerder beperkt WiFi en sommige 3G Afhankelijk van toestel tot toestel maar eerder beperkt Afhankelijk van TV of computer thuisnetwerk van resolutie gebruiker, draadloos of bekabeld.
SDK
Opmerkingen
niet Geen informatie beschikbaar
Browser moet zelf verdere geïnstalleerd worden
H.264 wordt € 66 of € 200 ondersteund Afhankelijk van toestel.
Gratis H.264 wordt ondersteund
H.264 wordt ondersteund
Standaardbrowser aanwezig
Afhankelijk van media center tot media center, sommige zijn gesloten andere open.
Elk OS vereist andere kennis om een applicatie te kunnen ontwikkelen
Op prijsgegevens werd niet gefocused omdat er zeer veel verschillende media centers zijn.
Andere online mogelijkheden -
-
Widgets
Mobiele website
Afhankelijk thuisnetwerk gebruiker Via smartphones
van Bedoeld voor kleine weergave H.264 wordt ondersteund Resolutie smartphone maximum
van H.264 wordt meestal is het ondersteund afhankelijk van smartphone
Gratis (gebaseerd op HTML)
Compatibiliteit tussen verschillende OS werd niet verder onderzocht. Eén kennisgebied om alle smartphones te bereiken
Bij video ondersteuning wordt er voornamelijk bekeken als het formaat dat gebruikt wordt bij focus-wtv.tv ondersteund wordt. Conclusie: Uit samenvattende tabel 2 kan geconcludeerd worden dat een mobiele website wellicht de beste keuze is om alternatieve platformen voor video te bereiken. Een mobiele website heeft een zeer groot bereik, namelijk alle smartphones die uitgerust zijn met de mogelijkheden om verbinding te maken met het Internet. Een voordeel van een mobiele website is ook dat de complexiteit eerder beperkt is in vergelijking met de andere mogelijke applicaties. Maar er blijft toch ook een zekere uitdaging aan het ontwikkelen van een mobiele website, namelijk het aanpassen van de mobiele website aan de grote verscheidenheid aan smartphones en eventueel het aanpassen aan de soort connectie die gemaakt wordt met de website (vb. 3G, WiFi,…).
24
3. Uitwerking van de mobiele website.
3.1 Wat is een mobiele website Een mobiele website is de aangepaste versie van de gewone website van een bedrijf of een op zichzelf bestaande website van een bedrijf die nog geen gewone website heeft (deze bedrijven worden hoe langer hoe schaarser maar ze bestaan nog). De bedoeling van een mobiele website is om een gewone website altijd en overal bereikbaar te maken via een draagbaar toestel. Niemand ontsnapt aan deze trend, onlangs heeft ook sporza beslist om een mobiele versie van z'n website te lanceren (m.sporza.be). Er dient opgemerkt te worden dat er enkele zaken in het oog gehouden moeten worden die bij een gewone website niet (of minder) van toepassing zijn. Er is een grotere diversiteit aan toestellen waarop de mobiele website goed moet functioneren. Op vlak van computers bestaan er een drietal grote categorieën (geklasseerd volgens OS): PC, Mac, Linux. Op de markt van de mobiele toestellen bevinden zich meer verschillende OS zoals Symbian, iPhone, Android, Windows Mobile,... Elk OS gedraagt zich hier en daar anders. Dit bemoeilijkt het ontwikkelen van een mobiele website omdat er vanaf het begin rekening moet gehouden worden met de verschillen van de OS onderling. De werking moet zeker en vast op minstens 1 toestel van elk OS getest worden zodat de goede werking gegarandeerd wordt, dit omwille van het feit dat niet elk OS alle videoprotocols en videocodecs ondersteunt. Ook is er een grote verscheidenheid aan browsers. Elke browser heeft specifieke eigenschappen. Er is een grote verscheidenheid aan resoluties bij de smartphones. Een mobiele website dient hiermee rekening te houden en telkens de weergave te gebruiken die het dichtst aansluit bij de desbetreffende smartphone. De meeste toestellen gebruiken ook een accelerometer [48] die registreert of het toestel zich bevindt in een staande, liggende of gekantelde toestand. Afhankelijk daarvan wordt de weergave van pagina‟s automatisch aangepast. Ook hier dient rekening mee gehouden te worden. De connectie met het Internet moet ook bekeken worden. De meeste smartphones bezitten al de mogelijkheid om te verbinden via WiFi, de verbindingssnelheid bij WiFi is groot genoeg om gemakkelijk filmpjes te kunnen streamen. Er dient zeker opgemerkt te worden dat WiFi niet altijd beschikbaar is. Een gebruiker dient thuis een draadloos netwerk te hebben of er moet verbinding gemaakt worden met een zogenaamde „hotspot‟ alvorens WiFi gebruikt kan worden. Ze kunnen ook allemaal verbinden via 3G. 25
3.2 Praktische uitwerking mobiele website
3.2.1 Algemeen Om een mobiele website te maken kan er onderscheid gemaakt worden tussen 2 manieren: gebruik maken van een tool die een bestaande website omvormt naar een mobiele versie eigen code schrijven die de mobiele website levert Eerst en vooral wordt er bekeken of het haalbaar is om een tool te gebruiken die de website aanpast zodat een mobiele versie beschikbaar wordt. Er wordt gebruik gemaakt van de tool geleverd door Siruna. Siruna is een Belgisch bedrijf, een spin-off van de Universiteit Gent, dat zeer ver staat op het vlak van ontwikkeling van mobiele websites. Ook is Siruna samen met RMM in een onderzoeksproject betrokken dus de keuze voor hen ligt voor de hand. Aan de hand van de tool wordt overbodige informatie uit de website weggefilterd zodat enkel relevante informatie weergegeven wordt in de mobiele versie. De ontwikkelaar kan zelf beslissen wat er op de mobiele website moet weergegeven worden en wat niet. Na het aanpassen met deze tool bleef enkel het rechtergedeelte vanop de homepage van www.focus-wtv.tv over (zie figuur 19). Dit gedeelte bevat alle links naar de filmfragmenten.
Figuur 19: Resultaat na verwerking met Siruna-tool
26
Uiteindelijk wordt afgestapt van deze methode omdat de tool van Siruna geen Flash-video ondersteunt. Dit omdat een aantal smartphones (oa. iPhone) geen Flash ondersteunen en deze bijgevolg uitgesloten worden. Eerst wordt nog een poging gewaagd de link naar de video te herleggen (zodat het oorspronkelijke mp4-bestand geopend wordt zonder gebruik te maken van Flash) maar omwille van een gebrek aan feedback kan er op deze piste niet verder gebouwd worden. Nadat de eerste keuze niet goed bevonden wordt moet er overgestapt worden naar de tweede: zelf een mobiele website ontwerpen aan de hand van HTML, CSS, PHP, Javascript,… De navigatie wordt uiteraard sterk vereenvoudigd zodat deze optimaal is voor het gebruik op mobiele toestellen. Het is ook belangrijk dat de informatie op de mobiele website gelinkt wordt aan de informatie op de oorspronkelijke website zodat enkel de oorspronkelijke website aangepast moet worden en de mobiele website automatisch volgt. Dit is in de praktijk absoluut noodzakelijk naar onderhoudbaarheid van de sites toe.
3.2.2 Structuur Dit in gedachten gehouden, wordt beslist om als basis van de mobiele website de RSSfeed te gebruiken die beschikbaar wordt gesteld op de homepage van www.focus-wtv.tv. Deze RSS-feed bevat alle informatie die nodig is om goed en duidelijk te verwijzen naar elk filmpje. Er dient opgemerkt te worden dat er een strikte onderverdeling is van alle filmpjes. Elk filmpje wordt geklasseerd onder een programma. Op zijn beurt is elk programma toegekend aan 1 of 2 verschillende thema‟s. Een overzicht van alle thema‟s en programma‟s is te zien in tabel 3. Tabel 3:Overzicht thema‟s en programma‟s
Thema‟s Nieuws Sport
Programma‟s Focus, WTV, Transactua, Gevangenisreeks Sport West, Sport West Extra, De Liga
Transactua, Transit, Transa[r]t, De Zeeuw van Vlaanderen Trefpunt, Kwestie, De Raad
Extra
Campus, Hart voor West-Vlaanderen, 100% West-Vlaams, Kokpit, Op Yacht Nieuw
Nieuw
27
Deze informatie dient zodanig opgenomen te zijn in de mobiele website dat de thema‟s en programma‟s op 1 plaats opgeslagen worden. Wanneer er dan een thema of programma bijkomt, moet dit slechts op 1 plaats aangepast worden. Deze veranderingen zullen dan automatisch aangepast worden doorheen de volledige mobiele website. Om dit te kunnen verwezenlijken werd een XML-file opgemaakt (menu.xml) waaruit de thema‟s en programma‟s worden opgehaald. Indien er in deze XML-file een thema of programma toegevoegd wordt, zal dit voor de gehele mobiele website doorgevoerd worden. Elk programma heeft een aparte RSS-feed waar elk filmpje van het betreffende programma instaat. De bedoeling is dat via de navigatie door de mobiele website de RSSfeed van het juiste programma opgehaald wordt en dan daaruit de informatie op een goede manier gevisualiseerd kan worden. Zoals uit het voorgaande blijkt, is het belangrijkste van deze mobiele website het ondervragen („parsen‟) van de XML-file met de juiste thema‟s en programma‟s in. En het „parsen‟ van de gekozen RSS-feed om de titel, beschrijving en link van alle filmpjes op te halen. Er dient eerst en vooral opgemerkt te worden dat er in de HTML- en PHP code geparsed wordt rekening houdend met de namen van de gebruikte tags en attributen. Als er hieraan iets gewijzigd wordt zal dit de werking van de site zodanig in de war sturen dat de goede werking niet meer gegarandeerd kan worden. De werking van de eigen ontwikkelde mobiele website wordt niet geheel uit de doeken gedaan, enkel de stukken die echt belangrijk zijn voor de goede werking. Deze zijn: het uitlezen van de data van menu.xml en deze invullen in de dropdownmenu‟s die door de gebruiker gebruikt worden om te navigeren door de thema‟s en programma‟s het uitlezen van de data uit een (willekeurige) RSS-feed met als resultaat de weergave van de nuttige informatie over elk filmpje (titel, korte omschrijving en play-knop met juiste link)
28
3.2.3 Belangrijkste onderdelen 3.2.3.1
Invulling dropdownmenu’s
Om de uitleg in verband met de invulling van de dropdownmenu‟s duidelijk te maken voor de lezer wordt in figuur 20 eerst een stukje uit de XML-file gekopieerd die de thema- en programmastructuur bevat. <menu> <programma feed="http://focus-wtv.tv/programma/28/rss.xml"> Focus <programma feed="http://focus-wtv.tv/programma/29/rss.xml"> WTV <programma feed="http://focus-wtv.tv/programma/39/rss.xml"> Transactua <programma feed="http://focus-wtv.tv/programma/2597/rss.xml"> Nieuws van hier <programma feed="http://focus-wtv.tv/programma/36/rss.xml"> Sport West <programma feed="http://focus-wtv.tv/programma/127/rss.xml"> Sport West Extra <programma feed="http://focus-wtv.tv/programma/2427/rss.xml"> Sport West Extra - Wielrennen <programma feed="http://focus-wtv.tv/programma/40/rss.xml"> De Liga Figuur 20: menu.xml
Hier zal enkel de werking van het invullen van de dropdownmenu op de homepage behandeld worden. Dit menu bevat de namen van alle thema‟s. De invulling van de dropdownmenu met programmanamen gebeurt volledig analoog. Er wordt enkel extra gekeken naar de themanaam die meegegeven wordt vanuit de homepage zodat enkel de programma‟s geladen worden uit het juiste thema. Eerst en vooral wordt er een dropdownmenu geïnitialiseerd. Deze krijgt de naam „keuze‟. Er wordt een onChange-event aan toegevoegd zodat doorverwezen wordt naar de volgende pagina wanneer het item in het dropdownmenu veranderd wordt. Hierdoor hoeft er geen extra bevestigingsknop voorzien te worden. Enig minpunt kan zijn dat sommige toestellen geen Javascript ondersteunen zodat de goede werking belemmerd wordt. (Een iPhone die net een systeemherstel gedaan heeft, ondersteunt standaard geen Javascript. In de instellingen dient de gebruiker ondersteuning van Javascript te activeren) Als eerste element in het dropdownmenu wordt de veelzeggende boodschap „Selecteer een thema‟ toegevoegd. De invulling gebeurt in het blok PHP-code dat in de afbeelding hieronder weergegeven wordt. Eerst wordt een nieuw DOMdocument aangemaakt. Een DOMdocument is een container die een XML-document kan bevatten [50], standaard is
29
deze container leeg. Daarom moet er nog een XML-document ingeladen worden. Dit gebeurt met de regel: $doc->load(„menu.xml‟); Nu staat dit XML-document klaar om „ondervraagd‟ te worden. In de variabele $themas worden alle elementen met tagname „naam‟ opgehaald. Daarna wordt voor elk onderdeel van $themas (dus elk $thema) een operatie uitgevoerd. Van elk thema wordt het attribuut „naam‟ opgehaald en opgeslagen in $naam. Dit wordt onmiddellijk daarna als optie ingevuld in het dropdownmenu „keuze‟. <select onChange="return document.form1.submit()" name="keuze"/> load( 'menu.xml' ); $themas = $doc->getElementsByTagName( "thema" ); foreach( $themas as $thema ) { $naam = $thema->getAttribute("naam"); print(" "); } echo''; ?> Figuur 21:invullen dropdownmenu met thema‟s
Het eigenlijke laden van de informatie over de filmpjes wordt gedaan door het uitlezen van de RSS-feed die beschikbaar is via www.focus-wtv.tv. 3.2.3.2
Uitlezen RSS-feed
In figuur 22 is een screenshot die de globale RSS-feed, die „geparsed‟ moet worden, weergegeven.
30
http://www.focus-wtv.tv/programma/36/rss.xml <description> nlSport West 30 mei http://www.focus-wtv.tv/programma/sport-west/sport-west-30mei <description>
Voor de laatste keer dit seizoen trekken we de lade sportactualiteit volledig open, met de ontknopingen in het waterpolo en American Football, naast wielrennen, triatlon en ropeskipping.
ShareThiszo, 30 mei 2010 19:21:57 +02003899 at http://www.focus-wtv.tv Figuur 22: RSS-feed
De basis voor het uitlezen van de RSS-feeds is een XML-parser gevonden op het Internet [49] en die naar eigen wens aangepast wordt. De werking ervan wordt aan de hand van screenshots verder uitgelegd. Er wordt niet gewerkt met een DOMdocument omwille van de volgende reden: Alvorens de RSS-feed uitgelezen kan worden moet hij eerst volledig ingeladen worden in het DOMdocument. Dit heeft voor gevolg dat een nog langere wachttijd kan optreden alvorens de gebruiker de gevraagde informatie te zien krijgt.
31
$xml_parser = xml_parser_create(); xml_set_element_handler($xml_parser, "startElement", "endElement"); xml_set_character_data_handler($xml_parser, "characterData"); $fp = fopen($Keuze,"r") or die("Error reading RSS data."); while ($data = fread($fp, 80000)) xml_parse($xml_parser, $data, feof($fp)) or die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser))); fclose($fp); xml_parser_free($xml_parser); Figuur 23: XML parser
Een verduidelijking van de structuur weergegeven in figuur 23:
xml_parser_create(): Net zoals er een database connectie gemaakt moet worden voor interactie met een database moet er een XML parser aangemaakt worden voor interactie met een XML bestand. Deze wordt opgeslagen als $xml_parser. xml_set_element_handler($xml_parser,”startElement”,”endElement”): Deze functie zorgt ervoor dat de events die gegenereerd worden door het openen en het sluiten van tags opgevangen kan worden. Deze functie maakt gebruik van $xml_parser en de verder gedefinieerde functies startElement en endElement. xml_set_character_data_handler($xml_parser,”characterData”): Deze functie geeft aan wat er moet gebruikt worden voor het processen van data die uitgelezen wordt. Hier wordt de verder gedefinieerde functie characterData gebruikt. Initieel wordt $xml_parser ook gebruikt. $fp = fopen($Keuze,”r”) or die(“Error reading RSS data.”): Hier wordt het XML bestand geopend dat opgeslagen was in de variabele $Keuze (meegegeven vanuit de vorige pagina), de “r” duidt aan dat hij enkel geopend wordt om te lezen. Als dit niet lukt wordt de boodschap tussen haakjes op het scherm geprint. De code achter de „while‟ zorgt ervoor dat zolang het XML bestand niet ten einde de uitlezing verder blijft gaan. Eens de parser op het einde van het XML bestand is aangekomen wordt het bestand opnieuw gesloten (fclose($fp)) en wordt de geheugenruimte die ingenomen werd door $xml_parser terug beschikbaar gesteld (xml_parser_free($xml_parser)). Nu worden de gebruikte functies startElement, endElement en characterData wat verder uitgelegd. Deze zijn onmisbaar voor de goede werking van de XML parser. Al deze functies gebruiken enkele globale variabelen die initieel de volgende waarden bevatten: $insideitem = false; $tag = ""; $title = ""; $description = ""; $link = "";
32
characterData: function characterData($parser, $data) { global $insideitem, $tag, $title, $description, $link; if ($insideitem) { switch ($tag) { case "TITLE": $title .= $data; break; case "DESCRIPTION": $description .= $data; break; } } } Figuur 24:characterData
characterData maakt zoals te zien is in figuur 24 gebruik van $parser en $data. $parser is een verwijzing naar de vooraf besproken XML parser. $data is een variabele die na het verlaten van de functie characterData een string zal bevatten die uitgelezen werd uit het XML bestand. Er is een onderscheid tussen 2 cases. Wanneer $tag de naam „title‟ heeft en wanneer $tag de naam „description‟ heeft. $data wordt daarna in de juiste globale variabelen gekopieerd ($title of $description). Deze worden in endElement verder verwerkt voor weergave op het scherm. startElement: function startElement($parser, $name, $attrs) { global $insideitem, $tag, $title, $description, $link; if ($insideitem) { $tag = $name; } elseif ($name == "ITEM") { $insideitem = true; } } Figuur 25: startElement
startElement, weergegeven in figuur 25, gebruikt de variabelen $parser, $name en $attrs. $parser is een verwijzing naar de XML parser die voorafgaand uit de doeken werd gedaan. $name is de naam van de opening tag die dit event heeft getriggered. $attrs bevat de attributen van de opening tag, indien deze aanwezig waren. if($insideitem): als $insideitem true is dan moet er geweten zijn welke tag er geopend is. Dit gebeurt door $name op te slaan in de variabele $tag. Wanneer $insideitem false is moet er enkel gekeken worden als men zich binnen een „item‟-tag bevindt (aangeduid op figuur 22).
endElement gebruikt ook $parser en $name. In het bovenstaande onderdeel over startElement wordt uitgelegd waarvoor deze hier staan. Om de werking van deze functie te verduidelijken wordt 1 filmpje als voorbeeld genomen. De globale variabele $title bevat: Sport West 4 april De globale variabele $description bevat:
Paaszondag vandaag, de eerste zondag van april en dan loopt heel Vlaanderen zowat storm voor de koers. De Ronde van Vlaanderen lokte misschien ook u naar buiten. De ontknoping van Vlaanderens mooiste en een pak randreportages staan centraal in Sport West.
In de functie is het eerste wat gecontroleerd wordt of men zich in de tag „item‟ bevindt. Wanneer dit zo is kan de werking van start gaan. De eerste echo zorgt voor een witregel en de volgende echo print de waarde van variabele $title in het vet af op het scherm. Uit de voorgaande print van de waarde die in $title zit is duidelijk dat de titel onmiddellijk kan verwerkt worden omdat enkel de titel zich in $title bevindt. Uit de voorgaande print van de variabele $description blijkt ook dat deze niet onmiddellijk kan geprint worden op het scherm. Er dienen 2 zaken uitgehaald te worden: de beschrijving zelf de link naar het mp4 bestand Om dit te doen wordt gebruik gemaakt van de functie explode binnen PHP. Deze functie kan een string exploderen op een bepaald teken (telkens wanneer er een bepaald teken gevonden wordt, zal de string gesplitst worden). Al deze stukken worden dan opgeslagen in een array. Hieruit worden dan de stukken gehaald die nodig zijn. Eerst wordt $description geëxplodeerd op “ “ (dit is een spatie). Al deze stukken worden opgeslagen in $stukjes. $aantal telt het aantal elementen in de array $stukjes. Dezelfde variabele $description wordt nogmaals geëxplodeerd, maar ditmaal op een andere groep karakters. Er wordt gesplitst op “class=”. Dit wordt allemaal opgeslagen in de array $stukken. Door op “class=” te splitsen wordt de beschrijving van het filmpje afgezonderd en opgeslagen in het 1ste element van $stukken. Dit kan nu zonder problemen geprint worden met print($stukken[0]). Alvorens de link naar het filmpje kan weergegeven worden dienen nog enkele verdere bewerkingen te gebeuren. Hiervoor dient onder andere een for-loop gebruikt te worden, dit om alle elementen uit de array $stukjes te kunnen overlopen. Onmiddellijk binnen de for-loop wordt if(strstr($stukjes[$i];”.mp4”) gevraagd. Dit zorgt ervoor dat de code binnen deze if-loop enkel overlopen wordt als de string in het ide element van $stukjes de tekst “.mp4” bevat. Een snelle blik op de variabele $description hierboven geeft aan dat enkel de links naar het videofragment de tekst “.mp4” bevatten. Deze waarde wordt nu opgeslagen in $linkje (De aandachtige lezer ziet dat er op dit moment 2 links in deze variabele zitten. Om slechts 1 link over te houden moet nog eventjes verder gegaan worden). $linkje moet nu nog geëxplodeerd worden op “>”(“>” is niet zichtbaar aanwezig in $description maar de HTML-code van dit karakter wel: >). De stukken worden opgeslagen in $links. Het 2de element van $links ($links[1]) wordt nu voor een laatste maal geëxplodeerd, ditmaal op “”(“” is niet zichtbaar aanwezig in $description maar de HTML-code van dit karakter wel: ) en opgeslagen in de variabele $link. $link bevat nu 1 enkele link naar het filmpje. Als laatste stap moet de link nog op het scherm geprint worden. Deze link wordt aan een playknop verbonden zodat niet heel de link op het scherm verschijnt maar enkel een playknop.
35
4. Wat is er verder nog mogelijk? Deze mobiele website is verre van volledig. Er zijn nog enkele zaken waar deze mobiele website geen rekening mee houdt of zaken die niet geïmplementeerd worden, zoals hieronder beschreven.
4.1 3G detectie Omdat bij een 3G-verbinding slechts een beperkt aantal MB's gedownload mag worden alvorens te moeten bijbetalen is het belangrijk dat er een detectie ingebouwd kan worden die het soort internetverbinding waarneemt. Dit kan ervoor zorgen dat wanneer men surft via 3G er een waarschuwing op het scherm komt dat de filmpjes ervoor zullen zorgen dat de downloadlimiet snel bereikt wordt. Deze detectie wordt niet ingebouwd in deze demosite.
4.2 Optimalisatie voor verschillende resoluties De huidige mobiele website heeft slechts een beperkte aanpassing aan de verschillende resoluties. In het CSS-bestand dat gelinkt is aan de mobiele website wordt de width op 100% ingesteld. Dit is een dynamische aanpassing aan de schermresolutie maar dit werkt zeker niet perfect. Ook moeten alle afbeeldingen die weergegeven worden nog geresized worden afhankelijk van de verschillende resoluties, vooralsnog wordt dit niet geïmplementeerd.
4.3 Detectie van verschillende browsers [54] Aangezien elke internetbrowser specifieke kenmerken heeft kan er voor elke browser een aangepase versie van de mobiele website gemaakt worden die geoptimaliseerd is voor de benodigde browser. Momenteel is dit nog niet geïmplementeerd in deze versie van de mobiele website. Browserdetectie kan gedaan worden door bijvoorbeeld het toevoegen van een blok Javascript die de detectie verzorgt. Afhankelijk van de informatie die dit blok weergeeft kan er dan een selectie gemaakt worden van optimale parameters. Detectie van browser kan onder andere de volgende zaken detecteren: soort browser, gebruikte resolutie, kleurendiepte, besturingssysteem, accepteren van cookies,…
36
4.4 Detectie van Javascriptondersteuning Nu wordt ervan uitgegaan dat elk toestel Javascript ondersteunt. Wanneer dit niet het geval is zal de website niet werken omdat de keuzes die gemaakt worden via de comboboxen niet verwerkt kunnen worden. De gebruiker probeert verder te gaan maar dit werkt niet. Daarom kan er nog een detectie ingebouwd worden die op het scherm weergeeft dat de gebruiker eerst de ondersteuning van Javascript moet activeren alvorens verder gegaan kan worden. Eventueel kan er ook (indien de gebruiker geen Javascript wenst te ondersteunen) een aangepaste versie van de mobiele website weergegeven worden die bevestigingsknoppen bevat. Zo kan de informatie toch verwerkt worden. De uitbreidingen weergegeven in 4.1 tot en met 4.4 worden niet geïmplementeerd omdat deze niet tot de doelstellingen van de masterproef behoren. 4.5 Aanpassingen aan de RSS-feeds Nu kan de gebruiker een filmfragment laten afspelen door te klikken op een playknop. Op de oorspronkelijke website wordt voor elk filmfragment een afbeelding weergegeven die uniek is voor elk fragment. De gebruiker dient op deze afbeelding te klikken om het afspelen te beginnen. Aangezien er in de RSS-feeds die beschikbaar zijn geen informatie vervat zit die verwijst naar deze afbeeldingen kunnen ze er nu nog niet opgeplaatst worden. Daarom wordt nu een eenvoudige playknop weergegeven waarop de gebruiker dient te klikken om het afspelen te starten. Door het toevoegen van deze informatie aan de RSS-feeds kunnen de afbeeldingen mits wat toevoegen van code op het scherm weergegeven worden. Dit komt de lay-out en het uitzicht van de mobiele website zeker ten goede.
37
5. Bespreking verschillende streamingprotocols
5.1 Algemeen Streaming protocols zijn processen en procedures die gebruikt worden om het bezorgen van real-time media (zoals audio- en video streams) te verzorgen en deze te controlleren [52]. Het streamen van media komt tot stand vanuit een mediaserver die een grote hoeveelheid netwerk devices passeert (zoals routers, switches, firewalls,…) alvorens deze media ontvangen wordt in de mediaspeler van de user. Mediastreaming kan het moeilijk hebben om door firewalls te geraken omdat bepaalde firewalls protocols (RTMP, RTSP,…) blokkeren die gerelateerd zijn met media streaming. Inhoud kan weliswaar beschermd of beschikbaar gesteld worden voor bepaalde gebruikers. Dit door gebruik te maken van een digital rights management system (DRM). Het DRM systeem voorziet in authenticatie voor elke gebruiker zodat het mogelijk wordt om voor elke gebruiker apart bepaalde inhoud zichtbaar of onzichtbaar te maken. Doordat er verschillende protocols zijn voor het streamen van media en omdat een media server en een browser verschillende media protocols ondersteunen moet de selectie van het media protocol op de server gebeuren en zal dit dan ook meegegeven moeten worden de in mediastream zodat de browser (of mediaspeler) weet welk protocol gebruikt wordt. Een sessie waarbij media gestreamed wordt verloopt over het algemeen als volgt. Wanneer een media sessie begint krijgt het toestel een link naar de gestreamde content. De user moet deze link eerst accepteren alvorens de content kan geraadpleegd worden. Het mobiele toestel beslist daarna welk streamingprotocol gebruikt moet worden. Dit gebeurt aan de hand van de „moniker‟ (in de url: rtsp://… is rtsp de moniker). Deze „moniker‟ duidt aan welk protocol gebruikt wordt tijdens de aangevraagde communicatiesessie. Protocols voor het streamen van media worden gebruikt om media streaming sessies op te zetten, te controleren en uiteraard ook te stoppen. Ze voorzien ook in de normale video controls zoals start, stop, pauze,… Een overzicht van de belangrijkste media streamingprotocols met hun kenmerken volgt vanaf 5.2.
5.2 Hypertext Transfer Protocol (HTTP) [52] HTTP commando‟s hebben beperkte mogelijkheden om mediastreams te controlleren in vergelijking met meer geavanceerde mediastreamingprotocols. Bij een HTTP stream is het bijvoorbeeld niet mogelijk om onmiddellijk een stuk verder in de gestreamde media te springen. Eerst moet ook het stuk tussen het punt waar de media op dat moment aan het lopen was en het punt waarnaar de gebruiker wil springen gedownload worden. Dit kost uiteraard tijd en gedurende deze tijd kan de gebruiker de media niet gebruiken. Eens het bestand volledig gedownload is, is herbekijken vanop een willekeurig punt wel mogelijk. 38
Het gebruik van HTTP om media te streamen wordt ook wel progressive download genoemd. Dit omwille van het feit dat de media al bekeken, beluisterd kan worden vooraleer het geheel gedownload is. Grote nadelen bij streaming via HTTP zijn: Er wordt onnodig veel traffiek gegenereerd zelfs al wordt het videofragment slechts gedeeltelijk bekeken. Ook voorziet deze manier van streaming weinig mogelijkheden tot beveiliging. Beveiliging is nodig om bijvoorbeeld piraterij te vermijden of discussies met Sabam over auteursrechten. Figuur 27 geeft een typische videoplayer weer die gebruik maakt van HTTP progressive download. Het rode gedeelte is video die al bekeken werd. Het lichtrode gedeelte is het stuk van de video dat al gedownload werd maar nog niet bekeken is door de gebruiker. Het grijze gedeelte tenslotte werd nog niet gedownload.
Figuur 27: HTTP progressive download
5.3 Real Time Streaming Protocol (RTSP) [52] RTSP is een packet gebaseerd multimedia sessie control protocol dat de gebruiker of het toestel in staat stelt om de mediastream te controlleren. RTSP voorziet ook controls die de gebruiker nodig heeft om de media te starten, te stoppen,… Het grote voordeel van RTSP tegenover bijvoorbeeld HTTP is dat er willekeurig gesprongen kan worden in de media. De mediaplayer heeft een bepaalde intelligentie zodat wanneer de gebruiker naar een ander punt in de media springt deze de media server daarvan op de hoogte stelt die dan op zijn beurt automatisch het juiste stuk uit de media begint te streamen. Dit zorgt ervoor dat de gebruiker geen (grote) delay in de media ondervindt en dus naar believen kan springen in de mediastream. Ook wordt de media niet lokaal opgeslagen, dit kan handig zijn om langere video‟s te bekijken met slechts een beperkte opslagcapaciteit op de harde schijf van de gebruiker.
39
5.4 Real Time Messaging Protocol (RTMP) [51] RTMP is een protocol ontwikkeld door Adobe dat geschikt is voor het streamen van audio, video en data over het Internet. Deze datastream verloopt tussen een Flash-player van de gebruiker en een streamingserver. Doordat het RTMP protocol ontwikkeld werd door Adobe is deze enkel compatibel met mediaspelers die ook ontwikkeld werden door Adobe nl. Flash-player. Dit is een groot nadeel in vergelijking met RTSP dat compatibel is met een brede waaier aan mediaspelers die gebruikt worden (VLC Media Player, Windows Media Player,…) De werking van RTMP is in grote lijnen vergelijkbaar met deze van RTSP. Er kan op willekeurige punten in het verloop van de video geklikt worden zonder een noemenswaardige vertraging in de weergave van de media. RTMP wordt als protocol al gebruikt op www.focus-wtv.tv. In figuur 28 is duidelijk te zien dat in tegenstelling tot bij HTTP progressive download er maar 1 (zwart) balkje weergegeven wordt dat de afgespeelde tijd weergeeft. Wanneer de gebruiker een stuk van de video wil overslaan wordt het afspelen onmiddellijk vanaf dit nieuwe punt gestart
Figuur 28: RTMP.
40
5.5 HTTP Live Streaming [53] Dit is een protocol dat ontworpen is voor het verzenden van multimedia streams over HTTP. Het protocol ondersteunt: Encryptie van de media data Kan voorzien in het aanbod van alternatieve versies van de media (vb. andere bitrates) De representatie van de media wordt gedaan door het toekennen van URI‟s (Uniform Resource Identifier) aan een playlist-bestand. De playlist is een geordende lijst van aparte URI‟s. Elke URI in de playlist verwijst naar een segment van een continue stroom van data. Om de stream af te spelen heeft een gebruiker dus eerst nood aan deze playlist. Via de playlist kunnen dan de verschillende segmenten van de data aangesproken worden. De playlist wordt constant opnieuw geladen zodat bijkomende segmenten gedetecteerd kunnen worden. Wanneer de gebruiker dan ergens anders in de stream verder wil gaan, wordt dat gedetecteerd en wordt automatisch de URI geraadpleegd van het eerstvolgende segment. De playlist is van het formaat m3u en is in feite niet meer dan een textfile. Elke nieuwe lijn in dit bestand is een URI. Bijkomende vereiste is dat alle segmenten waarnaar verwezen wordt hetzelfde formaat moeten hebben (vb. allemaal korte videofragmenten) en elk segment heeft ook ongeveer dezelfde tijdsduur.
41
6. Testen verschillende streamingprotocols en videoformaten Om te weten wat het gedrag is van de mobiele website op alle verschillende besturingssystemen wordt in een laatste fase de website getest op 5 besturingssystemen van smartphones: iPhone OS Android Symbian RIM Windows Mobile Van elk besturingssysteem wordt 1 smartphone ter hand genomen om de testen uit te voeren. Ook wordt er getest of het videoformaat dat nu beschikbaar wordt gesteld door Focus-WTV ondersteund wordt (MP4 H.264/AVC). Ook een ander formaat (.3GP) wordt aan deze test onderworpen. In een laatste test wordt de ondersteuning van HTTP, RTMP en RTSP getest. Voor betrouwbare resultaten van de testen moeten uiteraard zo veel mogelijk toestellen die uitgerust zijn met 1 van de onderzochte besturingssystemen bekeken worden. Hier wordt van elk besturingssysteem 1 toestel uitgelicht. Daardoor kunnen de resultaten niet gegeneraliseerd worden voor alle toestellen die uitgerust zijn met een bepaald besturingssysteem maar het geeft wel een idee van wat ondersteund wordt en wat niet. 6.1 Werking mobiele website Bij het testen van de werking van de mobiele website wordt enkel gekeken of de navigatie goed verloopt. Dit is nodig omdat het mogelijk is dat sommige besturingssystemen geen Javascript ondersteunen waardoor het doorverwijzen van de ene naar de andere pagina onmogelijk wordt. Bij deze test wordt niet onderzocht als de beschikbare video‟s ondersteund worden. Tabel 4: Testen werking mobiele website
Opmerkingen Bij herstel van de software moet gebruiker zelf ondersteuning voor Javascript activeren.
Javascript wordt standaard niet ondersteund, kan wel geactiveerd worden bij settings 42
6.2 Videoformaten In deze test wordt ondersteuning van MP4 H.264/AVC en 3GP videofragmenten onderzocht. De resolutie van de videofragmenten is 480 x 272 en de bitsnelheid is 500 kbps. 3GP wordt onderzocht omdat dit een formaat is dat geoptimaliseerd werd voor mobiele telefoons van enkele jaren geleden. Tabel 5: Testen videoformaten
OS iPhone OS Symbian
Smartphone iPhone 3GS Nokia N97
.mp4 Ja Nee
.3gp Ja Ja
Android
HTC Legend
Nee
Ja
Windows Mobile
HTC Touch Diamond 2 Blackberry Curve 8900
Nee
Ja
Nee
Ja
RIM
Opmerkingen Bij afspelen van .mp4 bestand wordt video niet weergegeven, er is wel geluid. Bij afspelen van .mp4 bestand wordt video niet weergegeven, er is wel geluid. Speelt mp4 niet af na download Melding bij afspelen mp4 bestand: videoformaat wordt niet ondersteund
Opmerking: De specificaties van de Nokia [6] vermelden dat MP4-video‟s die gebruik maken van de H264/AVC codec wel ondersteund worden. Uit de testen blijkt dat dit niet zo is. Dit is zeker een aandachtspunt voor verder onderzoek. In deze masterproef wordt niet onderzocht wat als alternatief voor deze video kan dienen. Dit is iets waar RMM in de toekomst verder zal op ingaan. In de specificaties van de HTC Legend [6] wordt de ondersteuning van de H264/AVC codec niet expliciet vermeld. Een mogelijke verklaring dat de video‟s niet afspelen kan zijn dat er een beperking op de resolutie is of de bitsnelheid die te hoog ligt.
43
6.3 Streamingprotocols: Hier worden enkele van de meest gangbare mediastreamingprotocols aan een test onderworpen. Tabel 6: Testen streamingprotocols
OS
Smartphone
HTTP
RTMP
RTSP
Opmerkingen
iPhone OS
iPhone 3GS
Ja
RTMP wordt enkel gebruikt bij Adobe Flashplayer en het iPhone OS ondersteunt geen Flash.
Ondanks dat de link juist is, kan Safari de webpagina niet vinden
Symbian
Nokia N97
Ja
De Flashplayer op focus-wtv.tv wordt niet gevonden
Probeert te laden maar er komt een boodschap op dat movieclip niet kan afgespeeld worden
Android
HTC Legend
Ja
Android ondersteunt geen Adobe Flash-player maar enkel een Android Flash-player
Video wordt gedetecteerd maar hij kan niet afgespeeld worden.
Adobe werkt aan een volwaardige Flash-player voor Android
Windows Mobile
HTC Touch Diamond 2
Ja
Flash-player wordt niet weergegeven
Videospeler opent maar video speelt niet af
Flash ondersteuning mits plugin installatie
RIM
Blackberry Curve 8900
Ja
Flash-player wordt niet weergegeven op de homepage
Videospeler opent wel maar de inhoud is niet beschikbaar
Opmerking: De kans is groot dat RTSP hier weinig ondersteund wordt is omdat het gebruikt wordt om een mp4 videofragment te streamen. Uit voorgaande testen blijkt echter dat dit videoformaat op weinig ondersteuning kan rekenen. Een andere test kan zijn om het RTSP protocol te linken aan een 3gp video, omdat dit formaat meer ondersteund wordt.
44
6.4 Conclusies Globaal gezien kan er gesteld worden dat elk toestel de navigatie goed verwerkt. Voor iPhone en Blackberry is dit enkel het geval als de gebruiker handmatig Javascript activeert. Het zou zeker niet slecht zijn om een detectie van Javascript (zie 4.4) toe te voegen zodat als alternatief een pagina met knoppen kan weergegeven worden indien Javascript niet ondersteund wordt. Enkele toestellen ondersteunen de MP4-codec niet. Om te kijken of dit effectief uitzonderingen zijn of als dit bij elk toestel van de betreffende besturingssystemen het geval is zouden er uiteraard meer toestellen getest moeten worden. Er kan wel met zekerheid gezegd worden dat alle toestellen 3GP-video‟s ondersteunen. Dit kan een alternatief zijn voor de MP4-video‟s, maar de kwaliteit is wel beduidend lager. Alle toestellen ondersteunen HTTP, dus als protocol om de video te streamen is dit zeker een goede optie. RTMP wordt op bepaalde toestellen niet ondersteund. Dit omdat RTMP rechtstreeks gelinkt is aan een Flash-player en wanneer Flash niet ondersteund wordt er geen mogelijkheid is om te streamen via RTMP. RTSP blijkt ook niet te werken. Dit wordt mogelijk veroorzaakt door een beveiliging op de streaming server. Mogelijks wordt de source van de aanvraag opgevraagd en als deze aanvraag niet uit een bepaald domein komt, wordt streaming niet toegestaan. Dit heeft als doel het downloaden van de video‟s tegen te gaan of de inhoud van de video‟s voor te behouden aan gepriviligeerde gebruikers. Om dit zeker te weten moet dit zeker verder bekeken worden. De grote pijnpunten, op vlak van video streaming, zijn de geïnstalleerde plugins en codecs op elke smartphone. Een out-of-the-box smartphone kan bepaalde dingen niet ondersteunen terwijl dezelfde smartphone van een gebruiker die veel surft wel de nodige plugins en codecs geïnstalleerd heeft om de video af te spelen.
45
7. Besluit Het doel van deze masterproef was om eerst en vooral een goed beeld te krijgen van welke alternatieve kanalen voor videodistributie er op de markt zijn en in welke mate het haalbaar is om voor 1 (of meerdere) van deze kanalen een applicatie te implementeren. Uitgangspunt voor het ontwerp van de mobiele website is de website www.focus-wtv.tv. Via deze website kan een gebruiker alle programma‟s die uitgezonden werden op Focuswtv herbekijken. Deze programma‟s zijn ook beschikbaar via RSS-feeds. Het is van groot belang dat de mobiele website gelinkt is met de website, dit maakt de onderhoudbaarheid van beide websites stukken eenvoudiger en minder tijdrovend. Er moet namelijk maar op één plaats iets aangepast worden en dit wordt dan automatisch doorgevoerd in beide websites. Elk programma op de website heeft een eigen unieke RSS-feed. Dit is uiterst handig voor het gebruik op de mobiele versie omdat uiteindelijk enkel die RSS-feed moet uitgelezen worden die door de gebruiker opgevraagd wordt. Om de navigatie goed te laten verlopen wordt er een XML-bestand gecreëerd die alle nodige informatie bevat in verband met de thema‟s en de programma‟s met hun overeenkomstige RSS-feed. Het is mogelijk (en zeer interessant) voor RMM om een goede mobiele website te ontwerpen mits de juiste kennis en de nodige tijd. Wanneer er hiervoor een professionele onderneming ingehuurd wordt zal er na geringe tijd een fraai ogende en goed werkende mobiele website verkregen worden. Er zijn uiteraard nog enkele uitbreidingen die kunnen gedaan worden aan deze versie van de mobiele website: de huidige RSS-feed bevat geen afbeelding van elke aflevering die kan gebruikt worden om het videofragment af te spelen, zoals op de gewone website. Wanneer dit toegevoegd wordt zal dit zeker ten goede komen aan het uitzicht van de mobiele website. Ook het toevoegen van browserdetectie, betere aanpassing voor de verschillende resoluties en nog enkele andere kleine modificaties behoren zeker tot de mogelijkheden om de mobiele website te optimaliseren en de gebruiksvriendelijkheid te vergroten. De grootste uitdaging blijft om de video zodanig aan te bieden dat hij op elk platform ondersteund wordt. Uit de testen blijkt dat het formaat dat momenteel gebruikt wordt bij Focus-wtv door de meeste geteste smartphones niet ondersteund wordt. Het loont dus zeker de moeite om te zoeken naar een formaat dat door meer toestellen gebruikt kan worden. 3GP kan echter als backup-oplossing gebruikt worden, eventueel in combinatie met een toestel-detectie.
46
Literatuurlijst [1] “ BBC iPlayer ”, [Online]. Available: http://www.bbc.co.uk/iplayer [Accessed Oct 15, 2009] [2] “BBC Blogs”,[Online]. Available: http://www.bbc.co.uk/blogs/bbcinternet/ [Accessed 0ct 16, 2009] [3] “Wii development kit as low as $ 1700”, [Online]. Available: http://www.wiisworld.com/wii-news/wii-sdk-is-cheap.html [Accessed Oct 16, 2009] [4] “HTC”, [Online]. Available: http://www.htc.com/nl/ [Accessed Oct 30, 2009] [5] “GSM arena”, [Online]. Available: http://www.gsmarena.com [Accessed Oct 30, 2009] [6] “Phone arena”, [Online]. Available: http://www.phonearena.com [Accessed Oct 30, 2009] [7] “Blackberry development”, [Online]. Available: http://na.blackberry.com/eng/developers/appworld [Accessed Nov 13, 2009] [8] “Playstation specs”, [Online]. Available: http://playstation.about.com/od/ [Accessed Nov 19, 2009] [9] “Playstation 3 manuals”, [Online]. Available: http://manuals.playstation.net/document/en/ps3/current/index.html [Accessed Oct 3, 2009] [10] “Sony Computer Entertainment Europe ”, [Online]. Available: http://www.scee.presscentre.com/ [Accessed Nov 19, 2009] [11] “Hands on: PSP web browser”, [Online] Available: http://psp.ign.com/articles/637/637308p4.html [Accessed Nov 19, 2009] [12] “Viewing Flash on PSP”, [Online. Available: http://blogs.adobe.com/jd1/archives/2006/04/viewing-flash-o.html [Accessed Nov 19, 2009] [13] “XBOX 360 specifications”, [Online]. Available: http://hardware.teamxbox.com/articles/xbox/1144/The-Xbox-360-SystemSpecifications/p1 [Accessed Oct 16, 2009] [14] “Surf op het net met de 360”, [Online]. Available: http://www.xet360.be/2008/5/14/surf-op-het-net-met-de-xbox360.aspx [Accessed Nov 19, 2009] [15] “Apple”, [Online]. Available: http://www.apple.com/ [Accessed Sep 23, 2009] [16] “Apple Developer”, [Online]. Available: http://developer.apple.com/iphone/ [Accessed Oct 1, 2009] [17] “Android phones”, [Online]. Available: http://phandroid.com [Accessed Oct 30, 2009] [18] “Dell bevestigt plannen voor smartphone”, [Online]. Available: http://www.hln.be/hln/nl/4124/Multimedia/article/detail/1028982/2009/11/13/Dellbevestigt-plannen-voor-smartphone.dhtml [Accessed Nov 13, 2009] [19] “Presentation Android”, [Online]. Available: http://www.scribd.com/doc/18743756/Introduction-to-Android [Accessed Oct 19, 2009] [20] “ Microsoft”, [Online]. Available: http://www.microsoft.com [Accessed Oct 5, 2009] [21] “Microsoft Development”, [Online] Available: http://developer.windowsphone.com/resources/nlnl/Application%20Submission%20Guidelines.pdf [Accessed Nov 10, 2009] 47
[22] D. Van Rijsselbergen, B. Van De Keer, M. Verwaest, E. Mannens and R. Van De Walle, “On the implementation of semantic adaptation in the drama manufacturing process”, 2008. [23] S. De Bruyne, J. De Cock, R. Van De Walle, P. Hosten, M. Asbach and M. Wien, “Personalized adaptation and presentation of annotated videos for mobile applications”, 2008. [24] P. Lambert, P. Debevere, S. Moens, R. Van De Walle and J.-F. Macq, “Optimizing IPTV video delivery using SVC spatial scalability”, 2008. [25] M. W. Geoghegan and D. Klass, “Podcast solutions: the complete guide to audio and video podcasting”, 2nd ed. Friends of ED, 2007. [E-book] Available: HOWEST database. [26] “Mobile internet browsing”, [Online]. Available: http://www.marketingcharts.com/interactive/mobile-users-only-half-as-likely-to-click-onads-10380/chitika-mobile-internet-browsing-operating-system-september-2009png/ [Accessed Oct 30, 2009] [27] “Canalys: iPhone outsold all Windows Mobile phones Q2 2009”, [Online]. Available: http://www.appleinsider.com/articles/09/08/21/canalys_iphone_outsold_all_windows_mo bile_phones_in_q2_2009.html [Accessed Oct 1, 2009] [28] “iPhone sales”, [Online] Available: http://en.wikipedia.org/wiki/File:IPhone_sales_per_quarter.svg [Accessed Oct 1, 2009] [29] “Total global iPhone + iPod touch & PSP sales”, [Online]. Available: http://endeavourpartners.files.wordpress.com/2009/07/iphone-vs-psp1.jpg [Accessed Nov 13, 2009] [30] “BBC iPlayer”, [Online]. Available: http://ontechnology.files.wordpress.com/2008/05/bbc-iplayer.jpg [Accessed Nov 25, 2009] [31] “Playstation 3”, [Online]. Available: http://exegeet.files.wordpress.com/2009/01/playstation-3-31.jpg [Accessed Nov 25, 2009] [32] “Xbox 360”, [Online]. Available: http://kabeltje.com/images/categories/XBOX360.8.24.06.jpg [Accessed Nov 25, 2009] [33] “Nintendo Wii”, [Online]. Available: http://www.duurtlang.net/weblog/uploaded_images/wii-776310.jpg [Accessed Nov 25, 2009] [34] “iPhone”, [Online]. Available: http://leondekkers.files.wordpress.com/2009/02/iphone.jpg [Accessed Nov 25, 2009] [35] “Windows Media Center”, [Online]. Available: http://mediacentercentral.com/Media_Center_Central/MediaCenter_files/mediacenter_ove rview.png [Accessed nov 25, 2009] [36] “Widgets”, [Online]. Available: http://willscullypower.files.wordpress.com/2008/10/widgets.jpg [Accessed Nov 25, 2009] [37] “Mobiele websites”, [Online]. Available: http://www.frankwatching.com/wordpress/wpcontent/uploads/2009/07/mobile_internet_billing_mobillion.jpg [Accessed Nov 26, 2009] [38] “ Worldwide Operating System Share”, [Online]. Available: http://www.midasstudios.com/images/admobchart.JPG [Accessed Nov 26, 2009] 48
[39] “Google Android”, [Online]. Available: http://www.blsmartbuy.com/wpcontent/uploads/2008/09/google-android.jpg [Accessed Nov 26, 2009] [40]”Symbian”, [Online]. Available: http://www.symbian.org/ [Accessed Nov 26, 2009] [41] “Symbian developer network”, [Online]. Available: http://developer.symbian.com/main/ [Accessed Nov 26, 2009] [42] “Afkortingen”, [Online]. Available: http://www.acronymfinder.com [Accessed Sep 23, 2009] [43] “Windows Mobile”, [Online]. Available: http://www.phoneclub.nl/wpcontent/uploads/2009/04/windows-mobile-6-5-officieus-01-groot.jpg [Accessed Nov 26, 2009] [44] “Symbian afbeelding”, [Online]. Available: http://www.3g.co.uk/PR/May2007/Symbian.jpg [Accessed Nov 26, 2009] [45] “Nintendo”, [Online]. Available: http://www.nintendo.com/consumer/systems/dsi/en_na/appBrowser.jsp [Accessed Nov 26, 2009] [46] “Nintendo DS”, [Online]. Available: http://www.tweakers.net/ext/i.dsp/1101112853.jpg [Accessed Nov 28, 2009] [47] “PSP”, [Online]. Available: http://www.popsci.com/files/imagecache/article_image_large/files/articles/gadget1105son y_485.jpg [Accessed Nov 28, 2009] [48] “iPhone Accelerometer”, [Online] Available: http://www.iphoneclub.nl/forum/f59/iphone-help/f5/wiki-begrippen/2419accelerometer.html [Accessed Mar 20, 2010] [49] “XML parser”, [Online] Available: http://articles.sitepoint.com/article/php-xmlparsing-rss-1-0/2 [Accessed Mar 25, 2010] [50] “DOM Document”, [Online] Available: http://www.automateexcel.com/2005/06/12/what_is_a_domdocument/ [Accessed Apr 04, 2010] [51] “RTMP”, [Online] Available: http://www.bell-labs.com/project/rmtp/ [Accessed Apr 13, 2010] [52] L. Harte and S. Clee, “Introduction to mobile video: How to Send Live TV and Streaming Video To 2G and 3G Multimedia Telephones”, Fuquay-Varina: Althos, 2008. [53] “HTTP Live streaming”, [Online] Available: http://tools.ietf.org/html/draft-pantoshttp-live-streaming-01 [Accessed May 23, 2010] [54] “Browser detective”, [Online] Available: http://users.skynet.be/javascript/varia/browserdetectie.htm [Accessed May 6, 2010]
49
Bijlage 1: Overzicht smartphones [4], [5], [6], [15], [17] Deze bijlage bevat meer gedetailleerde informatie over de smartphones die in deze masterproef besproken worden. Ze zijn gerangschikt volgens OS. Niet alle specificaties van elk toestel werden opgenomen in dit overzicht, enkel diegene die relevant zijn voor deze masterproef, vooral connectiviteit met het Internet, beeldschermresolutie en audioen video ondersteuning Wanneer er gesproken wordt over video ondersteuning wordt er eerst bekeken als de standaard gebruikt door focus.wtv.tv (H.264/MPEG4 AVC) ondersteund wordt. Indien dit niet zo is worden enkele alternatieve, wel ondersteunde, formaten opgesomd. Indien H.264 wel ondersteund wordt zal er niet verder ingegaan worden op andere formaten die ook ondersteund worden.
iPhone iPhone: Draadloze communicatiemogelijkheden: WiFi (802.11b/g) EDGE Bluetooth 2.0+EDR Beeldschermresolutie: 480 x 320
iPhone 3G / 3GS: Draadloze communicatiemogelijkheden: UMTS/HSDPA (850, 1900, 2100 MHz) GSM/EDGE (850, 900, 1800, 1900 MHz) WiFi (802.11b/g) Bluetooth 2.0 + EDR (3GS: Bluetooth 2.1) Beeldschermresolutie: 480 x 320
Draadloze mogelijkheden GSM/EDGE HSDPA/HSUPA WiFi(208.11 b/g) Bluetooth 2.0
Beeldschermresolutie 360 x 640 pixels
GSM/GPRS/EDGE UMTS HSDPA WiFi(208.11 b/g) Bluetooth 2.0 GSM/GPRS/EDGE HSDPA WiFi(208.11 b/g) Bluetooth 2.0
Geen info gevonden
360 x 640 pixels
Nokia E71
GSM/GPRS/EDGE 320 x 240 HSDPA pixels WiFi(208.11 b/g) Bluetooth 2.0
Nokia 5800 Xpressmusic
GSM/GPRS/EDGE 360 x 640 HSDPA pixels WiFi(208.11 b/g) Bluetooth 2.0
Videoondersteuning Niet expliciet vermeld, wel ondersteund oa.: WMV, RV,MP4 Ja
Audioondersteuning MP3, WMA, WAV, RA, AAC, M4A
Niet expliciet vermeld, wel ondersteund oa.: WMV,MP4
MP3, eAAC+, WAV, WMA
Niet expliciet vermeld, wel ondersteund oa.: WMV, RV,MP4 Niet expliciet vermeld, wel ondersteund oa.: WMV, RV,MP4
MP3, WMA, WAV, RA, AAC, W4A
MP3, AAC, AAC+, eAAC+, WMA
MP3, WMA, WAV, AAC, M4A
VI
Bijlage 2: Functionaliteit + toepassingen Media Centers Deze bijlage bevat een kort overzicht van de belangrijkste functionaliteit van media centers. Alsook een overzicht van de grootste toepassingen van media centers en een overzicht van de belangrijkste media centers (gerangschikt op OS). Functionaliteit + voordelen integratie van alle vormen van media, entertainment en communicatie functies (inclusief TV ontvangst), dit gecontroleerd met de afstandsbediening of een draadloos toetsenbord. mogelijkheid om digitale media files te ontvangen (via vb. gewoon video ingang, PC netwerk, internet, USB) mogelijkheid om digitale media op te slaan (op harde schijf) digitale media afspelen in klassieke omgeving met TV- en Hifi apparatuur eenvoudig op het vlak van media transfer (in vergelijking met PC media transfer) kosten besparend Plaatsen waar mediaplayers veel gebruikt worden: thuis: video‟s bekijken op de TV die via de computer gedownload werden. automotive Entertainment Systems (in limousines, tourbussen, auto stereo systemen,…) in flight entertainment room entertainment (vb. In hotelkamers, etc.) Video On Demand Systems draagbare media collectie voor reizigers of audio/video fanaten 2 categorieën van mediaplayers devices software (onderscheid tss Windows, Mac en Linux systemen) OS Windows
Voorbeelden Acer Arcade, Beyond TV, Boxee, Deel Mediadirect, Freevo GB-PVR, J. River Mediacenter, Mediacentre, Mediaportal, Meedios, Moovida, My Cast Orb, Pinnacle PCTV Mediacenter, Pinnacle TV Center Pro, Sage TV, Sesam TV, Nero Mediahome, Voddler, Windows Media Center, Willton Way Multimedia Center, XBMC