Változó láthatárok
Egy napon mindenről el kell számolni. De mindenről. Ez elkerülhetetlen. S akárhogyan odázod: amiben hibáztál, amivel adós vagy, amihez gyáva voltál, amiben bűnös vagy, mindezért számot adsz egy napon. – Márai Sándor
Hosszú évek alatt még mindig nem fogadtuk el, mennyire diverz közeg a háló. Ott volt például az, amikor rá kellett jönnünk, hogy egy weboldalt nem csak egérrel akarunk kezelni. Mikor kiderült, hogy ki akarjuk kapcsolni a képeket. Hogy szöveges böngészőt használunk. És felolvasót. Saját stíluslapot. És a szkripteket sem szeretjük. És már tapogatjuk is a képernyőt.
Hogy változnak a képernyőméretek. És most a részletesség is. Pedig volt, aki szólt előre.
Az új iPhone Retina Display kijelzője lélegzetelállítóan néz ki.
iPhone 4 Retina Display (Aral Balkan)
Az Apple új üdvöskéjében négyszer annyi képpontot zsúfoltak ugyanakkora helyre, melynek következtében eddig még soha nem látott részletességben tündököl ikon és szöveg. De felvet némely problémákat is.
Dave Hyatt már négy évvel ezelőtt felhívta rá a figyelmet, hogy hamarosan eljön a nagy részletességű képernyők kora. A gond az, hogy a sok pixelben definiált weblap a jövő kijelzőin használhatatlanul apró lesz. Tehát nagyítani kell.
Hiába nagyítjuk azonban a képeket, azok pont ugyanúgy fognak kinézni, mint a kisebb részletességű képernyőn megtekintve: növelni kell a képek felbontását, egyszersmind azonban a megjelenítési méretüket változatlan hagyni – ez azonban nem is olyan egyszerű.
Dave megoldási javaslatai közt szerepel az explicit megadott méret a beágyazott illusztrációknál, nagyobb letöltendő képméret mellett; a háttérképek méretének megadása az új tulajdonság, a felsorolásjeleké az új kiválasztó segedelmével. Vagy a stíluslap feltételes értelmezése, az egyelőre csak Safari által támogatott új média-lekérdezésre alapozva.
A legegyszerűbb persze vektoros képek használata lenne, de mindannyian tudjuk, kilenc évvel az ajánlási státusz elnyerését követően hol tart még mindig az SVG támogatottsága, beszéljünk csak a dokumentumba ágyazott képekről, és ne is szóljunk a stíluslapokban történő használatról.
Aztán persze ott vannak azok a képek, melyek természetüknél fogva nem vektoralapúak. Aral Balkan azt indítványozza, kövessük az iPhone SDK konvencióját, és egy utótaggal különböztessük meg a képek nagyobb felbontású változatait, melyeket a böngésző automatikusan lekérne. És persze rögtön definiáljunk is egy meta elemet, amivel kikapcsolható, hogy ne dőljön össze a kiszolgáló a kérések terhe alatt.
A HTTP protokoll másfél évtizede teszi lehetővé a tartalomegyeztetést (content negotiation), épp ilyen célra. Csak ez is el lett felejtve.
Az Apple kiengedte a szellemet a palackból, mi pedig kapkodhatunk valamiféle megoldás után.
■
content negotiation
Elég csak arra gondolni, hogy én mondjuk angolul keresek egy kifejezést, de az oldal, mivel úgy gondolja, hogy a böngészőm magyar, magyarul fogja elém lökni adott esetben azt, hogy az oldal magyar nyelven nem érhető el. A még szomorúbb, hogy semmilyen szabványos hivatkozási módszer nincs arra, hogy fölülbíráljam a content negotiationt.
Ettől függetlenül persze lehet használni, csak azért érdemes arra odafigyelni, hogy az IE 6 is azt mondja talán magáról, hogy támogat XML-t, azt közben lótúrót. Ezen a ponton sajnos a szabvány huszárok megbuknak, nagyon óvatosan tessék implementálni az ilyen megoldásokat.
Nem a szabvány hibája
Nyilván ahhoz, hogy a negotiation működjön, alkalmas felületet kéne biztosítania a böngészőnek: be kellene tudjam állítani, milyen nyelvet kérek, milyen típusú tartalmat, a paramétereit stb.
URL
Az URL nem minden
Ha nincs szükség ezekre a lehetőségekre, akkor minek használunk HTTP-t? Használhatnánk helyette Unix fájlhierarchiát.
Flame: Címzés
Egyébként meg ne menjünk bele a flame warba, tudom, hogy nagy szabványharcos vagy, de ez esetben a szabványban nem vették egészen figyelembe a lehetséges felhasználásokat.
Flame?
Nem értem, hogy miért akadályozó tényező az, hogy egy a te terminológiádban vett erőforrást nem egy (URL), hanem több (URL, fejlécek) paraméter megadásával érhető el. Ez egy ilyen protokoll, az már a böngészőfejlesztők sara, hogy én egy kérést csak az URL-lel tudok paraméterezni.
Egyébként pedig úgy viszonyul ez a flame-hez, mint Makó Jeruzsálemhez :)
Szinte minden modern
Senki nem használja
Onnantól, hogy lehet hinni a böngésző által szolgáltatott adatnak, kezdhetnék el használni a fejlesztők szerveroldalon az információt.