Kdo jsou Student Agency?
Student Agency je firma, které se podařilo velmi dobře v ČR prosadit především jako autobusový dopravce. Jejich linky pokrývají velké množství měst a stále přidávají další. Zvýšili konkurenci a obecně tak zvýšili úroveň některých dopravců, kteří měli donedávna na některých linkách téměř monopol. Jsou dokonce jedním z hlavních důvodů, proč ještě nemám řidičský průkaz. Pokud jsem se potřeboval dostat do Liberce, Brna nebo Bratislavy, snadno jsem si zarezervoval jízdenku a v poměrně příjemném a čistém autobuse se dopravil na místo určení.
Starý rezervační systém
Jejich rezervační systém byl o několik úrovní dál než konkurence. Bylo možné si rezervovat jízdenky pro více lidí najednou, dobíjet kredit dopředu, platit přímo bez registrace za zakoupené jízdenky nebo postup kombinovat. Příjemná byla možnost uplatnit kredit na kteroukoliv linku po ČR nebo dobíjet kredit a kupovat takzvané otevřené jízdenky na prodejnách, které měli otevřeno až do večera. Navíc rezervace bylo možné provádět pomocí SMS a případné rušení nebo změna rezervace byla možná zdarma na pár kliknutí i půl hodiny před odjezdem. A obecně celý systém fungovat až na malé výtky k mé spokojenosti.
Proč o nich vůbec píšu?
Píšu o nich protože se této společnosti podařil opravdu husarský kousek. Nasadili nový rezervační systém, který je učebnicovým příkladem, jak se weby dělat nemají. Nechci celý zbytek článku vést jen jako kritiku, spíš bych rád poukázal na některé opravdu “worst practices”, které se autorům webu povedli a dal tak rady, na co si dát při vývoji a nasazování webových aplikací pozor. Pokusím se své poznatky rozdělit do několika následujících bodů.
Navíc chci upozornit, že web se mohl od doby napsání tohoto příspěvku změnit a tak berte jednotlivé body spíš jako odstrašující příklady a rady, jak nedělat svoji práci .
Lidi nemají rádi změny – neměnit to, co funguje
Někoho v této společnosti zřejmě napadlo, že by bylo dobré web předělat. Proč? Nevím - fungoval. Nesetkal jsem se nikdy s výpadkem, chybou, dlouhou odezvou nebo jinou nepříjemností. Systém možná nepatřil mezi nejpřehlednější, ale fungoval a lidé si na něj zvykli.
Pokud někdo u zaběhnutého, neproblémového systému, jako je tento, chce provést změny, vždy je dobré ověřit si, zda výhody opravdu budou pozitivem a lidé opravdu ocení nové úpravy. Snad u všech známých (včetně mě) nový systém však nevyvolal dobrý pocit.
Jaký byl tedy opravdový důvod něco předělávat? Často “prosvítají” funkční střeva starého systému a tak nejde o nějaký kompletní refactoring, jen o změnu vzhledu a funkce některých prezenčních částí.
Nicméně změna fungujícího řešení ale nemusí znamenat ještě nic špatného a dá se pochopit, že k němu mohl existovat důvod.
Nasazení neotestované verze
Pokud něco funguje a zákazníci jsou s tím spokojeni a obecně aktuální stav nijak neomezuje v nákupech, není jediný rozumný důvod, proč uspěchat nasazení nedokončené verze, jako tomu udělali autoři webu.
Na to hned po zobrazení hlavní strany upozorní červené upozornění:
“Vážení klienti, omlouváme se, z důvodu změny fungování rezervačního systému, není rezervační systém plně funkční v prohlížeči Internet Explorer. Použijte prosím prohlížeč Mozilla Firefox. Děkujeme za pochopení.”
Tato komplikace pro uživatele je umocněna tím, že není možnost se přepnout na původní verzi webu. A pro lidi příliš neznalé počítačů není ani uveden odkaz na stažení alternativního prohlížeče.
Nějak mi prostě není jasné, co se honí hlavou člověku, který si řekne: Systém sice funguje, ale to není důvod proč místo něj nenahodit nedodělanou verzi, která nefunguje v jednom z nejrozšířenějších prohlížečů. Lidi určitě nedodělané novinky a upravené prostředí přeci musí ocenit!
“We can do it” vs “we should do it”
To, že nějakou technologii umíte ještě neznamená, že ji musíte použít.
Ajax a Javascript sám o sobě není špatný. Jde ho ale špatně použít. Například hlavní stránka rezervačního systému se po načtění začerní a čeká se na točící gif znázorňující načítání aktuálních spojů. I když chci udělat něco, co s těmito spoji nemá nic společného, stejně čekám.
Na druhou stranu pro přehození hodnot mezi sebou ve dvou rozbalovacích seznamech se dělá klasický požadavek na server (přitom by to šlo jednoduchým JavaScriptem). A jistě – načtění stránky znovu vyvolá odporný čekací gif a donačítání aktuálních spojů. Skvělá práce.
Skinování tlačítek a seznamů je fajn věc, pokud to má smysl (viz další bod týkající se designu). Na druhou stranu se tím ale všechno zpomaluje. Opět platí pravidlo – nedělat něco jen protože to umím. Obecně rychlou odezvu ocení lidé více než kulaté tlačítko.
Dokážu pochopit Ajax na místech, kde nechceme refreshovat stránku. Například zobrazení detailu obsazenosti autobusu a podobně, ale proč ho dávat na místa, kde je znovunačtení stránky žádoucí? Na místa, kde se Ajaxem obnoví 90% stránky a není potřeba udržet stav. Navíc ztrácíme možnost používat tlačítko “Zpět”. Oproti tomu na druhou stranu si rezervační systém nedělá hlavu s Ajaxem i v situacích, kde se vlastně nic zásadního na stránce nezmění a nebyl by vlastně vůbec potřeba. Každý požadavek je třeba půl vteřiny “zaseknutí”, což je při 10 kliknutích už 5 vteřin čekání a to je dost.
Uživatelské prostředí
Grafické zpracování se mi dříve příliš nelíbilo. A nová podoba je na můj vkus ještě horší. Samotné vzezření ale není důležité.
Co považuji za vážný prohřešek je na rozdíl od toho “jak to vypadá” spíš “jak se to ovládá”. Odkazy černou barvou, tlačítka nekonzistentního vzhledu (různé varianty po stránce) a obecné rozložení nemá s uživatelskou přívětivostí moc společného. Například jde kliknout na kredit jízdenky a zobrazí se historie plateb. To ale není nikde uvedeno (žádný popisek, žádné znázornění, že se jedná o odkaz a podobně).
Dalším neduhem je opravdu rozházený vzhled a nejednotnost. Je na systému vidět, že nebyl určený žádný jednotný směr. Web nepůsobí dobře a špatně se na něm orientuje. U některých například tlačítek je ikona otazníku s tooltipem. Ta je však opravdu jen někde a spousty zaškrtávacích tlačítek má pro mě neznámou funkci (například popisek “Zpáteční otevřená” není úplně vypovídající).
Beta verze
Nasadit nový systém obnáší mouchy. Vždycky, ať testujeme jak chceme. Ale pokud si autoři ani neprošli stránky jako “Registrace”, “Nákupní místa”, “Ceníky”, či “Důležité informace”, pak je někde něco špatně – nyní totiž žádná z nich nefunguje. Takovou verzi by nikdo zveřejňovat bez možnosti návratu k původní verzi neměl. Ani jako beta verzi k ozkoušení.
Závěrem
Nevím, zda je tento nový web experimentem, jak ztratit zákazníky nebo jednoduše zaslepeným pokusem několika programátorů vylepšit existující funkce bez jasné vize a rekapitulace toho, co vůbec nová verze přinese a co se případně naopak zhorší.
Říká se, že chybami se člověk učí. A já doufám, že se mi podařilo vypíchnout ty nejzásadnější chyby, se kterými se můžeme setkat a na které je dobré si dát pozor.
Tento krátký příspěvek bych zakončil patičkou aktuální verze rezervačního systému, který mě zase o něco víc přesvědčuje o tom, že autoři připravovali web více pro sebe, než pro zákazníky:
Vytvořil YBUS Tým, sestavení 084f57494223db7dc801686e522b141c45de1ca7