Přejít k navigační liště

Zdroják » Webdesign » Pohádka o pěti procentech

Pohádka o pěti procentech

Články Webdesign

Podporovat jen prohlížeče, které mají tržní podíl nad 5 procent? Ukážeme si, že je to dnes možné jen v pohádkách a že tomu tak ještě ke všemu bylo vždycky.

Článek původně vyšel na blogu Vzhůru dolů.

Za devatero horami a devatero řekami bylo jedno království. Rytířský řád Vývojářů v tom království odjakživa bojoval s drakem. Ten když do království přišel, měl jednu hlavu. Časem narostla další, další a další… Nakonec měl celých 17 hlav. Vývojáři se toho draka tak báli, až mu začali říkat — ehm — Webové prohlížeče.

Střih. „Prohlížeče, které mají méně než 5% podílu na trhu, nepodporujeme,“ mohli jste kolegy z oboru slyšet říkat před pár lety. Nebo klidně minulý týden.

Bylo by krásné, kdyby rozhodování o podpoře nebo nepodpoře prohlížečů bylo takhle jednoduché. Ale je to blbost. A byla to blbost vždycky.

Pokud byste tohle rozhodování aplikovali na dnešní prostředí, do škatulky Nepodporujeme by vám spadly všechny mobilní prohlížeče, na desktopu pak IE10, IE9 i Opera. Celkově vzato krásných 25 % uživatelů.

Pojďme ale nejdřív na výlet do roku 2010. Tehdy měla prohlížečová saň výrazně méně hlav. Když jste se rozhodli, že budete podporovat všechny nad pětiprocentní podíl na trhu, vypadalo to asi takhle:

Duben 2010, prohlížeče s tržním podílem nad 5%
Firefox 3 (34,7%) IE8 (26,6%)
IE7 (17,7%) IE6 (7,8%)
Chrome 4 (4,9%) Opera 10 (4,3%)
Opera 9 (1,3%)

Zdroj tržních podílů: Prohlizece.info

Když sečteme prohlížeče, které jste podporovali, vycházelo vám 86%. Ale taky 14% uživatelů prohlížečů ve škatulce Nepodporujeme.

Hmmm…? Neříkal jsem vám, že pětiprocentní hranice je možná jen v pohádkách?

Pojďme do roku 2014. Pokud máte problémy se srdcem, když musíte ladit pro příliš mnoho prohlížečů, radši tabulku přeskočte. Vy ostatní — hluboký nádech!

Duben 2014, prohlížeče s tržním podílem nad 5%
Chrome (30,3%) Firefox (26,6%)
IE11 (12,4%) IE10 (3,8%)
IE9 (3,6%) IE8 (6,5%)
Opera (3,8%) Safari (0,9%)
Android 4.2 (0,5%) Android 4.1 (3,2%)
Android 4.0 (1,5%) Android 2.3 (0,9%)
Mob. Safari (2%) Mob. Chrome (2%)
IE Mobile 10 (0,3%) Opera Mobile (0,3%)
Opera Mobile (0,2%)

Zdroj tržních podílů: Rankings.cz

V roce 2014 je to na jednu stranu jednodušší — všechny desktopové prohlížeče mají autoupdate nebo alespoň častý update. Na druhou stranu, prohlížečů je víc, nemluvě o specifikách těch mobilních.

Kdybychom tedy podporovali jen prohlížeče nad pětiprocentní podíl trhu, zahodíme tím skoro čtvrtinu uživatelů. Blbý, co?

Pojďme si limit snížit. Budeme podporovat jakýkoliv prohlížeč nad 2% trhu:

Duben 2014, prohlížeče s tržním podílem nad 2%
Chrome (30,3%) Firefox (26,6%)
IE11 (12,4%) IE10 (3,8%)
IE9 (3,6%) IE8 (6,5%)
Opera (3,8%) Safari (0,9%)
Android 4.2 (0,5%) Android 4.1 (3,2%)
Android 4.0 (1,5%) Android 2.3 (0,9%)
Mob. Safari (2%) Mob. Chrome (2%)
IE Mobile 10 (0,3%) Opera Mobile (0,3%)
Opera Mobile (0,2%)

Zdroj tržních podílů: Rankings.cz

Takhle nám utečou jen 4% uživatelů. To je lepší, ne? Jenže…

Na pohádky o procentech se raději vykašlete úplně

