nl en nl en en en en en nl en en en en en en en en en en en en en en nl nl en nl en en nl en nl nl en nl en ca en nl en nl nl en nl en nl nl en en en en en en en en en en en en en en en nl en nl nl en en en en en nl en nl nl nl nl nl nl en en en nl en nl als en nl nl en nl als nl nl nl nl nl nl nl nl en nl nl nl en nl nds nl nl nl en de de nl nl nl nl nl nl nl nl nl nl nl en nl nl nl nl es nl en nl nl nl en nl sv pt en zh en en en fr en en en en it en en en en nl it en en fr nl en nl hbs_lat en fr nl en nl zh en en en fr nl fr fr nl nl nl fr nl nl nl nl nds en nl nl fr nl fi nl nl af en en en en nl en en en nl
Omdat sommigen van deze veranderingen invloed hebben op onze apps als ontwikkelaars zijnde, lichten wij deze veranderingen graag toe. Hierdoor kunnen wij al op tijd nadenken over onze voordelen van de nieuwe versie van het besturingssysteem.
Tevens is het belangrijk om er zeker van te zijn dat je app ook vloeiend blijft werken op de nieuwe versie. Vanwege de update kan het namelijk voorkomen dat de code van jouw app, of de gebruikte SDK’s in jouw app niet meer vlekkeloos samenwerken met de OS. Hiervoor is het nodig dat de code wordt geoptimaliseerd en de SDK’s worden geüpdatet om ook de updates van iOS te ondersteunen.
De integratie van jouw app in iOS 9
Vanaf iOS 9 is het mogelijk om op iPads te multitasken. Dit houdt in dat er 2 apps tegelijkertijd in beeld getoond kunnen worden. Dit kan op 3 verschillende manieren:
Ik licht de 3 opties toe.
Bij SlideOver kun je vanaf de rechterkant van het scherm een app kiezen om deel over je huidige scherm te trekken. Hierdoor bedekt de tweede app eerste app deels. Daarom is er ook Split view.
Ondersteuning: iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 en toekomstige iPads
Ondersteuning: iPad Air 2 en toekomstige iPads
De laatste optie geldt alleen voor video-ondersteuning. Wanneer je namelijk gebruik maakt van video, is het nu ook mogelijk om je video te laten doorspelen terwijl je de app verlaat. je ziet dan de video in een willekeurige hoek van je scherm en je kunt de video verkleinen of vergroten.
Ondersteuning: iPad Air, iPad Air 2, iPad Mini 2, iPad Mini 3 en toekomstige iPads
Kijk voor meer informatie over multitasken in iOS 9 op www.iculture.nl/multitasken-ipad-ios-9/
Wat dit inhoudt voor ontwikkelaars
Ontwikkelaars kunnen multitasking voor iPad ondersteunen door hun app hiervoor te optimaliseren waardoor de gebruikers ook deze handige functie kunnen gaan gebruiken met hun app.
Deze optimalisatie is vergelijkbaar met de optimalisatie van de resolutie van iPhone voor iPhone 6 en iPhone 6 Plus, omdat er gebruik gemaakt moet gaan worden van flexibele interfaces. Hierbij komen nog wel enkele zaken kijken zoals flows bij het switchen van bijvoorbeeld de verhouding ⅓ naar 50/50.
Wanneer deze implementatie wordt gedaan, wordt het ook gemakkelijk om zowel de liggende als de staande stand van de app te ondersteunen, zo beweert Apple. Dit maakt deze implementatie nog wat interessanter, omdat dit een goede toevoeging is voor de gebruikersbeleving!
Een andere zeer interessante mogelijkheid voor ontwikkelaars is het ondersteunen van indexering, waardoor de iOS-gebruiker resultaten van jouw app of website kunt vinden tijdens het zoeken in de zoekfunctie van Apple. Deze zoekfunctie is te vinden wanneer je op het thuisscherm van iOS naar beneden of naar links swipet. Tevens is deze zoekfunctie verwerkt in de browserbalk van Safari.
In iOS 8 krijg je hier al verschillende resultaten die Apple zelf heeft geïndexeerd op basis van algemene info van apps en websites, maar dit is nog zeer oppervlakkig. Doordat Apple vanaf iOS 9 de mogelijkheid aan ontwikkelaars geeft om ook content te laten ondersteunen breidt dit de zoekmogelijkheid uit van iOS, maar is dit tevens een goede kans voor promotie van apps. Zo kunnen nu ook resultaten van apps naar voren komen terwijl de gebruiker de apps nog niet eens heeft geïnstalleerd. Ik licht de verschillende toepassingen toe.
Wanneer je app is geoptimaliseerd voor contentindexering, komt de content uit je app dus naar voren bij het zoeken in de zoekfunctie. Zoek je bijvoorbeeld op ‘appels’ en komt dit woord voor in jouw app, dan komt die naar voren in de zoekresultaten. De indexering wordt lokaal op het toestel opgeslagen en zal daarom privé blijven. Anderen zullen geen privé-informatie van gebruikers kunnen inzien.
Als de gebruiker op een resultaat tikt, komt de gebruiker direct op het juiste scherm in je app binnen doordat er gebruik wordt gemaakt van verdiepende applinks. Deze applinks zijn dezelfde als er voor de functie handoff wordt gebruikt, welke in iOS 8 in geïntroduceerd. Deze functie houdt in dat de gebruiker vloeiend van zijn iPhone verder kan gaan op zijn iPad of Mac, op hetzelfde scherm. Dit houdt in dat wanneer je app contentindexering ondersteunt, ook automatisch handoff ondersteunt.
Lees hier meer over handoff: www.iculture.nl/gids/handoff-gebruiken-mac-iphone-ipad/
In eerste instantie zijn alle suggesties dus privé en alleen afkomstig van de apps op je toestel. Met een kleine toevoeging is het echter ook mogelijk om de resultaten te laten ondersteunen voor gebruikers die jouw app nog niet gebruiken. Hierdoor kunnen gebruikers die zoeken op ‘appels’ ook de suggestie krijgen voor jouw app en zullen ze hierdoor worden aangeraden om de app te downloaden en installeren. Hoe vaker jouw app wordt gekozen in de resultaten, hoe vaker jouw app in de resultaten naar voren zal gaan komen. Goede implementatie van deze indexering kan dus veel promotie opleveren!
Ook ondersteuning voor websites in de zoekfunctie is uitgebreid om onder andere de koppeling tussen een website en app met dezelfde content dichterbij elkaar te brengen. Hiervoor waren natuurlijk smartbanners een optie, maar dit bracht je slechts naar de app en meer niet.
Door de id’s in de genoemde applinks ook te verwerken in je website kan de zoekfunctie de directe koppeling van de pagina’s leggen met de schermen in de app. Hierdoor wordt ook direct weer handoff mee ondersteund, waardoor de gebruiker van de app op zijn iPhone of iPad direct de bijbehorende pagina op zijn Mac kan openen met 1 klik op de muis. Hij hoeft daardoor niet vervolgens zelf weer de bijbehorende pagina te zoeken.
Hiernaast kun je de resultaten van je website in de zoekfunctie voortaan beter vormgeven met verschillende elementen:
Tevens kun je elementen toevoegen waardoor de gebruiker meteen vanuit de zoekresultaten jou kunt bellen, naar je adres navigeren of je muziek of video afspelen. Voor de optie om meteen te bellen of te navigeren naar je adres is natuurlijk op deze manier een veel toegankelijkere actie om te maken.
Implementaties en ondersteuningen voor jouw iOS-app
Snelle schakeling tussen app en browser
iOS 9 maakt de overgang van apps naar Safari een stuk toegankelijker. Zo heb je als gebruiker niet meer het gevoel dat je de app verlaat en kun je heel gemakkelijk weer terug navigeren van de browser naar de app. Deze zelfde techniek wordt gebruikt bij het navigeren van zoekresultaten in de nieuwe zoekfunctie naar Safari.
Dit zou dus een goed alternatief zijn voor een in-app-browser als je app hier gebruik van maakt, maar hiernaast is het vanaf iOS 9 nu ook mogelijk om Safari als in-app-browser te gebruiken. Hierdoor verlaat de gebruiker dan helemaal niet de app, maar belandt hij in een aangepast versie van Safari in de app. Hierdoor heb je het beste van beide. De gebruiker hoeft de app niet te verlaten en heeft het grootste voordeel van Safari waardoor hij nooit meer hoeft in te loggen als je dat al eerder hebt gedaan.
Sinds iOS 8 is het mogelijk om direct op notificaties te reageren, zonder de app eerst in te moeten gaan. Je kunt reageren door een actie te laten uitvoeren, deze acties zijn per notificatie voorgedefinieerd in de app. Hierdoor kun je bijvoorbeeld bij een nieuwe e-mail ervoor kiezen op de e-mail direct te markeren als gelezen of zelfs meteen te verwijderen.
In iOS 9 is het voor apps van derden nu ook mogelijk om te reageren zonder de app in te hoeven door een bericht terug te sturen, bijvoorbeeld als antwoord op de e-mail.
Ook kunnen ontwikkelaars gebruikers nog concretere acties laten maken door een notificaties, maar dit lijkt nog niet verder gespecificeerd door Apple en is dus nog onduidelijk.
Bij het ontwikkelen van apps moet er altijd rekening worden gehouden met verschillende soorten apparaten, in het geval van iOS zijn dit iPhones en iPads met verschillende schermverhoudingen, resoluties, processoren, geheugen en zo zijn er nog een aantal zaken. Hierdoor ontstaat er verschillende code en ontstaan er verschillende bestanden in de app waarvan enkelen gebruikt worden afhankelijk van het toestel. De app download dus eigenlijk altijd meer data dan waarvan hij gebruik zal gaan maken.
Daarom introduceert Apple nu app thinning. Hierdoor kun je app zo opbouwen dat er bij het downloaden van de app enkel de delen gedownload worden die van toepassing zijn op het apparaat waarop het wordt gedownload. Hoe groter de app wordt, hoe interessanter dit wordt natuurlijk.
Aanvullend hierop is het on demand-gedeelte. Dit zorgt ervoor dat niet meteen alle benodigdheden van de app worden gedownload, maar alleen het gedeelte dat initieel nodig is. Een concreet voorbeeld is met een spel. Zo heb je in het begin van een spel altijd level 1 nodig, maar level 4 nog niet. Hierdoor kan het downloaden van level 4 worden uitgesteld, waardoor de grootte van de app beperkt wordt. Naar mate de gebruiker richting level 4 raakt, kan het automatisch gedownload worden en kunnen de benodigdheden van level 1 verwijderd worden.
Nogmaals, het toepassen hiervan zal pas interessant worden wanneer de grootte van de app toeneemt. Wat mij betreft ligt deze grens bij 100mb. Dit is namelijk de grens van het kunnen downloaden van een app over het netwerk van je provider. Wanneer je app groter is dan dit, is het alleen mogelijk om de app via wifi te downloaden. Natuurlijk is het belangrijk om in alle gevallen je app zo klein mogelijk te houden, omdat er ook iPhones zijn met slechts 8gb welke dus niet veel data kunnen opslaan
HomeKit, HealthKit, MapKit en CloudKit
iOS biedt ontwikkelaars standaard SDK’s aan welke als basis van code kunnen dienen. Dit noemen ze een kit. Zo zijn er veel kits, zoals HomeKit, HealthKit, MapKit, CloudKit, StoreKit, WatchKit, SceneKit, UIKit en nog vele anderen. Deze kits krijgen bij elke major iOS-update ook altijd een update waardoor er meestal meer opties worden gegeven, maar natuurlijk gaat het ook om verbetering van de stabiliteit en andere zaken als compatibiliteit met de nieuwe iOS-versie. Deze redenen maken het belangrijk om deze SDK’s te updaten, maar dit geldt natuurlijk ook voor SDK’s van andere partijen die eventueel gebruikt worden in de app.
Zoals je weet is het dus belangrijk om je apps up-to-date te houden. Dit is aan de ene kant door mee te gaan met de ontwikkelingen van de platformen, maar aan de andere kant natuurlijk ook de ondersteuning waardoor je apps volledig en goed blijven werken. iOS-gebruikers updaten altijd vrij snel hun iPhones en iPads en dezelfde toestellen die compatibel waren voor iOS 8, zijn dat ook voor iOS 9. Hierdoor is het belangrijk dat je je apps goed blijft monitoren, onderhouden en optimaliseren. Het laatste wat je wilt is dat je gebruikers gaan afhaken, omdat de gebruikersbeleving niet (meer) goed is doordat de ontwikkeling stil blijft staan en er zelfs misschien bugs in komen en/of blijven zitten.
Dit is dan ook de reden dat wij je alvast voorbereiden op de komende veranderingen en je extra bewust te maken. Rond de lancering van iOS 9 zullen wij hier nog op terug komen, tevens omdat nu wellicht nog niet alle informatie is prijsgegeven door Apple. We houden je hiervan op de hoogte, zodat je apps niet achter hoeven te blijven en zullen verouderen, maar juist kunnen meegaan met de vernieuwingen en steeds beter kunnen worden voor je gebruikers!
Wij horen het graag wanneer jullie willen dat wij een controle gaan doen op de ondersteuning van je app op de nieuwe versies van het besturingssysteem, maar natuurlijk ook wanneer jullie ons advies willen ontvangen over mogelijke optimalisaties op basis van deze komende vernieuwingen!
Johan is een Product Owner bij Fish on Fire. Als langstzittende werknemer is hij een ware expert in zijn vak. Hij is het aanspreekpunt voor de klant en zorgt voor een soepel verloop van projecten binnen Fish on Fire.