zobrazit rychlé menu
hlavička

Jak jsem stvořil nové VideaCesky.cz, které nikdo neuvidí

Začalo to před třemi roky. Definitivně skončilo před třemi měsíci. Největší lekce mého života je za mnou. Projekt, který mě dostal hodně blízko depresím a usekl si pořádnou porci mého života, aby se v závěru rozplynul do komiksového „poof“.

Nakreslila Iveta Cimfová

Dalo by se to popsat velice stručně

  • Vojta vlastní VideaČesky.cz. Systém mu dlouhodobě nevyhovuje. Nabízím zdarma vytvoření nového portálu. Jde pro mě o srdcovou záležitost a časovou investici.
  • Máme určitou dohodu a plácneme si.
  • Analyzujeme, vymýšlíme, navrhujeme. Začínám realizovat.
  • Jednotlivé milestony z různých důvodů nabírají velké zpoždění, jsou však realizovány.
  • Finální verze v nedohlednu. Udělá se tisíc věcí, tisíc nových se objeví (klasika).
  • Projekt se konečně finišuje.
  • VideaČesky.cz se prodává novému majiteli - Alešovi.
  • Aleši se nová verze zamlouvá. Mění však její směr. Zprvu neochotně, následně akceptuji a pracuji na nových změnách.
  • Projekt je hotový. Chybí testování od uživatelů a ladění.
  • Aleš obrací. Vše se hází do koše. Začíná vývoj od píky se svým týmem, beze mě.
  • Vyhlížím si krásný kopec s mohutným stromem s pevnými větvemi.
  • Celá tahle etuda se odehrála na rozloze neuvěřitelných cca tří let.

Takže tu máme ponaučení o naivním hlupákovi, co zadarmo stovky a stovky hodin dřel na poli, nechal si vrazit kudlu do zad a o pole přišel?

Světe div se, ale tohle není ani trochu příběh o penězích. Je to příběh o hlupákovi, který po tři roky dělal jedno špatné rozhodnutí za druhým. Nebýt těchto rozhodnutí, projekt už mohl téměř dva roky běžet a rozvíjet se. Že tomu tak není, je pouze a jedině mou chybou. A jsem rád, že vím proč. Je to pro mě obrovská lekce. Obrovská.

Samozřejmě mě štve, že už nejsem součástí VideaČesky.cz. Je to pro mě bolestivá profesní i životní prohra nabourávající mé dlouhodobé cíle. Nepopsatelně mě mrzí ty vyhozené tuny práce dělané dobrovolně. Toho času. Nejvíc ovšem lituji, že nikomu už ta hotová práce nebude přinášet užitek a radost. Vše to jsou ale negativní emoce namířené pouze na mě. Ani náznakem nemůžu říct nic křivého proti Vojtovi, a byť jsme se s Alešem na lecčems neshodli, i jeho rozhodnutí respektuji. Má jinou vizi a právo na to ji realizovat. Naopak jsem to byl já, kdo na všechny strany přinášel komplikace, za což se nezbývá než omluvit.

Ironií je, že realita přišla a řekla „už dost“ v době, kdy bylo vlastně vše hotovo.
Svoje prvotní rozhodnutí jít do toho z nadšení bych však nikdy neměnil. Změnil bych rozhodně vše ostatní.

Co se tedy pokazilo? Proč vývoj trval tak dlouho? Co se dalo změnit? Co bude dál?

Začátky

Je toho moře. Za tu dobu se stala spousta věcí. Většinou na sebe hezky navazovaly lavinovým efektem. Nabíraly sílu drtit vše pod nimi. Tam stál já.

V kostce šlo především o jeden hlavní problém, který generoval řadu dalších.

Priority, tříštění času,  neschopnost říci NE. Více výrazů pro víceméně stejný problém.

Když jsme s nápadem začínali, podnikal jsem. Tvorba webových systémů mě živila a živí stále. Naivně jsem doufal, že zvládnu ubrat z práce, zvednu čas u PC a tím vytvořím časový prostor pro VideaČesky. Ó jak jsem se zmýlil. Nejde to. Pokud jde o velký projekt vyžadující neustálou pozornost, prostě to nejde. Tohle je můj nejdůležitější poznatek, který budu mít vždy na vědomí.