Model „koukáme se do statistik a rozhodujeme se o podpoře či nepodpoře konkrétních prohlížečů“ má totiž stejně jako model „na Twitteru psali, že IE8 už není potřeba podporovat, takže na něj pečeme“ docela dost problémů:

  1. Od webu vždy někoho odstřihnete — 4 procenta jsou lepší než 25. Pořád to ale mohou být důležitá 4%. A rozdíl v množství mezi čtyřmi a pětadvaceti procenty v případě, že všechny prohlížeče podporujeme plně, je obrovský.
  2. Nezohledňují vaše konkrétní čísla — Může vám být úplně jedno, jaká čísla vycházejí mně, mohou vám být ukradené české průměry, nemluvě o těch světových. Ty berte jako výchozí bod pro vaše úvahy, hodí se třeba k odsledování trendů. Ale statistiky sledujte svoje vlastní.
  3. Nezohledňují byznys strategii firmy — Z pohledu webaře a průměrných čísel je taková Opera Mini příšerná a ještě k tomu málo používaná. Než ji vyškrtnete, zamyslete se, zda například vaše cílová skupina nesedí na venkově u obzvláště pomalého mobilního internetu a ráda tedy po Opeře Mini sáhne.
  4. Nevidí budoucí posuny na trhu — Windows Phone má dnes zanedbatelný podíl. OK. Opravdu ale Microsoftu nevěříte ani za rok, za dva? Většinu webu děláme s vyhlídkou na několik let dopředu. Další příklad: nebudeme podporovat zcela nový Android Browser 4.4 jen proto, že zatím má jen malý podíl trhu? Blbost.
  5. Černobílé vidění problému — Aneb příliš málo škatulek. Máme jen dvě: podporujeme a nepodporujeme. Ve škatuli podporovaných prohlížečů pak máme supermoderní Chrome hned vedle obstarožního IE8. Znamená to, že se náš web má v obou prohlížečích zobrazovat a chovat stejně?

Všechny prohlížeče podporujte, každý jinak a vylepšete pracovní postupy

Nemám ambici vám tady poradit konkrétní způsob rozhodování, které prohlížeče podporovat a jak. Pokud si z článku odnesete to, že „IE8 má pod pět procent, už ho podporovat nemusíme!” slušný webař neříká, budu hrozně spokojený. Následující část berte jako důsledek autorovy nechuti do negativních zakončení článků. :-)

Jak tedy dál? Zhruba to načrtneme.

V Yahoo už dávno vymysleli odstupňovanou podporu prohlížečů. Napíšete web pro průměrně schopný prohlížeč, pro nadprůměrně schopné uživatelský prožitek obohatíte, pro nadprůměrně neschopné uživatelský prožitek degradujete.

Tím bychom vyřešili problém z bodu 5. – zbavíme se černobílého vidění. Prohlížečů je dnes ale příliš mnoho. Mnoho je i jejich verzí a platforem. Tady se dotýkáme i problému s testováním – i kdybychom měli Krtečkovy kalhoty a v kapsách tucty zařízení, vždy nám nějaká budou chybět a někde se nám ten web prostě rozpadne.

A tak je z pohledu vývojářského lepší strategie „Základní obsah a funkčnost všude. Cokoliv navíc podle aktuálních schopností prohlížeče.“, kterou načrtnu jen velmi zhruba:

  • Necílit na konkrétní prohlížeče, ale na technické vlastnosti a stupňovitou podporu určovat nikoliv pro celý web, ale pro jeho jednotlivé komponenty.
  • Používat rozumné pracovní postupy: progressive enhancement a detekci vlastností, nikoliv prohlížečů.
  • Klienty vzdělávat o odstupňované podpoře a trpělivě je učit, že v žádném případě na webu nemohou dostat stejné zobrazení/funkčnost všude.
  • Testovat na rozumném množství reálných zařízení.

Shrňme si tedy všechny myšlenky v článku:

  • Zapomeňte na pěti– nebo jakoukoliv jinou hranici pro nepodporu prohlížečů.
  • Zobrazení hlavního obsahu nebo funkčnosti zajistěte ve všech prohlížečích. Odstupňujte podporu na úrovni UI komponent. Používejte progressive enhancement a detekci vlastností.
  • Sledujte vlastní čísla, svou byznys strategii a trendy na trhu.

Abych se vrátil k pohádkovému příměru — porazíte draka nikoliv tím, že za ním půjdete a budete usekávat hlavy, ale tím, že budete konstruovat princezny, co drakovi nechutnají.

Komentáře

Subscribe
Upozornit na
guest
25 Komentářů
Nejstarší
Nejnovější Most Voted
Inline Feedbacks
View all comments
Tomáš Kapler

