Vedlikehold og drift av mobilapper
Appen deres ligger i appbutikkene, folk betaler for den, og ingen har det tekniske ansvaret for den. Et mobilprodukt består av iOS, Android, en backend, infrastruktur og to gjennomganger i appbutikkene, og hver del svikter på sin egen måte. Vi holder det hele i gang, slik vi har gjort med Abuk siden 2018 og MemoWord siden 2019.
Når appen deres trenger en eier
En app i drift forblir ikke den samme. Apple og Google endrer plattformene rundt den hvert år, og de fleste problemer går på tvers av mer enn ett lag.
- En betaling feiler på telefonen mens bestillingen ser fin ut på serveren, og ingen kan si hvem sin side som er feil
- Google har faset ut et faktureringsbibliotek eller hevet mål-API-nivået, og oppdateringer blir blokkert etter en frist
- En ny iOS-versjon har ødelagt deler av appen, og de dårlige anmeldelsene kommer allerede
- Et sertifikat eller en push-nøkkel utløp noen dager før en release
- Utvikleren har forsvunnet, og med det tilgangen til kontoen i appbutikken eller signeringsnøklene
- Dere koordinerer en iOS-frilanser, en Android-frilanser og en backend-leverandør, og hver av dem retter bare sin egen del
Hva vi holder i gang
Apper for iOS og Android
Native apper i Swift og Kotlin, eller React Native med Expo. Nye OS-versjoner testes på betaversjoner, SDK-er og biblioteker holdes på støttede versjoner, og krasj rettes med de som rammer flest brukere først.
Backend og API
Serveren appen snakker med, i Rails, NestJS, Fastify, .NET eller PHP med PostgreSQL eller MySQL. Når noe svikter, sporer vi det fra telefonen til databasen uten å sende det videre til en annen leverandør.
Infrastruktur
Hosting på AWS (ECS, CloudFront), Hetzner eller hos andre leverandører, Docker, utrullinger, overvåking og sikkerhetskopier med gjenoppretting som faktisk er testet.
Betalinger og abonnementer
StoreKit og Google Play Billing, abonnementer, kvitteringer og validering på serveren. Faktureringsbibliotekene oppdateres før appbutikkenes frister, slik at fornyelsene fortsetter å komme inn.
Releaser og begge appbutikkene
Vi bygger, signerer og sender inn releaser, svarer på tilbakemeldinger fra gjennomgangen i App Store og Google Play og ruller ut oppdateringer trinnvis. Sertifikater, nøkler og skjemaer om krav følges opp i en kalender.
Kontoer, nøkler og overtakelse
Hvis en tidligere utvikler hadde utviklerkontoen, sertifikatene eller signeringsnøklene, går vi gjennom gjenoppretting eller overføring hos Apple og Google. Apper laget av andre team overtar vi etter en gjennomgang.
Fire fagområder og to gjennomganger, ett team
Et mobilprodukt trenger minst fire typer utviklere: iOS, Android, backend og infrastruktur. I tillegg må hver release gjennom to gjennomganger dere ikke styrer, hos Apple og hos Google. En frilanser dekker én eller to av disse, så eieren ender opp med å koordinere flere personer mens brukerne allerede skriver anmeldelser. Vi har ansvaret for hele produktet: appene, serveren, hostingen, releaseprosessen og kalenderen over plattformfrister, med en teknisk leder hos oss som snakker med virksomheten og setter prioriteringer.
- Ett team med ansvar for apper, backend og infrastruktur
- En kalender over frister i appbutikkene og på plattformene som berører appen deres
- Testing på betaversjoner av OS før den offentlige lanseringen
- Lanseringer planlagt slik at appen aldri blir stengt ute fra appbutikkene
År, ikke måneder: Abuk og MemoWord
Den største bekymringen når man overleverer et produkt i drift, er at den nye leverandøren forsvinner etter en måned. Svaret vårt er en historikk dere kan sjekke. Abuk, en lydboktjeneste med nettsted og native apper for iOS og Android, har vært driftet av teamet vårt siden 2018: en Rails-backend, AWS ECS og CloudFront, Swift med StoreKit og Kotlin med Play Billing. MemoWord, en app for språklæring, har vært hos oss siden 2019, inkludert en flytting av .NET-backenden til en oppdatert versjon mens appene og faktureringen var i drift.
- En rolle som teknisk leder, ikke en kø av saker
- Migrering av backend mens mobilklientene og faktureringen er i drift
- Det samme teamet på produktet år etter år
- En skriftlig rapport hver måned om hva som er gjort og hva som kommer
Overtakelse av en app, også når utvikleren har forsvunnet
Før vi forplikter oss til å drifte en app, bygger vi den fra kildekoden, kjører den på enheter og leser koden, backenden og infrastrukturen. Hvis den forrige utvikleren forsvant med kontoen i appbutikken eller signeringsnøklene, kartlegger vi først hva dere fortsatt har. Tilgangen kan som regel gjenopprettes hos Apple eller Google, og går ikke det, kan appen publiseres på nytt under bedriftens egen konto. For Quaker erstattet vi en hybridapp på utdatert teknologi med native apper for iOS og Android, og vi sier like rett ut fra hvis appen deres er i samme situasjon.
- Oversikt over kode, kontoer, sertifikater og nøkler
- Gjenoppretting eller overføring av utviklerkontoen til bedriften deres
- Gjennomgang av kode og bygg med skriftlig rapport
- Liste over akutte risikoer, som frister i appbutikkene eller biblioteker som ikke lenger vedlikeholdes
Slik starter vedlikeholdet av mobilappen
Gjennomgang
Før vi tar ansvaret, bygger vi appen fra kildekoden, sjekker kontoene i appbutikkene, sertifikatene og signeringen, og leser backenden og infrastrukturen. Dere får en skriftlig rapport om tilstanden produktet faktisk er i.
Omfang og vilkår
Et månedlig omfang med timetak, en avtalt svartid for hendelser og en tydelig regel for hva som skjer når taket er nådd.
Første lansering
Vi retter de akutte problemene og publiserer en ny versjon selv, noe som beviser at hele kjeden med bygg, signering og innsending fungerer.
Løpende drift
Overvåking, oppdateringer, releaser og feilrettinger innenfor det avtalte omfanget, og en skriftlig rapport ved slutten av hver måned.
Plattformer og verktøy
iOS
- Swift
- Objective-C
- StoreKit
- Xcode, TestFlight
- App Store Connect
Android
- Kotlin
- Java
- Google Play Billing
- Google Play Console
Plattformuavhengig
- React Native
- Expo
- EAS Build
Backend og infrastruktur
- Ruby on Rails, NestJS, Fastify, .NET
- PostgreSQL
- AWS ECS og CloudFront, Hetzner
- Docker
- Firebase Crashlytics
Slik kan dere jobbe med oss
Månedlig driftsavtale
Et fast månedlig omfang etter gjennomgangen, med timetak og avtalt svartid: overvåking, oppdateringer, releaser, retting av fakturering og en skriftlig rapport.
Teknisk leder og team
Vi tar også rollen som teknisk leder: prioriteringer, planlegging av releaser og dialog med virksomheten, med utviklere for iOS, Android og backend i ryggen.
Enkeltoppdrag
En akutt retting, en oppdatering for å oppfylle krav før en frist i appbutikken eller en gjenoppretting av konto, fakturert per time eller som en fast oppgave.
Tilbakemeldinger
Revol-teamet fortsetter å effektivisere kundens utviklingskapasitet med arbeid av høy kvalitet og pålitelig support. De kommuniserer godt og viser en solid forståelse av kundens behov og virksomhet.
Tomas
Arbeidet fra Revol har fullt ut innfridd forventningene, og kunden er fornøyd. Den friske tilnærmingen og evnen til å være tilgjengelige for support har vært verdifulle. Kunder kan trygt velge dem som et kommunikativt og kundeorientert team som hjelper dem å nå målene sine.
Andrey
Ofte stilte spørsmål
Hvor lenge blir dere vanligvis med et produkt?
I årevis. Abuk har vært driftet av teamet vårt siden 2018 og MemoWord siden 2019. Drift fungerer best når de samme utviklerne kjenner koden, kontoene i appbutikkene og historikken bak hver beslutning, så vi planlegger for et langt samarbeid fra første måned.
Utvikleren vår har forsvunnet, og vi har ikke tilgang til kontoen i appbutikken. Kan den gjenopprettes?
Som regel ja, selv om det tar tid og krever papirarbeid hos Apple eller Google. Første steg er å finne ut hva dere faktisk har (koden, kontoen, signeringsnøklene), fordi svaret avhenger av hva som mangler. Er gjenoppretting umulig, kan appen publiseres på nytt under bedriftens konto.
Hva koster vedlikehold av en app?
Det avhenger av størrelsen på appen, antall plattformer, backenden og hvor ofte dere vil ha nye versjoner. Etter gjennomgangen gir vi et månedlig omfang med timetak og fast pris. Nye funksjoner, redesign og migrering til en annen teknologistakk prises separat.
Hvor raskt kan dere reagere på en kritisk feil?
Svartiden avtales per app, ut fra hva appen gjør, og skrives inn i planen. Husk at en retting i en mobilapp også må gjennom gjennomgangen i appbutikken; i akutte tilfeller ber vi om hastebehandling på iOS og bruker trinnvis utrulling for å begrense skaden.
Drifter dere React Native-apper og eldre kodebaser?
Ja, React Native med Expo så vel som native Swift, Objective-C, Kotlin og Java. For apper på rammeverk som ikke lenger vedlikeholdes, viser gjennomgangen hvor lenge drift er realistisk og hva en migrering vil innebære.
Drifter dere også backenden og serverne til appen?
Ja, og det er hele poenget med ordningen. API, administrasjonspanel, hosting og utrullinger dekkes av samme avtale, slik at en mislykket betaling eller et push-varsel som ikke kommer frem, spores fra telefonen til databasen av ett team.
Blir appen værende i vår egen utviklerkonto?
Det bør den. Vi publiserer under bedriftens kontoer hos Apple og Google med de tilgangene dere gir oss, slik at eierskapet til appen aldri avhenger av oss.
Fortell oss om prosjektet deres
Beskriv oppgaven med noen få linjer. Innen én virkedag svarer vi med spørsmål eller en første vurdering av omfang og kostnad.
Foretrekker dere e-post eller en samtale?
welcome@revolsource.com
+38 097 662 23 20
Revol Software OÜ, Tallinn, Estland. Teamet vårt er distribuert over hele verden.
Bli med i teamet vårt
Send CV-en din til career@revolsource.com