Het valt niet te ontkennen dat smartphones en tablets onze verwachtingen en de wijze waarop wij omgaan met software applicaties drastisch hebben veranderd. Hierbij komt dat deze devices steeds vaker op de werkvloer worden gebruikt waardoor de vraag naar zakelijke mobiele applicaties groeit.
Voor ontwikkelaars betekent deze stijgende vraag naar mobiele applicaties dat zij nu vooral op zoek zijn naar manieren waarop zij gebruikers de beste klantbeleving kunnen bieden. Een bijkomend argument voor applicatie ontwikkelaars om zich volledig te richten op mobiele applicaties, is dat mobility een uitstekend startpunt is om SaaS en cloud-diensten aan te gaan bieden.
Mobility bevindt zich nog in de beginfase, maar de markt voor mobiele applicaties en devices ontwikkelt zich in een razend tempo. Een recent onderzoek van InformationWeek toont aan dat de meerderheid van de ondernemingen momenteel tenminste één mobiel besturingssysteem evalueert om in te zetten binnen de organisatie of van plan is om eigen mobiele applicaties te gaan ontwikkelen.
Het resultaat van al deze trends is dat bij moderne applicatieontwikkeling een sterke voorkeur uitgaat naar een ‘mobile first-benadering’. Deze benadering gaat er van uit dat er bij een project voor applicatieontwikkeling van het begin af aan rekening wordt gehouden met de verschillende mobiele devices. Dit vereist een nieuwe kijk op de manier waarop interfaces worden gebouwd, waarbij rekening wordt gehouden met specifieke vereisten zoals het formaat van de devices en de mogelijkheden van touch screens.
De kracht van mobile
Mobiele devices en de connectiviteit die zij mogelijk maken, brengen met zich mee dat medewerkers kunnen beschikken over nieuwe features om op afstand samen te werken. Ook zorgt dit ervoor dat klanten en eindgebruikers nieuwe ‘self-service’ mogelijkheden kunnen worden geboden. Denk hierbij aan het controleren van de status van een bestelling, het kopen van kaartjes of het bijwerken van persoonsgegevens. In het verleden waren dit acties waarvoor de klant telefonisch of schriftelijk contact op moest nemen met een onderneming. Mobility zorgt voor aanzienlijke kostenbesparingen en een verbetering van de klantenservice.
In verhouding tot desktops en laptops is de verwerkingscapaciteit en de schermomvang van smartphones en tablets beperkt, maar zij bieden wel veel meer sensoren zoals touch screens, gps, camera’s, Bluetooth en mogelijkheden voor Near Field Communication. Deze sensoren zijn cruciaal voor het ontwikkelen van slimmere apps.
De beperkingen van mobiele applicaties worden hiermee gecompenseerd. Er kunnen slimmere interfaces worden ontwikkeld die gebruik maken van de context en nieuwe mogelijkheden bieden die niet via desktopapplicaties kunnen worden geboden.
Hybride apps
Vanuit het perspectief van de ontwikkelaar heeft de populariteit van smartphones en tablets voor een groot aantal nieuwe uitdagingen gezorgd. Vooral wat betreft de verschillende platformen en type mobiele devices die gebruikt worden. Zij moeten niet alleen beslissen of ze een app ontwikkelen voor iOS, Android, Blackberry of Windows Phone, maar moeten ook rekening houden met de verschillende specificaties van mobiele devices.
Om met deze uitdagingen om te gaan, kiezen sommige ontwikkelaars ervoor om webgebaseerde apps te bouwen met html5. Omdat deze apps meestal in de browser van de device draaien, zijn zij minder complex om te ontwikkelen dan native apps. Een groot nadeel hiervan is dat deze apps geen locatiegebaseerde ‘app experience’ bieden en ook geen gebruik kunnen maken van de specifieke features van de devices zelf. Daarnaast bestaan er grote zorgen over de veiligheid en performance van webgebaseerde applicaties.
Terwijl sommige apps geschikter zijn als native app en andere ideaal zijn om in de browser te draaien, is een hybride app in de meeste gevallen de beste oplossing. Een hybride app is ontwikkeld in html5 en maakt gebruik van Javascript libraries zoals JQuery, maar biedt de look en feel van een native app. Dit biedt ontwikkelaars het voordeel dat ze slechts eenmaal een app hoeven te ontwikkelen die vervolgens overal draait. Ook kunnen zij dezelfde functionaliteit, de beveiliging en performance bieden als native apps. Een bijkomend voordeel van hybride apps is het delivery model; zij kunnen bijvoorbeeld gedownload worden vanuit de app store. In dit scenario is het maken van q&a’s en testen van de applicatie een stuk eenvoudiger, omdat er slechts één versie van de app ontwikkeld hoeft te worden. Deze benadering vereenvoudigt niet alleen het ontwikkel- en onderhoudsproces, maar zorgt ook voor consistentie, ongeacht het platform dat de gebruiker kiest.
Mobiele apps – de nieuwe generatie
Organisaties willen ook graag hun huidige applicaties moderniseren, waardoor er veel meer gekozen zal worden voor een mobile first-benadering. Dit betekent ook dat organisaties steeds vaker de back-end van applicaties van on-premise servers naar een meer cloud-gebaseerde architectuur gaan verplaatsen. Dit kan een private, public of hybride cloud-omgeving zijn. Ook willen zij de front-end moderniseren zodat applicaties intuïtiever en mobieler worden.
De oude ontwikkelmethodes worden losgelaten en er wordt steeds vaker gekozen voor een meer procesgerichte benadering waarbij er gebruik gemaakt wordt van een extern business rule-systeem. Dat betekent dat de logica niet langer zit opgesloten in de applicatie zelf. Dit maakt het eenvoudiger voor ontwikkelaars om intuïtieve gebruikersinterfaces te bouwen binnen een ‘drag-and-drop’ ontwikkelomgeving die wel gekoppeld is aan het bestaande back-end systeem. De ontwikkelcyclus wordt hierdoor korter, de acceptatie van applicaties door gebruikers wordt versneld en de implementatie verloopt hierdoor uiteindelijk ook veel sneller. Dit is cruciaal voor mobility, omdat de vraag naar nieuwe mobiele apps toenemen en deze applicaties ook steeds sneller moeten worden opgeleverd.
Deze trends zullen ongetwijfeld leiden tot een nog meer procesgericht en rules-gebaseerde applicatieontwikkeling in combinatie met api-gebaseerde mashups van on-premise, cloud en mobiele applicaties. Dit leidt tot meer flexibiliteit en een snellere innovatie.
De app opnieuw uitvinden
Mobility verandert de wijze waarop applicaties ontwikkeld worden. De vraag naar cross-platform-ondersteuning neemt toe, ontwikkelcycli worden korter en gebruikers stellen steeds hogere eisen aan applicaties.
Het volledig benutten van de mogelijkheden van mobiele devices betekent dat medewerkers hun productiviteit moeten kunnen verhogen en klanten in staat moeten worden gesteld om meer zelf te doen. Wanneer ontwikkelaars de wijze waarop zij applicaties creëren aanpassen, kunnen zij ook de leiding nemen in het optimaliseren van bedrijfsprocessen. Ze kunnen de strategie opstellen voor applicatieontwikkeling en hierbij nauw samenwerken met andere stakeholders binnen de organisatie.
Of het nu gaat om het ontwikkelen van een native app, een browser-gebaseerde app of dat er gekozen wordt voor een hybride benadering, iedere mobiele applicatie is uniek en het is onmogelijk om de technieken die goed hebben gewerkt bij het ontwikkelen van desktopapplicaties één op één over te nemen. Succesvolle applicatieontwikkeling vereist het omarmen van methodologieën en het delen van best practices, zodat medewerkers en klanten kunnen beschikken over de best mogelijke applicaties.
Grotendeels ben ik het eens met wat je schetst, zolang het over mobile gaat (ik zou wat accenten verschuiven, maar dat is niet heel interessant).
Echter, ontwikkelaars de leiding laten nemen in het optimaliseren van bedrijfsprocessen?
Zou ik niet doen… Dat is jarenlang de gewoonte geweest – techneuten die bepaalde wat kon en niet – en inmiddels is ook gebleken dat dat niet handig was!
Laat de mensen met verstand van bedrijfsprocessen die bedrijfsprocessen optimaliseren – mogelijk met input van technische mensen over de technische mogelijkheden die er zijn – maar liefst ons (als techneuten) uitdagingen geven om te proberen mogelijkheden die er (nog) niet zijn vorm te geven. Dan heb je een mooie win-win 🙂
Hoi Mylene, misschien iets te kort door de bocht, want je hebt gelijk als het gaat dat de business eigenaar moet zijn over haar bedrijfsprocessen. Echter het valt ook niet te ontkennen dat steeds meer processen zich volledig electronisch afspelen. Optimalisatie van een bedrijfsproces kan dan ook plaats vinden op meerdere vlakken. De volgende zin, geeft dan ook aan wat ik met optimalisatie bedoel, de strategie opstellen voor applicatie ontwikkeling en daarbij de nauwe samenwerking zoeken met de business. Hoop dat eea verduidelijkt.