Pokud pracujete na něčem velkém a důležitém, vyžaduje to čas a vaši maximální prioritu. Netříštěte pozornost. Rozdělit čas na dva projekty neznamená dát každému polovinu času. Znamená to dát jim třetinu/čtvrtinu/pětinu/… A nůžky se začnou rozevírat.

To já netušil. Takže jsem začal balancovat. Tuhle udělat zakázku, tuhle pracovat na projektu. Ze začátku to šlo, ale pak se méně času na práci začalo projevovat. Práce na projektu šly dobře, ale finance trpěly. Neměl jsem finanční polštář. Takže jsem ubral na projektu a zajímal se více o finance. Když do toho pak přijde jeden klient se zakázkou, kterou jsem nemohl z finančního hlediska odmítnout, a další s deadlinem, který se nesměl promeškat, najednou jsem zjistil, že jsem na projekt koukl za poslední měsíc čtyřikrát.

V ten moment přišlo první prozření. I to „čtyřikrát“ by možná bylo OK - dočasně. Ale já potřeboval na projektu řešit určité problémy, které vyžadovaly několikadenní kontinuální práce a soustředění. Dostávalo se mi jen menších časových úseků. V nich jsem se snažil navázat, kde jsem vlastně minule skončil, opravit, co jsem to vlastně vytvořil, a v závěru vytvořit něco nového k žasnutí pro příští týden. Takže jsem sice strávil několik hodin prací, ale reálně neudělal vůbec nic, někdy šel i do záporu. Tohle je docela specifické pro programování v části, kde se hodně navrhuje.

Mnohdy jsem tak končil v neděli ve tři ráno s pocitem, že jsem za týden neměl žádný volný čas, ale zároveň neudělal nic pořádného. A když se to opakuje týden co týden, na psychice to člověku nepřidá. A jak se pak pracuje s takovou psychikou? Hle, lavinový efekt začíná.

Byla pak období, kdy zakázky polevily a já se opravdu kontinuálně věnoval projektu. Úžasné chvíle, kdy mě práce bavila a s projektem se opravdu pohnulo. Ze začátku se vytvořila třeba docela komplexní administrace, která moderátorům oproti původnímu stavu ulehčovala dost práce a přidávala řadu nových možností. Vytvářel jsem různé verze frontu a dělal jejich responsivní verze. Vždy jsme se dostali do bodu, kdy se s projektem viditelně hnulo, abychom se následně topili v části, kdy se kuje pod povrchem a na oko to stojí.

Jenže jindy pak bylo potřeba určité části na projektu finišovat v momentu, který se křížil s deadlinem zakázky. Infarktové chvíle, probděné noci a zoufalství. Když jsem takové situace zdárně přežil, mozek potřeboval vypnout. Takže tyto dny, kdy se pracovalo třeba 18 hodin denně (strašně efektivní), vystřídala občas pár dní limbo fáze (super efektivní).

Život a změny

A tak si tak žiju v tomto kolotoči, který neběží zrovna hladce a ozve se život. Život je taková malá-velká sfyně, která dokáže řadu věcí řádně zkomplikovat. Stěhování. Dva týdny mimo. Rozchod po osmi a půl letech – dost dlouho mimo. Pobyty v nemocnici. Po určité době jsem si řekl dost. Potřebuju změnu. Celé dny zavřený doma mi už začalo lézt na mozek. Stěny se zmenšovaly a samomluva se stávala až nebezpečně pohodlným řešením.

Plán byl celkem chytrý – nechám se zaměstnat, dostanu se mezi lidi a striktně rozdělím čas mezi práci a projekt. Každý den projekt dostane vyhrazený čas, což by byl nebývalý luxus. Myšlená krásná, realita poloviční. Pracovat v kolektivu byla opravdu změna k lepšímu. Když jsem však měl vyhrazený čas na projekt, ukázalo se, že bývalé klienty to vlastně moc neodradí s požadavky. A zde přišlo druhé prozření. Neuměl jsem říkat NE. Nedokázal jsem odmítnout potenciální zakázku. Takže se po nějaké době scénář začal opakovat s ještě horší variantou – tam, kde jsem měl předtím celý den, jsem nyní měl jen čas po zaměstnání.

