Power Lab Podcast

Efficiënt offline werken in Microsoft Canvas Apps

1 augustus 2022

Microsoft

Mobiele apps zijn in heel wat werkcontexten onontbeerlijk, en soms moet er ook offline mee gewerkt worden. Als de mobiele verbinding op een smartphone of tablet wegvalt, wil je de gebruiker een minimum aan functionaliteiten geven in je canvas app. Ontdek hoe je typische offline scenario's met Power Apps kan opvangen en wat je wel of juist niet moet doen om je app werkbaar te houden.

Ontdek nog veel meer in onze podcast!

Luister je liever naar een amusant gesprek in plaats van deze blogpost te lezen? Dan hebben we goed nieuws voor jou! Deze blogpost is een samenvatting van de negende aflevering van onze podcastreeks, Power Lab Podcast. Twee van onze gezelligste experts exploreren maandelijks de mogelijkheden van het platform en komen zo zelfs tot nieuwe inzichten.

Lennerts experiment: het onmisbare attribuut bij een spelletje petanque

Om te bepalen wie een spelletje petanque heeft gewonnen, meet je de afstand tussen elke gegooide bal en de but (het officiële woord voor het kleinere balletje) met een touwtje. Of je gebruikt het laatste bouwsel van Lennert. Hij ontwikkelde een PowerApp die op basis van de component ‘Mixed Reality measuring’ de afstand tussen twee objecten kan meten. Je opent de app, drukt op ‘meten’, de camera opent, je houdt je telefoon boven het veld en de app laat je toe om zonder touwtje de afstand te meten tot de verschillende ballen. Je kan ook foto’s toevoegen van het blije gezicht van de winnaar of van de gefrustreerde verliezer. Plezier verzekerd!

4 onmisbare stappen bij de ontwikkeling van een mobiele app met offlinefunctie

  1. Bouw een check in zodat app kan nagaan of er een internetconnectie is.
  • Wanneer online: laat de app de recentste data ophalen en synchroniseren met SaveData(). Om de performantie van je app te optimaliseren, bouw je een extra check in zodat de synchronisatie enkel gebeurt als er wijzigingen zijn ten opzichte van de laatste synchronisatie.
  • Wanneer offline: laat de app lokale data weergeven via de LoadData()-functie.
  1. Wanneer de app na een offline sessie weer online gaat, moet er weer een synchronisatie plaatsvinden. Je kan de gebruiker manueel laten aangeven dat dit dient te gebeuren, je kan instellen dat dit automatisch moet of je toont een pop-up met de vraag of de gebruiker wil uploaden. Voor welke optie je gaat, laat je afhangen van de gebruikscontext van de app.
     
  2. Het updaten gebeurt via de Patch()-functie, deze stuurt nieuwe of aangepaste items terug naar de databron. Bij veel items duurt dit langer en moet de gebruiker de app openhouden. Als het te lang duurt, kan je items als JSON naar PowerAutomate sturen. Dat gaat doorgaans sneller.
     
  3. Wanneer de databron terug up-to-date is, laat je met SaveData() de app terug een nieuwe lokale kopie maken zodat de gebruiker bij z’n volgende offline sessie werkt met de recentste gegevens.

Extra tips van onze experten voor een vlot offline gebruik

  • Verlies de UX niet uit het oog. Een duidelijk zichtbaar icoontje laat je gebruiker weten wanneer de app on- of offline is, zodat hij weet welke functies beschikbaar zijn. Je kan ook bepaalde knoppen grijs maken wanneer ze niet beschikbaar zijn, knoppen kunnen uitgeschakeld worden met de ‘connection.connected’-functie. Wanneer de app offline is, kan je ook weergeven wanneer de laatste datasynchronisatie is gebeurd.
  • Hou rekening met de beschikbare opslagcapaciteit van een toestel, deze is gelimiteerd. In het algemeen is het beschikbare geheugen voor PowerApps zo’n 30 tot 70 MB.
  • Offline toegevoegde bijlagen zijn niet out-of-the-box beschikbaar voor online opslag. Raad gebruikers daarom aan om foto’s met hun camera te nemen en pas te uploaden wanneer ze terug online zijn. Geef geen mogelijkheid om foto’s rechtstreeks in de app toe te voegen.
  • Je kan periodiek, bijvoorbeeld elke 5 minuten, synchroniseren met de timer component. Zo kan je automatisch een aantal functies uitvoeren om data te pushen of op te slagen.
  • Synchroniseer enkel data die absoluut noodzakelijk is voor de gebruiker. Dat zorgt voor kortere laadtijden, een betere performantie en minder mobiel internetverbruik.
  • Vergeet niet dat heel wat functies in PowerApps standaard werken in een offline situatie. Lennerts petanque-app zal bijvoorbeeld gewoon werken. Enkel wanneer je de resultaten online wil opslaan, is de online/offline context van tel.
  • Om te voorkomen dat er twee versies ontstaan omdat iemand online werkt en iemand offline, kan je een ‘lock’-functie inbouwen zodat maar één iemand op een item kan werken. Of je laat de app nakijken, op basis van de tijdscode waarop een item voor het laatst is aangepast, of er eventueel aanpassingen door iemand anders zijn gemaakt.

Laat je maandelijks inspireren rond Microsoft Power Platform

Abonneer via je favoriete podcast-platform om mee te luisteren en mis geen enkele aflevering!