O mně     Twitter

ARCHIV – tento článek je již staršího data. Doufám, že mnoho myšlenek v něm je stále platných, avšak některé informace již mohou být zastaralé.  

Jednoduchost jako konkurenční výhoda

20.12.2005

Firma 37signals chápe jednoduchost jako svou hlavní konkurenční výhodu a její aplikace (Basecamp, Writeboard) jsou toho živým důkazem. Proč ale většina softwaru dneška není jednoduchá? A jak vytvořit jednoduchý software?

V poslední době pracuji často s aplikacemi od 37 signals. Pokud jste o 37signals ještě neslyšeli, je to malá americká firma vyvíjející např. Basecamp, webový systém pro řízení projektů, nebo Writeboard, aplikaci pro psaní dokumentů na webu a jejich sdílení s dalšími lidmi.

Aplikace od 37signals jsou výjimečné v tom, že se snadno používají (firma také považuje jednoduchost za svou hlavní konkureční výhodu):

  • Obsahují opravdu jen ty nejdůležitější funkce a nezahlcují vás těmi, které nepotřebujete (nebo potřebujete jen občas).
  • Aplikace je navržena s ohledem na typické činnosti (úkoly), které v ní provádíte.
  • Na všech obrazovkách aplikace dostáváte k dispozici jen ty funkce, které jsou relevantní k tomu, co provádíte. Navíc jsou jednotlivé funkce zvýrazněny s takovou intenzitou, jakou si v dané situaci zasluhují.

Např. dokument ve Writeboardu vytvoříte tak, že zadáte na úvodní stránce webu Writeboard.com název dokumentu, heslo a svůj e-mail – po stisknutí tlačítka můžete okamžitě začít psát. Žádná registrace, žádné zbytečné údaje, žádný zbytečný systém pro administraci všech vašich dokumentů.

Řeknete si možná, že by vám pokročilé funkce časem chyběly. Mně osobně občas chybí, ale jenom občas. A v tom je ten vtip. Po většinu času vám nechybí pokročilé funkce, které využijete jen občas, a oceňujete, jak se aplikace snadno používá. Ve chvíli, kdy potřebujete nějakou pokročilou funkci, tak to sice zamrzí, ale přínos jednoduchosti je v porovnání s touto funkcí daleko větší. To je hlavní výhoda jednoduchých aplikací.

Proč je dnešní software tak složitý

Většina webových i desktopových aplikací dneška se špatně používá. Obsahují mnoho funkcí, takže se cítíte často doslova zahlceni, a nejsou navrženy s ohledem na uživatelské úkoly, ale na funkcionalitu (na začátku nebyly zkoumány potřeby uživatelů, ale přemýšlelo se hned o funkcích).

Je to asi proto, že na návrh a použitelnost dnešních aplikacích není kladen dostatečný důraz, středem celého procesu je programování. Návrh se často podceňuje a pokud je udělán kvalitně, často je během vývoje přidávána další funkcionalita a s ní návrh ztrácí jednoduchost (i pokud původně jednoduchý byl).

Jednoduchost má totiž tu nevýhodu, že vyžaduje hodně nadhledu a malé obeznámení s konkrétní aplikací. Pokud někdo programuje určitou aplikaci půl roku, klidně do ní přidává další funkce bez velké koncepce, protože se mu to stále zdá dostatečně jednoduché (aby ne, když s aplikací tráví již půl roku a zná každé její zákoutí). Na jednoduchost je potřeba se ohlížet pokaždé, když do aplikace přidáme něco nového. Je třeba se ptát: Je nová funkce natolik důležitá, aby se vyplatilo kvůli ní udělat aplikaci složitější?

Každá nová funkce rozšiřuje funkcionalitu aplikace, ale zároveň zvyšuje její složitost.

Co udělat, aby byla vaše aplikace jednoduchá

Nedá se říct jednoduše, co je třeba udělat k tomu, aby byla vaše aplikace jednoduchá. Mám ale pár tipů:

  • Začínejte uživatelem. Uvědomte si nejen, co potřebuje, ale zároveň, co potřebuje hodně a co méně. Do své aplikace zahrňte jen ty nejdůležitější funkce.
  • Použitelné musí být nejen jednotlivé funkce aplikace izolovaně, ale i jejich spojení při provádění úkolů. Najděte si typické úkoly uživatele a optimalizujte aplikaci tak, aby bylo jejich provádění co nejjednodušší.
  • Používejte Paretův princip: 20 % funcionality přinese uživatelům 80 % užitku. Snažte se najít a zahrnout do aplikace hlavně těchto 20 % funkcí.
  • Na závěr mám dvě zajímavé techniky z praxe:

    • 37signal nechávají uživatele posílat připomínky a návrhy na novou funkcionalitu. Do aplikací zahrnují ale jen ty návrhy, které se objeví tolikrát, že si je příslušný člen týmu zapamatuje. Ostatní návrhy skončí v koši, protože stejně budou neustále vytlačovány důležitějšími návrhy a na jejich zahrnutí do aplikace se nedostane.
    • Dobrou technikou je prý také anti-features list, tedy seznam funkcí, které aplikace určitě nebude obsahovat. Tento seznam je sestaven již během prvního návrhu a kdykoliv chce někdo přidat v průběhu vývoje aplikace nějakou funkci, je porovnávána s tímto seznamem.

Související články

Životní fáze návrháře

11 komentářů od čtenářů

 

Přidat komentář

1. David Špinar | 20.12.2005, 10.08

IMHO jsou BaseCamp a Writeboards tak dobré aplikace, protože si je lidé v 37signals původně vytvořili pro sebe. Jsou to systémy, které perfektně sedí na typ práce, které dělají konzultační firmy (právě typu 37signals, u nás H1.cz, Dobrý web atp.).

