Už hodně dlouho se mi nestalo, abych narazil na stránku, která by mi v prohlížeči nefungovala a vyžadovala po mě prohlížeč jiný než ten, který používám. Obvykle se jednalo o stránky svázané s Internet Explorerem. To se ovšem změnilo. Už i takový Olympus funguje.
Dnes jsem po hodně, hodně dlouhé době na jednu takovou narazil a kupodivu po mě nechtěla Internet Explorer, nýbrž:
Je mi jasné, že ta stránka je jen hra, která má fungovat na iPhone a mě do ní nic není. Ale přesto přemýšlím, kam až to může vést. On ten iPhone prostě letí a je na něj spousta pěkných udělátek a hříček, jak nám ukazoval Pixy na PWP. Nedivte se těm autorům, ono je prostě pěkné vyrobit udělátko přímo pro Něj. A určitě se připojí další a další. Že to neběží na těch ostatních zastaralých zařízeních? (Zastaralý = ne iPhone.) Komu to vadí?
Jenže přemýšlím, zda přesně takhle nenápadně nezačínaly koncem devadesátých let ty starší problémy. Visual Basic Script, ActiveX – kolik let se z nich web vzpamatovával?
Rozdíl je jen jeden. Internet Explorer se tenkrát stal majoritním prohlížečem. U WebKitu upraveného pro iPhone se o nějaké majoritě nedá hovořit. Ale přesto mě stránka vyžadující pro vstup zařízení, které nemám, znervózňuje. Jako bych viděl vztyčený varovný prst (a nechtějte vědět jaký) říkající: „Hele bacha, tohle jsme tu už jednou měli!“
Pozn: Ani se nesnažte to otevírat v Safari, Chromiu nebo jiném prohlížeči s WebKitem. Události touchstart, touchmode a touchend, které stránka používá, to malé krásňoučké zařízeníčko prostě potřebují!
Hm, zajímavé ale mě se ona sránka zobrazuje korektně (Google Chrome), bez nápisu vyžadujícím applovská zvěrstva. V Opeře 9.52 nápis je, MSIE 7 s nadstavbou IE7Pro zhučel jako švestka... Roztočit lahev ovšem nejde nikde. No co, jednoduše si flašku nezahraji, kupovat si cokoli od Apple jaksi nehodlám.
aha, tak teda javascript zabavka no...
no mozno to bud pouziva veci, co (zatial) su len v iP webkite, nie? v kode mi pride zaujimavy len ten webkitTransform - pomocou ktoreho sa ta flasa otaca okolo Z osi (ak som nieco neprehliadol), inak tam vyzeraju byt normalne 'click' udalosti, takze akcelerometre to nepouziva :o)
mne to pride skoro ako ten pripad s vendor prefixami v css - skratka to podporuje iba ten ich webkit, takze holt dokym to nebude oficialne 'definovane'...
ale ja sa do css/js prd rozumiem :-D
[5] Ono se kdysi někomu ani nezdálo špatné, že stránka pro IE jde spustit jen na IE.
[6] Adree, nejen CSS transform, ale i ty tahací události. Ono u "touch*" událostí není ani tak problém, že by nešly definovat, jako že na běžných zařízeních prostě nefungují (i když by asi šlo zavést nějakou emulaci tažením myší).
[8] Mate 8-) ta detekce je (špatně) postavená na WebKit, viz [4], proto se upozornění nezobrazí. Ale jinak to stejně nefunguje.
[9] Tvoje argumentace je logická. A v tom je skryté nebezpečí. Tenkrát taky dávalo smysl, vytvořil-li bych stránky používající Basic Script (třeba protože jsem JavaScript neuměl), abych ostatní odstřihnul, protože by jim to stejně nefungovalo. A nehledě na logičnost tohoto postupu, nakonec se ukázal jako dost velký problém.
Už to tady bylo řečeno v jednom komentáři. I phone mění podle vertikální a horizontální polohy zobrazení na displeji, ta hra (spíš bych řekl jednoduchá hříčka) téhle technické vlastnosti využívá.
A i kdybych monitor od mého PC nákláněl sebevíc ta flaška by se ani nepohnula :-).
Pokud by se jednalo o webovou stránku s nějakým obsahem který bych mohl bez problém zobrazit a použít i na jiném zařzení než Iphone, tak bych s tím článkem naprosto souhlasil, ale takhle je to trochu dělání z komára velblouda.
Pokud nejaka aplikace neco vyzaduje, tak to proste vyzaduje, tecka. Nebavime se o sluzbe, za kterou zaplatite, abyste posleze sam zjistoval, ze vam nebude fungovat. Ani o verejne sluzbe, kde si jsou vsichni rovni, ale stejne nekteri rovnejsi. Tady to neni problem a rozhodne se v tom neskryva zadne nebezpeci.
Osobne mi mnohem nebezpecnejsi a nechutnejsi pripadaji vase uvahy [4.3] !
[11] Ani lamu ani velblouda, jen to chce ten článek, se kterým jste málem souhlasil přečíst. Snad každému je jedno, že existuje nějaká hříčka běžící jen v jednom pro někoho nedosažitelném zařízení. Jenže, co když si časem (znovu) zvykneme, že nechat se omezit jedním zařízením (nebo softwarem) se vyplatí? A rázem budeme mít na Webu bariéry, kterých jsme se poměrně dlouho zbavovali.
[12] Pokud se v mém okolí postaví obchodní dům, ve kterém bude možné nakupovat pouze s automobilem jisté konkrétní značky (jiný ostraha dovnitř nepustí a pěší zákazníky už vůbec ne), pak mi to může být jedno. Ale jakmile bych viděl, že se podobné praktiky začínají objevovat ve všech čtvrtích, ve všech městech, určitě bych znejistěl a přemýšlel, co se to vlastně děje. Protože ať státní nebo soukromý (to mě může být jedno), stavělo by mi to do cesty zbytečné bariéry.
Osobně se mi zdá, že takové tendence jsou na webu poměrně běžné (v menší míře jsem se s němi setkával pravidelně). Ale zárověn si taky myslím, že iphone (nebo někdo jiný) nebude mít do budoucna sílu na rozpoutání nějaké větší laviny.
Zdá se mi že dnes je naštěstí vývoj webu o něco dál, i když určitě není od věci na tento problém čas od času upozornit.
Zrovna tohle mi přijde jako rozumné omezení. V současnosti asi neexistuje jiné zařízení, které by tuto hru mohlo podporovat. Takže jak by to mělo správně být? Jak by to ten autor měl udělat?
1) Udělat alternativní ovládání pro jiná zařízení - nevím, v čem přesně spočívá tato hra, ale bez odpovídajícího HW by asi postrádala smysl, nemělo by cenu to vůbec hrát. Tak na co by byly takové porty?
2) Vypustit tu detekci WebKitu - pak by nastala situace, kdy drtivé většině lidí (s jinými zařízeními) by to nefungovalo a nevěděli by proč. Objevily by se akorát špatné ohlasy, nic by se nevyřešilo. Takhle aspoň každý ví, na čem je.
3) Nedělat hry fungující jen pod jedním zařízením - čili nedělat nic průkopnického a zahodit tak všechny lepší vlastnosti některých zařízení. Ano, to by bylo řešení. Otázka je proč?
Vždycky tu budou zařízení/prohlížeče, které umožňují něco navíc a vždycky se najdou lidé, kteří pro tyto prohlížeče budou dělat hry/skripty/cokoliv. Spustí to jen malá část lidí, ale na druhou stranu - právě tyhle průkopnické programy posunují vývoj dál. Až se objeví další taková zařízení, půjdou ty programy i na nich (stačí upravit detekci). A jestli ty vychytávky mají smysl a tahle hra je dobrá, vzroste po tom HW hlad a další podobná zařízení se nepochybně objeví. A kvůli čemu se objevuje průkopnický HW, když ne kvůli průkopnickému SW?
V tomto případě je špatné naříkat nad tím, že je někde detekce zařízení, která někoho někam nepustí. Správné je těšit se na dobu, až taková detekce nebude třeba, protože požadované vlastnosti budou mít všechna zařízení.
To není to samé jako VBScript/JavaScript. JavaScript je zhruba plnohodnotná náhrada VBScriptu. Ovšem tohle prostě odpovídající náhradu nemá.
[15] "Takže jak by to mělo správně být? Jak by to ten autor měl udělat?"
Já je chápu, proč to udělali, jak to udělali (krom té detekce, kterou udělali špatně, neměli správně detekovat nový WebKit, ale nový WebKit na iPhone). Napsal jsem to už v článku. Nikdo nevidí problém v téhle aplikaci, ale v onom rozvírání nůžek, a v tom, že zatím nikdo neví, jak to rozvírání dopadne (opětovné rozdělení Webu na nekompatibilní sekce vypadá dnes hodně nepravděpodobně, ale nastalo kdysi a teoreticky může vždy znovu).
Je důležité si uvědomit, že se nůžky trochu rozevřely. Nic víc. A nic víc se ani ten článek nesnaží říct.
"To není to samé jako VBScript/JavaScript. JavaScript je zhruba plnohodnotná náhrada VBScriptu."
Pozor, tady záleží na kontextu. Po funkční stránce jsou ty jazyky v prohlížeči prakticky stejné (resp. tenkrát byly, dnes v době programování po vzoru JS frameworků by už Basic obstál hůř), ale mezi nimi se rozhodovali programátoři. A pro ně obě varianty stejné určitě nebyly. Ať již už v Basicu uměli zatímco JavaScript pro ně byl cizí (a divný!), nebo se jim víc Basic vyplatil už jen proto, že kromě prohlížeče jej mohli použít všude, třeba i pro tvorbu desktopových aplikací (tenkrát byla prostě lepší investice se takový jazyk naučit). Z toho pohledu pro ně skutečně byl Basic výhrou a nebyla náhoda, že si právě jej často vybírali, a ty stránky pak jinde nefungovaly.
[16] "Nikdo nevidí problém v téhle aplikaci, ale v onom rozvírání nůžek, a v tom, že zatím nikdo neví, jak to rozvírání dopadne (opětovné rozdělení Webu na nekompatibilní sekce vypadá dnes hodně nepravděpodobně, ale nastalo kdysi a teoreticky může vždy znovu)."
Já to chápu, ale to je prostě pokrok. Stejně jako spousta jiných věcí. Píšeš o hrách v canvasu, mimochodem báječné věci. Ovšem tyhle hry mají stejný problém jako tato pro iPhone - fungují jen na určitých prohlížečích, jinde ne. Proč i tam nepíšeš - "pozor, nůžky se rozevírají, to se mi nelíbí"? V čem je ten rozdíl? Že je to označené jako "experiment"? Hratelné je obojí...
Tyhle hry ukazují, jak by to možná mohlo vypadat v budoucnu. A do té doby si je může zkusit alespoň hrstka vyvolených. Anebo zaniknou. Ale špatného na tom nic nevidím.
[17] Ad canvas, je to určitě trochu podobné, ale ne stejné. Věci v canvasu jsou (až na výjimky) emulovatelné. Kupříkladu zrovna první hra Super Mario z tvého odkazu běží i v IE.
Rozdíl je v tom, že canvas má standardizované rozhraní. Stačí si přečíst specifikaci, naimplementovat (to může zabrat řádově týdny, maximálně ale měsíce) a uživatel to dostane s novou verzí prohlížeče. Na druhou stranu u těch hardwarových hraček (multitouch display apod.) to takhle snadno nejde ani pro výrobce ani pro zákazníka (i kdyby se zítra všude objevily, budou drahé, žádný upgrade to nevyřeší).
Zatímco ten první případ je řešitelný snadno, ten druhý ne. Neříkám, že to není pěkné. Mě se tyhle serepetičky opravdu líbí, ale snadno se z toho může stát lock-in vlastnost.
Ak ste už neodolali a klikli ste na link "špeciálna aplikácia pre iphone - neklikajte ak nemáte iphone" z vášho Internet explorera, tak sa potom nečudujte, ak sa vám zobrazí hláška "for iPhone only". Ak chcete otestovať genialitu touch ovládania aj na vašom PC, možno pomôže bridge na simuláciu JavaScriptových touch eventov v bežnom browseri: http://tlrobinson.net/blog/?p=42
Jediné "čisté" tiešenie by v tomto prípade bolo na celú hru sa vykašlať a neurobiť žiadnu stránku. :)
[20] Jenže takovou emulaci nevkládá uživatel, ale tvůrce aplikace (např. volitelně vloženou, podobně jako se volitelně vkládá emulace canvasu, podpory JSON apod.). Říkal jsem si, jestli nejde podobná jednoduchá vrstva vytvořit, tak jde. Prima. Teď už jen, aby se o ní dověděli tvůrci podobných aplikací.
Martin Hassman ex-biochemik, umělecký programátor a publicista. Spoluzakladatel CZilly, zakladatel Zdrojáku, správce HTML5.cz, organizátor hackathonů, čekovacích muzejních nocí aj. akcí.
Přečteno 24 507×
Přečteno 24 033×
Přečteno 20 755×
Přečteno 19 839×
Přečteno 19 810×