Ďábel pravděpodobně nepoužívá nemožné vidle jako na obrázku, ale určitě lpí na drobných detailech v kupní smlouvě, když jde o duši zákazníka. Zaměřme se však raději na detaily. Někdy jsou to právě drobnosti, které rozhodují o tom, zda je něco geniální, nebo jen průměrné. V mnoha odvětvích není „detail“ perfekcionistickým rozmarem - je to základ kvality, efektivity a stylu. Jsou však i oblasti, kde můžete přimhouřit oko a nic se nestane. Podívejme se na tři alespoň trochu související příklady: střih filmu, programování a... velkoformátový tisk.
Ve filmovém střihu je někdy detail doslova otázkou jediného snímku. Špatně sestříhaná scéna, příliš dlouhá pauza nebo střih na nesprávném místě mohou narušit rytmus vyprávění, zkazit napětí nebo dokonce vytrhnout diváka z příběhu. Příklad? Scéna s emotivním dialogem - pokud střihač ponechá reakci herce o vteřinu déle, drama se změní v trapnost. Poslední slovo má samozřejmě vždy režisér, ale žádný nebude ignorovat připomínky odborného střihače. Film je vždy výsledkem spolupráce.
Ale ten rozdíl jednoho snímku? Zdánlivě co může tak malý časový úsek ovlivnit? No, může. Už jen proto, že jinak vnímáme očima a jinak ušima. Někdy dokonale synchronizovaný obraz se zvukem působí opačným dojmem, ale stačí posunout obraz o snímek dříve a najednou je vše zase v pořádku. Není to pevné pravidlo, ale pokud něco není v pořádku, můžete tento trik vyzkoušet. Druhou věcí je zvuk řeči a obraz mluvčího, údajně posun do dvou tří snímků není patrný, ale pokud někdo mluví velmi zřetelně a silně zdůrazňuje začátky a konce slov, může být patrný i rozdíl jednoho snímku.
Dobrý střihač je člověk, který ví nejen to, co se ukazuje, ale i kdy a jak dlouho, a to je velký rozdíl. Právě pozornost věnovaná tempu, pauzám na správných místech a ve správné délce a rytmu střihu rozhoduje o tom, zda divák film vstřebá, nebo začne zívat. To je samozřejmě velmi subjektivní, ale subjektivní je každé umělecké dílo. Jinak je to jen produkt klonování nebo napodobování.
Myslím, že každý zná nějaký příklad špatně sestříhané scény z vlastního života. Srovnejme „konverzaci“ prostřednictvím messenger nebo sms a normální kontakt takříkajíc face2face. Nic se nestane, když na sms zprávu odpovíme po několika minutách nebo dokonce dnech, nějak tato komunikace pokračuje. Těžko si však lze představit takové přerušení konverzace u stolu v restauraci, pokud není způsobeno konzumací jídla. Prvním příkladem je právě špatně upravený rytmus; konverzace sice existuje, ale celkově se ani jedna ze zúčastněných stran nezavazuje k tomu, aby pokračovala. Stejně tak se člověk "rád" podívá na špatně sestříhaný film.
Jsou případy, kdy ani génius nedokáže správně poskládat scénu. Jednoduše řečeno, během natáčení záběrů si nikdo nevšiml, že postava drží skleničku v levé ruce, zatímco v dodatečných scénach drží v pravé. No, to se stává. A vlastně docela často; stačí se na filmy pozorně dívat, abyste takové drobné klopýtnutí zachytili. Existuje spousta stránek "filmové chyby" nebo kanálů na sociálních sítích, které někdy ukazují opravdu "tučné" chyby
A titulní 3 snímky? Ty jsou převzaty z vyjádření Stevena Spielberga ke střihu filmu Čelisti. Jde o to, že falešný žralok vypadal dobře jen v několika málo záběrech, ale Spielberg opravdu chtěl, aby jich bylo víc, protože si s jejich výrobou dal velkou práci. Naštěstí poslechl střihačku :-)
Když píšu "snímek", myslím tím samozřejmě nejmenší časovou jednotku, která se ve filmu vyskytuje. Veškeré komentáře v tomto článku se týkají „klasických“ rychlostí, tj. 24 nebo 25 snímků za sekundu. U vyšších rychlostí lze případné komentáře o posunu odpovídajícím způsobem násobit. O výskytu něčeho takového, jako jsou půlsnímky, snad někdy jindy.
V programování jsou detaily stejně důležité jako ve filmu, i když nejsou tak viditelné. Kód, který „funguje“, nemusí vždy znamenat „funguje dobře“. Podívejme se na jednoduchý příklad: ( samozřejmě je to jen příklad a ještě k tomu primitivní, ale něco se ukázat musí...)
def contains_number(nums, target):
return target in sorted(nums)Tento kód nejprve setřídí celý seznam "nums", aby zjistil, zda se v něm nachází "target". Zdánlivě to funguje, ale zbytečně to zatěžuje systém - zejména u velkých seznamů, protože před každým hledáním se celý seznam setřídí. Je to, jako kdybyste nejdříve seřadili ponožky podle barvy v šuplíku, a vybrali potom jedny černé. Předpokládáme také, že seřazené ponožky při každém zavření šuplíku okamžitě změní svou pozici. Což je v případě ponožek naprosto pochopitelné. Ponožky jsou takové entity, že se mohou půl roku schovávat v pračce a znovu se objevit v okamžiku, kdy je druhá párová ponožka vyřazena. Ale abychom se vrátili k věci, čas a energie vynaložené pokaždé na třídění před výběrem jediné položky jsou zbytečné. Zvláště když by seznam „nums“ obsahoval tisíce položek.
Lepší by bylo do funkce dosadit již setříděný seznam.
def contains_number(nums_set, target):
return target in nums_setMalé detaily ve struktuře dat, cyklech nebo ukládání do mezipaměti mohou znamenat kolosální rozdíl. Ďábel se skrývá v těch několika řádcích, které po uzávěrce nikdo nechce číst. Zdánlivě drobnosti, ale v měřítku tisíců dotazů je to rozdíl mezi stabilním serverem a hořící serverovnou. A jen tak na okraj, před kontrolou nemusíte vůbec třídit, vždyť bez ohledu na chaotické rozmístění ponožek v šuplíku ihned vidíte, jestli černé jsou nebo nejsou přítomny. I když začínám pochybovat o volbě správného příkladu, protože ponožky jsou přece jenom jakési takové záhadné bytosti, které dokáží podivným způsobem měnit nejen svou polohu, ale i míru viditelnosti. O dalších vlastnostech nechci ani vědět.
Jsou však odvětví, kde detaily nejsou tak důležité. Například velkoformátový tisk. Plakát na billboardu vedle dálnice? Banner visící v desátém patře budovy? Zde mají detaily zcela jinou prioritu. Nikdo k nim nepřistupuje s lupou - jsou určeny k prohlížení z několika (nebo desítek) metrů. Jednotlivé pixely, minimální zkreslení barev nebo drobné posuny - ty nemají žádný praktický význam. Z dálky vše splývá dohromady a důležitá je kompozice, kontrast a jasnost sdělení. V tomto případě: méně je více a podrobnosti mohou klidně počkat na otištění v časopise nebo na letáku.
V případě outdooru je nejdůležitější zvolit rozvržení grafického návrhu tak, aby byly co nejvíce zvýrazněny nejdůležitější slogany. Dobře, jsou klienti, kteří potřebují na jeden banner umístit nejen název výrobku a jeho obrázek, ale také seznam prodejních míst, jejich otevírací dobu, průměrnou cenu za posledních 30 let, tucet drobných fotografií svých prodejen a nevím co ještě. A to s plným vědomím, že banner bude umístěn u silnice, kde je čas na povšimnutí si obsahu v průměru několik vteřin. Prostě sedí u monitoru, všechno je pro ně viditelné, a není možné vysvětlit, že realita je úplně jiná.
Mimochodem, kdysi se na banneru o rozměrech 40x15 metrů rozprostřeném po celé hale pohyboval na kolenou jedinec, který tvrdil, že místy jsou vidět pruhy, které způsobila ucpaná tryska tiskárny. To se prostě někdy stává, ale opravdu to vypadalo jako vtip. Nicméně ne. No, těžko vysvětlovat, že při této velikosti tisku a vzdálenosti, ze které se na něj bude koukat, by i díra o průměru půl metru byla sotva patrná. No, možná přeháním, ale chápete, o co jde.
Klíčem je uvědomění si kontextu. Tam, kde detail ovlivňuje divácký zážitek (film, aplikace, hra), se vyplatí být pečlivý.
Ale tam, kde si divák rozdílu stejně nevšimne (velkoformátový tisk, možná někdy front-end MVP, i když zde se vyplatí usilovat o vysokou funkčnost), je lepší zdokonalovat celek komplexně než se zaměřovat na detaily, které jsou v danou chvíli nepodstatné.
Protože i když se ďábel skrývá v detailech - nemusíte s ním vždy bojovat.