Špecifikácia mobilnej aplikácie: šablóna na jednu stranu
Autor: Mehdi Azizi
Aktualizované , 10 min
Špecifikácia na jednu stranu, ktorá vymedzí tvoju iOS appku a navedie AI: 10 otázok, šablóna na skopírovanie a čo do nej v žiadnom prípade nepatrí.
Špecifikácia mobilnej aplikácie: krátka odpoveď
Dobrá špecifikácia mobilnej aplikácie sa zmestí na jednu stranu, keď robíš vlastnú appku. Odpovedá na desať otázok: pre koho, aký problém, aká hlavná funkcia, ako appka zarába, čo sa dá robiť bez účtu, ktoré dáta musia prežiť, na akej platforme, čo nepatrí do prvej verzie, ako zistíš, že to funguje, a s akými obmedzeniami. Šablóna na skopírovanie je nižšie. Môžeš si tiež stiahnuť šablónu aj s kontrolnou tabuľkou (.md), bez registrácie.
Štyridsaťstranové šablóny, ktoré nájdeš na internete, sú písané na iný účel: pre klienta, ktorý si objednáva appku u dodávateľa a potrebuje zmluvný dokument. Ty si zároveň ten, kto rozhoduje, aj ten, kto stavia, často s pomocou AI. Tvoja špecifikácia slúži na dve veci: rozhodnúť veci ešte pred kódovaním a dať Claudovi, ChatGPT alebo Cursoru jasný kontext, aby postavili správnu appku.
Publikujem vlastné iOS appky. Solys, budík s minihrami, a TradaZen, simulátor tradingu, sú na App Store. Nolera a Clic Apple zamietol, potom som ich opravil. Túto metódu používam pri každej z nich a tú ti tu ponúkam.
Prečo na vymedzenie vlastnej appky stačí jedna strana
Dlhý dokument vyvoláva dojem, že si pokročil. V praxi ho napíšeš raz, zriedka si ho prečítaš znova a projekt sa od neho odkloní hneď v prvých týždňoch. Jednu stranu si naopak prečítaš za dve minúty pred každým pracovným blokom.
Obmedzený priestor má aj užitočný efekt: núti ťa rozhodnúť sa. Ak odpoveď presahuje dve vety, často to znamená, že rozhodnutie ešte nepadlo. Lepšie je zistiť to na papieri než v kóde o tri týždne neskôr.
A napokon, jedna strana má správnu veľkosť pre AI. Môžeš ju celú vložiť do konverzácie alebo ju uložiť do kontextového súboru projektu. Krátky dokument sa ľahšie kontroluje a znižuje počet protichodných pokynov. Nezaručuje však, že ich AI dodrží: jej návrhy over voči tomuto rámcu.
Čo má obsahovať špecifikácia mobilnej aplikácie?
Na každú z týchto otázok odpovedz jednou alebo dvoma vetami.
- Kto appku používa a v akej situácii? Nie „18 až 35-roční“. Skôr konkrétny človek v konkrétnej chvíli dňa.
- Aký problém appka rieši, jednou vetou? Ak potrebuješ „a ešte“, opisuješ dve appky.
- Aká je TÁ hlavná funkcia prvej verzie? Jediná. Ostatné počkajú na čísla. Stránka MVP iOS aplikácie vysvetľuje, ako vyberať.
- Ako appka zarába? Predplatné, jednorazový nákup alebo zadarmo. Táto odpoveď mení appku už od prvej obrazovky. Ak váhaš, prečítaj si predplatné alebo jednorazový nákup pre iOS appku.
- Čo sa dá robiť bez vytvorenia účtu? Ak včas rozhodneš, čo je dostupné bez registrácie, nebudeš musieť prerábať celý úvodný proces.
- Ktoré dáta musia prežiť výmenu telefónu? Táto otázka rozhodne, či potrebuješ backend ako Supabase, alebo môže všetko zostať v zariadení.
- Len iOS, alebo iOS aj Android? Moja rada pre začiatočníkov: najprv iOS. Prečo, rozoberám v článku iOS a Android appka naraz.
- Čo je výslovne MIMO prvej verzie? Najužitočnejšia časť dokumentu. Utne debaty skôr, než vzniknú, so sebou aj s AI.
- Ako zistíš, že to funguje? Jediný signál merateľný v týždňoch po vydaní: spustené skúšobné verzie, predplatitelia, používatelia, ktorí sa vracajú.
- Aké sú tvoje skutočné obmedzenia? Čas, ktorý tomu môžeš venovať každý týždeň, tvoje vybavenie a tvoj Apple Developer účet, ktorý stojí 99 $ ročne. Nemáš Mac? Nie je to prekážka, ako vysvetľujem v článku publikovať iOS appku bez Macu.
Šablóna špecifikácie na skopírovanie
Skopíruj si túto šablónu do poznámky alebo do textového súboru v koreňovom priečinku projektu a potom nahraď každý riadok.
- Pracovný názov appky: …
- Pre koho: človek, ktorý … vo chvíli, keď …
- Riešený problém, jednou vetou: …
- Hlavná funkcia verzie 1: …
- Čo používateľ uvidí, keď appku prvýkrát otvorí: …
- Obchodný model: predplatné / jednorazový nákup / zadarmo, a čo je platené: …
- Bez účtu sa dá: …
- Dáta, ktoré sa musia zachovať medzi dvoma telefónmi: žiadne / …
- Platforma: najprv iOS (Android neskôr, ak to čísla potvrdia)
- Mimo verzie 1: …, …, …
- Signál úspechu: …
- Stack: React Native, Expo, Supabase, ak treba účty, RevenueCat na predplatné
- Obmedzenia: … hodín týždenne, Apple Developer účet otvorený alebo nie, Mac áno alebo nie
- Appky, ktorých zážitok sa mi páči, a prečo: …
Pridaj tri až päť screenshotov appiek, ktoré sa ti páčia, s poznámkou, čo sa ti na nich páči. Povie to viac než grafický manuál, tebe aj AI.
Špecifikácia nie je zoznam želaní. Je to zoznam prijatých rozhodnutí.
Príklad: vyplnená strana pre vymyslenú appku
Aby si videl očakávanú úroveň detailu, tu je šablóna vyplnená pre appku vymyslenú na tento príklad, časovač na učenie.
- Pre koho: študent, ktorý sa večer učí sám a po desiatich minútach stratí pozornosť.
- Problém: nevydrží celý blok učenia bez toho, aby siahol po telefóne.
- Hlavná funkcia: spustiť časovaný blok a vidieť svoju sériu dodržaných dní.
- Prvá obrazovka: jediné tlačidlo na spustenie bloku.
- Obchodný model: predplatné na podrobné štatistiky, základný blok zadarmo.
- Bez účtu: všetko okrem zálohy medzi dvoma telefónmi.
- Mimo verzie 1: skupinový režim, rebríček medzi kamarátmi, widgety, verzia pre Android.
- Signál úspechu: používatelia, ktorí sa vracajú niekoľko dní po sebe.
Všimni si, čo zámerne chýba: žiadny zoznam dvadsiatich obrazoviek, žiadne predpísané farby, žiadna architektúra. Tieto voľby prídu počas stavania a strana ti slúži na kontrolu, či stále slúžia hlavnej funkcii.
Ako použiť špecifikáciu na vedenie AI
Tu ti tvoja strana prinesie najviac. AI, ktorá kóduje bez kontextu, háda, a často uhádne inú appku než tvoju.
Daj stranu do trvalého kontextu projektu. Claude Code číta súbor CLAUDE.md v koreňovom priečinku, Cursor má vlastné súbory s pravidlami. Vlož tam svoju špecifikáciu aj so stackom. Každá požiadavka potom vychádza z rovnakého základu.
Keď to AI preháňa, citovaj časť „mimo verzie 1“. Asistenti ochotne navrhujú funkcie navyše: tmavý režim, zdieľanie, notifikáciu. Zoznam vylúčení ti dáva hotovú odpoveď: teraz nie.
Požiadaj o plán, ktorý stranu rešpektuje. Pred veľkou úlohou napíš: „toto je moja špecifikácia, navrhni plán pre hlavnú funkciu, zatiaľ nekóduj“. Hneď uvidíš, či sa plán vzďaľuje od toho, čo si rozhodol.
Nechaj ju skontrolovať stranu, nielen kód. Opýtaj sa: „ktoré otázky v tejto špecifikácii sú nejasné alebo protichodné?“. Je to podceňované využitie AI a ušetrí ti týždne práce nesprávnym smerom.
Ak chceš ísť ďalej, pasce a kontroly som rozobral v článku vytvoriť iOS appku s AI.
Premeň rozhodnutia na akceptačné kritériá
Hlavná funkcia musí mať pozorovateľný výsledok. Pre vymyslený časovač z tohto príkladu je „časovač funguje“ príliš vágne. Napíš radšej: „Spustím blok, zobrazí sa zostávajúci čas, môžem ho zastaviť a po opätovnom otvorení appky nájdem posledný dokončený blok.“ Zvlášť rozhodni, či má časovač bežať aj pri zamknutej obrazovke: táto voľba môže zmeniť technickú prácu.
Ku každej funkcii pridaj tri riadky: akcia, očakávaný výsledok, dôkaz. Dôkazom môže byť automatizovaný test pre výpočet alebo kontrola na zariadení pre používateľský tok. Zapíš si aj to, čo otestované nebolo. Táto malá tabuľka zabráni tomu, aby si si pomýlil hotovú obrazovku s funkciou pripravenou na používanie.
Tu je vyplnená tabuľka pre náš vymyslený časovač. Sú to kritériá na overenie, nie už úspešné testy:
| Rozhodnutie zo špecifikácie | Čo otestovať | Očakávaný výsledok |
|---|---|---|
| Základný blok je dostupný bez účtu | Nainštalovať appku a spustiť blok bez registrácie | Spusteniu nebráni žiadny registračný formulár |
| Prerušený blok sa do série nepočíta | Zastaviť blok pred koncom, potom otvoriť históriu | Nepribudne žiadny dokončený blok |
| História zostáva v zariadení | Dokončiť blok, zatvoriť a znova otvoriť appku | Blok sa zobrazí iba raz a so správnou dĺžkou |
| Základný časovač funguje bez siete | Zapnúť režim lietadlo a dokončiť blok | Časovač aj lokálne ukladanie zostávajú použiteľné |
| Podrobné štatistiky sú platené | Otvoriť štatistiky bez predplatného | Zobrazí sa ponuka; základný blok zostáva dostupný |
Nejasné témy sa stávajú rozhodnutiami, ktoré treba prijať. Napríklad: čo robiť, ak používateľ počas bloku zamkne obrazovku alebo zmení čas v telefóne? Nenechaj agenta rozhodnúť potichu. Zapíš požadované správanie a potom pridaj prípad do tabuľky. Na zorganizovanie tohto testovania na skutočnej inštalácii použi návod testovanie iPhone appky cez TestFlight.
Ako rozhodnúť, čo vyhodiť, keď prvá verzia prerastá
Prejdi každú funkciu a polož si otázku: „Dostane sa používateľ aj bez nej k sľúbenému výsledku?“ Pri našom časovači môže rebríček medzi kamarátmi počkať. Nájsť dokončený blok je nevyhnutné, ak sľubuješ sériu dní. Obrazovka s predplatným je nevyhnutná iba vtedy, ak štatistiky naozaj predávaš už v tejto verzii.
Rozhodnutie aj jeho dôvod si zapíš do denníka v šablóne na stiahnutie. K voľbe sa môžeš vrátiť po testoch bez toho, aby si stratil dôvod pôvodného rozsahu. Návod vytvoriť aplikáciu s Claude Code potom ukazuje, ako túto špecifikáciu premeniť na ohraničené a overiteľné požiadavky.
Ako skúsenosť z praxe: TradaZen zmenil rozsah po publikovaní. Špecifikácia slúži na to, aby si vydal merateľnú prvú verziu a o ďalšej rozhodol na základe skutočnej spätnej väzby.
Pasca katalógu funkcií
Prirodzený reflex je vypísať všetko, čo appka „bude musieť robiť“: mapu, chat, notifikácie, odporúčací program, offline režim. Takýto katalóg je najspoľahlivejším znakom projektu, ktorý nikdy neskončí, z jednoduchého dôvodu: každá funkcia pridaná pred vydaním odďaľuje chvíľu, keď ti skutoční používatelia povedia, na čom záleží.
Dobrá prvá verzia robí jednu vec a robí ju dobre. Pozor však na opačný extrém: Apple vyžaduje, aby appka bola viac než zabalený web, podľa pravidla 4.2 App Review Guidelines. Jediná hlavná funkcia áno; prázdna škrupina nie: to je dôvod zamietnutia podľa guideline 4.2.
Čo do špecifikácie mobilnej appky nepatrí
- Kompletný grafický manuál. Na začiatok stačí pár referenčných screenshotov.
- Harmonogram po dňoch. Ešte nemáš informácie, aby si ho dodržal. Stačí týždenný cieľ.
- Podrobná technická architektúra. Vyber si overený stack a detaily nechaj rozhodnúť počas stavania.
- Funkcie „na neskôr“ pomiešané so zvyškom. Všetky patria do časti mimo verzie 1.
Kedy aktualizovať špecifikáciu?
Prečítaj si ju na začiatku každého pracovného týždňa. Aktualizuj ju iba vtedy, keď sa rozhodnutie zmení zo skutočného dôvodu: test na tvojom iPhone ukáže, že obrazovka nefunguje, spätná väzba od testera, obmedzenie od Apple, na ktoré prídeš cestou. Ak ju meníš každý deň, už nič nevymedzuje.
Po publikovaní prvej verzie sa strana stane základom ďalšej: to, čo bolo mimo verzie 1, sa posunie vyššie, zoradené podľa toho, čo ti povedia čísla. Celkový prehľad cesty od nápadu po publikovanie nájdeš na stránke vytvoriť iPhone aplikáciu.
Od strany k publikovanej appke
Ak si odpovedal na desať otázok, už máš za sebou prácu, ktorú veľa projektov preskočí. Ďalej treba postaviť hlavnú funkciu, otestovať ju na iPhone, napojiť predplatné a pripraviť podklady pre Apple.
Túto cestu pokrýva iOS Kit v štyroch krokoch, ktoré ideš vlastným tempom: prvý slúži na výber appky, ktorá môže zarábať, jej publika a ceny, a tvoja špecifikácia je jeho východiskom.
Nevieš, či sa tvoj nápad už zmestí na jednu stranu? Bezplatná diagnostika ti povie, čo dnes brzdí tvoj projekt a ktorým krokom začať. Úvodná stránka potom ukazuje, ako z tejto špecifikácie vytvoriť mobilnú appku s Claude Code.
Nesľubujem ti ani príjem, ani publikovanie: schvaľuje Apple a o zvyšku rozhodne trh. Aj bez kitu ti táto šablóna na začiatok stačí.
Často kladené otázky
Ako napísať špecifikáciu mobilnej aplikácie?
Udrž špecifikáciu na jednej strane: desať otázok, jedna alebo dve vety na odpoveď. Týkajú sa publika, problému, hlavnej funkcie, obchodného modelu, toho, čo sa dá bez účtu, dát, ktoré musia prežiť, platformy, toho, čo je mimo prvej verzie, signálu úspechu a obmedzení. Ak odpoveď presahuje dve vety, často to znamená, že rozhodnutie ešte nepadlo.
Aký program použiť na písanie špecifikácie aplikácie?
Obyčajnú poznámku alebo textový súbor v koreňovom priečinku projektu: skopíruješ doň šablónu a nahradíš každý riadok. Môžeš si tiež stiahnuť šablónu aj s kontrolnou tabuľkou (.md), bez registrácie. Ak chceš viesť AI, ulož ju potom do kontextového súboru projektu.
Potrebuje aplikácia štyridsaťstranovú špecifikáciu?
Nie, keď robíš vlastnú appku: stačí jedna strana. Štyridsaťstranové šablóny z internetu sú písané pre klienta, ktorý si objednáva appku u dodávateľa a potrebuje zmluvný dokument. Ty rozhoduješ aj staviaš: tvoja strana slúži na rozhodnutie vecí pred kódovaním a na poskytnutie kontextu AI.
Ako dať špecifikáciu AI, ktorá kóduje?
Daj stranu do trvalého kontextu projektu: Claude Code číta súbor CLAUDE.md v koreňovom priečinku, Cursor má vlastné súbory s pravidlami. Keď to AI preháňa, citovaj časť „mimo verzie 1“. Pred veľkou úlohou požiadaj o plán, ktorý stranu rešpektuje, a zatiaľ nekóduj.
Ako overiť, že funkcia zodpovedá špecifikácii?
Ku každej funkcii pridaj tri riadky: akciu, očakávaný výsledok a dôkaz. Dôkazom môže byť automatizovaný test pre výpočet alebo kontrola na zariadení pre používateľský tok. Zapíš si aj to, čo otestované nebolo, aby si si nepomýlil hotovú obrazovku s funkciou pripravenou na používanie.
Čo nepatrí do špecifikácie aplikácie?
Štyri veci, ktorým sa vyhni: kompletný grafický manuál, harmonogram po dňoch, podrobná technická architektúra a funkcie „na neskôr“ pomiešané so zvyškom. Na začiatok stačí pár referenčných screenshotov a pri harmonograme stačí týždenný cieľ. Funkcie na neskôr patria všetky do časti mimo verzie 1.