Ono je to trochu jinak. Nejde o to, že by se snad minoritní prohlížeče nepodporovaly. Jde o to, že se to na nich nekontroluje/netestuje a spoléhá se na to, že tyto minoritní prohlížeče podporují CSS do té míry dobře (či kompatibilně s mými postupy), aby fungovaly správně. Tj. když udělám web se standardní funkcionalitou a otestuji jej pouze třeba na Chrome, tak jsem jej sice otestoval na třetině používaných prohlížečů, ale s největší pravděpodobností (když nejsem lama) bude fungovat správně na všem, co se objevilo v posledních 5 letech.
Ale samozřejmě zejm. u komerčních projektů může stát za to testovat detailně i málo používané systémy, protože i jedno procento z miliardy může být výrazně víc, než kolik stojí ten čas navíc, případně potřebné testovací nástroje navíc.

Martin Hassman

Tomáši, pokud prohlížeč netestujes, tak ho nepodporujes 8-)

Tomáš Kapler

Ano, přesně o tom mluvím. Tj. když udělám web testovaný s novými FF, novým Chrome, IE9+, aktuální iphone a aktuální android prohlížeč tak jsem sice testoval nějaké 90+ % a mohu tedy říct 90 % kompatibilní“, ale reálně ta kompatibilita bude nejspíš mnohem větší, blížící se 100 % a jediným problémem budou IE8-. A u nich je opravdu otázkou, jestli je v nich dostatečná business hodnota, aby zaplatila testování a opravování, protože tam je to často peklo a stává se, že je to náročnější než kód celého webu, např. když člověk používá nějaké novější frameworky typu bootstrap, které už s nimi také nepočítají.

Rafej

Bohužel se mýlíte. Skutečně existují weby, které některé prohlížeče či jejich starší verze nepodporují. A není to ten případ, že netestují a spoléhají se na funkčnost, ale jednoduše odmítnou zobrazit jakýkoli obsah s hláškou vybízející k použití jiného prohlížeče či updatu na novější verzi. Přitom se v některých případech jedná o starší verze prohlížečů, ve kterých není příliš velký rozdíl ve funkčnosti. Přímo smrtelný hřích je to zvláště u webů ze státní a nekomerční sféry, které by měly být nejpřístupnější.

Standa

Vy děláte, jako by weby byly snad srovnatelně důležité, jako operace bypassu. Smrtelný hřích prej…

Pokud provozovatel webu – s výjimkou státní sféry (ale ne neziskovek) – s takovým přístupem souhlasí, nebo ho dokonce vyžaduje, je to jejich volba a postoj vůči archaickému software. Třeba twelvesouth.com otevřeně nepodporuje IE8 a nižší, ale je to jejich problém a z jistého úhlu pohledu i obhajitelná volba, když veškeré jejich produkty jsou určené pro Apple.

Váš příspěvek ovšem moc nesouvisí s tím, co napsal Tomáš Kapler. Pokud napíšete kód dobře, je pravděpodobné, že nebude v IE8 rozsypaný jako čaj, i když ho v něm nakrásně zapomenete otestovat.

Misaz

Zatímco IE počítáte každou verzi zvlášť, tak Chrome mícháte dohromady, čili počítáte rozkrájené jablko a celou hrušku dohromady.

Tomáš Kapler

chybí mi tady tlačítko Like či +1 pro komentář :-)

cpt-nemo

Bohužel,
z praxe přímo vím, že zvláště Chrome na Windows 7/64 (nevím jak na jiných verzich) rendruje jinak i mezi jednotlivými verzemi. Typicky se to týká fontů. Za poslední rok jsem musel 3x upravovat design tam, kde jsem měl textové výpisy a místo vyměřené na pixel. Teď už se Chrome s renderováním blíží FF, ale pořád si dělá co chce velmi často … Největší sranda je, že to mám na pixel sezazené tak, že to projde jak v IE8+ a FF a jediný kdo dělá problém je Chrome …

Ale obecně je pravda, že se nejhůře skládá design pro IE8. Ale pořád nám z něj chodí cca.4% platících zákazníků …

Jirka

