Po minuloročnej, pre mňa premiérovej, návšteve webovej konferencie Webexpo som sa rozhodol za týmto účelom navštíviť Prahu ešte raz. Organizátori sľubovali kvalitný program a mnohé organizačné vylepšenia, čo zvyšovalo moju zvedavosť. A aké to teda bolo?

Organizácia

Z organizačného hľadiska prešlo Webexpo výbornými zmenami. Celá konferencia sa nekonala na jednom mieste a v jednej budove, ale celkom na deviatich miestach. Spočiatku som nápad usporiadateľov zorganizovať konferenciu na toľkých miestach považoval za nie práve najlepší. Predpoveď počasia tiež nehrala organizátorom do kariet, nakoľko sa každú chvíľu schyľovalo k dažďu, čo by presun z jedného miesta na druhé dosť znepríjemňovalo. Nakoniec to však bolo super - času na presun medzi prednáškami bolo dosť a človek sa medzi každou prednáškou postavil a nechal trocha prúdiť krv z hlavy aj do iných oblastí tela.

Pôvodne oznamovaný chýbajúci catering udalosti vôbec neuškodil. Môžem dokonca povedať, že sa mi ušlo viac jedla ako minulý rok, keď malo byť jedlo pre každého zadarmo. Drobné občerstvenie nechýbalo snáď na žiadnom mieste a keď sa schyľovalo k obedu, na rôzne stanovištia boli pristavené “footrucky”, v ktorých sa dalo kúpiť kvalitné jedlo za rozumnú cenu.

Za najvýraznejšiu a najlepšiu zmenu oproti minulému roku však považujem fakt, že spíkri neboli nútení používať angličtinu, ale mohli pokojne prednášať v češtine.

To najlepšie na začiatok

Čo odrádza používateľov od používania produktu ešte pred jeho poriadnym vyskúšaním? Aký je správny postup na zavádzanie zmien v aplikácii? Toto sú len niektoré z otázok, ktoré riešil Petr Douša zo samepage.io v prednáške Jak jsme nezískali milion uživatelů.

Pointa toho, čo nám Petr vo svojej štyridsaťminútovej prednáške vysvetlovaľ, sa dá vyjadriť nasledujúcou schémou:

Measure things -> Try things -> Measure things

Tento jednoduchý postup spočíva v tom, že pri vylepšovaní produktu je potrebné najprv zanalyzovať správanie užívateľov na základe dát z webovej analytiky. Následne sa podľa tejto analýzy navrhnú a vyskúšajú riešenia, ktoré by mali pomôcť používateľom k lepšiemu používaniu produktu. Na záver je opäť potrebné pozrieť sa na dáta z webovej analytiky a určiť, čo sa podarilo vyriešiť a čo nie. Tento postup by sa mal ideálne vykonávať v iteráciách, až kým nie je splnený určený cieľ.

V krátkosti ešte uvádzam niekoľko zaujímavostí, poznámok, znalostí, ktoré som si z prednášky odniesol:

  • Ak chcete vyhodnotiť, koľko má Vaša aplikácia používateľov, nepozerajte sa na počet zaregistrovaných používateľov, ale na počet aktívnych používateľov (t.j. takých, ktorí používajú Vašu aplikáciu aspoň raz za deň / týždeň)

  • Zjednodušovanie registračných formulárov je síce výborný nápad, avšak iba do takej miery, aby registračný proces nevyzeral ako prihlasovanie. Ak sa registračný formulár začne veľmi podobať na prihlasovací formulár, užívatelia sa pravdepodobne prestanú registrovať a viac používateľov nezískate.

  • Ak je na prvé použitie aplikácie potrebné overenie e-mailu, až 67% užívateľov nedokončí registráciu a nikdy aplikáciu nepoužije.

  • Zavádzané zmeny je vhodné overovať pomocou A/B testingu. Ideálne je, ak sa A/B testing používa v iteráciách - k existujúcemu (dosiaľ najlepšiemu nájdenému) riešeniu sa pridá nové, lepšie riešenie. Toto sa opakuje, až kým nie je dosiahnutý požadovaný výsledok.

  • Čísla hovoria často niečo iné ako pocity.

Webová typografia na responzívnych weboch

