Deel twee van mijn reeks over onafhankelijke productontwikkeling

Het vorige artikel beschreef vanuit iOS-perspectief hulpmiddelen om een behoefte te bepalen, een onafhankelijke app te ontwikkelen en uit te brengen. Met weinig middelen kon ik alleen App Store-hulpprogramma’s voltooien.

Hier gaat het om een volledig product voor meerdere platforms, problemen en oplossingen. Zo bouwde ik geleidelijk een compleet ecosysteem van openbaar WeChat-account, miniprogramma en app.

1. Productdoelen

Een productdoel is de waarde die het product levert. Zelfs met een gebruikssituatie heeft een waardeloos product zonder inkomsten en met weinig gebruikers weinig bestaansreden.

Of we beginnen nog groter, met de productvisie…

Stop. Denk daar nog niet allemaal over na, anders blijft het product in je verbeelding hangen.

Met beperkte middelen, mensen en investering is het doel helder: welke problemen lost het op of welke functies levert het?

Het MVP van File Manager had bijvoorbeeld één doel: bestanden tussen telefoon en computer overdragen.

Daarna ontstonden vanzelf eisen, deels uit mijn plannen maar vooral uit feedback:

  • 1.0.0 Bestanden overdragen tussen telefoon en computer
  • 1.1.0 Beeld, video en audio bekijken of afspelen
  • 1.2.0 Bestanden groeperen, verplaatsen, verwijderen, comprimeren en delen
  • 1.3.0 De speler verbeteren
  • 1.4.0 Beveiliging toevoegen: gebarencodes en biometrie
  • 2.0.0 In-appaankopen toevoegen
  • 2.1.0 Documenten scannen
  • …

Oorspronkelijke File Manager-afbeelding: bladeren en beheren

Oorspronkelijke File Manager-afbeelding: extra hulpmiddelen en interface

Kies een uitvoerbaar doel. Focus op één ding en ga door, ook als het verkeerd lijkt: hoe weet je het zonder afmaken ◔ ‸◔? Maak af en evalueer.

2. Productprototypes

Eerder zei ik na veel hulpmiddelen dat ik de schermen met xib had kunnen bouwen in de ontwerptijd.

Nu spreek ik mezelf tegen ,,Ծ‸Ծ,,

Die gedachte is begrijpelijk bij een persoonlijk hulpmiddel zonder vervolgplan, alleen om het uit te brengen.

Bij verdere ontwikkeling veroorzaakt werken zonder prototype of plan ernstige problemen. Een prototype ontwerpen ordent de productlogica.

Hier zijn enkele prototypetools. Ik gebruik vooral MockingBot.

3. Projectbeheer

Na mijn zelfstandige iOS-publicatie zag ik een probleem: ik kende geen projectbeheer. Ik werkte wanneer ik tijd had of eraan dacht, niet als ik lui was.

Het was mijn eigen ontwerp en ontwikkeling. Het MVP had vermoedelijk geen betalende gebruikers, dus ik voelde geen verantwoordelijkheid.

Dat vertraagt een project en lang zonder plan werken kan het doden.

Na jaren iteraties beheren ontdekte ik dat hulpmiddelen ook voor persoonlijke projecten werken. Met duidelijke doelen en een logisch prototype volgt taakverdeling vanzelf.

Ik gebruik coding.net, ook voor codehosting.

Oorspronkelijke projectweergave: werk verdeeld in taken

Splits taken in uren. Dat verbetert beheer en testcases. Ik schrijf nu tests vóór code. Dat is essentieel.

Een prototype ordent productlogica; tests ordenen implementatiedetails. Complete tests leiden naar juiste logica ✅ en voorkomen fouten ❌.

4. Technologie kiezen

Alles tot nu toe was voorbereiding. Ik ben alleen, maar wil het complete ecosysteem van openbaar WeChat-account, miniprogramma en app.

Dat vraagt miniprogramma-, iOS- en Android-kennis. Een taal leren is niet zo moeilijk, maar dezelfde logica driemaal bouwen kost driemaal zoveel. Dat is onrealistisch.

