Tijdens de Mobile World Conference in Barcelona vorige maand, waar ruim 93.000 mensen uit meer dan tweehonderd landen op ruim vierhonderdduizend vierkante meter bij elkaar kwamen, was voor mij de hamvraag hoe applicatieontwikkeling zal gaan aansluiten op de nieuwe mobiele wereld. Als toegewijd applicatieontwikkelaar, intrigeert het mij hoe de it-industrie omgaat met de nieuwste trends en technologische uitdagingen.
Laat ik, om te illustreren waar ik naartoe wil, beginnen met een kleine samenvatting van de technologische evolutie die we door de jaren heen op het gebied van applicatie ontwikkeling hebben gezien. Ik zal niet zover teruggaan als de ponskaarten, alhoewel deze bestonden uit de eerste data processing applicaties, en die later werden gemoderniseerd met de introductie van terminals.
We hebben de groei gezien van verbonden applicaties, die men zich meestal herinnert van films waarin iemand werkt met een applicatie via de welbekende groene terminalschermen, met daarop vooral groene leestekens. Binnen grotere bedrijven met ‘bedrijfskritische’ applicaties, werden de mainframes populair. Andere, kleinere terminalservers wonnen geleidelijk aan populariteit en daarmee ook de terminal-based applicaties, die voornamelijk bestonden uit batch processing of time-sharing.
Met de introductie van de personal computer en de verwerkingskracht die deze hadden, plus de wildgroei van software die hierop draaide, deed een nieuw type applicatie zijn intrede op de markt: het client-server model voor gedistribueerde verwerking. De principes hiervan zijn nog steeds van toepassing op veel van de applicaties van tegenwoordig.
Het web
De ontwikkelingen schreden voort en kregen een flinke impuls toen het internet aan populariteit won: de eerste web-based applicaties verschenen ten tonele. Niet lang daarna gevolgd door een kleinere variant – met grote implicaties -die bestond uit een samensmelting van de web applicatie met de meer interactieve aard van client-server applicaties, en zo ontstonden Rich Internet Applications.
Dit zijn een paar stappen in de tijd met zevenmijlslaarzen, en het doet de technologische evolutie waarschijnlijk niet volledig recht, maar ik wilde toch een aantal trends en de implicaties daarvan schetsen, die ons gebracht hebben tot waar we nu staan.
Met de introductie van smartphones ontwikkelde zich een andere trend, die van de mobiele apps zoals we die nu allemaal kennen. Iedereen die dit leest, heeft een veelvoud van apps onder zijn duim, van strikt functioneel of informatief, tot interactieve games en apps ter ontspanning.
Uitdagingen
Tegen welke technologische uitdagingen loopt de it-industrie aan als het gaat om applicatieontwikkeling? In tegenstelling tot tientallen jaren geleden zijn de gebruikers (in de mobiele wereld aangeduid als ‘consumers’) veeleisender en zijn zij het die de standaarden zetten, die de industrie moet volgen. Er is nu eenmaal oneindig veel keuze, waardoor er voor de ontwikkelaar twee opties over blijven: tegemoet komen aan de vraag of… een onzekere toekomst in vergetelheid.
Naast het feit dat de markt de trends voortstuwt en de eisen van consumers, zijn er natuurlijk technologische uitdagingen waarmee rekening moet worden gehouden. Deze factoren komen samen in wat men noemt de ‘UX’, ofwel de user experience, wat meer dan ooit tevoren is verworden tot een combinatie van gedrag en functionaliteit.
Een ander cruciaal aspect is dat mobiele applicaties in essentie taak-georiënteerd zijn, wat inhoudt dat je een taak uitvoert op een manier waardoor het uiteindelijke doel met de minst mogelijke inspanning wordt bereikt.
Mobiliteit speelt hier in meerdere opzichten een rol, want consumers zijn ook mobiel op het gebied van hun technologische platform. Het merk van de mobiele telefoon, en daarmee het operating systeem kan variëren, er zijn mensen die meerdere smartphones gebruiken. En hoewel de smaken dan anders zijn, blijven de verwachtingen hetzelfde.
Lagen
Wat het interessant maakt voor de it-industrie, is dat er meerdere lagen betrokken zijn bij een mobiele applicatie. Een eenvoudige en grove classificatie is deze in te delen in vier lagen:
- Back end: achterliggende services, voornamelijk data gerelateerd
- Middleware: connectiviteit in de vorm van netwerkdiensten
- Model: definities ten behoeve van de communicatie over en weer
- Front-end: de presentatie, ofwel user interface, ‘look & feel’
Vanuit andere technologische gezichtspunten hebben deze lagen vele standaarden gekend of pogingen daartoe, in de wens om de markt te domineren. In het mobiele speelveld lijkt het er echter op dat er nu meer samenwerking is tussen de verschillende partijen die aan de standaarden bijdragen, waarschijnlijk als gevolg van de lessen die zijn geleerd uit eerdere mislukkingen. De evolutie binnen elk van deze lagen en de impact op de applicaties is goed vergelijkbaar met de uitdaging waar ontwikkelaars vandaag de dag voor staan, als het gaat om het opleveren van mobiele apps. En daar horen ook de stand-alone, verbonden en/of off-line aard van de services bij, die de support voor de applicaties nog iets complexer maken.
Het doel van mobiele apps is over het algemeen niet triviaal. Het is een belangrijk communicatiemiddel geworden om doelgroepen te bereiken en interactie te faciliteren, in andere gevallen is het een middel om de service naar klanten te brengen en/of te verbeteren, en anderen gebruikten zetten apps in om binnen hun organisatie hun resources op te schalen door het invoeren van byod, die ook kan zorgen voor het verlagen van drempels en snellere adoptie van de applicaties.
Samenwerking
Wat mij op het MWC opviel, is dat de meerderheid van de partijen die zich op deze markt begeeft, erg open staat voor samenwerking en tot standaarden wil komen. Ze realiseren zich dat ze in hun eentje niet alle eisen van de consumers kunnen (blijven) bijhouden. Dat dit een uitdaging is, werd mij bevestigd door de vele gesprekken die ik daar heb gevoerd. Voor de een is de grootste uitdaging gelegen in de gelaagdheid van de applicatie, voor de ander het kiezen van een niche waar zij een belangrijke rol kunnen spelen.
‘Pick your battles’
Rode draad in zo’n beetje alle gesprekken in Barcelona, was dat zowel gebruikers als ontwikkelaars heel goed weten dat mobiele apps niet de Heilige Graal zijn, maar dat het wel de volgende technologische trend is waar men met applicatieontwikkeling niet omheen kan. Het mooie is dat we allemaal in hetzelfde schuitje zitten: gebruikers, technologieën en app ontwikkelaars.
Net als ten tijde van de Java explosie, en er ook heel veel frameworks verschenen en weer verdwenen, is het belangrijk dat je het speelveld waarin je actief bent, goed begrijpt en je de uitdagingen kiest waar je het meest aan hebt. Hoeveel ondernemingen en frameworks zijn er niet ten onder gegaan aan hun verwoede pogingen om alles te beheersen? En hoeveel hebben er grote overwinningen behaald door vast te houden aan hun keuze, of zich op tijd te realiseren dat het tijd is om de nieuwe trend te omarmen. Ik denk dat dit grote avontuur nog maar net is begonnen en het nog sneller zal gaan door de integratie van technologie.
Ik persoonlijk vind dit een geruststellende, maar ook veelbelovende gedachte.
‘93.000 mensen uit meer dan tweehonderd landen’
De mobiele wereld is niet meer bij de tijd. We hebben tegenwoordig Skype, Streaming, videoconferencing, etc.
Of waren het snoepreisjes?