Udvikling af en iPhone app: Idéen (del 1)

BLOG: Vær med fra starten i denne serie af blogposts hvor jeg udvikler en iPhone app fra start til slut.
Skrevet i Apps-bloggen

 
ANNONCE:
Til daglig udvikler jeg iOS apps hos SHAPE. Vi arbejder primært for andre virksomheder men vi stræber efter at bruge 20% af vores tid på egne projekter. Jeg er netop startet på en ny app som jeg selv har fået idéen til og som falder ind under sidstnævnte kategori af egne projekter. Jeg har besluttet at gøre hele udviklingsprocessen til en føljeton her på cw.dk. Så hvis alt går efter planen kan du hver uge følge med i udviklingen her på bloggen. Følg @olegam på twitter så sørger jeg for at linke til de næste afsnit når de er klar.

Ved at lægge alle kort på bordet og præsentere min idé og arbejdet med at udvikle app'en her på bloggen håber jeg at kunne få værdifulde indspark gennem kommentarerne. Så bare fyr løs med kommentarer.

Idéen

Jeg møder næsten dagligt folk som præsenterer deres egne fantastiske app idéer for mig. Skønt at så mange mennesker pludselig finder på ting som de kunne tænke sig at deres smartphone kunne gøre. Mange af de idéer jeg hører bliver dog aldrig til andet end bare idéer. Fordelen ved at være ingeniør er at man selv kan føre sine idéer ud i virkeligheden som jeg her vil gøre.

Min app idé som jeg vil forfølge (og beskrive i denne serie af blogindlæg) er forholdsvis simpel og tager udgangspunkt i et behov jeg selv har haft ved flere lejligheder. Første gang var for et par år tilbage hvor jeg havde brug for en lejlighed i København og en af de boligforeninger jeg var interesseret i åbnede kun for ventelisterne i særlige tilfælde. Hver gang en venteliste blev åbnet for opskrivning over nettet gik der ofte kun få minutter inden ventelisten var fyldt op og lukkede igen. Det gjorde det svært at komme med på ventelisten, men som ingeniør tog det mig ikke lang tid at lave et lille script som kørte på en server og sendte mig en email med det samme når en venteliste blev åben.

Tidligere på året da vi i SHAPE skulle købe billetter til Apples udviklerkonference WWDC var vi bekymrede for at billetterne ville blive sat til salg på et tidspunkt hvor vi ikke ville høre om det før der var udsolgt. Og det med god grund: billetterne blev udsolgt på under to timer. Men vi havde forberedt os og udviklet en særlig WWDC alarm app som sendte os push beskeder med det samme da Apple opdaterede deres website og billetsalget startede. Det tog ca. en weekend at udvikle iPhone app'en og den tilhørende backend som blev hostet på en Amazon EC2 micro instans. Vi havde også givet app'en til vores venner som også laver apps så de også kunne sikre sig billetter. Alt i alt en stor succes.

Idéen til min nye app er sådan set bare en generalisering af de to ovenstående brugerhistorier: somme tider har man brug for at få besked med det samme når et website ændrer sig. Det kan være i forbindelse med billetter som sættes til salg, men det kan også være i mange andre sammenhænge: en server går ned, et interessant website får nyt indhold (men har ikke et RSS feed), osv. Derfor går min idé ud på at man ved hjælp af en iPhone app kan opsætte regler for hvilke websites man vil informeres om ændringer på. Når et website ændres så udsendes der en push notifikation som får din iPhone til at vibrere.



Som sagt er det meningen at brugeren opretter "regler" som afgør hvornår han vil have en push notifikation. Da applikationen skal kunne bruges i mange forskellige situationer har jeg tænkt mig at understøtte en række typer af regler som f.eks.: indeholder ord, webside ændrer sig, serveren er nede og matcher regular expression. Udvalget af regeltyper kan naturligvis udvides eller indsnævres. En anden designovervejelse jeg har haft er om det skal være muligt at kombinere regler (evt. med logiske operatorer). Som f.eks. "regel A er opfyldt og samtidig er regel B eller C opfyldt, men ikke regel D." Da opskriften på en god app ofte er at fokusere på essensen og holde konceptet simpelt har jeg valgt ikke at understøtte denne form for kombination af regler i første omgang.

