Steeds meer Nederlanders hebben een smartphone. Volgens onderzoek van Telecompaper zou dat aantal aan het eind van dit jaar door de 50% moeten gaan. En dus stijgt ook de vraag naar Apps. Maar hoe begin je aan zoiets? Lanceer je eerst alleen een iPhone app, daarna een Android applicatie en pas daarna een appl voor Windows Phone? En hoe zit dat met de kosten?
Naast de zogenaamde native apps kiezen steeds meer bedrijven voor de multi-platform app. Zo’n multi-platform app is dus één app, die geschikt is voor de meeste verschillende smartphones. Hoe werkt dat? Wat zijn de voordelen en de nadelen?
Marktaandelen iOS, Android en Windows Phone
Betrouwbare cijfers over de marktaandelen van de mobiele platformen in Nederland zijn er niet. The Phone House deed begin dit jaar onderzoek (N=1000), zij geven aan dat 34% van de Nederlandse smartphonegebruikers een Android gebruikt. iOS (iPhone en iPad) volgt met 21%. Windows Mobile (17%), BlackBerry (16%) en Symbian (13%).
Om verschillende redenen heb ik bedenkingen bij deze cijfers, maar ze maken tenminste duidelijk dat Apple geen alleenheerser meer is en dat de markt versnipperd en competitief is. Nu Nokia overstapt van Symbian naar Windows Phone, welke met de Metro interface een flinke stap voorwaarts maakt, verwacht ik dat we de aankomende jaren zeker aan 3 platformen vastzitten (iOS, Android, Windows Phone). Om een goed bereik te behalen met een app moet je dus in de meeste gevallen zorgen dat je die lanceert op ten minste 3 mobiele platformen.
App vs. mobiele site
Er zijn veel verschillen tussen een mobiele site en een app waarvan ik er eentje in deze context wil uitlichten: Een mobiele site laad je elke keer dat je hem gebruikt opnieuw van internet, terwijl je een App in principe eenmalig downloadt via de Android market, iOS App store of Windows Phone marketplace.
Doordat de app lokaal draait is hij een stuk sneller dan een mobiele site. Want mobiel internet is in vergelijking met je internetverbinding thuis natuurlijk erg traag. Sta je dus voor de keuze of je een mobiele site of een mobiele app wilt lanceren, bedenk dan vooral of deze voor eenmalig gebruik is (mobiele site), of voor frequent gebruik (app).
Verschillende systemen & talen, hoge kosten
De verschillende platformen vereisen allemaal andere programmeertalen. Bij Android moet je je app in JAVA aanbioeden, bij iOS is dat Objective-C (via een omweg ook andere versies van C), Windows Phone C# (C Sharp) en RIM (Blackberry) maakt bij nieuwere versies gebruik van J2ME.
Al die verschillende talen zorgen voor veel dubbel werk en dubbele kosten. Je kunt dus niet één app in drie platformen lanceren, je moet daadwerkelijk drie verschillende apps maken. En dat betekent dat je ook drie keer moet betalen.
Kan dat niet goedkoper?
Als je geen A-merk bent en toch mee wilt doen in de smartphone markt, dan wil je waarschijnlijk geen grote risico’s nemen. Je wilt een app lanceren omdat je doelgroep er om vraagt, omdat je ervaring op wilt doen of om nieuwe mogelijkheden te bieden aan je klanten. Maar tegelijkertijd weet je nog niet goed wat een app je gaat opleveren en dus wil je de kosten in het begin binnen de perken houden.
Veel marketeers kiezen in dat geval om de app eerst maar op een platform te lanceren. Zo houd je de kosten laag. Je bereikt echter ook maar een klein deel van je doelgroep. Een andere oplossing is de multi-platform app of cross-platform app.
Compileren
Ontwikkelaars proberen op verschillende manieren om apps, zonder veel extra werk, op verschillende platformen te lanceren. Eén manier om dat te doen is door de code vanuit de ene taal te compileren naar een andere taal. Zo kun je bijvoorbeeld de code van je native Android app (JAVA) compileren naar Objective-C.
Voordeel is dat je die code dus niet opnieuw hoeft te schijven. Nadeel is dat dat compileren lastiger is dan het lijkt. Het is niet even een druk op de magische knop. In de praktijk moeten delen van de code alsnog herschreven worden. Maar je pakt op deze manier natuurlijk wel tijdwinst.
De multi-platform app
Een andere manier om één app te maken die werkt op alle populaire mobiele platformen is op basis van webtalen. Gebruik voor je multi-platform app bijvoorbeeld html, css en jQuery Mobile. jQuery Mobile biedt een framework voor touch screens zoals smartphones en tablets. In dat framework vind je dus al veel standaard oplossingen voor menu’s, lijsten, formulieren en knoppen. Dat scheelt met name aan de front-end programmeerwerk en biedt uniformiteit in user-interfaces.
Maar je wilt geen mobiele site, maar een app, omdat een app lokaal draait en daarom sneller is. Het is dus belangrijk de mobiele site om te zetten naar een app. Gelukkig zijn er oplossingen als Phonegap en Titanium waarmee je de code met een paar drukken op de knop om kunt zetten naar de native code van de verschillende systemen. Zo kun je de app wel gewoon via de marketplace, app store en market beschikbaar maken voor je doelgroep.
Nadelen van de multi-platform app
Een multi-platform app heeft ook nadelen. Zo zal een native app een hogere performance leveren. Afhankelijk van de functionaliteiten kan het dus zijn dat een multi-platform app een beetje langzamer is dan een native app.
Ook zijn er verschillen in de hardware. Om een voorbeeld te noemen: Android toestellen hebben over het algemeen een ‘terug’ knop op het toestel zelf. iPhones hebben die knop niet. Voor de iPhone gebruikers moeten we dus een terugknop in de app zelf opnemen. Een knopje dat er voor Android gebruikers voor niets staat.
Een cross-platform app haalt dus net niet het maximale uit het toestel naar boven. De vraag is hoe erg dat is als daar tegenover staat dat de kosten fors lager zijn.
Start met een middenklasser
Ik ben erg positief over de multi-platform apps en merk dat veel marketeers die ik dit verhaal vertel dat ook zijn. Vaak weten ze niet dat dit een mogelijkheid is en spreekt het idee dat je met veel lagere kosten toch in een keer aan app kunt uitbrengen op diverse toestellen ze erg aan.
Bedrijven die in hun app functionaliteit willen bieden waarvoor een hoge performance nodig is raad ik aan om native apps te ontwikkelen. Maar voor de meeste andere bedrijven die hun eerste stappen op dit gebied zetten raad ik aan een multi-platform app te (laten) maken. In Nederland is mobiel goed voor 4 tot 5% van het internetverkeer. Mobiel internet groeit hard, maar tegelijk is het ook nog maar klein.
Voor steeds meer bedrijven is dit het moment om in te stappen. Maar dat hoeft niet direct met een Ferrari. Kies de betrouwbare middenklasser en doe ervaring op. Maar begin nu!
Blog door: Remi van Beekum, directeur van V12 Online Engineers in Groningen.