• TwitterRSS
  • Domů na Webylon
  • Blog
  • Ryze praktická potrhlost

    17. června 2012

    Pan Martin Michálek nesouhlasně reaguje na mého Strážce technické příčetnosti [K.47], v němž jsem citoval jeho Konec éry potrhlého užívání bitmap.

    Předně bych chtěl zmínit, že můj text rozhodně nevznikal jako reakce na citované troubení na znamení konce éry — svým článkem mi vlezl do rány až dodatečně. Byť skutečně asi nehodlá psát Bibli protiobrázkového náboženství, připadá mi, že tažení směrem k nekritickému uctívání kreslicích vlastností CSS 3 docela aktivně podporuje.

    Mohu-li být konkrétní:

    Omezíme náročnost webu na výkon zařízení a spotřebu energie: […]

    Vykreslování elementů rozhraní pomocí CSS3 (stíny, kulaté rohy, gradienty) je skoro vždy rychlejší než obrázky. Jen vždy testujte — pozor na velké stíny a gradienty.

    — Martin Michálek, Případová studie: Prezentační web na mobilních zařízeních, 28. května 2012

    V komentářích jsem tuto pasáž zpochybnil, Martin Michálek zahnal debatu do kouta právnickou klasikou „tvrzení proti tvrzení“ a sporná věta v jeho případové studii zůstala ležet jako fakt. Ověřit si, že i malé tlačítko se stylopisově kresleným gradientem na pozadí zatěžuje systém víc než obrázek, je docela snadné.

    Jasně, vždy testujte, testujte a testujte… ale když nemáte čas na testování (kdo má?), přečtete si případovou studii a hned znáte přínos. Třebaže jen domnělý. Zpět k věci.

    Ekonomická úvaha

    Úvaha o nákladech na výrobu a údržbu a o přínosech zní rozumně a nezpochybnitelně. Otázkou zůstává, jak moc jsou ty domnělé náklady a domnělé přínosy přenositelné napříč projekty.

    Uživatelské rozhraní projektu se ladí ve velkém počtu iterací. V mé praxi se tohle děje u většího a většího počtu projektů a myslím si, že je to správný trend.

    Martin Michálek, Vzhůru dolů, 15. června 2012

    Fajn trend. Ale kdo rozhoduje o jakých změnách? Je uvnitř vývojového cyklu zapuštěný grafik? Pokud ano, měl by být vycvičený, aby aportoval rovnou vyřezané obrázky. Změny v grafice tedy může řešit sám prostou výměnou bitmap. Kodér je pak potřeba vesměs jen na úpravy v rozvržení a struktuře a na ladění technických potíží (nikoliv grafiky).

    Pokud uvnitř vývojového cyklu grafik není, výsledek se prohýbá a kroutí čistě podle vkusu zadavatele a schopností kodéra (omezených grafickými možnostmi CSS), což… může dopadnout dobře. Někdy. Spíš vzácně [K.47].

    Krom průběžně opečovávaných projektů pořád existuje (a troufám si říct, že zhusta převažuje) i ten jednorázový výrobní model, kdy se dodatečné změny v již nakódovaném webu prakticky nedělají. Zadavatel si vyjedná své představy s grafikem, ten vychrlí několik návrhů, finální PSD hodí na stůl kodérovi, ten uplácá šablonu, hotovo a čau za dva roky. Není to zastaralý model, stejně jako ten průběžný není vůbec nový — akorát se každý z nich hodí jinde a jindy.

    Mediální zázračnost CSS 3 vede k tomu, že i zadavatelé jednorázově kódovaných projektů chtějí vykreslování přes CSS, nehledě na ekonomickou úvahu.

    Bublina poloobecná

    Zmíněná bublina je dobrý příklad, na kterém se neshodneme.

    CSS tooltipová bublina nasazená ve čtyřech různých velikostech měla oproti řešení se čtyřmi obrázky na pozadí výrazně vyšší náklady na výrobu, ale během ladění rozhraní v iteracích se náklady naopak ušetřily.

    Každá další úprava tooltipů na tomhle projektu bude snažší, nemluvě o tom, že jsme si připravili řešení pro bubliny na jakýkoliv další projekt.

    Martin Michálek, Vzhůru dolů, 15. června 2012

    Je to fešácká bublina. Vyfotil jsem si ji, abych nemusel překopírovávat CSS:

    Ou, pardon, jsem to ale nešika, použil jsem jediný nesprávný prohlížeč. Takhle je fešáčtější:

    Teď si tedy tu bublinu zkusíme upravit. Stačí pár kliků v grafickém editoru:

    Líbí? Nelíbí? To je fuk, dejme tomu, že se takto proměnilo zadání. Ne, že by tohle v CSS spáchat nešlo, ale výrobní náklady docela zřetelně povyrostou (vzroste složitost kódu a klesne jeho již nyní celkem nízká srozumitelnost), přestože z bitmapového hlediska nebyl zásah nijak dramatický. Snadná údržba se totiž týká jen omezené podmnožiny úprav.

    Můžete grafikovi vymlouvat, že podobný efekt vlastně chtít nemá (ve smyslu posledního komentáře pod troubením), vysvětlovat zadavateli, že takováhle změna udělat snadno nejde… ale já bych vám to na jejich místě nezbaštil. Už třeba jen proto, že před šesti lety byste ve stejné situaci výmluvy nehledali.

    Elegantní a čisté řešení musí být otevřené směrem k rozumným požadavkům — chtít jakýkoliv druh společného ohraničení celé bubliny se šipkou rozumné není?

    Místo toho, aby se kodér patlal s rotacemi, by měl řešit kompatibilitu mezi prohlížeči. Starší Explorer neumí kulaté rohy a stíny a v u nás docela hojně rozšířených levných Androidech se na CSS grafice nepoužívá antialiasing, takže všechno šikmé či kulaté vypadá jak pixel-art. Obrázek řeší obě potíže hravě.

    • • •

    Během soboty se urodilo víc reakcí na můj článek. Twitter ani blog patrně nejsou optimální diskusní platforma. Máte-li kdokoliv chuť pokračovat, zvu vás do diskuse na Jak psát web. (Lze přispívat i bez registrace.)

    Pozdrav od Pixyho

    Strážce technické příčetnosti si vysloužil pár vřelých slov i od Petra Staníčka:

    Ale to je zase pěkný blábol, plny nesmyslů od začátku do konce. Ten člověk (dodneška nevim, kdo to vlastně píše) je permanentně mimo realitu – pár let zpět a ještě mimoběžně. Nemá cenu to ani číst, natož se nad ním nějak pozastavovat.

    Ty Chamurappiho anonymní povýšenecké plky nestály za zlámanou grešli ani před osmi lety a nestojí ani dneska.

    — Pixy, komentář kdesi na Facebooku, 15. června 2012

    Musím zamáčknout slzu dojetí. Pixy, tys na mě nezapomněl! :-)