Skip to content

GhoUl

A Cubus Sapiens oldal

Archívum

Címke: ie

A hétvégén volt szerencsém pár érdekes kompatibilitási problémával Microsofttal kapcsolatban. Pontosabban van, amiről olvastam, van, amit találtam. Az egyik az Internet Explorer sikeres, szabványos tesztjeivel foglalkozik. Korábbi írásomban már írtam arról, hogy az Internet Explorer 8 már képes átmenni az ACID2 teszten. Azóta annyi változott, hogy a kompatibilis módhoz mégsem kell módosítani az oldalakat. Hurrá.

Na, mindegy, amiről beszélni akartam, hogy megjelent az ACID3 teszt is (abból kiindulva, hogy most már minden böngésző átmegy a korábbin, legalább a fejlesztői változatok). Az új teszt szép, csili-vili, a Webkit motor közel van hozzá, hogy átmenjen (90% felett van, utolsó információm 92%, de azóta nőhetett), Firefox béta 70%-on (na, ez meg valószínűleg nem fog sokat nőni a 3-as verzió kiadásáig, mert állítólag architekturális változások szükségesek), Opera hasonló eredménnyel zár.

Ami nem meglepő, hogy az IE lenn van: az IE 7-es verziója kemény 12%-ot ér el. Ami viszont meglepőbb, hogy az 5.5-ös ezt felülmúlja: 14%. Hát igen, az IE is fejlődik (mielőtt valaki nekem támadna, a 8-as verzió majdnem 50%-ot javítva 17%-on tart…). A részletes eredmények elérhetőek a http://www.anomalousanomaly.com/2008/03/06/acid-3/ címen. Természetesen nem hivatalos link, de amit ellenőrizni tudtam, az egyezik. A szerző állítása szerint megpróbálja követni az eredményeket.

A másik érdekes kompatibilitási dolog, amivel szembesültem, az a csodálatos Powerpoint 2007 formátumai. Egyik szakirányos tárgyunkon csapatmunkában kell házi feladatot beadni, aminek része volt, hogy egy prezentációt kell előállítani. Srác gépén Office 2007 van (az enyémen meg nincs MS Office, de állítólag a Keynote kompatibilis).

Na, haver kiválaszt egy mintát, összerak egy kezdeti változatot, átküldi. ppt-ben, nem az új formátumban. Megnézem, jónak tűnik. Elkezdem szerkeszteni. Eljutok odáig, hogy az egyik címsor szövegét módosítanám. Duplaklikk, feltűnik, hogy a kurzor nem változott szövegkijelölőre, még egy dupla klikk, aztán rájövök, hogy ez nem fog menni. Az eszement Powerpoint 2007 képként exportálta a címsort.

Erre őszintén egyetlen értelmes magyarázatot tudok elképzelni: valami elvont betűtípust használ (értsd: olyan betűtípust, amit először az Office 2007 telepít, korábban teljesen ismeretlen volt). De biztosan ez a megoldás efféle problémák kezelésére? A megszokott megoldás, hogy a betűtípusra hivatkozunk, és ha a célhelyen nincs meg, nyomunk valami figyelmeztetést, esetleg helyettesítjük, miért nem jó? Az ok, hogy pdf-stílusban nem lehet beágyazni a fontot a fájlba, ha ezt a ppt-specifikáció nem támogatja. De a másikat miért nem lehet csinálni. Esetleg miért nem lehet figyelmeztetni, hogy hé, öcsisajt, ezt nem tudom exportálni.

Mindenesetre az egyetlen értelmes konklúzió: egy újabb MS Office termék, aminek a kompatibilitási adataiban nem lehet bízni (vagy még inkább csak egyszerűen MS termék). De ez a képként exportáljuk a címsort még a visszamenő kompatibilitást is ellövi (2003-as vagy korábbi verziókkal). Bár lassan azt hiszem, hogy már ezt is megszoktuk. De ez van. Vannak dolgok, amiben a Microsoft soha nem volt túl erős. Igaz, neki nem is kell törődnie másokkal, bőven elég, ha az van, amit ő akar. Hisz a többség azt csinálja, amit ő akar, a kisebbség meg igazán alkalmazkodhat.

