Első látásra nem is hinnénk John Hrvatinról, hogy a húszas éveiben járó fiatalember annak a fejlesztői csapatnak a vezetője, amely az Internet Explorer 9 feldolgozó alrendszereit készíti. A Princeton Egyetemen 2004-ben végzett szakember ugyanis már a tanulmányai elvégzését követően bekerült az Internet Explorer 6 fejlesztői gárdájába, ám mint a PC World kérdésére elmondta, ekkor még nem tudott komolyan beleszólni a böngésző tervezésébe. A hetes kiadásnál azonban már nagyobb feladatot kapott, mígnem a nyolcas verziónál már a böngésző fejlesztői eszközeiért felelt, napjainkra pedig az Internet Explorer 9 egyik vezető fejlesztőjévé vált.
Hogy mit keresett az Internet Explorer egyik prominens készítője Budapesten? Kérdésünkre John Hrvatin egy halványan fogó zöld filctoll segítségével az „If (IE) then…ELSE” szöveget írja fel a teremben lévő táblára, majd hozzákezd a bővebb magyarázathoz. A szakember a magyarországi látogatása során igyekezett meggyőzni a hazai fejlesztőkből álló közönségét arról, hogy többé ne különböztessék meg a Microsoft böngészőjét, külön HTML kódot írva számára. John Hrvatin elmondása alapján ugyanis az Internet Explorer 9 fejlesztésénél egyik kitűzött cél volt a szabványoknak való megfelelés, amely biztosítja a fejlesztők számára a böngésző-független web alkalmazások megírásának a lehetőségét.
„If [Canvas]…else” – nyitja meg a következő oszlopot az IE9 vezető fejlesztője. John Hrvatin elmondása alapján ugyanis a Microsoft azt szeretné tudatosítani, hogy már nem a böngészők alapján kell különbséget tenni, hanem a megjelenítendő elemek alapján kell a feltételeket megfogalmazni. Azaz a fenti példával élve legyen egy külön HTML kód a Canvas objektumok számára, és egy másik, ha a böngésző nem képes kezelni az adott elemet.
Érdemes felkészülni
Amíg ez nem valósul meg, addig ideiglenes megoldásként marad az Internet Explorer 8 által bevezetett kompatibilitási lista, amely a világháló azon ismertebb oldalait tartalmazza, amelyeket az Internet Explorer újabb verziói nem képesek megfelelően megjeleníteni (sokszor a fent említett „if IE” kitétel miatt). Utóbbi lista az Internet Explorer 9-ben is jelen lesz, ám remélhetőleg csak kevés nagy portált fog tartalmazni. Ennek érdekében ugyanis a Microsoft szorosan együttműködik a vezető tartalomszolgáltatókkal és a Connect tesztelőivel, hogy az Internet Explorer 9 rajtjára a világháló leglátogatottabb oldalai mind kompatibilisek legyenek a legújabb böngészővel.
A redmondi szoftvercég szakembere emellett kérdésünkre elmondta, hogy immár nem kell majd hosszasan várni arra, hogy egy oldal lekerüljön a kompatibilitási listáról, mivel az már nem a Windows Update-en keresztül fog frissülni, hanem a böngésző fogja bizonyos időközönként közvetlenül lekérni a lista legújabb változatát.
„A kompatibilitás érdekében nem kell sokat tenniük a weboldalak tulajdonosainak. Elég lehet például, ha kiveszik kódjukból az „if (IE)….else” sort egyként kezelve az új Explorert a többi piacon lévő böngészővel” – mondja John Hrvatin, miközben éppen a Wall Street Journal európai kiadását igyekszik leszúrni a tálcára. Ezt nem unalmából teszi, hanem egy másik böngészővel érkező újdonságot próbál megmutatni, nevezetesen, hogy miként lehet személyre szabni a rögzített weboldalak ugrólistáját. Ennek érdekében az F12 lenyomásával megnyitja a böngésző fejlesztői eszközeit, majd a mező meta-információi között rámutat az érintett sorokra:
Körülbelül ennyi kiegészítés kell ahhoz, hogy weboldalunk a tálcára rögzítve képes legyen az ugrólistán keresztül egy kattintással elérhetővé tenni a legfontosabb aloldalainkat. Következő lépésként John Hrvatin Lance Armstrong kerékpáros LiveStrong.com oldalát tölti be, hogy bemutassa, miként lehet értesítéseket elhelyezni a leszúrt weboldalaknál (például ha egy új hír jelenik meg).
Hogy ehhez pontosan mit kell beírni a forráskódba, azt elsőre az Internet Explorer 9 fejlesztője sem tudja megmondani, így az MSDN oldalát hívja segítségül, ahol pár pillanat alatt megtalálja a keresett sort: „window.external.msSiteModeSetIconOverlay('http://host/images/overlay1.ico', 'Overlay 1');”. Ilyen egyszerű az egész, vagyis Hrvatin bemutatója alapján nem kell sokat tenni azért, hogy weboldalunk a lehető legjobban jelenhessen meg Windows 7 alatt.
A HTML5 eminens tanulója
„A fejlesztés során fontos volt a közös jelölőnyelv használata is, amellyel biztosítjuk, hogy a fejlesztők által írt oldalak böngészőtől függetlenül ugyanúgy jelenhessenek meg. Ennek jegyében az átdolgozott motort igyekeztünk szabványkövetőre megírni. A W3C konzorcium iránymutatásait vettük alapul, amely iparági sztenderdet biztosít” – mondta John Hrvatin. A szakember elmondása alapján ennek érdekében szorosan együttműködnek a W3C képviselőivel, főleg a HTML5 szabványosításában, mivel az Internet Explorer 9 erősen épít a jelenleg is formálódó új jelölőnyelvre. Ennek érdekében a redmondi szoftvercég több tesztet is elkészített a szabványügyi testület számára, hogy így gyorsítsa fel a HTML5 szabványok véglegesítését. Egy-egy benyújtott kérelemnek ugyanis hosszú utat kell bejárnia ahhoz, hogy iparágilag elfogadott legyen, és bekerüljön a W3C dokumentációjába, amit utána a többi fejlesztő műhely (például Mozilla, Opera) is elfogad.
Persze ez a fajta elkötelezettség akár a visszájára is elsülhet, mivel nem szerencsés a még kialakulóban lévő nyelvre alapozni. „Félkész terméket nem adunk oda a felhasználók számára. Az Internet Explorer 9-be ezért csak azon elemeket építjük be, amelyeket már elfogadtak, illetve amelyek közel állnak ahhoz, hogy zöld utat kapjanak” – reagált a felvetésünkre John Hrvatin. Ez az elfogadási folyamat a technológiai előzetesek érkezésével figyelhető meg, hiszen minden új friss kiadásba igyekszenek implementálni egy újonnan elfogadott HTML5 szabványt. A legutóbbi, hatodik előzetesbe például így került be a CSS3 2D transformok és a szemantikus címkék támogatása, amely nem sokkal előtte vált W3C szabvánnyá.
Így a technológiai előzetesekkel nyomon követhető az IE9 motorjának lassú fejlődése. „Ez egy új elhatározásunk volt, mármint hogy a felhasználókat a böngésző készítésének korai szakaszában bevonjuk a fejlesztésbe, megmutatva nekik, hogy milyen weboldalakat alkothatnak az Internet Explorer 9 segítségével” – nyilatkozta a PC World kérdésére a Microsoft szakembere, aki a későbbiekben nem kívánta elárulni, hogy a böngészőnek még mennyi technológiai előzetese várható, annak ellenére, hogy eddig nagyjából betartották a nyolchetes menetrendet. Sőt hasonlóan rejtélyesen nyilatkozott az Internet Explorer 9 tesztoldalán lévő demókkal kapcsolatban is, mármint hogy azok mennyire vannak az új böngészőre optimalizálva.
„A test drive oldalon található teszteket nem kifejezetten az IE9 számára készítettük, a demókat ugyanis minden piacon lévő böngésző meg tudja jeleníteni” – mondta a szakember, aki később elbizonytalanodott, mikor megfordítottuk a kérdést, hogy vajon a Mozilla tud-e egy Firefox 4-re optimalizált hasonló oldalt készíteni? „Ezt én nem tudom megmondani, elképzelhető” – mondta mosolyogva John Hrvatin.
Nem a tesztek számítanak
A szabványok tiszteletben tartása reményteli elkötelezettség, ám az Internet Explorer 9 a sokak számára mérvadónak tekintett Acid3 teszten egy ideje megrekedt a 95 százalékos eredményen, miközben versenytársai közül például a Chrome 4 és az Opera 10 hiba nélkül abszolválta a megmérettetést. Azaz amennyiben az Acid3 eredményeiből indulnunk ki, akkor az Internet Explorer 9 még mindig le van maradva a vetélytársaitól. John Hrvatin elmondása alapján azonban a fenti eredményből nem szabad messzemenő következtetéseket levonni: „Mi nem a teszteken akarunk jól szerepelni, hanem a felhasználóknak írjuk a programot, hogy az a mindennapos használat mellett képes legyen megmutatni a web szépségét. Igaz, hogy az Acid3 tesztjén csak 95 százalékon állunk, de fontos azt kiemelni, hogy a 100 százalékhoz az SVG Fonts és a SMIL animáció támogatását kellene beépítenünk az Internet Explorer 9-be”.
John Hrvatin elmondása alapján ezt nem biztos, hogy megteszik, csak azért, hogy 100 százalékos legyen böngészőjük az Acid3 teszten. Például az SVG betűk elmondása alapján egyre inkább háttérbe szorulnak, helyüket a WOFF (Web Open Font Format) karakterek veszik át. Hasonló aggályok merülhetnek fel a SMIL animációkkal kapcsolatban is. Vagyis ha bekerül a támogatásuk az Internet Explorerbe, az csak az Acid3 teszt miatt lesz. „Az Acid3 tesztje egyébként meglehetősen érdekes, hiszen a Media Queries támogatás, mikor a böngésző a kliens jellemzőit is figyelembe veszi csak 1 pontot ér, ugyanannyit, mint egy hiba kijavítása. Furcsán pontoznak” – tette hozzá az Internet Explorer fejlesztője.
Másik fontos mérőszám a JavaScript-motor teljesítménye. Itt nem kell kompromisszumot kötni a megfelelő sebességhez, ráadásul a teljesen újraírt feldolgozó egységnek köszönhetően az Internet Explorer 9 felzárkózott a versenytársaihoz. „A kezdetekben elsőként a teljesítményre koncentráltunk, szerettük volna felgyorsítani a böngészőnket. Ennek eredményeként az Internet Explorer 8 elkészültét követően azonnal hozzáfogtunk egy teljesen új JavaScript motor elkészítéséhez, amely a Chakra lett” – emlékezett vissza a szakember. Ráadásul meglépték azt, amit korábban nem tettek: integrálták a JavaScript motort közvetlenül a böngészőn belülre.
„A JavaScript motor korábban elkülönülve futott, hasonlóan a VBScript, a Ruby és más feldolgozó egységekhez. Idővel azonban a világháló fejlődésével a JavaScript egyre elterjedtebbé vált, így úgy döntöttünk, hogy beépítjük azt a böngészőn belülre. Mindez azonban nem hozott volna radikális változást a JavaScript motor kipucolása nélkül” – nyilatkozta kérdésünkre John Hravtin.
A Windows 7 útján
Jogosan merülhet fel a kérdés, hogy a radikális változásokhoz miért kellett várni az Internet Explorer 9-es kiadásáig, miért nem hozta el azokat a korábbi, 8-as verzió? „Habár a Windows és az Internet Explorer csapata szorosan együttműködik, a nyolcas kiadásnál a Windows 7 még messze állt attól, hogy végleges legyen a forráskódja, ezért csak kis mértékben tudtunk az operációs rendszerre alapozni. A mostani kilences kiadásnál azonban ez megváltozott, mivel az új platform teljesen készen van, így tudunk alapozni a képességeire” – nyilatkozta kérdésünkre a szakember, aki a hardveres gyorsítást és a leszúrható weboldalakat hozta fel példaként. Utóbbi funkció ötlete például egyértelműen a Windows 7 érkezésével merült fel, amely mellett az Internet Explorer 9 fejlesztésénél az anonim felhasználói visszajelzésekre is komolyan alapoztak a Microsoft szakemberei.
„Azt néztük meg, hogy mit szeretnének a felhasználók. A leggyakoribb visszajelzés az volt, hogy nem a böngészőt szeretnék látni, hanem a weboldalt. Emiatt minimalizáltuk annak méretét és csak a legszükségesebb elemeket tartottuk meg” – hoz példát a változásokra John Hrvatin, akinek az elmondása alapján a Chrome böngészőre hajazó elemek mind így kerültek be az Internet Explorer 9-be. A felhasználók kérték azokat, és nem a versenytársak ötletét vették át. „A gépemen minden böngésző telepítve van, figyelem, hogy miként működnek” – mondta az IE9 fejlesztője. Azon kérdésünkre azonban, hogy előfordulhat olyan eset, mikor egy versenytárs megoldására elismerően csettint, elsőként csak mosolygott John Hrvatin. „Persze, miért ne? Mondjuk erre még nem volt példa” – tette hozzá nevetve.