Poctivý design, malé webíky i složité aplikace. To je ono.

Co děláme

Stručně řečeno děláme weby a mobilní aplikace. Ale rozeberme to trochu. Za posledních 5 let jsme toho na internetu udělali docela hodně. Vyburcovali jsme tisíce lidí k reálné práci při povodních, dva roky vedli největší webovou konferenci ve střední Evropě WebExpo, uspořádali několik ročníků soutěže pro mladé webaře Junior Internet, rozjeli samoudržitelný bikesharing Rekola atakdále. Mezitím jsme stále programovali, kódovali a designovali. Spolu s tím jsme vyvinuli řadu nástrojů pro programátory a kodéry, přednášeli, porotcovali a pomáhali nastavit vývojářské procesy v různých firmách.

Máme tedy zkušenost s reálným světem, s velkým náporem uživatelů, zkušenost s dobře i špatně udělaným designem. Zkušenost s prodejem, víceletým provozem, s postupným rozšiřováním, přenášením velkých dat i s bezpečností. A tuhle zkušenost přenášíme do každého webu i appky, kterou děláme.

To všechno děláme tak nějak přirozeně nadšení, s takovým vnitřním pnutím dělat věci, které ovlivňují, pomáhají, jsou dobré a posouvají svět technologií kupředu.

Jak designujeme

Člověk. Ten používá váš web nebo appku. Zrovna teď něco potřebuje. Je nervózní, nestíhá. Nechce zkoumat inovativní rozhraní, chce rychlou informaci. Anebo naopak. Právě sedí na gauči s vaší aplikací, má chuť si hrát, koukat se a utrácet. Pokaždé si ale musí odnést nějaký zážitek, intenzivní pocit. A samozřejmě nemusí být vždy příjemný - strach, že něco promeškám i naštvanost mají v designu svoje místo. Jen je třeba vědět, jak tu správnou emoci vyvolat a jak jí nakonec přetavit v konverzní cíl. Celé to má svůj proces, v angličtině se mu říká user-centered design.

Vizuál je pak ta hezká třešnička, díky níž si naše weby a aplikace lidi pamatují. Baví nás hrát si s detaily, pohybem, načítáním, videem a novými přístupy.

Jak vyvíjíme - kódování a programování

Menší weby a aplikace umíme přivádět na svět poměrně rychle. Hotový design obvykle nasazujeme na kombinaci WordPress a Nette frameworku nebo generujeme jako svižné statické stránky. Na frontendu používáme standardní technologie HTML5/CSS3/Ecma Script 6 kompilovaný přes Babel do JS. Testujeme v různých prohlížečích a na všemožných zařízeních.

Větší aplikace dnes žijí v ekosystémech. Věříme, že čím méně kódu píšeme, tím pro všechny lépe. A tak na začátku projektu důkladně analyzujeme, co a jak chceme tvořit. Bude výsledek jedna aplikace nebo bude samostatně API a na něj napojeny další aplikace? Jaký programovací jazyk a databáze se nám zrovna hodí? Jak postavíme serverovou infrastrukturu? Běžně na takový projekt nasazujeme spoustu technologií - od Nette (PHP) přes škálu Node.js frameworků po skripty v C++ nebo různé hardwarové vychytávky, Rasppery PI a Arduina.

Každý kód u nás vidí další vývojář v procesu code review, navíc důležité části jsou pokryté jednotkovými testy, které při každém deploymentu probíhají na nástroji pro continuous integration. Na zachytávání chyb nasazujeme nástroj Sentry.

Rychlost

Jedním z nejzásadnějších témat je podle nás rychlost načítání. Třetina lidí odejde, když se jim stránka nenačte do tří vteřin. Takže používáme vektorové ikony, optimalizujeme obrázky a servírujeme je podle potřeb zařízení. Minifikujeme všechny zdroje (a pro část používáme CDN), řešíme postupné načítání webu. K efektu rychlosti používáme často také drobné CSS animace, cachujeme na úrovni serveru. Rychlost u nás řeší grafici, kodéři, programátoři, testeři, prostě všichni. A to je dobře.

Spouštění

Oblíbili jsme si infrastrukturu na Amazon AWS. Většina věcí nám běží v datacentrech ve Frankfurtu. Load balancer se stará o rozdělení zátěže na několik strojů, které můžeme libovolně zvětšovat či zmenšovat. Služba RDS pak řeší databáze a ukládání dat včetně jejich záloh. A uživatelská data dáváme na S3. Bezpečnost se tak řeší velmi příjemně. S deploy procesem nám pomáhají Boti ve Slacku, které jsme si pro zjednodušení napsali.

Provoz

Každý zkušený webař vám řekne, že spuštěním všechno teprve začíná. A tak měříme, jak aplikaci uživatelé používají, kde funguje parádně a kde naopak potřebuje vylepšit.

A protože většina aplikací je dneska napojených na spoustu dalších služeb, vždycky hrozí, že některá něco změní a něco se pokazí. Našim úkolem je o takových problémech vědět jako první. Takže monitorujeme, co se děje a když něco není v pořádku, sejdeme se ve dne či v noci u počítačů.