A weben már a Microsoft felismerte, hogy egyre többen használják a nyílt szabványon alapuló böngészőket (Magyarországon a Firefox részesedése 40% körüli), ami szükségessé teszi az interoperabilitást. Amit meglehetősen nehéz lesz elérni. Vajon eljön az a Kánaán, amikor ez meglesz a levelezőszerverek, levelezőkliensek, irodai programcsomagok, netán az operációs rendszerek (desktopok, vagy egyebek, ízlés szerint helyettesítendő a megfelelő fogalommal) világában? Reméljük.

Annak idején foglalkoztam egy-két bejegyzés erejéig az Internet Explorer 7-es verziójával ([[IE 7 a láthatáron]] és [[IE7 - avagy sok hűhó semmiért]]), és az volt a véleményem, hogy igen, jó, hogy foglalkoznak vele, hogy könnyebb legyen, de nem léptek eleget. Az előző designnál például háromféle css-t kellett kiszolgálnom: egyet az ie6 és korábbi változatainak, egyet az ie7-nek és egyet a böngészőknek (értsd: minden másnak, Firefox, Opera, Konqueror, Safari, sőt még a Lynx számára is tökéletes volt a kimenet).

Úgy néz ki, hogy a következő IE-ben ez teljesen másképp lesz.

Hiszen nagy hangsúlyt fektetnek a szabványkövetésre, hiszen ha beraksz egy meta taget, átmegy az Acid2-n (mintha az olyan sokat számítana). Tény, most még a Firefox stabil változata sem megy át, de sajnos ez nem sokat számít. Mindennek ellenére a Firefox gyakorlatilag ugyanannyira szabványkövető, mint a Safari, az Opera vagy a Konqueror. Van, amit az egyik tud, van, amit a másik. Kár összevetni. Elkészült azóta az Acid3 teszt is, ez olyan szempontból jó mérő, hogy ezen még senki sem megy át. Közel sem. A normális böngészők 60% körül teljesítenek.

Persze ez sem sokat jelent. A felhasználók számára az számít, hogy mit csináltak a honlapkészítők (nem akartam a webdesigner, esetleg webdizájner kifejezéseket használni), illetve az hogy jelenik meg kedvenc böngészőjükben (miután a felhasználók nézőpontját próbálom követni, szokásomtól eltérően az IE-t is idesorolom). A honlapkészítők számára meg az számít, hogy mit rakhatnak egy oldalra, mert működik, illetve mit nem. Ez is elég egyértelmű.

De térjünk vissza az eredeti témára. Ez a meta tages megoldás érdekes. Ha a szabványok oldaláról nézem, akkor a “Hogy is van ez?” kérdés az, ami először felmerül. Ez azt jelenti, hogy az úgy változat alapból nem kompatibilis, de kompatibilissé tehető? Ennek mi értelme van? Legyen kompatibilis és kész.

Persze ha kicsit józanabbul szemlélem a dolgokat, és megpróbálom beleélni magam a fejlesztők helyébe, valamilyen szinten a döntés jogos is, hiszen ki tudja, hány helyen, akár nem is nyilvánosan, hanem a belső, hálózati intraneten vannak olyan oldalak, ami a szabványokról semmit sem hallottak. És ezekről is gondoskodni kellene. Ugyanakkor ezzel a logikával fennáll a veszély, hogy a végén egy böngésző belsejében kénytelenek kismillió böngészőmotort integrálni.

Ez utóbbi az asztali gépeken nem probléma (most már noteszgépeken sem), de mondjuk a PDA-kon, mobiltelefonokon ez nem egy használható megoldás. Legalábbis szerintem. Hiszen a sok motor sok memóriát eszik, amikor betöltődik, meg hasonló problémák lehetnek. Persze nehéz jobb megoldást javasolni, de ez így nekem nem tetszik.

Hiszek benne, hogy inkább nagyobbat kellene lépni, vagy esetleg hagyni az egészet a fenébe, és ha a Microsoft saját böngészőt akar, akkor kövesse az Apple példáját, és vegye valamelyik hozzáférhető böngészőmotort, mint például a Geckot vagy a Webkitet. Bár lehet, hogy furcsán néznének rá utána. Ami egyébként ugyanolyan rossz, mint a Microsoft jelenlegi ügyködése a nyílt forrással kapcsolatban.

