Struggle for mobile apps

En toen brak er nog eens een goede oude Twitter discussie uit.

tl;dr

Dit weekend lanceerde Hey Hey Apps in samenwerking met Eva Mouton de Eva Mouton Pix applicatie. Deze app staat ondertussen in de top 10 op de AppStore en overal op Twitter struikel je over de hashtag #evamoutonpix.

Deze middag zag ik een Facebook post passeren van Eva Mouton waar ze zich excuseerde …

Het probleem? De #evamoutonpix applicatie bestaat enkel voor de happy few die een iOS toestel bezitten en enkele Android gebruikers voelen zich in de steek gelaten.

140 karakters is niet genoeg om uit te leggen waar volgens mij het probleem zit, dus hier volgt mijn mening en eigen ervaring ivm iOS-only apps (of iOS first, Android later).  Ohja, ik heb niets te maken met HeyHey Apps of Eva Mouton, maar <3 aan beiden!

The struggle

Moet bij een app launch een iOS, Android en Windows versie beschikbaar zijn? In een ideale wereld … ja zeker!

In de echte wereld? Nee, zeer zeker niet.

 Eigen ervaring

Voor zover ik weet zijn HeyHey Apps en Eva Mouton niet met elkaar verbonden (als bedrijf), maar hebben ze besloten om samen een app te maken. HeyHey Apps wellicht voor het programmeren en design, Eva Mouton voor de graphics.

In 2013 heb ik hetzelfde gedaan met de Learn the ABC app.  Samen met Bart De Keyzer werkte ik de app uit en onze deal was simpel:

Ik programmeer, jij  designt en we verdelen de inkomsten 50-50. 

Na enkele maanden was de app klaar en startte de verkoop.  Na dag één kregen we exact dezelfde reactie:

Waar blijft de Android versie?

Ok, waar bleef de Android versie? Euh … sorry, maar ikzelf kan enkel apps maken voor iOS, want mijn Java kennis beperkt zich tot het installeren van die irritante updates  in het pre-OSX 10.10 tijdperk en ik wil mij specialiseren in iOS en niet in Android.  Bart is een grafisch designer die panische angst heeft voor het woord compiler.

Goed, als we het zelf niet kunnen dan outsource je het toch gewoon?  Hier hangt wel een prijskaartje aan vast, want een programmeur moet ook -veel- koffie drinken en cliché pizza’s eten terwijl er groene lettertjes over een zwart scherm rollen.

Zelf heb ik alles samen een kleine 20 dagen aan de Learn the ABC app gewerkt na mijn uren (in hoofdberoep ben ik docent aan de Howest opleiding Digital Design & Development).
Neem dat een Android programmeur gemiddeld 60 euro per uur vraagt, dan zou ons dit 9600 euro (excl. BTW) kosten.  Learn the ABC app is  veel gedownload geweest, maar we hebben dit bedrag nooit in onze handen gezien.

Om snel even de berekening te maken:
0.99 cent/unit in de AppStore
0.79 cent/unit in onze zakken
0.62 cent/unit in onze zakken, nadat we vadertje Staat hebben tevreden gemaakt
0.31 cent/unit in mijn zak

Om break-even te draaien en gewoon een Android app te hebben (dus nog niet te verkopen) moeten we 31.000 units verkopen.

Nu blijkt  ook uit statistieken (bron: Flurry Analytics) dat Android gebruikers het liefst helemaal niets voor hun apps willen betalen. Je hoeft dus helemaal geen doctoraat in de bedrijfskunde te hebben om te snappen dat het niet interessant is om een Android app te ontwikkelen als kleine iOS app ontwikkelaar met geen (of een erg) beperkt budget.

1 codebase, multiple apps

Dus het probleem is multiple codebases en de bijhorende kosten.  Maar Titanium, Phonegap, Cordova, Xamarin laten het allemaal zo mooi klinken mijnheer

1 codebase, multiple platforms

Dit klopt, als je de standaard Hello World demo’s wil releasen of als je app enorm basic is en weinig custom UI heeft.

Device en OS fragmentatie

Een ander probleem is de device fragmentatie en OS fragmentatie bij Android.

Device fragmentation

Ook de trage overname van een nieuwe OS versie op Android maakt het duurder om verschillende toestellen te ondersteunen. (bron: MacRumors)

Android OS adoption rates

iOS gaat een pak sneller, mede omdat Apple een agressievere OS update strategie heeft en het eenvoudiger maakt om up te daten.

iOS adoption rate

Wanneer Google een nieuwe versie uitbrengt dan duurt het vaak weken/maanden vooraleer de verschillende fabrikanten een aangepaste versie hebben gemaakt die ook is goedgekeurd door de verschillende telecom carriers.

Screensize fragmentation

Als een app gebruik maakt van de standaard OS skin, valt het al bij al nog mee om voor verschillende schermgroottes te programmeren, maar wanneer je een custom app hebt die weinig tot geen native UI elementen gebruikt, is dit opnieuw een meerkost die niet in het voordeel speelt van Android.

De industrie