Na druhou stranu si ale myslím, že pro ryze vývojářské týmy by se našly lepší systémy. Něco co umí navazování úkolů, termíny u úkolů, ganttovy diagramy atp.

2. Aleš Janda | 20.12.2005, 14.12

Nemyslím si, že jednoduché programy jsou nejlepší. Ano, mnohokrát jsem ocenil třeba Malování ve Windows. A "občas" mě štvalo, že to neumí víc. Ale když mě "občas" štve ta samá věc a vím, že se to v příštích verzích nezlepší (neboť vývojáři na to *schválně* kašlou), je nejvyšší čas se poohlédnout po jiném programu.

"Vyspělejší" funkce nemusí být hned v základním nastavení, ale v "pokročilém" nastavení či přepínači v příkazovém řádku určitě.
Mé heslo je: pokud mám v programu napevno dané nějaké číslo nebo konstantu (snad mimo nuly nebo pí), chce to přidat další položku do nastavení...

3. Gaspoda | 20.12.2005, 17.35

Vezmeme si priklad prohlizecu:
jednoduchy MSIE
nebo
komplexni Opera
nebo
Firefox rozsiritelny pluginy.

Myslim, ze obecne nastava presun uzivatelu od toho prvniho k tem druhym. Ja osobne jsem MSIE pouzival 5 let a byl jsem s nim spokojeny, nicmene jakmile jsem zkusil neco jineho, predstavitel jednoduchosti v podobe MSIE byl pro me nepouzitelny.

Jaky prohlizec pouzivate ? "MS Jednoduchy" nebo jiny ?

4. Ivorius | 20.12.2005, 20.20

Myslím, že dobrou volbou je dát uživately vybrat. Např. přehrávač Mv2 player (myslím že se tak jmenuje) dává na výběr z několika profilů (od začátečníka po profesionála?) a s tím spojené množství funkcí.

5. Hellish | 20.12.2005, 20.46

[1] - Nemyslím si, že BaseCamp a Writeboards jsou dobré aplikace právě proto, že si je lidé v 37signals původně vytvořili pro sebe. Když se dělá program šitý někomu na míru, obsahuje spoustu drobností, které by ostatní nepotřebovali. Zmiňované programy jsou však přesným opakem - jsou ořezané až na kost (úplně k nejzákladnějším funkcím)

[2] - Já si myslím, že jednoduchost v kombinaci s rozšiřitelností je skutečně ta správná cesta. Vezměte si jako příklad Apple iPod. Ve své podstatě neumí nic jiného než přehrávat MP3 (nyní už i video, ale to teď nechme stranou). A přesto je to nejoblíbenější přehrávač. Proč? Protože místo aby vývojáři řešili implementaci rádia a podobných funkcí, které většina lidí nepotřebuje, věnovali se zdokonalování té nejzákladnější funkce - přehrávání písniček. A lidi to ocenili. A tahle filosofie je silnou zbraní Applu. Věřte mi, že o něm v budoucnu ještě hodně uslyšíme nejen v oblasti kapesních přehrávačů (ale to už odbíhám někam úplně jinam)

6. Jan Brašna | 20.12.2005, 20.56

[1] Davide, přesně tohle jsem Martinovi říkal, když mi ukazoval koncept článku :) ... (Jinak ti taky chybí gantty a vazby (tuším na Sugaru)? Copper (komerční) to má dost dobře vymakané.)

[3] Přesun od IE je hlavně díky neschopnosti, nebezpečnosti a nestabilitě. Já používám jednoduché Safari, a na běžný webový konzum mi vyhovuje.

7. Jan Brašna | 20.12.2005, 20.59

[5] To je celkově většina jejich produktů, dlouhodobě, vlasně odjakživa. (A viz právě můj předchozí komentář :D ...)

8. David Špinar | 20.12.2005, 23.51

[6] Ne, Honzo, Gantty mi nechybějí. Ale právě proto, že nejsme vývojářská firma, ale konzultanti. Pokud bychom dělali weby nebo programovali, asi bych se poohlédl po nějakém jiném systému. Třeba Bugzille.

9. Bochi | 21.12.2005, 1.49

Také bych řekl, že lepší než oba zmíněné extrémy vede nejlepší cesta většinou přes profily s různými úrovněmi. Nad chybějící funkcí v důsledku snahy o maximální jednoduchost aplikace se nedá vždy mávnout rukou a prohlásit "...tak to sice zamrzí...". Když potřebuji dosáhnout nějakého výsledku, pak mi ta konkrétní funkce může dost chybět. A pak je pro mě lepší program, který je sice složitější a umí to, než program, který to neumí i kdybych se rozkrájel.
Pokud bych trval na používání té jednoduché aplikace, vedlo to v některých případech k tomu, že bych musel část práce dodělat v něčem komplexnějším. A pak je otázka, jestli efektivnost, kterou jsem získal používáním jednoduchí aplikace, neztratím neustálým přecházením mezi dvěma různými aplikacemi.

10. Bochi | 21.12.2005, 1.50

Pardón, nějak se mi zašmodrchala ta první věta. Měla znít: "Také bych řekl, že spíše než přes oba zmíněné extrémy vede nejlepší cesta většinou přes profily s různými úrovněmi. "

11. Ice | 16.3.2006, 8.57

Uvidíme jak na tom budou nové Office s tím jejich systémem?

Přidat komentář

Diskuse již není aktuální, další komentáře tedy není možné přidávat. Pokud mi i přesto chcete sdělit svůj názor na článek, kontaktujte mě.

© Martin Snížek 2005-2022.   ISSN 1802-2103.