Mindenesetre a helyzet érdekes, a megoldás még nyitott, nekem nincs kedvem negyedik kinézetet is kiszolgálni az új Explorer számára, de ha tényleg úgy működik, ahogy remélik, és a 8-as verzió “szuperkompatibilis” módja már a többi böngészővel összevetve is normális lesz (értsd: csak egy-két dologban vannak különbségek, de van egy nagy-nagy közös metszet, amiből bárki gazdálkodhat), akkor részemről örülni fogok neki, és örömmel kiteszem azt a plusz taget a kódba. Oly sokat nem számít úgysem.

További olvasnivaló a témáról angolul az IEBlogon és A List Aparton, érdemes megnézni ezeket a vélemények miatt is. Én sok mindent tőlük szedtem. Tanulságos.
Frissítés: a Webkit böngésző fejlesztőinek véleménye is linkelve.

Unalmas lenne a számítástechnika, ha nem lenne a Microsoft. Nélküle nem kellene szórakozni az IE hülyeségeivel, nem lenne gond azzal, hogy a legújabb operációs rendszernek csúfolt szörnyedvényük mindent külön meg is kérdez a felhasználótól (annak ellenére, hogy hozzáértők szerint [[Soha ne figyelmeztess, ha a visszavonás is elegendő!|ez nem célszerű]]). Persze hivatkozhatnánk egyebekre is, például a kezdő felhasználók kodek-telepítési mizériáira is…

Emellett vannak más érdekességek is. Például van ismerősöm, aki azért nem telepítette fel a Live Messengert, mert nem tetszett neki a licenszszerződése. A 7.5-ös meg már nem működik. Sebaj, vannak más kliensek is.

Gondolhatnánk, ideje váltani… De az sem feltétlen nyerő: a Microsoft május végén bejelentette, hogy a szabad szoftverek sértik 235 meg nem nevezett szabadalmát…. Érdekes: a sértett szabadalmak listáját azóta sem láttuk, és per sem született belőle. Ez utóbbi mondjuk érthető, ugyanis a szabad szoftvereket támogatók közül az IBM, a Sony, a Philips, a Novell, a Red Hat és a NEC elkezdte összegyűjteni, hogy egy esetleges szabadalmi per esetén milyen kereseteket nyújthatnának be. Igen, ezt nem véletlenül nevezte a CNN a szabadalmi armageddonnak.

Persze ez a vihar is elült, ma már nem sokan beszélnek róla, hosszabb távon is FUD Fear, uncertainty and doubt – egy politikai és marketingstratégia, az ellenfél megfélemlítésében és bizonytalanságban tartására épít-nak becézik…

Erre most itt a legújabb lépésük, amit már a tulajdon felhasználóik ellen követnek el: a WindowsSecrets.com három egymást követő héten is írt a hírről, miszerint a Microsoft titokban is frissíti a Windows-felhasználók rendszerét. A Windows Update frissítése azoknak is telepítődött, akik kikapcsolták az automatikus telepítést. No comment…

Bízhatunk annyira a Microsoftban, hogy nem él vissza ezzel a lehetőséggel?

A dolog pikantériája persze, hogy ehhez a licenszszerződés alapján még joga is van, de akkor sem nyugtatja meg a szerencsétlen felhasználókat. Amikor utoljára ilyesmiről hallottunk (emlékszünk még a Sony-féle rootkit-botrányra), akkor készült kártékony kód is, ami az adott helyzetet kihasználta. Várom, hogy jöjjön a Windows Update-en keresztül terjedő vírus…

Ja, és hab a tortán, hogy egy rendszerhiba folytán a Windows Rescue mód használatát is jócskán megnehezíti…

Ilyenkor örülök, hogy én már több, mint egy éve operációs rendszert használok…

A hivatkozott cikkek:

A Microsoft 2001-ben (a Windows XP-vel együtt) kiadta az Internet Explorer 6-ot (a továbbiakban IE vagy IE6), és azóta a böngészőjét csak egy Service Packkel bővítette. A biztonságon ugyan ezek a csomagok némileg javítottak, de keveset változtattak a tényen, hogy az IE kezd lemaradni a többi böngészővel szemben.

A (szvsz. első) “böngészőháború” vesztese a Netscape Navigator csomagjából megszületett először a Mozilla Suite, majd a Firefox, ami komolyan elkezdte veszélyesztetni az IE abszolút dominanciáját. A Market Share by Net applications statisztikái szerint a Firefox 10% feletti részesedéssel rendelkezik, míg a többi alternatív böngésző (köztük a másik kedvencemmel, az Operával) nagyjából 5%-os együttes részesedéssel bír.

