Waarom de Facebook iPhone-app zo traag is

· Gonny van der Zwaag

facebook appFacebook benadrukt de afgelopen dagen steeds, hoe belangrijk mobiel voor ze is. Het heeft te maken met de beursgang, waarbij Facebook zich van z’n beste kant wil laten zien. ’s Werelds grootste sociale netwerk heeft mankracht genoeg, maar slaagt er niet in om een goede app te maken. De Facebook-app is traag (zelfs trager dan de mobiele website), er zitten honderden bugs in en de informatie klopt niet.

Het notificatie-icoontje zegt dat er berichten klaar staan, maar dat is niet zo. De app krijgt een waardering van 2 sterren in de Nederlandse en Amerikaanse App Store en het is eigenlijk alleen maar slechter geworden (de vorige versie kreeg nog 3 sterren). Je bent beter af door Facebook te openen in de iPhone-browser. Je vraagt je af hoe het komt dat Facebook er niet in slaagt om een goede mobiele app te maken. Bij Mobtest keken ze waar de oorzaak van de problemen zit.

Dat de app zo slecht is, heeft te maken met Facebook zelf. Het bedrijf voert snel veranderingen door, waardoor bepaalde functionaliteit liefst ook zo snel mogelijk via de app beschikbaar moet komen – desnoods op een quick & dirty-manier. Maar het komt ook omdat er een hoop bugs in de app zitten. Met behulp van packet sniffing kon worden achterhaald waarom de notificaties niet goed werken en de tijdlijn zoveel tijd nodig heeft om te laden. De iPhone-app van Facebook blijkt in feite een Objective C-schil rondom de HTML-data van Facebook zelf. Daarbij wordt gebruik gemaakt van UIWebview (kortweg: webview), waarmee ontwikkelaars een webpagina binnen een app kunnen laden. Daar zit ook meteen de boosdoener: UIWebview is traag. Je hebt als ontwikkelaar geen toegang tot de Nitro Javascript-engine in Safari, die de boel zou kunnen versnellen. Vandaar dat Facebook in de mobiele browser sneller werkt dan de app. Bovendien haalt de Facebook-app telkens opnieuw je complete tijdlijn op, omdat de app niet slim genoeg is om te bepalen welke informatie al eerder geladen is (en dus niet opnieuw opgehaald hoeft te worden).

Facebook kiest voor HTML omdat daarmee snel nieuwe functies kunnen worden uitgerold, die zowel op iPhone, Blackberry, Windows Phone, Android en niet-mobiele platformen getoond kunnen worden. Als er steeds een nieuwe update van de apps moet worden uitgebracht, is dat te tijdrovend. De keerzijde van het verhaal is dat de gebruikers zitten te wachten.

Facebook zou het ook op een andere manier kunnen aanpakken, door bij nieuwe functies steeds nieuwe versies van de apps uit te brengen. Maar Facebook is dan wel afhankelijk van het goedkeuringsproces van Apple en andere mobiele shopbeheerders: als er iets mis is gegaan met een nieuwe functie, duurt het een week voordat er een tussentijdse bugfix-update is doorgevoerd. Bij gebruik van de webview kan Facebook alles zelf regelen, zonder tussenkomst van Apple, RIM en Microsoft.

Wil je precies weten hoe het zit? Op Mobtest staat een (technische) uitleg.

Artikelcorrectie of -aanvulling doorgeven? Meld het ons via het speciale contactformulier!

Gonny van der Zwaag is oprichter en hoofdredacteur van iCulture. Ze heeft een 38mm Apple Watch van staal met wisselende bandjes (nylon is favoriet) en een 256GB iPhone 7 Plus matzwart. In haar vrije tijd schrijft ze over slimmer fit worden op Fithacking.nl en over slimmer eten op Eetblog.nl.

Reacties zijn gesloten voor dit artikel.