it-swarm-eu.dev

Je třeba se v moderních aplikacích vyhnout dialogům?

Na posledním navrženém systému jsem použil několik dialogů. Tato aplikace byla obchodní aplikací s mnoha databázovými tabulkami a pro zobrazení dat jsem použil mnoho datových sítí. Bylo běžné, že jsem umístil tlačítko pod datovou mřížku s textem Create new item nebo Create new group nebo cokoli, co bylo uvedeno v mřížce. Jinými slovy bylo tlačítko použito k vytvoření nového řádku v tabulce.

Když uživatel klikl na tlačítko, byl vytvořen nový (modální) dialog s textovými poli a dole tlačítko pro odeslání. Ale je to opravdu doporučený způsob, jak toho dosáhnout? nebo jak mám navrhnout aplikaci bez modálních dialogů?

Pokud se jednalo o webovou aplikaci, pravděpodobně jsem uživatele poslal na novou webovou stránku obsahující formulář, ale to mi zní podobně jako modální dialog.

Je třeba se v moderních aplikacích vyhnout dialogům? a jaké jsou alternativy?

17
Jonas

Obecně platí, že byste měli používat dialogová okna pouze tehdy, když musíte. Je výhodné použít přímou manipulaci nebo zadávání nebo úpravy na místě, kde uživatel pracuje přímo na datových objektech reprezentovaných v primárním okně. V případě vytváření objektů má přístup úpravy na místě buď:

  • Tlačítko Vložit, které vytvoří objekt a přidá do datové mřížky prázdný řádek pro zadání hodnot pole,

  • Trvalý prázdný řádek v dolní části datové mřížky (nebo jinde) - pokud do ní uživatel zadá hodnoty, aplikace vytvoří nový objekt.

Srovnávám tyto dva přístupy SO v odpovědi na otázku „ Co je nejlepší při vkládání do zobrazení tabulky, tlačítka přidat nebo prázdný řádek?

Ve srovnání s přístupy upravenými na místě mají dialogová okna následující nevýhody:

  • Další učení. Přidá do aplikace okno, jeho záhlaví a tlačítka (např. OK a Storno) a pole - pole, která již často existují na nadřazené datové mřížce, ale jsou uspořádána jinak. To postupně zvyšuje to, co se uživatelé musí naučit.

  • Posun pozornosti. Vyskakování dialogu vyžaduje, aby uživatel přesunul pozornost na něco nového, což má určité náklady na opětovnou orientaci a aby se uživatel cítil méně pod kontrolou dat.

  • Další kliknutí. Dialogová pole je třeba provést a zrušit. To vyžaduje alespoň jedno kliknutí navíc. Naproti tomu s úpravami na místě může uživatel před uložením vytvořit více objektů (pokud ukládání není automatické).

  • Modalita. Pokud musíte mít modální dialogové okno, odstraňujete flexibilitu uživatele a nutíte uživatele dokončit vytvoření nebo jej opustit. Pokud pro dokončení vytváření potřebují další informace odjinud v aplikaci, jsou nuceni zahodit veškerou práci, kterou odvedli.

  • Riziko ztráty práce. Jedním neúmyslným kliknutím na tlačítko Storno se vrací jakýkoli vstup, který uživatel provedl, a dialogové okno se zruší, což uživatele nutí začít znovu. Ztráta více vstupů jediným kliknutím není charakteristická pro správně navržená primární okna a primární okna obvykle podporují Zpět.

Dialogy by měly být použity pro atomové akce, které vyžadují parametry; to je situace, kdy aplikace musí mít určitý vstup od uživatele, aby mohla akci technicky nebo logicky dokončit. Pokud například vytvoření objektu vyžaduje hodnoty polí, které nelze přednastavit, je pravděpodobně vhodné použít dialog.

Takový dialog Vytvořit by měl pravděpodobně obsahovat pouze povinná pole, nikoli žádná nepovinná. Nechte uživatele vyplnit všechna volitelná pole zpět na datové mřížce. Z důvodu modality a rizika ztráty práce by dialogy měly být co nejjednodušší. Jako hrubé pravidlo by uživatel měl být schopen dokončit vstup za přibližně 20 až 30 sekund - to je přijatelné množství práce, kterou musí znovu provést.