Když jsem po nějaké době viděl, že ani toto moc nefunguje, snažil jsem se najít kompromis. A to doslova. Změnil jsem si úvazek na poloviční, za což jsem byl firmě vděčný. A ono to jakž takž fungovalo. V tomto období se projektu vyhradily větší části času a dalo se zase relativně normálně pracovat. Odvedlo se nejvíce práce. I tak šlo jen o optimismus z relativního pohledu na předchozí mizérii. Do ideálního stavu, kdy můžu na projektu pracovat kontinuálně každý den, to mělo setsakramentsky daleko.

Projekt se defakto už dlouho blížil do finiše. Už dlouho byla dokončena spousta věcí. Celá administrace, 90 % frontu, vyřešeny kritické technikálie jako cachování na míru a podobně. Pracovalo se pak hlavně na dodělcích a transferu dat ze starého systému do nového, což byl doslova porod. Ale zvládlo se to. Ze starého systému jsem přenesl vše. Uživatelé o nic nepřišli, ani ti neregistrovaní. Což je malý zázrak, když vezmu v potaz rozdílnost struktur databází a chování systémů obecně. Ale ty vzpomínky na několikahodinové importy s miliony záznamy končící chybou ve čtyři ráno, ty mě budou pronásledovat ještě dlouho :).
Mno a pravidlo o tom, jak dlouho trvá posledních 10 % projektu, tu samozřejmě platilo do posledního písmenka.

Inovujeme

Byl čas na třetí kritickou chybu, prozření, čeho se v budoucnu vyvarovat. V tento moment jsem si připadal jak chlapci v 3DRealms, kteří pracovali na Duke Nukem 3D Forever … doslova forever. Než jim ho jiní chlapci z Gearbox Software přezvali. A co ti chlapci udělali špatně? Bylo jich hrozivě málo a každou druhou chvíli měnili engine.
A to přesně se stalo mně. Jako výsledek dlouhého vývoje jsem se stal svědkem zajímavého jevu, kdy okolní technologická krajina ubíhá, ale projekt je jaksi zaseklý v minulosti. A to jsem nedokázal přenést přes ego.

Dost věcí se tedy v průběhu na projektu měnilo. První verze ještě běžela na čistém PHP a mých blureprintech. Následně jsem ji předělával do frameworku Yii 1.1. V jeden moment jsem dokonce začal celý systém předělávat do Yii verze 2, což jsem si naštěstí rychle rozmyslel. To stejné se dělo s frontem. Nejdříve „čistý“ Sass, poté se přešlo na Foundation 4, který jsem ke konci předělal na Foundation 5 a přemýšlelo se dokonce chvíli i o Foundation 6. Úvahy přeprogramovat celou administraci byly na pořadu dne také několikrát. A to jsou jen ty velké věci. Řada dílčích věcí se předělávala stále. Něco se udělalo, zjistilo se, že to není ono, tak předělat. Jindy se věci prostě jen vylepšovali. Většinou jako výsledek dlouhého vývoje. Celé to byla jedna zamotaná spirála.

Pokud člověk profesně navíc není pecivál, neustále se snaží vzdělávat. Takže ty tendence přepisovat věci, co jsem napsal rok nazpět a nelíbily se mi, tu byly neustále. Někdy jsem odolal, někdy ne. Na druhou stranu určité úpravy byly ku prospěchu. Třeba celý projekt pořádně okomentovat se jevilo jako rozhodně dobrý krok.

Mohl bych tu popsat stovku dalších věcí. Jednotlivé technické problémy byly každodenním koloritem. To tak nějak k tomu programování ale patří. V tom rozsekaném pracovním režimu to ovšem bylo mnohonásobně komplikovanější.

Cílová rovinka

