Hjem > Guider, Nyheter > Slik utvikler du en iPhone-applikasjon

Slik utvikler du en iPhone-applikasjon

31 januar 2010

Vi har utviklet vår første applikasjon til iPhone og iPod Touch. Her kan du lese mer om planlegging, gjennomføring og lansering av Treningslogg. Last ned Treningslogg fra iTunes.

Da Steve Jobs lanserte iPhone i 2007 var det få som visste hvilken altomfattende mobilrevolusjon Apple presenterte. Men det var ikke selve telefonen som var revolusjonen, det var App Store som ble lansert et år etter selve telefonen. App Store representerer et fullstendig økosystem av applikasjoner, som gir telefonen utvidet funksjonalitet og verdi.

Planlegging
Vi hadde lyst til å utvikle vår egen applikasjon, og hadde mange ideer. Første del av arbeidet bestod i å kartlegge potensialet til de ulike ideene, og hvilken konkurranse vi hadde innenfor de ulike områdene. Vi endte opp med å satse på en treningsdagbok, for loggføring av treningsresultater både under styrke- og kondisjonstrening. Ideen var enkel og grei, samtidig så vi at det var få norske alternativer på App Store. Det var riktignok flere amerikanske, men vi antok at norske brukere vil foretrekke en norsk applikasjon, så lenge det er tilgjengelig og konkurransedyktig på funksjonalitet, pris og design.

Den grunnleggende funksjonaliteten skulle være at brukerne enkelt kunne taste inn sine prestasjoner, og få en direkte sammenlikning av sine resultater, mot tidligere treningsøkter.

Programmet skulle i tillegg gi muligheten til å sette sammen, og lagre ulike styrketreningsprogrammer som favoritt. På den måten ville det være enkelt finne tilbake til øvelser, og prestasjoner fra tidligere. Musikk skulle også være tilgjengelig fra selve programmet, slik at man ikke trengte å gå ut av Treningslogg for å skifte sang osv.

Etablering
For å kunne utvikle applikasjoner var vi avhengig av å etablere et firma. Som to personer er det mest fornuftig å satse på selskapsformen Delt Ansvar, med mindre dere har 100.000 til å etablere et aksjeselskap. Vi skal ikke gå inn på detaljene i forhold til denne prosessen, men selve registreringen i Brønnøysundregisteret var enkel og grei.

Vi etablerte selskapsnavnet Bit Factory, og kjøpte opp domenenavnet www.bitfactory.no. I tillegg søkte vi om selskapskonto i Bank2 som er det billigste alternativet for små bedrifter.

Søknadsprosessen
Apple har et forholdsvis byråkratisk system knyttet til godkjenning av utviklere. Du må fylle ut en rekke skjemaer, og sende dette via vanlig post til Apple sentralt. Etter ca 10 dager fikk vi beskjed om at vi var godkjent som utviklere, og at vi kunne starte arbeidet med applikasjonen.

Konsept, struktur og design
Første del av utviklingen handlet om å raffinere vår applikasjonsidé. Vi visste begge to hvordan applikasjonen skulle fungere, men hvordan skulle vi få dette til på iPhone? Vi startet med å sette opp en oversikt over hvilken funksjonalitet vi ønsket i programmet. Deretter begynte vi å tegne strukturtegninger, som beskrev de ulike nivåene i programmet. Det viste seg senere at vi kunne ha lagt ned mer arbeid i denne delen, for da vi kom lenger ut i prosessen viste det seg at ikke alle delene av applikasjonen fungerte som vi hadde tenkt. Vårt tips her er å investere mye tid i arbeidet med å tenke struktur. Hva skal skje når brukeren trykker på denne knappen? Hvordan skal de ulike delene være knyttet sammen? Tenk enkelt, og følg Apples egne retningslinjer for brukergrensesnitt.

Neste del bestod i å tenke design. Ingen av oss har noen bakgrunn fra dette fagfeltet, så vi bestemte oss raskt for å benytte så mange standardelementer som mulig. Et nyttig verktøy i denne prosessen er OmniGraffle. Her kan man skissere layout med en rekke standard iPhone-elementer.

Programmering
Etter at vi hadde tegnet opp skisser for alle delene av programmet, besto neste del i programmere applikasjonen. Apples SDK ble lastet ned og programmeringsarbeidet stratet. Apple har laget et forholdsvis enkelt programmeringsspråk, og de fleste med grunnleggende kunnskap fra andre programmeringsspråk vil ta dette relativt lett.

Totalt sett brukte vi ca 2 måneder fra idé til første fullverdige versjon av programmet. Dette kunne vært gjort raskere, men vi har begge fulltidsjobb ved siden av, så mye av jobben ble gjort på kveldstid og i helger.

Vi investerte også mye tid i bugtesting, for å luke ut alle mulig feil. Ingenting er mer irriterende enn applikasjoner som krasjer.

Lansering
Vi hadde en lanseringsklar kandidat rett over nyttår, og bestemte oss for å sende inn Treningsloggen til Apple. Dette er en prosess som er gjort forholdsvis enkel av Apple, men like fullt er det ikke rett frem for norske utviklere.