Máte pravdu, že ve webových aplikacích je samostatná vstupní stránka do značné míry ekvivalentní modálnímu dialogovému oknu, kde je uživatel nucen dokončit nebo zrušit transakci dříve, než učiní cokoli jiného. To dává mnoha webovým aplikacím neohrabaný „nepřímý“ pocit ve srovnání s tekutým pocitem ekvivalentu přímé manipulace s stolním počítačem.

9
Michael Zuschlag

V Mac OS X jsou Spaces, což jsou virtuální desktopy (a také v nastavení duální obrazovky). Aplikace s více okny nefungují s prostorem dobře, modální dialogy mají stále tendenci objevovat se na nesprávných stolních počítačích!

Pokud místo toho použijete listy připojené k nadřazenému oknu, nebude to pro uživatele obtěžovat stejným způsobem.

2
neoneye

Někdy to bude fungovat a jindy ne, ale s příkladem, který jste navrhli, se „zdá“, že by aktualizace iax mohla umístit nový řádek do tabulky. Uvedli jste, že jste použili dialogové okno s novým datovým řádkem/mřížkou a poté tlačítkem pro odeslání. Není jasné, zda se jedná o potvrzovací dialog s upravitelným obsahem nebo zda je to jen ano/ne. Co také není jasné, je to, co uživatel edituje/přidává obsah, a pak přidá nový řádek do datové mřížky.

Zdá se mi, že byste mohli dovolit, aby nový řádek vytvořil/upravil uživatel na stránce a pak jej aktualizoval, vše bez dialogových oken. Pokud z nějakého důvodu musíte otevřít nový panel, obvykle je nyní před dialogovým oknem upřednostňován pěkně stylizovaný modální režim, protože ve skutečnosti neotevřete novou instanci prohlížeče, vezměte uživatele mimo stránku, na které se nachází, nebo odeberte kontrolu od nich. Většina výzkumu UX má tendenci ukázat, že tlačítko „zpět“ je stále jediným plně pochopitelným mechanismem prohlížeče. Vyskakovací okna a dokonce i uživatelská rozhraní s kartami jsou hit a miss v závislosti na uživateli.

1
jameswanless

Myslím, že jsou zmíněny nevýhody. Nemyslím si však, že můžete nebo byste měli dialogy odmítnout.

Vložená editace/tvorba (jako v Excelu) je užitečná pro rychlé psaní mnoha záznamů nebo pro editaci velmi specifických hodnot.

Ale nemusí to být nejlepší, když potřebujete uložit podrobnější záznam, než je uvedeno v seznamu tabulky. Řekněme, že zobrazuje jméno osoby, adresy, datum narození. Při zadávání nového záznamu však můžete chtít zahrnout také sociální zabezpečení, místo narození, vztahy s rodiči, soudní status nebo celou řadu dalších možností.

Dialogy mohou také pomoci s jednodušším ui, poskytováním rozbalovacích polí pro propojené informace, poskytováním zpětné vazby, vkládáním datových uživatelů nebo jiných ui prvků. Většina z nich nemůže být vložena do inline editace, aniž by došlo k prudkému zaplnění uživatelského rozhraní.

Oddělení akce ukládání informací od zadávání údajů není jen zátěží, může být také užitečné poskytnout strukturovaný okamžik přezkumu: vyplnil jsem vše, je to teď v pořádku? Tuto možnost se mi velmi líbí, například když si objednáte něco online, můžete informace shromažďovat a vyplňovat krok za krokem, a pak existuje jasný okamžik rozhodnutí, než bude skutečně dokončen.

Takže si myslím, že to závisí na kontextu: počtu polí, typu poskytovaných informací, struktuře, ve které se informace shromažďují. Nedoporučoval bych se vyhýbat dialogům obecně: jen pomyslete na to, kde jsou vhodné a kde nejsou.

Pokud jde o modální nebo ne, nemodální způsobuje, že je matoucí (protože dialog se může skrývat za ostatními a ztrácí se nebo zapomíná), modální to může způsobit, že to dráždí (protože nemůžete dělat nic kromě toho, co děláte.) Obvykle modální dialogy nejsou nejlepším způsobem, jak jít, ale znovu je používejte tam, kde jsou namontovány, místo slepého vyhýbání se jim.

Při zvětšení obrazovek by mohlo být možné umístit dialog (nebo detailní pohled) vedle přehledu tabulky. A opět, s nárůstem chytrých telefonů se zmenšuje také spousta obrazovek a dialogy jsou ještě důležitější, protože úpravy tabulky, když vidíte jen několik buněk v té době, prostě nefungují dobře.

1
Inca