Første del af min serie om uafhængig produktudvikling
Som mobiludvikler er mit største ønske naturligvis at skrive en app og læne mig tilbage, mens pengene ruller ind ( ͡° ͜ʖ ͡°).
Hvilke problemer kan man møde, når man bygger en app på egen hånd? Jeg har for nylig udgivet min egen app og vil gerne dele de problemer, jeg stødte på, og hvordan jeg løste dem.
1. Definér behovet
Alle har lidt forskellige grunde til at ville bygge en uafhængig app.
I det store perspektiv ser du måske et presserende behov, hvis løsning kan ændre verden — det eneste, der mangler, er en programmør.
I mindre skala vil du måske bare gerne se din egen app i App Store. Den kan være et forsøg med ny teknologi: Efter at iOS 8 introducerede Today-udvidelser, dukkede der mange særlige apps baseret på dem op. Eller den kan være et værktøj, der fjerner et problem i hverdagen, som en filhåndteringsapp eller en vejrapp med gennemtænkte funktioner.
Find et behov, stort eller lille. Det giver dig motivationen til at fortsætte.
Jeg byggede en filhåndteringsapp med navnet “File Manager” som svar på min kones behov.
File Manager gør telefonen til en server. Andre enheder på det samme Wi-Fi-netværk kan administrere dens filer gennem en browser: organisere mapper, kopiere og flytte filer samt uploade eller downloade dem.
Da behovet var fastlagt, brugte jeg omkring tre måneder på at få projektet udgivet. Undervejs lærte jeg lidt Swift.
2. App-prototyper og interaktioner
Når du har et behov og en løsning, har du sandsynligvis et løst billede af prototypen og af, hvordan folk vil bruge den. Næste skridt er at fastlægge de konkrete skærmbilleder og interaktioner.
Jeg prøvede nogle få prototypeværktøjer og opgav dem så.
Jeg fandt ud af, at den tid, det tog at lære et prototypeværktøj og opbygge skærmbillederne, havde været nok til at bygge dem med xib. Til sidst løste jeg prototypearbejdet med håndtegnede skitser.
Da jeg senere udviklede andre produkter, indså jeg, at prototyper er nødvendige. Prototyping er i virkeligheden en proces, hvor logikken organiseres og gøres indbyrdes sammenhængende.
3. Hvad med alle de små appikoner?
Da prototypen var på plads, havde jeg et nogenlunde billede af projektets overordnede struktur. Ud over koden var der dog stadig et problem, som enhver uafhængig udvikler må forholde sig til!
Hvad skal jeg gøre med alle de små ikoner, som bruges i projektet?
Her er nogle få ikonbiblioteker, jeg har brugt:
- Alibabas ikonbibliotek → Komplette sæt af vektorikoner med frit justerbare farver og størrelser — en generøs ressource. Kommerciel brug kræver dog stadig tilladelse fra ophavspersonen.
- icons8 → 56.500 gratis flade ikoner! Der findes ikoner til forskellige platforme og endda en Mac-app.
- iconfinder → Tilbyder også komplette ikonsæt, men med en tydeligere kommerciel model.
4. Test og betatest
I en virksomhed hjælper testere, produktkolleger og andre teammedlemmer med at forbedre appen. Hvordan kan en uafhængig udvikler finde og forebygge så mange fejl som muligt så tidligt som muligt?
4.1 Test den selv
Nu må jeg selv udføre det arbejde, som jeg før overlod til testteamet. Ud over manuel test kan vi også opdrætte en testabe, som kan hjælpe os med at teste.
4.2 Rekruttér betatestere
At bygge en uafhængig app betyder, at man har flere roller end udviklerens: produkt, drift, kundeservice og mere. Markedsføringen er også vores eget ansvar. Begynd med venner, studiekammerater og familie, og skriv på sociale medier: Min app er næsten færdig, kom og hjælp mig med at prøve den!
Betabrugere gør mere end at finde fejl. Deres nye behov og forslag kan yde et endnu større bidrag til at berige og forbedre appen.
4.3 Distribution af testversioner
Hvis det er let at få betatesternes enhedsidentifikatorer, kan du bruge en platform til hosting af betaversioner som Pgyer eller fir.im. Der gælder enhedsbegrænsninger.
Hvis enhedsidentifikatorerne er svære at få, kan du bruge Apples TestFlight, som blev åbnet efter iOS 8, med op til 10.000 pladser til betatest.
5. Skærmbilleder til App Store
Hvorfor får skærmbilleder til udgivelsen deres eget afsnit? Uafhængige udviklere har forholdsvis få markedsføringskanaler. Skærmbillederne og beskrivelsen på vores produktside i App Store er appens indgang og butiksvindue.
Hvis skærmbillederne ser dårlige ud, kan vi miste en besøgende, som netop har opdaget appen.
I en virksomhed hjælper UI-designere og produktkolleger med at fremstille skærmbillederne. Hvordan får vi på egen hånd skærmbilleder i de rigtige størrelser?
5.1 Skærmbilleder i simulatoren
Du kan tage billeder af appens skærme direkte i simulatoren, men resultatet kan se lidt groft ud.
5.2 Lidt finpudsning
Jeg anbefaler det gratis websted shotbot. Upload dit materiale, så fremstiller det et komplet sæt ensartet formaterede produktbilleder.
Bemærkning, 2022-04-11: Senere skrev jeg en Mac-app specifikt til at lave skærmbilleder til mine egne udgivelser i App Store.
6. Andre ressourcer, jeg brugte
Når man arbejder med bestemte interaktioner og design, lever tredjepartsværktøjer og færdige ikoner nogle gange ikke helt op til det, man ønsker.
Så redigér selv billederne!
De fleste udviklere er naturligvis ikke særligt dygtige til Photoshop, og nogle har aldrig brugt det. Hvad kan vi gøre?
Her er to websteder: Online PS og Meitus webeditor
Du kan foretage enkle billedredigeringer i browseren uden at hente tung Adobe-software. Det er godt nyt for os, der ikke er særligt gode til Photoshop.
Ud over billedredigeringen kan selve appikonet også være en hovedpine. Et andet websted, jeg anbefaler, er MakeIcon: Upload et logo på 1024×1024, så fremstiller det automatisk alle de andre ikonstørrelser. Det understøtter endda iMessage på iOS 10.
7. Afsluttende tanker
Jeg gennemførte udviklingen med eksisterende ressourcer og uden hjælp fra en UI-designer. Hvis du har en designer, er du velkommen til at finde døren  ̄ヘ ̄.
Jeg havde længe ønsket at lave min egen app. Jeg begyndte først for alvor for nylig, efter at have fået styr på det, jeg havde brug for. Vigtigst af alt havde jeg endelig et klart behov at løse, og undervejs lærte jeg lidt Swift.
Under udviklingen gik der endda en uge, hvor jeg næsten ikke skrev nogen kode. Jeg indså, at behovet er det, der virkelig holder dig i gang, når du laver en uafhængig app. Behovets størrelse er ligegyldig; det vigtige er at løse et problem.
Efterhånden som udviklingen skred frem, voksede kravene: AirDrop-deling, iCloud-integration og ShareExtension-udvikling var stadig ikke færdige. Fortsæt, og iterér lidt ad gangen! ʘʚʘ (Jeg indrømmer bestemt ikke, at min oprindelige grund til at lave appen var at dele min “collection.avi” mellem pc, telefon og iPad.)
Her er linket til min app: Den enkleste måde at administrere filer på — File Manager
Bemærkning, 2022-04-11: Appen kan ikke længere findes i en søgning. Da den ikke havde en god måde at tjene penge på, solgte jeg den til en outsourcingvirksomhed. Salget gav anledning til mange overvejelser; den næste artikel går mere i detaljer.
Den oprindelige artikel blev offentliggjort på Jianshu. Min Jianshu-konto blev senere kompromitteret, og mine andre artikler blev ved med at blive blokeret. Jeg flytter nu alle mine blogindlæg til github.io.