45 minut kvůli dvěma odkazům v patičce
Aneb jak jsem jednou přestala dělat práci, kterou nikdo nepotřebuje.
Byla středa odpoledne. Seděla jsem v myšlenkách a kódu na novém projektu, když přišel e-mail od klienta:
Kdo nedělá weby, řekne si: to je na třicet vteřin. A upřímně by to tak být mělo. Jenže my žijeme v době „moderního webového workflow".
Takže tady je, jak ta „drobnost" doopravdy vypadala:
- Najdu si složku s repozitářem, kde je projekt stáhnutý.
- Stáhnu aktuální verzi repozitáře.
- Vytvořím novou větev:
hotfix/footer-links-update. - Najdu správný soubor s patičkou.
- Změním přesně 2 znaky textu a dvě URL adresy.
- Commitnu, pushnu, otevřu Pull Request na GitHubu.
- …a čekám, že kolega schválí review (samozřejmě má svou práci, takže toto musí počkat).
- Koukám, jak deployment pipeline točí kolečko čtyři minuty.
- Patička opravena na webu.
Celkový čas: 45 minut. Skutečná práce: 10 sekund.
Seděla jsem u toho a už po několikáté si říkala — proč je to tak složité? A proč dělám komunikační rozhraní mezi klientovou hlavou a textovým souborem? Neberte mě špatně, u složitých webů potřebujete workflow, plány, vývoj, deployment, propagaci změn do databáze, testování… to samé na produkci… Ale u webu kavárny, který nemá ani blog? Jako fakt?
Problém není v klientech. Problém je v tom, jak jsme si to postavili.
Webový vývoj udělal za posledních deset let obrovský skok. Máme CI/CD, kontejnery, headless CMS, Docker, Git flow, tisíce frameworků a dalších věcí… Jenže jsme tím taky vytvořili absurdní situaci — i ta nejmenší změna na webu vyžaduje celou deployment pipeline. A hlavně — klient má smůlu.
Standardní odpověď na takové situace přišla už dlouhé roky zpátky — CMS. WordPress, Joomla, Drupal a podobné, kde klient může upravovat téměř vše. Tedy to, co mu vývojář svým nastavením dovolí.
Ale fakt WordPress kvůli patičce?
To je jako jet na traktoru pro dítě do školky, kterou máte za barákem. CMS sice přináší pohodlí editace a dalších věcí, ale najednou řešíte i pluginy, bezpečnostní aktualizace, databázi a celou infrastrukturu — jen proto, aby klient mohl jednou za měsíc změnit telefonní číslo.
A headless CMS? Skvělá věc pro velké projekty s dynamickým obsahem. Ale pro statický firemní web s pěti stránkami? Přepíšu čistý kód na API volání a loading stavy jenom kvůli tomu, aby někdo mohl upravit větu v sekci „O nás"?
Nepotřebovala jsem „redakční systém". Potřebovala jsem editační vrstvu — něco, co si sedne na hotový web a nechá klienta měnit obsah, aniž by se dotkl kódu.
A přesně proto vznikl Direct Edit.
Jak to vlastně funguje
Princip Direct Editu je jednoduchý. Nepřepisuje kód, nepřidává databázi, nemění způsob, jakým web stavíte. Je to pár souborů, které prostě trůní na serveru vedle webu, načtou existující HTML a zpřístupní jejich obsah k editaci.
Záměrně jsem zvolila modální rozhraní — klient nekliká přímo do stránky (to vede k tomu, že omylem smaže kontejner a rozbije celý layout). Místo toho klikne na ikonu elementu, který chce upravit (text, odkaz, obrázek, SEO…), otevře se čisté okno, změní obsah a uloží. Hotovo.
Je to taková pojistka. Klient dostane svobodu, kterou chce. A já mám klid, že mi nebude ve deset večer volat, že zmizelo menu.
Co mě překvapilo cestou
Původně to měl být jednoduchý textový editor. Ale postupně jsem zjistila, že se dá jít dál — a pořád to zůstane jednoduché.
Klonování sekcí. Klient potřebuje přidat novou kartu služby nebo nový článek na blog? Nemusí volat vývojáře. Vezme existující sekci, duplikuje ji a přepíše obsah. Pohybuje se v rámci designu, který je pro web navržený — nemůže ho rozbít, ale může ho rozšiřovat.
SEO. Titulky stránek, meta popisy, alt texty u obrázků — to všechno jde upravit bez jediného řádku kódu. Žádné „pošli mi screenshot z Google Search Console, já ti to opravím."
Týmová práce. Když dva lidé editují současně, systém to ví. Nikdo nikomu nepřepíše práci.
Dostala jsem zpátky svoje středy
Postavila jsem Direct Edit, protože jsem chtěla přestat dělat práci, kterou nikdo nepotřebuje. Přestat být prostředník mezi klientem a textovým souborem.
Dneska, když klient zavolá s překlepem, jen mu jemně připomenu: „Však si to můžete opravit v editoru sám :-)". A příště už nevolá, protože si web upraví sám.
Má pocit, že má web pod kontrolou. A já se můžu soustředit na to, co mě skutečně baví — stavět nové věci, ne opravovat staré překlepy.