Přejít k obsahu
Rozhraní7 min čtení

Návrh rozhraní před vývojem

Když se začne kódem, řeší se pak měsíce věci, které se daly vyřešit hodinovým rozhovorem nad strukturou. Popisujeme, jak u nás vzniká rozhraní a co se tím ušetří.

Zadání není seznam obrazovek

Většina projektů k nám přijde jako výčet: chceme přihlášení, přehled zakázek, export do Excelu. To je seznam funkcí, ne zadání. Zadání zní, co má člověk u počítače zvládnout udělat a za jak dlouho. Rozdíl se pozná až v provozu, kdy je oprava nejdražší.

První schůzku proto vedeme jako rozhovor o dni toho člověka. U Walia to byla otázka, co dělá obsluha za barem, když má tři lidi ve frontě. U Layered to bylo, jak se dnes eviduje docházka na kurzu. Odpověď „v tištěném seznamu“ změnila celý datový model.

Dokud nevíme, co má člověk udělat, nemá cenu kreslit obrazovky.

Struktura před vizuálem

Druhý krok je mapa: jaké stavy systém má, kdo je vidí a co se stane, když něco chybí. Bez ní vznikají rozhraní, kde jsou tři cesty k témuž a žádná není úplná. Tuhle část děláme v textu, ne v grafickém nástroji, protože se v ní snadněji škrtá.

Co v mapě musí být

  • Seznam rolí a toho, co která smí vidět a měnit.
  • Stavy záznamu od vzniku po archivaci, včetně těch nepříjemných: storno, duplicita, chybějící údaj.
  • Místa, kde se pracuje s cizím systémem, tedy platby, fakturace nebo sklad.
  • Co se stane při nulovém obsahu. Prázdná obrazovka je taky stav.
Přehled leadů ve WCRM s upozorněními na nečinné nabídky
První obrazovka WCRM říká, co je potřeba udělat dnes. Vznikla ze seznamu stavů, ne z návrhu vizuálu.

Klíčové chování ověřujeme před vývojem

Chování rozhraní řešíme dřív, než se napíše kód: co se stane při dlouhém názvu, jak se to zlomí na mobilu, co ukáže prázdný seznam nebo chybějící údaj. Když se tyhle otázky odloží, vrátí se ve chvíli, kdy je jejich řešení nejdražší.

U projektů, které sami vyvíjíme, ověřujeme klíčové obrazovky v náhledu v prohlížeči. Když připravujeme samostatný UX/UI návrh pro váš vývojový tým, předáváme ho jako prezentaci s obrazovkami, stavy a mapou rolí. Rozdíl je v procesu ověření, ne v tom, co má návrh týmu předat.

Když sedí domovská a jedna vnitřní stránka, zbytek už je opakování. U vlastního vývoje klíčové stránky ověřujeme v náhledu v prohlížeči a připomínky sbíráme přímo v něm. U samostatného návrhu připravujeme prezentaci, kterou s týmem společně projdeme obrazovku po obrazovce. Stejný postup používáme u webů na míru i u interních aplikací.

Jak to dopadne na jednom kroku

Vezměme jedinou obrazovku z Layered: výběr termínu a platba. V seznamu funkcí by stálo „rezervace kurzu s platbou kartou“ a dalo by se to postavit za den. V mapě stavů se ale objevila otázka, co se stane mezi kliknutím na „zaplatit“ a potvrzením z banky.

Odpověď „zatím nic“ znamená, že při posledním volném místě a dvou lidech v platební bráně se místo prodá dvakrát. Klientka by to pak řešila telefonem a vracením peněz. Proto rezervace běží v databázové transakci a rozdělaná platba drží místo patnáct minut. Radši ať zákazník uvidí obsazeno.

Výběr termínu a platba u kurzu na webu Layered
Patnáctiminutové držení místa není vidět. Je to ale jediný důvod, proč se poslední místo neprodá dvakrát.

Tohle je celý rozdíl. Rozhodnutí zabralo deset minut rozhovoru a jeden řádek v mapě stavů. Kdyby přišlo až po spuštění, znamenalo by přepsat model rezervací v systému, který už má zaplacené objednávky. Návrh dopředu nešetří čas na vývoji; šetří přesně tyhle situace.

Co se tím ušetří

Nejde o to, že by se návrhem zkrátil vývoj. Zkrátí se přepisování. Na projektech, kde jsme začali strukturou, jsme neměli ani jednu situaci, kdy se hotová obrazovka zahodila. Tam, kde jsme dřív začínali kódem, se to stávalo pravidelně.

Vedlejší efekt: zadání se dá předat dál. Když se za rok vrací klient s rozšířením, čte se mapa stavů, ne cizí kód. Tím se drží cena rozvoje, ne jen cena první verze.

Kdy návrh dopředu nedělat

Když jde o jednu stránku s jasnou akcí nebo o drobnou úpravu hotového systému. Tam je rychlejší to postavit a podívat se. Návrh dopředu se vyplácí od chvíle, kdy má rozhraní víc rolí, víc stavů nebo napojení na další nástroj.

Časté otázky

Co znamená design-first ve vývoji?

Že se nejdřív definuje úkol uživatele a struktura systému a teprve pak vzniká kód. Návrh přitom neřeší jen vzhled, ale i chování: role, stavy a co se stane, když něco chybí. U projektů, které sami vyvíjíme, ho ověřujeme v náhledu v prohlížeči. Samostatný návrh předáváme jako prezentaci s obrazovkami, stavy a mapou rolí.

Neprodlouží návrh dopředu celý projekt?

U střední aplikace přidá dva až tři týdny na začátku a ubere přepisování na konci. U větších projektů je to víc. U projektů s více rolemi a stavy se to vrací už při první větší změně zadání.

Kdo se má návrhu účastnit?

Lidé, kteří systém budou používat, ne jen ti, kdo ho platí. Půlhodina s člověkem od přepážky nebo za barem odhalí víc než týden úvah v kanceláři.

Jak se návrh předává do vývoje?

Když stavíme i my, nepředává se: návrh jde rovnou do kódu. Přístupy, dokumentaci a rozsah předání zdrojového kódu si vyjasníme v nabídce a smlouvě před začátkem práce. Když máte vlastní vývojáře, předáme jim prezentaci s klíčovými obrazovkami, jejich stavy a mapou rolí a jsme k dispozici, když se při stavbě objeví otázka. To je služba Návrh UX a UI.

AutorOndřej Koziorek

Founder a creative director nkz.studio. Vede návrh a značku, vývoj řešíme v nkz.dev.

Probrat projekt
Dál ze zápisků
Rozhodování

Web, e-shop, nebo vlastní aplikace?

Čtyři otázky, podle kterých poznáte, co vlastně poptat.

Přečíst
Zadání

Co musí obsahovat zadání pro aplikaci?

Technické zadání mít nemusíte. Stačí popsat provoz, role a ruční práci.

Přečíst
Cena

Kolik stojí interní systém pro firmu?

Co cenu zvedá, čím začít a jak spočítat návratnost z ruční práce.

Přečíst