Přesto se projekt nějakým zázrakem opravdu chýlil do konce. Do opravdového. Byly hotové všechny maličkosti, které se plánovaly, věci vyladěné do posledního detailu, výkonové optimalizace, moře věcí typické pro konce projektů. Pak ale přišla ta zpráva o odkupu. Stáhly se mi půlky. Poprvé jsem se opravdu bál, že vše půjde do kytek. Veškerá práce. Ty dny byly opravdu zážitek. Naštěstí se ukázalo, že novému majiteli se moje práce líbí a vyzkoušíme spolupráci.

Měnil se však směr. Web měl jít více do jednoduššího stylu. Měly odpadnout už hotové věci a možnosti pro uživatele. S řadou jsem nesouhlasil, ale nemohl jsem nic dělat. Nebyl to můj projekt. V dost věcech měl však Aleš pravdu a více zkušeností, proto jsem souhlasil a začal realizovat změny, které vymyslel. Začalo to změnou jednosloupcového layoutu na dvousloupcový a pokračovalo.

V té době už jsem byl pryč ze zaměstnání. Znovu jsem se naplno věnoval podnikání, což mě znovu dostalo do situace více myslet na zakázky. To byl i přesně případ tohoto měsíce. Přestože vše bylo podchyceno lepšími pracovními postupy, stejně jsem byl donucen lámat důležitou zakázku s úkoly od Aleše. Moje extrémně hloupé rozhodnutí znovu dělit čas, se neukázalo jako chytré. Řada věcí se na projektu sice udělala, ale nebylo jich dost. Alešovi to nevyhovovalo, vyžadoval moje plné nasazení a není se čemu divit. Abych ukázal, že do toho umím šlápnout, poprvé za tu dobu jsem opravdu řekl NE a postavil zeď před sebe a jiné zakázky a plně se soustředil na projekt. Dodělal jsem desítky úkolů a uzavřel kritické věci k dokončení. Což se následně i stalo. Vše co jsem mohl, bylo dokončeno. Obrovský pocit zadostiučinění.

Oprátka

Pro další postup bylo stále potřeba pořádně testovat a ladit, což musel iniciovat Aleš směrem na redakci. A tady začalo polomrtvé období, které předcházelo konci. I když jsem se snažil na Aleše kontinuálně tlačit, aby věci posunul dále, moc se toho nedělo. Bylo to dlouhé několikaměsíční období, které skončilo Alešovým rozhodnutím současnou práci zahodit. Byl konec.

Než se tak stalo, měl jsem řadu návrhů. Ztotožnil jsem se s Alešovou vizí a přijal fakt, že velká část toho, co jsem udělal, padne. Možná i vše. Přesto vše jsem byl ochoten stále na nové vizi pracovat. Být součásti projektu. Stále to pro mě byla srdcová záležitost. Tak jsem mu to i stále dával najevo.

Aleš byl však tou dobou již zřejmě pevně rozhodnut. Možná se to nemuselo skončit takovým táhlým způsobem, ale těžko je to vina jedné konkrétní osoby. Ve hře bylo víc věcí, než pojme tento článek. A rozhodně to nic nemění na faktu, že na takové rozhodnutí měl vždy právo a já to respektuji. Nikde není psáno, že původní vize a moje realizace je lepší než ta jeho. Tím se defakto vracím na začátek.

Sice mě může mrzet a štvát, že takhle v cíli jde má práce do koše, ale můžu zato vinit jen sebe. Kdybych netříštil energii mezi zakázky, rovnou si uvědomil, že pro jednoho člověka není reálné tak velkou věc dělat bez finančního polštáře, a nějak si zařídil, abych mohl minimálně 90 % svého času věnovat pouze projektu, vše mohlo být nyní jinak.

Lehce pokřiveným způsobem tak i můžu děkovat za tuto zkušenost, že jsem se z ní poučil a nebudu stejné chyby opakovat. Naučil jsem se říkat NE a věci u mě mají nyní jasné priority. Když na něčem pracuji, dělám to přednostně a efektivně. Žádné souběžné práce na dvou velkých projektech. Už nikdy se nechci spálit podobným způsobem.