Normaal gebruiken we het web om meerdere platforms te bedienen, of laten we de app zelfs vallen en richten we ons op een openbaar account plus een miniprogramma. In de beginfase, wanneer productbehoeften snel moeten worden gevalideerd, is dit een zeer redelijke aanpak.

Er zijn veel platformoverschrijdende technieken. Uni-App maakt app en miniprogramma uit één codebasis met Vue.js en ondersteunt iOS/Android via Weex.

Dat volstaat voor persoonlijke of kleine commerciële producten.

5. Gegevensbeheer

Na die keuze rest één vraag: waar staan de gegevens?

Voor een hulpmiddel volstaat lokale opslag. Maar wat met een informatieplatform met gebruikerssysteem of complexe UGC-gemeenschap?

Uni-App biedt uniCloud: serverontwikkeling in JavaScript, zonder domeinnaam te gebruiken door miniprogramma en app.

Ik koos het serverloze LeanCloud. Beide gebruiken de JavaScript-SDK voor de gehoste database.

Het ontwikkelniveau biedt dagelijks 30.000 gratis API-aanvragen en sms, genoeg voor gebruikers, uploads en platformgegevens.

Bij overschrijding heeft het product schaal. Verkeersinkomsten moeten dan het commerciële betalen-naar-gebruik-niveau dekken.

Een brutale manier om gegevens te vinden

Wat als je een weer- of informatie-app wilt zonder gegevens?

China heeft veel API-marktplaatsen:

Alibaba Cloud API Marketplace

Tencent Cloud API Marketplace

Baidu Cloud API Marketplace

Juhe Data

EastApi

en andere.

Ze bieden betaalde en gratis API’s.

  • Kun je verkeer goed gelde maken, kies betaald.

  • Zo niet, gebruik gratis quota. Maar 100 aanvragen verdwijnen tijdens tests. Wat dan?

Combineer LeanCloud met een marktplaats. Vraag voor dagelijks weer eerst de database; ontbreekt het, haal het via de API en sla het op.

Zijn 100 aanvragen niet genoeg voor alle steden? Vraag meerdere platforms aan.

6. Lancering en beheer

Miniprogramma, app en server zijn klaar. Hoe lanceren we?

Volg voor een miniprogramma de aanwijzingen op het WeChat-platform voor openbare accounts en volg stap voor stap de aanwijzingen om een miniprogramma aan te vragen.

Voor publicatie op iOS is een betaald ontwikkelaarsaccount nodig. Dat is een drempel, maar voor langdurig beheer raad ik aan er een aan te vragen op Apples ontwikkelaarssite. Aanvragen is tegenwoordig eenvoudig: download de Developer-app op een iPhone en betaal daar.

Voor Android-distributie heb je registratie van softwareauteursrecht nodig. Een normale aanvraag kan 1-2 maanden duren, of je kunt een externe tussenpersoon betalen om dit af te handelen.

In dezelfde zuinige geest: waar kunnen we afbeeldingen, audio en video voor promotieplekken in de app en het miniprogramma opslaan?

De mediabibliotheek van het openbare account lost dit op: sla de benodigde media op, haal de oorspronkelijke URL’s op en laat zowel de app als het miniprogramma ze gebruiken.

7. Inkomsten

Een eenvoudige manier is reclame.

Platformeisen voor uitgevers worden strenger, waardoor integratie lastig is voor onafhankelijke ontwikkelaars.

  • Uni-App biedt integratie met één klik; zie de documentatie.

  • Een openbaar account met publiek kan advertenties in artikelen activeren.

  • Een miniprogramma kan na 1.000 unieke bezoekers monetiseren.

8. Slotgedachten

We voltooiden het genoemde ecosysteem van openbaar WeChat-account, miniprogramma en app.

Ik deed dit voor drie producten. Scan de codes om ze te proberen:

Oorspronkelijke QR-codes van historische producten; beschikbaarheid kan veranderd zijn