Ez a megingás részben a nagyobb biztonságnak, részben a több szolgáltatásnak volt köszönhető, de komoly szerepet játszhatott benne az a tény is, hogy a MS a teljes böngészőpiac megszerzése után leállt az IE fejlesztésével, és az eredeti tervek alapján az IE7 csak a Vistában lett volna elérhető, de a komoly részesedésvesztés miatt ezt megváltoztatták.

Az új böngészőhasználati trend megváltoztatta azt a webtervezési gyakorlatot, hogy elegendő egy oldalt IE-re fejleszteni, ugyanis gyakorlatilag mindenki azt használta. A mai trend az, hogy tervezés szempontjából az IE6 és a többi böngésző között kell választani (a többi böngésző inkább a W3 Consortium szabványait követi).

Manapság a helyzet az, hogy egy oldalt legjobb szabványosan megírni, majd különféle hackekkel biztosítani, hogy IE alatt is megfelelően fusson. Ez sajnos messze nem a legjobb megoldás, de nincs igazán más lehetőség. A helyzet súlyosságára jellemző, hogy az ismert webtervezésel foglalkozó weboldalak cikkeinek a két-harmadában külön ki kell emelni az IE-ben történő működéshez szükséges hackeket.

Reméltem, hogy az IE7 javít valamit ezen az áldatlan állapoton, de naiv voltam. Ugyan a MS a biztonság kérdését a zászlajára tűzte (nem kívánok olyan vitába bocsátkozni, hogy az alternatív böngészőkben mennyi biztonsági rés van, illetve hogy rájuk nem férne-e ez a dolog – ugyanis jelenleg nem éri meg a hibáikat kikeresni, annyira kevesen használják ezeket; ez a szempont persze a közeljövőben megváltozhat), de a W3C-kompatibilitás még várat magára. A Web Devout statisztikái szerint az új IE nem lesz lényegesen jobb, mint az elődje.

Vajon mikor jön el a webtervezési kánaán, hogy egy egyszerű webfejlesztő képes lesz a szabványoknak megfelelően fejleszteni úgy, hogy ne kelljen mindenféle trükkös megoldásokkal megoldani? A jelenleg legjobbnak tűnő megoldás az IE teljes kitiltása lenne a webről (tudom, álmodozó vagyok), ugyanis nincs alapom rá, hogy megbízzak, lesz olyan IE8 (-9-10), amire majd lehet a szabványoknak megfelelően fejleszteni. Bár tévednék.

Template-szerkesztés közben találtam egy érdekes megoldást, ami sok esetben segíthet a fejlesztőknek abban, hogy megtartsák a W3C-kompatibilitást, de ugyanakkor Internet Explorerben is megfelelően nézzen ki. A megoldás persze nem 100%-os, ugyanis igényli, hogy be legyen kapcsolva a Javascript a böngészőben.

A módszert először a Joomla! 1.5 alpha 2 verzió rhuk_milkyway nevű template-jében láttam, és utánaolvasgatva meglepően hasznosnak tűnt.

A Javascript kód összesen annyit csinál, hogy megvizsgálja, hogy a böngésző IE-e, és ha igen, akkor betölt még egy stíluslapot. Ez persze messze nem meríti ki a lehetőségeket, ugyanis akár verziófüggő is lehet ez a kód.

Az alapkód a következő:

És példák a verziófüggőségre a Berkeley egyetem egyik levelezőlistájának webes archívumából:

 

Example 1.
The above code prevents any browser newer than IE 5 from seeing the CSS.
“lte” – less than or equal to.

 

Example 2.
Or as an alternative, the above code hides the CSS from IE 5. “gt” – greater
than.

Ugyanekkor szintén itt hívja fel a figyelmet a veszélyre: a Javascript-et a felhasználó kikapcsolhatja a böngészőjében, ami komoly problémákhoz vezethet. De arra azért jó lehet, hogy még egy stíluslapot hozzákapcsoljunk az oldalhoz, ami ahhoz kell, hogy IE-ben megfelelően jelenjen meg az oldal, de ne boruljon a W3C szerinti érvényesség.