Prednáška o responzívnej webovej typografii síce na prvý pohľad nevyzerala príliš lákavo, nakoniec ma však obsahom v dobrom prekvapila. Spíker, Marko Dugonjic zo Smashingmagazine, predstavil niekoľko riešení na najčastejšie typografické problémy, ktoré je potrebné riešiť pri responzívnych weboch.

  • Nadpis, ktorý na desktope vyzerá dobre, často na mobile zaberie príliš veľa miesta. Rozdiel je tiež v zobrazení pri rôznej orientácii zariadenia (vertikálne / horizontálne). Treba sa s tým pohrať a netvoriť príliš dlhé nadpisy.

  • Aby sa text dobre čítal, ideálne je mať v riadku 66 znakov (treba sa držať v rozsahu 45-75 znakov na riadok).

  • Veľkosť textu na mobilných zariadeniach by mala byť prispôsobená tomu, ako budú používatelia aplikáciu používať a z akej vzdialenosti budú text čítať. Je rozdiel čítať text v aute z väčšej vzdialenosti (napr. pri sledovaní GPS navigácie) a pri písaní e-mailu z menšej vzdialenosti, keď sa na displej pozeráme z menšej vzdialenosti. Na testovanie je vhodné použiť webovú aplikáciu, ktorá mení veľkosť písma na základe vzdialenosti používateľa od displeja (kamery).

  • Aká je ideálna výška riadkov? Ak text vyzerá ako “bullet list”, riadky sú príliš vysoké. Ak však diakritické znamienka (napr. mäkčene) v jednom riadku splývajú s textom v riadku nad nimi, výška riadku je príliš malá.

  • Aká je ideálna hodnota vzdialenosti medzi písmenami? Text sa lepšie číta, keď je medzi písmenami väčšia medzera (tak, ako napríklad v novinách). Vo všeobecnosti sa nedá určiť ideálna hodnota, je však vhodné tweakovať v hodnotách 0.01em.

  • Information density - na desktope je vhodné obsah zobrazovať v troch stĺpcoch. Pri tabletoch by sa obsah mal vkladať do maximálne dvoch stĺpcov. Na mobilných telefónoch je vhodné, ak sa vš obsah zobrazuje v jednom stĺpci.

Hviezda z MariaDB

Ako web developer používajúci rôzne databázové systémy, som si nemohol nechať ujsť prednášku Colina Charlesa, ktorý vysvetlil rozdiely medzi MariaDB a MySQL. Hneď na začiatok jedna zaujímavosť - 19 z 20 najnavštevovanejších webov beží na niektorej z variant MySQL. Ani jeden z nich však nebeží na “čistom” MySQL. A teraz už k novinkám a rozdielom medzi MySQL a MariaDB. Uvádzam výhody, ktoré má MariaDB oproti MySQL:

  • Microseconds feature - ukladanie času v mikrosekundách

  • Virtuálne stĺpce (virtual columns) - niečo ako view v MySQL s tým rozdielom, že dáta vo virtuálnych stĺpcoch sa počítajú pri vkladaní do databázy a sú teda perzistentné na rozdiel od používania views, pri ktorých sa dáta prepočítavajú až pri vyberaní z databázy.

  • GIS (geographic features) - podpora pre ukladanie geografických súradníc a počítanie vzdialenosti

  • Fulltext search via SphinxSE

  • Dynamické stĺpce (dynamic columns) - podpora vytvárania virtuálnych stĺpcov rozdielnych pre rôzne riadky, podobne ako pri Cassandre.

  • SPIDER storage engine - horizontal partioning

  • Spúšťanie EXPLAIN pre už bežiace príkazy

  • Nová syntax pre KILL príkaz. Možnosť “zabiť” bežiaci dopyt na základe pripojenia alebo query_id.

  • PCRE regulárne výrazy (regular expressions) - podpora príkazov REGEXP_REPLACE, REGEXP_INSTR, REGEXP_SUBSTR.

Aké to teda celé bolo?


Celkovo udalosť Webexpo 2014 hodnotím pozitívne. Z organizačného hľadiska prešlo Webexpo veľkými zmenami, ktoré vo mne zanechali veľmi pozitívne dojmy. Z pohľadu web developera ma sklamali viaceré prednášky, v ktorých sa spíkri snažili zamerať na jeden konkrétny produkt (Datamining) alebo na veľmi špecifický use-case (Natívne aplikácie v HTML5). Keď sa však na event pozriem z pohľadu človeka, ktorého zaujíma aj webová analytika, určite nemôžem povedať, že by toho bolo málo zaujímavého. Bolo skvelé vypočuť si zaujímavé prednášky osobností ako Marko Dugonjić (Smashingmagazine), Colin Charles (MariaDB) či James Waldrop (Twitter).