Er der flere funktioner som I mener er nødvendige i app'en? Eller måske noget som ikke er nødvendigt og som kan skæres fra for at gøre app'en simplere?

Navnet

En ekstremt vigtig del af en iPhone app er navnet. Det er det første potentielle kunder ser (sammen med ikonet) og ud fra det beslutter de om app'en er interessant nok til at de gider kigge på screenshots og måske læse (de første par linjer af) beskrivelsen. Et godt app navn er kort, beskriver hvad app'en gør, er let at stave og udtale. Og så skal navnet naturligvis være ledigt (og så alligevel ikke da man bare kan give sin app en eftertitel hvis det ønskede navn allerede er optaget af en anden app). Nogle af de første idéer jeg fik til navnet på app'en var: GetNotified, NotifyMe, AlertMe, Alerts App, GetAlerts, Notified, Alertify, Web Alerts, Observer. Hvis du har et forslag til et navn til app'en så skriv det i kommentarfeltet.

Markedet

Da jeg først fik brug for denne type app gennemsøgte jeg App Store for at finde en app som kunne løse mit behov. Det lykkedes imidlertid ikke rigtigt at finde sådan en app. På nettet er der nogle tjenester som gør noget lignende. F.eks. den gratis tjeneste changedetaction.com. Den tillader dog ikke at man selv kan definere hvor ofte et website skal tjekkes og den kan kun advare pr. email. Der er også tjenesterne pingdom.com og serverdensity.com som er målrettet mod systemadministratorer som skal have besked hvis en server går ned. De kræver at man registrerer sig og betaler over nettet og henvender sig dermed til en målgruppe som er teknisk kyndige og villige til at betale minimum $10 pr. måned. Min app skal gerne være så nem at bruge at alle de brugere som har det behov den opfylder kan bruge app'en. Dermed går jeg efter et segment hvor der pt. ikke er andre konkurrenter (hvis altså antagelsen om at der ikke er andre iPhone apps med samme funktionalitet holder. Nogen som har hørt om noget lignende?). Jeg vil komme mere ind på min analyse af markedet og min forretningsplan i et senere indlæg.

Planen

At udvikle en kvalitetsapp er ikke nogen simpel opgave. Slet ikke når den også involverer en backend-del som skal køre på servere i skyen. Der er mange problemstillinger man bør forholde sig til og jeg vil prøve at berøre de fleste af dem med denne artikelserie. Nogle af de emner jeg vil komme ind på i de kommende afsnit er bl.a.: Wireframes, arkitektur, design, implementation, forretningsplan, markedsføring og udgivelse. Så bookmark denne side eller abonner på RSS feedet.

Ytringer på debatten er afsenders eget ansvar - læs debatreglerne
Indlæser debat...
 




Computerworld
Ny bil i 2030? Mercedes-Benz har allerede bygget den ... og den kører på 10 MacBooks
Mercedes-Benz F015 ligner ikke noget, du kan finde på hylderne hos nogen bilforhandler. Den stålgrå maskine med de indbydende former er da også mere en vision og et rullende eksperiment end en bil, du kan bruge til noget. Og så er den fyldt med MacBooks under motorhjelmen.
CIO
Morten Mogensens firma blev forsøgt svindlet, men snød selv svindleren: "Vi tager det som en oplevelse"
Dansk virksomhed blev bedt om af sende 100.000 kroner til en hemmelig konto via en mail, der var afsendt som en besked fra direktøren til regnskabsafdelingen. Phishing-forsøget blev opdaget, og direktøren og regnskabschefen tog en fiffig hævn.
Comon
Microsoft er klar med firmaets næste konsol: Her er lanceringsdatoen i Danmark
Det nye familiemedlem ankommer i butikkerne den 2. august. Se hvad der bydes på af nyheder til spil-og film-folket.
Channelworld
Nordmænd køber dansk software-hus - medarbejderne bliver
Norske Amesto Solutions har købt det det danske CRM-firma Adwiza, der har haft svært ved at opnå tilstrækkelig lønsomhed. Men det skal der laves om på nu, lyder det fra Norge.
White paper
DRaaS (Disaster Recovery as a service) - Sådan !
Læs i dette white paper, hvad Veeam Cloud Connect tilbyder