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
Kritikken tager til: Windows 10 fryser og hakker efter stor opdatering
Microsofts store Windows 10-opdatering skaber alvorlige problemer på en række maskiner, der fryser og hakker. Kritikken fra brugerne tager til.
CIO
It-sikkerhed skal tænkes helt om: Det forkromede overblik er en mangelvare
Klumme: It-sikkerhed og bekæmpelse af cybercrime er kommet øverst på to-do-listen på direktionsgangene. Men hvis virksomhederne for alvor skal forstærke det digitale forsvarsværk, skal sikkerhedsbranchen se anderledes på it-løsningerne.
Comon
Dette udstyr anvender en af verdens bedste gamere
Se hvilket udstyr den femdobbelte verdensmester i Counter Strike, Stephanie Harvey, anvender.
Channelworld
Dansk hosting-direktør: På disse tre områder banker danske hosting-firmaer Microsoft og Amazon af banen
Den danske hostingbranche er godt polstret til at modstå konkurrencen fra globale cloud-spillere som Amazon og Microsoft. Her er tre grunde til, at danske hostingudbydere ikke blæser omkuld i konkurrencen.
White paper
Mobility - her er de aktuelle udfordringer
Hvad med sikkerheden? Mobility-bølgen fejer igennem danske virksomheder, og der er masser af muligheder og faldgruber. Sikkerheden halter, men det kan der gøres noget ved. Produceret af Computerworld.dk i oktober 2014.