Binnen onze opleiding Devine geven we enkel iOS ontwikkeling.  We hebben deze keuze niet zomaar gemaakt, maar we zijn gaan spreken met de industrie om te weten wat zij verwachten.  Uit die gesprekken bleek dat er (vaak) eerst een iOS app wordt ontwikkeld en pas daarna een Android versie (en heel soms ook nog een Windows Phone app).

Is dit oneerlijk? Ja. Zou het gelijk moeten zijn? Ja.  Is de wereld gelijk? Nee.

Android is iOS niet…

Niet elke iOS app kan zomaar geported worden naar Android en vice versa.  Zo had je onlangs nog Hyperlapse (de timelapse app van Instagram) dat enkel beschikbaar was voor iOS, omdat enkele API’s in de Android SDK het niet mogelijk maakten om dezelfde functie te bieden (bron: Redmondpie).

Apps are like a box of chocolate…

Niemand weet op voorhand of een app succesvol zal zijn.  Als er weinig budget is, kan je beter afwachten op de reacties van het publiek, om dan te beslissen of het wijs is om ook de app op andere platformen uit te brengen (opnieuw … kosten-baten).

Why U buy no apps?

Android heeft het grootste marktaandeel, wat logisch is aangezien er honderden verschillende toestellen bestaan die het Android besturingssysteem draaien.  Apple heeft op dit ogenblik maar 10 devices ( iPhone 4siPhone 5iPhone 5c, iPhone 5siPod touch 5e generatie, iPad 2iPad met Retina scherm, iPad Air, iPad mini, en de iPad mini met Retina scherm) die iOS8 ondersteunen.

Het marktaandeel van Android was in 2014 maar liefst 81.5%, terwijl iOS maar 14.8% van de markt bezat (bron: MacRumors).

Alle toestellen van Apple worden gezien als high-end en bevinden zich in het +400 euro segment, terwijl er een heel spectrum is van low-end toestellen tot high-end toestellen met het Android besturingssysteem.  Het is dan ook niet verwonderlijk dat gebruikers die een Android toestel van 79 euro kopen, minder geneigd zullen zijn om voor apps te betalen (vaak omdat het toestel niet krachtig genoeg is of niet het juiste besturingssysteem heeft om een bepaalde app te draaien).

Een mogelijk manier om op Android toch geld te verdienen is door te werken met ads in je applicatie, iets waar ik -persoonlijk- een bloedhekel aan heb.

The silver bullet

Die is er niet.

Projecten met grote budgetten kunnen zonder probleem verschillende device apps laten ontwikkelen. Vaak zijn deze apps sowieso ook gratis en moet de winst niet uit de app worden gehaald, maar uit een bijhorende service .

Maar als er geen (of weinig) budget is, of je weet niet als je app zal aanslaan dan is het een groot risico om het geld buiten te gooien en meteen voor elk platform een app te ontwikkelen.