Pokud článek zvulgarizuji, vychází mi, že je vždycky lepší napsat web, který pojede i na ledničce s ???uxem, než takový, který pojede jen na rozšířených prohlížečích. Tedy, že jde o tvrzení typu „je lépe býti zdravý a bohatý, než chudý a nemocný“ – čili zcela zbytečné, pokud nemá jít o pobavení. Můj pohled na věc je takový, že pokud se dají vyčíslit náklady na obsloužení řekněme 20% okrajových prohlížečů a předpokládaný finanční (popřípadě jiný) efekt nárůstu sledovanosti o tato procenta, pak by se měla zevšeho nejdříve porovnat tato dvě čísla. A teprve pokud je zřejmé, že patlání se překopáváním webu kvůli oněm zbývajícím procentům mají šanci se vrátit, teprve potom se do toho pouštět. A samozřejmě na stranu nákladů patří i časové zdržení vývoje. Jde totiž o to, že nějaká obecná/základní funkčnost na téměř jakémkoliv prohlížeči je dostupná na snad jakémkoli dnes provozovaném webu. Ale o nějakou základní funkčnost asi dnes jde málokomu. Vítězí právě technické „fíčurky“, které zpříjemňují používání dané služby, a právě tyto fíčurky rozchodit na úchylárnách typu Opera Mini apod. defakto nejde. Zkrátka – web, který mi nabídne jen nějaký základ mne asi nezaujme natolik, abych si jej oblíbil. Daná služba prostě mnohdy existenčně potřebuje danou „plnou“ funkcionalitu, protože bez ní to obecně moc nemá smysl. A že to prostě někomu nebude fungovat jak má, to se prostě v reálném světě děje neustále. Abych byl správně pochopen – neobhajuju prasárny, jako web celý dělaný ve flashi nebo jiné strašlivosti – bavím se o nefunkčním (či problematicky funkčním – vprávě v diskutovaných okrajových prohlížečích) javascriptu, bez kterého ovšem mnohé služby prostě fungovat nemohou. A taky se nebavím o zřejmých nesmyslech, jako použití JS (jako jediné možnosti) na ovládání menu webu apod. Čili – mám-li obsahový informační web, pak se k obsahu určitě dostanu i z prohlížeče, na kterém jej kodér nikdy nezkoušel – ale může vypadat jinak, než na majoritních prohlížečích. Pokud mám eshop, pak určitě bude fungovat i bez JS – jinak jsem sebevrah. JS mi může jen pomoct. Ale i tak se může stát, že nějaký exotický prohlížeč se rozhodne, že se pokusí daný JS použít, i když „na to nemá“ a celé to zvrtá. Každopádně si ale myslím, že když někdo používá exotický prohlížeč, který nerespektuje standardy a doporučení, tak si je asi vědom toho, že se mu nezobrazí to, co by mělo. Připadá mi to stejné, jako bych po firmě stavějící dálnici měl chtít, aby na ní mohli a byli schopni i veteráni jezdit 200 km/hod a to ještě ze stejným „feelingem“, jako dnešní auta. Pokud používám exota, buďto vím, že a proč jej používám – a těžko se můžu divit důsledkům … a nebo nevím, že používám exota a pak nejspíš ani nejsem schopen zpozorovat, že není všechno v pořádku (jsem přesvědčen, že aspekty druhé verze jdou ruku v ruce). Přitom platí, že i na hodně starých OS se dají provozovat dnes majoritní prohlížeče v aktuálních verzích. Proto s onou v úvodu zvulgarizovanou verzí obsahu článku nemohu souhlasit a domnívám se, že v duchu „90/10“ je velmi zdrávo někde udělat čáru.

Jirka

Ano – v článku samozřejmě není o ledničce ani slovo – proto onu karikovanou sumarizaci označuji přímo vulgarizací. Na druhou stranu na mne text článku působí tak, jak jsem to oním přehnaným přirovnáním popsal – tedy, že je dobré se za téměř každou cenu hnát za libovolně malým procentem čtenářů používajících exotické prohlížeče. Upřímně tedy – ona „za každou cenu“ není v článku taky nikde uvedeno – ale ona tam právě není uvedena vůbec žádná „cena“ této režie vývoje – tedy, že podpora těch posledních drobků může „stát“ víc, než té silně majoritní části prohlížečů – podle pravidla 90/10 vs. 10/90.

Martin Hassman

Na druhou stranu na mne text článku působí tak, jak jsem to oním přehnaným přirovnáním popsal – tedy, že je dobré se za téměř každou cenu hnát za libovolně malým procentem čtenářů používajících exotické prohlížeče.

Přikláním se k Martinovi, tohle ve článku není, spíš se jedná o zkreslený dojem z něj. Martin sám podotýká, že to takhle nemyslel a (tady se můžeme přít) ani nenapsal. Je fajn, pokud se to podaří ujasnit tady v diskusi.

Jirka

Dobrá tedy. A dá se nějak hlavní myšlenka článku vyjádřit ve zkratce? Skutečně se jen ptám – nechci, aby to znělo, jako provokace nebo trolling.

Martin Hassman

Nechám to na autorovi, snad pochopil, kde vězí ten komunikační problém.

Jirka

