Nye OS-versioner hvert år: Hvad kræver det af din app?
iOS og Android kommer i nye versioner hvert år, og det kræver løbende vedligeholdelse af din app. Butikkerne hæver kravet til laveste målversion, ældre API’er udfases, og funktioner holder op med at virke hvis du ikke følger med. Regn med en årlig budgetpost til teknisk ajourføring, adskilt fra nyudvikling. Ellers kan appen med tiden ikke længere opdateres eller overhovedet installeres.
En app er ikke et produkt du bygger færdigt én gang. iOS og Android kommer i nye versioner hvert år, og fundamentet under appen ændrer sig hele tiden. Mange kunder budgetterer med selve udviklingen, men glemmer den løbende vedligeholdelse der kræves bare for at appen skal blive ved med at virke. Her er den årlige cyklus du skal planlægge efter, og hvorfor den fortjener sin egen linje i budgettet.
Butikkernes krav til målversion, og hvad der sker hvis du halter bagefter
Både Apple og Google kræver at nye uploads er bygget mod en nogenlunde frisk version af styresystemet. På Android udtrykkes det som et laveste target API level, på iOS som tilsvarende SDK-krav. Kravet hæves hvert år, cirka et år efter at en ny OS-version er udkommet.
Konsekvensen af at blive hængende i det gamle er konkret og kedelig: Når appen ikke lever op til kravet, kan du ikke længere udgive opdateringer. Du kan altså ikke rette fejl, ikke lukke sikkerhedshuller og ikke tilføje noget. Eksisterende brugere kan ofte beholde appen et stykke tid, men den bliver som et fastfrosset skib du ikke længere kan styre. At komme ud af den situation kræver som regel en større teknisk omlægning, og det er dyrere end hvis appen var blevet holdt ajour hele vejen.
Et årshjul for teknisk ajourføring
Vedligeholdelsen bliver til at håndtere hvis den planlægges som et tilbagevendende hjul frem for en overraskelse hvert efterår. Groft sagt ser året sådan ud:
| Periode | Hvad der sker |
|---|---|
| Forår–sommer | Apple og Google præsenterer det næste OS og udgiver betaversioner |
| Sommer | Test appen mod betaversionerne, find og ret problemer i god tid |
| Efterår | De endelige OS-versioner udkommer. Verificer at appen virker for brugere der opdaterer |
| Løbende | Tilpas når enkelte biblioteker, SDK’er eller tjenester ændres |
Kernen er testen om sommeren. Når betaversionerne er ude, kan teamet køre appen mod dem og opdage det der ellers ville have ramt netop når millioner af brugere opdaterer i oktober. Det forvandler efterårets udgivelse fra brandslukning til et planlagt punkt i kalenderen.
Et konkret regneeksempel
Lad os sige at du lancerede en app for to år siden og derefter lod den være. Den virker stadig lige indtil en bruger med en ny telefon skriver at login crasher. I kigger på det og opdager at autentificeringsbiblioteket ikke længere understøttes, at appen desuden ligger under årets krav til målversion og at I derfor ikke engang kan uploade en rettelse uden først at opgradere flere underliggende dele. Det der kunne have været nogle timer om året, er blevet et projekt på flere uger. Pointen: Teknisk ajourføring er billig når den sker løbende, og dyr at udskyde.
En selvstændig budgetpost, adskilt fra nyudvikling
Den mest almindelige fejl er at slå vedligeholdelse og nyudvikling sammen i samme pulje. Så taber vedligeholdelsen hver gang, for nye funktioner føles altid mere presserende end at holde det eksisterende kørende. Resultatet bliver en app der langsomt halter bagefter indtil den pludselig ikke kan opdateres.
Hold derfor to ting adskilt i budgettet. Teknisk ajourføring sikrer at appen bliver ved med at virke på nye styresystemer og enheder. Brugeren mærker sjældent noget, og det er netop pointen. Nyudvikling tilfører værdi ovenpå. En almindelig tommelfingerregel er at regne med 15–25 procent af den oprindelige udviklingsomkostning om året til løbende drift og vedligeholdelse, som ajourføringen er en del af. Ved at give den sin egen linje sikrer du at den faktisk bliver udført.
Hvad der konkret holder op med at virke hvis du venter
Det abstrakte “appen halter bagefter” bliver tydeligere med eksempler på hvad der faktisk går i stykker. Tilladelser og regler for privatliv strammes næsten hvert år. En ny OS-version kan kræve at appen beder om adgang på en ny måde, og gør den ikke det, holder en funktion op med at virke. Tredjepartstjenester til betaling, kortvisning eller login opdaterer deres biblioteker, og en app der ikke følger med, mister den funktion. Nye skærmstørrelser og enheder kan ødelægge layoutet hvis appen blev bygget til gårsdagens formater.
Intet af dette sker på lanceringsdagen. Det sniger sig ind, lidt ad gangen, indtil så meget er gået i stykker at en bruger henvender sig, og da er fejlene ofte flere på én gang. Netop derfor er løbende, planlagt ajourføring billigere end at vente til noget tvinger en stor omlægning igennem.
Vil du vide hvordan drift og vedligeholdelse kan tilrettelægges for netop din app, kan du se vores ydelser eller kontakte os, så skitserer vi en plan.
Ofte stillede spørgsmål
Hvad sker der hvis jeg aldrig opdaterer min app?
Først mærker du ingenting. Så begynder ting at gå i stykker: Nye telefoner opfører sig anderledes, et bibliotek holder op med at virke efter en OS-opdatering, en integration bryder sammen. Til sidst når appen et punkt hvor butikken ikke længere tillader opdateringer fordi den er bygget mod et for gammelt API. Så kræver det ofte en større omlægning i stedet for løbende små justeringer.
Hvad er kravet til målversion (target API level)?
Butikkerne kræver at nye uploads er bygget mod en nogenlunde ny version af styresystemet, udtrykt som target API level på Android og tilsvarende SDK-krav på iOS. Kravet hæves hvert år. Ligger appen under grænsen, kan du ikke længere udgive opdateringer. Eksisterende brugere kan ofte beholde appen et stykke tid, men du kan ikke rette fejl eller udgive noget nyt.
Hvor ofte skal en app tilpasses af hensyn til styresystemet?
Mindst en gang om året, knyttet til de store efterårsudgivelser af iOS og Android. Når betaversionerne er ude om sommeren, laver mange teams desuden en gennemgang for at nå at finde problemer før den endelige udgivelse. Derudover kommer mindre justeringer når enkelte biblioteker eller tjenester ændres i løbet af året.
Er OS-vedligeholdelse det samme som at udvikle nye funktioner?
Nej, og det er en vigtig forskel i budgettet. Teknisk ajourføring handler om at appen skal blive ved med at virke som den allerede gør, på nye styresystemer og enheder. Brugeren ser sjældent nogen forskel. Nyudvikling tilfører værdi. Blander du de to sammen, forsvinder vedligeholdelsen ofte fordi nye funktioner altid føles mere presserende.
Kan man teste mod nye OS-versioner før de udkommer?
Ja. Både Apple og Google udgiver betaversioner af kommende styresystemer måneder før den endelige lancering, i løbet af foråret og sommeren. Ved at køre appen mod betaversionerne når teamet at opdage og rette problemer før brugerne opdaterer. Det forvandler efterårets OS-udgivelse fra brandslukning til en planlagt indsats.