Stejně tak doufám, nyní už z pozice před oponou, že to bude pro VideaČesky dobrá věc. Byť mám ke svému systému citové pouto a věřím, že by bylo pro komunitu přínosem a že bych ho dokázal dle představ komunity rozvíjet, nijak to neruší můj status uživatele VideaČesky, který tvůrcům fandí. Stále budu na web chodit a nasávat kvalitní obsah, o který jde především, za což děkuji všem překladatelům.

Prohrabte ten hrob

A co jsme tedy vlastně přišli? O původní vizi. Netvrdím, že vše by se v praxi ukázalo jako geniální, ale snažili jsme se přemýšlet nad každým aspektem opravdu do hloubky. Dát systémový řád tam, kde se vše řešilo popisky. Usnadnit tím práci moderátorům a přinést nové funkce uživatelům.

Provázali jsme videa se seriály, osobnostmi a pořady, naučili je díly a sezóny. Dovolili jsme dávat jedno video do více článků. Seriály, osobnosti i pořady se měly stát důležitým prvkem. Měly vlastní profil, kde jste o nich mohli najít vše důležité včetně jednotlivých dílů. Mohli jste si je oblíbit, abyste nepřišli o žádný díl díky systému notifikací. Jejich hodnocení jsme počítali spravedlivě přímo z epizod.

Hodnocení dle praxe (lidé hodnotí většinou 0 nebo 10) prošlo také změnou. Snažili jsme se, aby každý prvek na webu měl smysl. Proto se třeba dramaticky změnila diskuze. Nechtěli jsme ji mít jako místo plné nesmyslných nadávek, zároveň jsme nechtěli omezovat mnohdy výživnou diskuzi jen na formu jednoho povoleného názoru. Proto jsme přišli s hybridem komentovaných recenzí, který na první pohled vyzdvihne názor každého jedince, přesto dovolí vést případnou diskuzi.

Vytunili jsme vyhledávání a překopali nefungující tagy/klíčová slova. Pro co nejrychlejší odezvu jsme vytvořili systém na hlášení chyb v titulcích nebo videích, ale především udělali nástroj na návrh nových videí k překladu. Ten vám dovolil hlasovat pro již existující návrhy nebo přidávat svoje vlastní. Překladatelům pak znatelně ulehčoval práci. Pár kliky vytvořili překlad z nejpožadovanějšího návrhu a až ho měli hotový, jedním klikem vám všem rozeslaly notifikace, že váš návrh je přeložen.

Přemýšleli jsme, jak budete webem procházet. Jak vám nabídneme další obsah nebo vám dáme nástroje, jak si ho co nejlépe najít sami.
Především jsme vše točili okolo cíle upevnit komunitu a nedělali jen další zobrazovač videí.

Mohl bych mluvit o stovce dalších věcí, mohl bych mluvit o tisíci věcech pod kapotou, o obrovské energii vložené do jednotlivých systémových aspektů, které umožní portál dlouhodobě vyvíjet, bezpečnosti, výkonu, nových technologií, vlastních komiksové grafice … A až bych skončil, mohli bychom se bavit o rozdělaných rozpracovaných věcech a seznamu nápadů, které na realizaci čekaly.
Ani jedno už však nemá smysl.

Protože původní testovací adresa už nefunguje, můžete si v galerii alespoň prohlédnout pár vytípaných obrázků z různých responsivních verzí z mého vývojového prostředí. Protože už nemám přístup k aktuální databázi a nahraným datům (obrázky, soubory), omluvte občasné placeholdery.

Tenhle článek jsem napsal hlavně pro sebe. Abych za celou událostí udělal tečku a mohl se definitivně posunout dál. Změnil jsem k dosti věcem přístup a sebral odvahu věnovat se i trošku jiné pracovní činnosti, za což jsem hrozně rád a dost si to užívám.

Projekt nyní hibernuje ve verzovacím systému. Tím, že je šitý na míru, nemá dalšího využití. Pokud by měl přesto někdo zajímavý nápad, nezdráhejte se mě kontaktovat mail@ondrejvasicek.cz

Sepsáno 2.3.2016 14:41 do kategorie Head work

Komentáře

Komentáře jsou pro tento článek vypnuty.
Ondřej Vašíček