Vi ønsket å lansere Treningslogg globalt, men samtidig ha norsk beskrivelse i den norske App Store. Dette viste seg å være umulig, så lenge man ikke kunne lokalisere språket til den norske butikken. Vi måtte derfor sende inn to versjoner av applikasjonen, en til norske App Store og en til App Store globalt (med unntak av Norge).

Etter 5 dager ble applikasjonen godkjent av norske App Store, og den ligger nå ute for salg til 6 kroner. Akkurat nå ligger applikasjonen på 7. plass under kategorien Health & Fitness. Ambisjonen er å ligge blant de fem beste i denne kategorien over tid.

Vi har en lang liste over forbedringer som vi ønsker å gjennomføre, og vi planlegger å slippe oppdateringer fortløpende. Last gjerne ned applikasjonen, og gi din tilbakemelding om hva vi bør forbedre.

Still også gjerne spørsmål til prosessen i kommentar feltet under.

Les mer om lanseringen av Apple iPad på VG.no

Apple iPad lansert – les mer på VG.no

Les mer om VG sitt syn på lanseringen av iPad

  • Jan

    Hei, og takk for morsom artikkel og fint program. Har forsøkt å bruke det et par ganger nå, og de nye forbedringene med mer detaljert statistikk er gode.

    Som ikke så dreven på treningssenteret bruker jeg ikke mye løse manualer, og holder meg mest til apparatene. Det er ikke allltid like lett å finne tilsvarende øvelser som dette i deres lister – og ofte er variasjonene på apparatene svært små. Derfor savner jeg muligheten til selv og opprette nye øvelser til å bygge opp sitt eget program med. Velgenavn og en evt kommentar/beskrivelse, hvilke parametre som skal registreres (vil vel helst være kg og rep, antall øvelser i kondisjon har jo nå blitt svært dekkende) og hvor den skal kategoriseres (bryst, arm osv).
    Slik kunne programmet dekket flere(s) behov, og gjort det enklere å lage og overvåke sitt eget treningsprogram.

    En mulighet til å eksportere dataene haddeogså vært morsomt.

    Håper dere vurderer innspillene mine, stå på!

    Jan :)

  • Jan

    Hei, og takk for morsom artikkel og fint program. Har forsøkt å bruke det et par ganger nå, og de nye forbedringene med mer detaljert statistikk er gode.

    Som ikke så dreven på treningssenteret bruker jeg ikke mye løse manualer, og holder meg mest til apparatene. Det er ikke allltid like lett å finne tilsvarende øvelser som dette i deres lister – og ofte er variasjonene på apparatene svært små. Derfor savner jeg muligheten til selv og opprette nye øvelser til å bygge opp sitt eget program med. Velgenavn og en evt kommentar/beskrivelse, hvilke parametre som skal registreres (vil vel helst være kg og rep, antall øvelser i kondisjon har jo nå blitt svært dekkende) og hvor den skal kategoriseres (bryst, arm osv).
    Slik kunne programmet dekket flere(s) behov, og gjort det enklere å lage og overvåke sitt eget treningsprogram.

    En mulighet til å eksportere dataene haddeogså vært morsomt.

    Håper dere vurderer innspillene mine, stå på!

    Jan :)

  • Joachim

    Hei Jan,
    Tusen takk for bra tilbakemelding. Dine innspill er svært gode, så muligheten for å legge inn egne øvelser er noe vi helt klart skal se nærmere på. Dette medfører derimot litt mer kompleksitet, og vi må sikre at det ikke fører til uforutsette konsekvenser. Vi vil også se på muligheten til å eksportere treningsdata. Vi vil fortsette å videreutvikle applikasjonen, så forhåpentligvis kommer dette på plass om ikke så altfor lenge. :)

  • Joachim

    Hei Jan,
    Tusen takk for bra tilbakemelding. Dine innspill er svært gode, så muligheten for å legge inn egne øvelser er noe vi helt klart skal se nærmere på. Dette medfører derimot litt mer kompleksitet, og vi må sikre at det ikke fører til uforutsette konsekvenser. Vi vil også se på muligheten til å eksportere treningsdata. Vi vil fortsette å videreutvikle applikasjonen, så forhåpentligvis kommer dette på plass om ikke så altfor lenge. :)

  • Jaran

    På tide med litt oppfølging av nettsiden vel. Bare gammalt nytt nå rett før iPad release…

  • Jaran

    På tide med litt oppfølging av nettsiden vel. Bare gammalt nytt nå rett før iPad release…

  • Joachim

    Enig!
    Dessverre har jeg ikke hatt så mye tid til å oppdatere siden i det siste. Men det er har heller ikke vært så mye nyheter etter Apples lansering av iPad.

    Men jeg skal undersøke nærmere hvilke rykter og nyheter som befinner seg ute nå, og lage en sak senere i dag/morgen.

  • Joachim

    Enig!
    Dessverre har jeg ikke hatt så mye tid til å oppdatere siden i det siste. Men det er har heller ikke vært så mye nyheter etter Apples lansering av iPad.

    Men jeg skal undersøke nærmere hvilke rykter og nyheter som befinner seg ute nå, og lage en sak senere i dag/morgen.

blog comments powered by Disqus