In het geval van HeyHey Apps en Eva Mouton denk ik dat ze nu wel zien dat er vraag is naar een Android app en kunnen ze zien of het de moeite is om de ontwikkelkost te betalen.

  • Tony M

    Xamarin lijkt me toch een goede optie om cross-platform te ontwikkelen:
    http://xamarin.com

    Wordt ook gebruikt door banken en is in principe .NET.

    • frederik_jacques

      Inderdaad dat is nog zo een cross-platform optie, maar wat ik reeds heb gehoord van ontwikkelaars die Xamarin hebben gebruikt is dat het allemaal goed werkt … tot je _echt_ custom UI gaat gebruiken.

      Zoals gezegd is er geen silver bullet, elk project vereist een technologie analyse en daarna een keuze.
      Soms is native the way to go, soms is web app the way to go, soms een cross-platform optie, …

      • Tony M

        De meeste apps werken toch met de Native UI van het OS(buiten games dan)?

        • frederik_jacques

          Persoonlijk heb ik nog geen enkele app gemaakt met native UI.

  • Graag had ik toch even willen aanhalen dat de fragmentatie en verschillende screen sizes bij Android er eigenlijk niet meer toe doen, en is dus niet meer zo actueel als vroeger (en geeft geen echte meerwaarde aan jouw artikel). Bij Android apps richten we ons tegenwoordig op versie 4 en hoger, wat het ontwikkelen van apps (met behulp van de verschillende support libraries die Google gemaakt heeft) heel comfortabel maakt voor ons.

    Het lijkt me eerder een probleem te worden voor iOS developers, die steeds meer rekening moeten houden met de verschillende scherm ratio’s van de laatste nieuwe iPhones, iPads,… code die breekt tussen OS updates en ga maar door. Terwijl Android enorm responsive is en apps (bijna) nooit breken tussen OS updates.

    De andere argumenten in je artikel waren alvast interessant om even door te lezen, maar ik blijf het een vorm van arrogantie vinden om een app enkel voor iOS beschikbaar te stellen. Als ik een iOS ervaring zou willen, had ik me daarvoor een iPhone gekocht.

    • frederik_jacques

      Niet akkoord Cliff.

      1. Qua scherm ratio’s is het net eenvoudig op iOS. Er zijn 2 ratio’s 16:9 (iPhone 5, 6 en 6+) en 4:3 (alle iPads).
      De meest voorkomende ratio’s op Android zijn 4:3, 3:2, 16:10, 5:3, 16:9.

      2. Als er al code zou breken (zelf nog nooit meegemaakt) tussen iOS updates dan is dit je eigen fout. Het beta programma van een nieuwe iOS SDK start in juni (met WWDC) en de Gold Master is meestal verwacht rond oktober (launch nieuwe iPhone). Dit geeft je 3-4 maanden om je app up te daten voor de nieuwe SDK. Als je dit niet doet, is dat je eigen verantwoordelijkheid.
      Wanneer methods als deprecated worden geflagged in de iOS SDK heb je vaak nog 2 SDK cycles (dan spreken we dus over 2 jaar) eer deze niet meer werken.
      Android is responsive op hun high-end toestellen (die vaak even duur zijn als een iPhone met uitzondering van de One Plus), dit heb ik ook nergens tegengesproken. Op low-end, mid-range toestellen is het huilen met de pet op. Bijna heel mijn (schoon)familie werkt met low-end, mid-range Android toestellen en zij zeggen zelf dat hun toestel niet vlot aanvoelt als ze foto’s of berichten moeten openen.

      3. Ik snap echt niet hoe jij een indie iOS-only app arrogant kan vinden. HeyHey Apps is een klein bedrijf dat naar mijn weten enkel iOS ontwikkeling doet. Als jij gratis iOS apps wil porten naar Android … neem dan zeker contact op 🙂
      Stel dat jij een idee hebt voor een Android app, maar je bent niet 100% zeker dat dit zal aanslaan. Ga jij dan de gok wagen om naast geld te investeren in Android ontwikkeling, ook meteen iOS en Windows Phone te ondersteunen? Zolang je niet weet dat je het geld eruit haalt, is het gewoon onverantwoord om dit te doen.

      Dat service/utility apps van grote bedrijven zoals NMBS, De Lijn, … op alle toestellen beschikbaar moeten zijn, zeer zeker. Maar een indie ontwikkelaar heeft daar het budget niet voor. Daar is de enige veilige (en verstandige) keuze dat je gewoon wacht op de reactie van het publiek.

  • Fons

    Het begin van je post, het stuk over de kosten en opbrengst, klopt volledig. De verschillende profielen (het koopgedrag) is ook juist. De zwakke kwaliteit van cross-platform oplossingen is inderdaad een probleem. Het lijkt me dus inderdaad niet zo vreemd dat men enkel een iPhone app ontwikkeld heeft.

    Maar in het stuk over Android bewijs je vooral je eerdere stelling: dat je iOS expert bent en geen Android expert.
    De fragmentatie van het OS in Android wordt aangepakt door middel van support libraries. De UI van nieuwere Androidversies wordt niet langer enkel uitgerold in het framework binnen het operating system. Ze wordt in plaats daarvan verspreid binnen de apps die de support libraries gebruiken, wat meteen ook meer controle geeft aan de developer. Ook het ondersteunen van verschillende schermgroottes is vrij eenvoudig, ook voor custom UIs. APIs worden ook niet gebroken tussen verschillende versies. Het klopt dus niet dat een developer veel last heeft van de diversiteit. Een Android app die gemaakt is voor een telefoon werkt bv. perfect op een Google TV.

    De filosofieën zijn verschillend. Apple houdt de controle, zal agressiever de developers sturen (bv. deprecation), terwijl het bij Android het vrije, wilde westen is waar alles zo lang mogelijk best effort blijft werken. Dat zal wel enkele gevolgen hebben voor de developers. Maar mocht het ene echt zo’n veel slechtere kosten-baten hebben dan de andere, hadden we nu nog maar één systeem meer over.

    Het werd een iPhone app omdat de programmeur voor iOS ontwikkeld. Het had gerust ook omgekeerd kunnen zijn. En een échte programmeur zou vol enthousiasme een nieuwe taal leren.

    • frederik_jacques

      1. Ik beweer nergens dat ik een Android expert ben.

      2. Het aantal programmeertalen die ik reeds heb aangeleerd sinds mijn 12 jaar kan ik niet op 2 handen tellen, maar ik heb 3 jaar geleden de _persoonlijke_ keuze gemaakt om mij volledig toe te leggen op Objective-C, en sinds vorig jaar op Swift. Aan enthousiasme dus zeker geen probleem (gelukkig voor mijn studenten).

      3. Ik heb geen idee waar jullie blijven halen dat code breekt tussen SDK’s. In heel specifieke API’s. De eerste app die ik voor iOS4 heb geschreven heb ik nooit moeten aanpassen en werkt nog steeds in iOS8.

      4. Ik zeg nergens dat Android slecht is en dat er geen winst mee te maken is. Ik zeg wel dat _als_ je niet zeker bent dat je iOS app zal aanslaan, je best wacht op de reactie van het publiek om te zien als het de moeite is om een Android/Windows Phone variant te maken.