Jestli je tedy článek čistě o tom, že zrovna přesně 5% není dobré číslo, jakožto hranice cutu, tak jo – co k tomu dodat, podle mne je to takové divné, napsat o tomto čísle článek a danou problematiku nerozebrat poněkud celistvěji. Já se snažil argumentovat, proč si myslím, že nepodpora exotů je nejen ospravdlnitelná, ale i vcelku logická a v reálném světě nutná. Nebo snad weby píšete pro Amiga-browsery jako AWeb, IBrowse, Voyager a s ohledem na Contiki založených udělátcích pro 8bity? … myslím, že nějakou čáru máte taky a tyhle prohlížeče jsou určitě za ní – a jiní lidé mají tuhle hranici jen posunutou. Někteří z praktických důvodů (které obhajuji já) a někteří z důvodů ideových a „principiálních“. A onou nepodporou mám na mysli, že na těchto prohlížečích daná služba nepojede – ale že není testována. Tedy, pokud používám sice minoritní prohlížeč, který ale nekálí na standardy, tak s velkou pravděpodobností bude správně fungovat i když nebyl testován. Je-li web komerčním projektem, existuje vazba mezi návštěvností a finančním efektem. Vývoj webové služby je taky o financích – a to mínusových. A tyto položky na protilehných stranách musí dávat smysl -> tedy cena a časová náročnost vývoje nesmí překročit cílový přínos – a tohle samo by mělo určit, kam až ne/zacházet. V tomto kontextu tedy mohu souhlasit s tím, že zrovna přesně 5% nemusí být ideální cut, ale podle mne může být klidně i vyšší (mimo nižšího) a říkám proč. Jestli ale článek opravdu pranýřoval jen ono konkrétní číslo (jakožto nějaké mylné dogma) a, jak mi vyznělo, doporučuje podporu maximálně rozšířit, protože by provozovatele přeci mohli oni odpadlíci mrzet – pak souhlasím v tom ohledu, že pokud by mne ignorování těchto odpadlíků opravdu finančně „mrzelo“, tak bych je neměl házet přes palubu. Ale to celé je zase o tomtéž – že musím ladit jen do té hloubky, která dává obchodně smysl. A dál už ne! Pak už je ten cut. A dost možná může být celkově i 20% – a bude to v pořádku. No nic – stejně se pořád opakuju. Hezký den.

gilhad

Píšu web slušně a odladím ho v těch prohlížečích, které používám. Pokud nepůjde v IE, tak je mi to zcela fuk, bez ohledu na verzi. Buď si to MS opraví, nebo to nezobrazí správně.

Ostatně co se MS týče, tak mu nejenže nevěřím za rok, dva ani deset, ale nevěřil jsem mu ani před rokem, dvěma či deseti.

gilhad

Ja jsem s výsledkem spokojený :)

Tomáš Kapler

Až vám budou uživatelé s IE generovat obrat cca. 200 MIO ročně jako nám, tak se budete hodně snažit, aby to fungovalo :-)

gilhad

Problém ignorantského přístupu je v tom, že netrestáš MS, ale sám sebe, resp. provozovatele webu.

karel

z vlastni skusenoti muzu rict, ze stradat treba nemusi, mam web kde take zcela ignoruji existenci IE sice jsem ho v nem parkrat pustil abych videl co to dela ale hlavne abych otestoval zda se ukazuje doporucujici hlaska na zmenu prohlizece, web obsah nebloku jen dava najevo ze nemusi vse fungovat a taky nefunguje. Dulezi te je ze cilovkou je mladsi generace, ktera si podpojmem internet predstavuje ikonu chrome, ta generace ktera si pod pojemem internet predstavuje znak ie cilovkou neni, takze zadna strata.

haha

Pohádku o pěti procentech jsem ještě neslyšel, to spíš o dvou nebo jednom procentu. Každopádně procenta mě nějak nevzrušují, jedu všechny moderní prohlížeče a IE8+. Pokud zákazník má rozumný důvod pro podporu IE7(např weby pro zaostalé zdravotnictví), pak v takovém případě mám připravenou sadu obskurních hacků, které web činí použitelný i v IE7 bez nutnosti jakýchkoliv větších zásahů. Projeví se to tak o sekundu delším načítáním stránky v IE7, ale mně to ušetří nervy a zákazníkovi peníze. Ano, IE je totální sračka, ale jen tak si říct „fuck off MS“, to si může někdo dovolit možná tak na vlastním blogu, v realitě to takhle nefunguje.

Enum a statická analýza kódu

Mám jednu univerzální radu pro začínající programátorty. V učení sice neexistují rychlé zkratky, ovšem tuhle radu můžete snadno začít používat a zrychlit tak tempo učení. Tou tajemnou ingrediencí je statická analýza kódu. Ukážeme si to na příkladu enum.