shutterstock_117186271

Mag een blog ook vragen stellen, of alleen maar antwoorden geven? Met die vraag is het antwoord meteen gegeven. Alleen maar antwoorden geven is iets voor eigenwijze mensen, trouwens, en dat ben ik toch niet? Vragen, dus.

Vraag: loont het de moeite om apps voor mobiele apparaten te maken?
Antwoord: Je zou het zeggen, als je hoort hoeveel geld Apple overmaakt naar developers. Maar ik heb daar toch wat bedenkingen bij. “Soms”, zou mijn antwoord zijn. Een somber antwoord, en misschien ligt het aan mij, maar na jaren van proberen heeft het mij zakelijk niet heel veel opgeleverd. Het is leuk om te doen, dat wel. Creatief werk, niet alleen omdat programmeren altijd al creatief is, maar ook omdat er iets moet worden gemaakt dat er supermooi uitziet. Maar zonder geniaal idee zul je er niet rijk van worden (mét een geniaal idee ook niet zomaar, trouwens). De dollars die velen in de ogen hebben als ze in de app-wereld stappen worden snel weggespoeld door het zweet van de inspanning dat van het voorhoofd afloopt, of door de tranen van de teleurstelling. Apps worden wel verkocht, maar niet vanzelf. Een app heeft veel trompetgeschal nodig om op te vallen, en een steeds terugkerende campagne om niet vergeten te worden. Om niet te verdrinken in de voortdurende stroom van nieuwe apps. Het ontwikkelen van een app is alleen maar het begin. Voor een eenzame programmeur zoals ik, zonder front office, is het vervolg ervan (marketing, sales) niet altijd leuk en bijna niet te doen.

Ach, nou heb ik al een antwoord gegeven. Toch eigenwijs, dus. Niet te stuiten.
Volgende vraag dan maar: moet je een app maken die zowel voor iOS (iPhone en iPad) als voor Android werkt?
Antwoord: als het aan de opdrachtgevers ligt wel. Die zijn bang dat er te veel Android-gebruikers boos zijn als er alleen een iOS-versie is (omgekeerd komt minder vaak voor omdat bijna niemand een app maakt die alleen voor Android is). En er zijn beslist voorbeelden te noemen waarbij dat zo is. Een bank die een app uitbrengt kan niet een deel van zijn klanten passeren door alleen een iPhone-versie te maken. Maar je moet je ook niet laten leiden door angst. De Android-markt is een lastige, gefragmenteerde markt. Je moet je app testen voor een hoop versies van Android en voor een hoop mobiele apparaten. Vervolgens blijkt dat Android-gebruikers minder serieus zijn in het kopen en gebruiken van apps dan iOS-gebruikers. Wasted time, wat mij betreft, ik wil me het liefst beperken tot iOS. Maar ik vind daar steeds minder medestanders in. Laat staan klanten. Ik twijfel dus.

Kijk, dat was een antwoord met een open einde. Ik ben op de goede weg.
Vraag: als je toch apps moet maken voor meerdere platforms (iOS, Android, en nog een paar), hoe doe je dat dan?
Antwoord: het wordt een beetje technisch. In principe zijn er twee manieren om meerdere platforms te bedienen. Ten eerste kan je per platform een eigen versie maken; we noemen dat een “native” app. Ten tweede kan je een “portable” app maken, die zonder al te veel aanpassingen op alle platforms werkt. Zoals te verwachten is hebben beide manieren zowel voor- als nadelen, anders zouden we er snel uit zijn. Een native app blinkt uit in snelheid en sluit optimaal aan bij de manier van werken die de gebruiker op dat platform gewend is. Maar voor ieder platform een native versie van de app maken is kostbaar: je moet voor ieder platform een programmeur hebben, en het werk moet voor een groot deel (twee-, drie-) dubbel worden uitgevoerd. Een portable app dan; die heeft dat nadeel per definitie niet. Bijna al het programmeerwerk wordt maar éénmaal uitgevoerd, en de app werkt daarna op alle platforms. Ideaal, maar er is een prijs. De gangbare systemen om portable apps te maken leveren apps op die trager zijn (minder snel reageren op de gebruiker, wat dodelijk kan zijn) en die niet de uniforme uitstraling hebben van het platform waarop ze worden gebruikt.

Verwarrend.
Vraag: wat is nou eigenlijk het antwoord op de vorige vraag?
Antwoord: depends on who you ask. De geldschieter weet het wel. Zo portable als maar kan, graag. De gebruiker weet het ook wel. Native, alsjeblieft. Het wachten is op een systeem om goede portable apps te maken zonder de nadelen ervan. Wacht, is er niet een programmeertaal die dat doet? Jawel, Java, dat werkt overal. Met één uitzondering: iOS, helaas pindakaas. Oracle doet een poging, maar vooralsnog lijkt het nergens naar. Keep trying, Oracle.

Laatste vraag: is het nog steeds de bedoeling dat deze blog in het Nederlands wordt geschreven?
Antwoord: ja.

Advertenties