Professional Documents
Culture Documents
Wydawnictwo Helion
ul. Kociuszki 1c
44-100 Gliwice
tel. 032 230 98 63
e-mail: helion@helion.pl
Spis treci
Wprowadzenie ................................................................ 17
Nie wszystko dla wszystkich ........................................................................ 17
Teoria a praktyka .................................................................................. 19
Cigo, a nie zbir sztywnych regu .......................................................... 20
Pokazuj, nie sprzedawaj ........................................................................ 20
Niech praca sprzedaje si sama ............................................................. 21
Sprzeda wewntrz firmy ...................................................................... 22
Zapach zmian .............................................................................................. 23
Cz I > Houston, mamy problem
Zanim zaczniesz .............................................................. 27
Nakrcanie kosztw, zmniejszanie zwrotw ................................................. 28
Przerwanie cyklu starzenia si .................................................................... 30
Czym jest zgodno w przd? ....................................................................... 31
adnych zasad, adnego dogmatu ............................................................... 33
Praktyka, nie teoria ..................................................................................... 35
Czy ta podr jest naprawd potrzebna? ...................................................... 37
1
Spis treci
4
Spis treci
Pierwszy kod taki sam jak ostatni ............................................................. 249
Kod nawigacji (pierwsza tabela) .......................................................... 249
Prezentacja, semantyka, czysto i grzech ........................................... 250
Kod treci (druga tabela) .................................................................... 252
9
Spis treci
14 Podstawowe mechanizmy uatwie dostpu ............................379
Dostpno wedug podrcznikw .............................................................. 381
Powszechna dezorientacja ......................................................................... 383
Zy duch macza w tym palce ................................................................ 383
Prawo a elementy ukadu .......................................................................... 387
Wyjaniamy znaczenie paragrafu 508 ................................................. 388
Obalamy mity dostpnoci ......................................................................... 390
Mit: dostpno zmusza ci do tworzenia dwch wersji witryny ........... 390
Mit: wersja tekstowa zaspokaja wymagania rwnego
lub rwnorzdnego dostpu ................................................................. 391
Mit: dostpno kosztuje zbyt wiele ..................................................... 391
Mit: dostpno wymusza tworzenie prymitywnych,
sabej jakoci projektw ....................................................................... 394
Mit: zgodnie z paragrafem 508 witryna musi wyglda tak samo
we wszystkich przegldarkach i agentach uytkownika ....................... 394
Mit: dostpno jest tylko dla osb niepenosprawnych .................... 395
Mit: Dreamweaver MX/Cynthia Says/LIFT/ Tutaj wstaw
nazw narzdzia rozwizuje wszystkie problemy dostpnoci ............... 395
Mit: projektanci mog swobodnie ignorowa przepisy
o dostpnoci, jeli tak nakazuj im klienci ......................................... 396
Uatwienia dostpu element po elemencie .................................................. 397
Obrazki ............................................................................................... 397
Apple QuickTime i inne przesyane strumieniowo obrazy wideo .......... 400
Macromedia Flash 4/5 ......................................................................... 400
Macromedia Flash MX i Flash 8 ......................................................... 401
Kolory ................................................................................................. 402
CSS ..................................................................................................... 403
Efekty najedania oraz inne zachowania implementowane
w skryptach .......................................................................................... 405
Formularze ......................................................................................... 407
Mapy obrazu ....................................................................................... 407
Ukady oparte na tabelach .................................................................. 408
Tabele przechowujce dane ................................................................. 408
Ramki i aplety ..................................................................................... 408
Elementy byskajce lub migajce ....................................................... 408
Sprawdzone narzdzia ............................................................................... 409
Pokochaj Cynthie ...................................................................................... 410
Zachowaj kolejno: nasz dobry znajomy atrybut tabindex .................. 411
Planowanie dostpu: jak na tym skorzystasz ............................................. 416
15 Wykorzystanie skryptw opartych na modelu DOM ....................419
DOM wedug podrcznikw ....................................................................... 420
Co to jest DOM? ........................................................................................ 422
Standardowy sposb na to, by strony WWW zachowyway si
jak aplikacje ....................................................................................... 422
Zatem gdzie to dziaa? ......................................................................... 424
10
ROZDZIA PIERWSZY
40
41
42
Problem wersji
Problem wersji
Tworzenie wielu wersji niestandardowego kodu (kadej dostosowanej do
niestandardowych dziwactw tej lub innej przegldarki) stanowi rdo cigego starzenia si stron plagi dotykajcej wikszo witryn. Trudno
zwyciy w grze, ktrej cele i zasady zmieniaj si w trakcie meczu.
43
44
Mimo swojej kosztownoci, bezsensownoci i nietrwaoci opisana praktyka nadal dominuje na rynku. Projektanci majcy do czynienia z przegldark obsugujc standardy sieciowe traktuj j jak jedn z tych, ktre nie
posiadaj tej cechy. Tworz kod, aby sprawdzi, czy jest to IE6, i karmi
j skryptami obsugiwanymi wycznie przez wytwory firmy Microsoft,
chocia IE6 radzi sobie ze standardami ECMAScript i DOM. Nastpnie
czuj si zmuszeni do napisania oddzielnych procedur dokonujcych detekcji nowych przegldarek bazujcych na silniku Mozilli, chocia te rwnie
potrafi obsuy wymienione standardy.
Jak sugeruje powyszy przykad, wikszo kodu podpatrujcego wersje
przegldarek i urzdze oraz generujcego indywidualny kod jest niepotrzebna w obecnym klimacie tolerancji dla standardw. Nawet przy regularnych uaktualnieniach na ktre niewielu wacicieli witryn moe sobie
pozwoli skrypty dokonujce detekcji czsto zawodz.
Na przykad przegldarka Opera dla systemw Windows i Macintosh identyfikuje si jako Internet Explorer. Robi to gwnie po to, aby unikn
blokowania przez witryny (w szczeglnoci nalece do sektora bankowego),
ktre dokonuj detekcji IE. Jednak skrypty napisane dla IE maj tendencj do wysypywania si w Operze. Kiedy zatem zidentyfikuje si ona
jako IE (jest to domylne ustawienie po zainstalowaniu) witrynie, ktrej
programista napisa kod specjalnie pod IE, liczba powstaych bdw oraz
poziom frustracji uytkownika ronie bardzo szybko. Maj oni moliwo
zmiany ustawie w taki sposb, aby Opera identyfikowaa si swoj prawdziw tosamoci, zamiast podszywa si pod IE. O tej opcji wie jednak
zaledwie garstka osb.
Oprcz skryptw dokonujcych detekcji programici pisz rwnie rozbudowany kod prezentacji strony, ktry wymaga wikszej przepustowoci od
cza klienta pragncego cign stron, jak i od udostpniajcego j
serwera. Rozbudowany kod zmniejsza dostpno strony dla wyszukiwarek
oraz niestandardowych przegldarek i urzdze internetowych (przez co
rwnie jej zawarto jest trudniejsza do odnalezienia przez potencjalnych
klientw). Stosowane strategie wywouj zatem czsto efekty, ktrym miay
zapobiega niekonsekwentne prezentowanie witryn w rnych przegldarkach (rysunki 1.1 i 1.2).
Rozbicie witryny na rne wersje niesie ze sob cigle rosnce koszty
oraz trudne do rozwizania problemy. Witryny DHTML produkowane
z uwzgldnieniem firmowych specyfikacji Netscapea 4.0 i Internet Explorera 4.0 nie dziaaj w wikszoci nowoczesnych przegldarek. Czy waciciel
Problem wersji
45
Rysunek 1.1.
W roku 2002 witryna
MSN Game Zone
(http://zone.msn.com/)
obsugiwaa 7 arkuszy
stylw, prezentuje si
jednak niepoprawnie
w wikszoci
nowoczesnych
przegldarek.
Chwali si 14 skryptami,
wrd ktrych jest
bardzo opasy kod
detekcji przegldarek,
ale nawet to jej nie
pomaga. Jak wida,
wykorzystanieduej
iloci kodu
do rozwizania
problemu nie zawsze
dziaa
Rysunek 1.2.
Uczciwie przyznaj,
e poprzedni zrzut
z ekranu pochodzi
sprzed 4 lat. Obecnie
ta sama strona wyglda
jeszcze gorzej,
gdy wrzucono na ni
jeszcze wicej kodu.
Sze lat po tym,
kiedy Microsoft
wypuci na rynek
pierwsz przegldark
zgodn ze standardami,
niektre fragmenty
witryny Microsoftu
nadal nie przestrzegaj
podstawowych zasad
projektowania w zgodzie
ze standardami
sieciowymi
46
Mylenie wsteczne
Zajrzyj do wntrza jakiejkolwiek wikszej komercyjnej strony, takiej jak
Amazon.com lub eBay.com. Zbadaj ich zawiy kod, osadzone kontrolki
ActiveX i JavaScript (czsto zawierajcy le dziaajce skrypty rozpoznawania przegldarek), a take z zaoenia le uyte style CSS o ile w ogle
je zastosowano. To cud, e te strony dziaaj w jakiejkolwiek przegldarce!
Dziaaj, poniewa pierwsze cztery lub pi pokole przegldarek Netscape
Navigator oraz Internet Explorer toleruje jedynie specyficzny dla siebie
kod. Taka sytuacja wrcz zachcaa do niechlujnego kodowania i tworzenia
skryptw zalenych od producenta oprogramowania, aby zwyciy w rynkowej wojnie przegldarek.
Czsto niezgodne ze standardami witryny dziaaj, poniewa ich waciciele
zainwestowali w drogie narzdzia do publikacji, ktre niweluj rnice midzy przegldarkami przez generowanie wielu wersji kodu dostosowanego do
danej przegldarki lub platformy (patrz Problem wersji).
Mylenie wsteczne
47
Znam wiele firm, ktre wyday ponad milion dolarw na przesadnie zoone,
ale niespecjalnie uyteczne systemy zarzdzania treci (CMS, ang. content
management system). Twrcy takich monstrualnych programw czciowo
usprawiedliwiaj ich oburzajce koszty, wskazujc na moliwo mozolnego generowania wszelkiego rodzaju niestandardowych wersji kodu. Poza
marnotrawstwem ogromnych iloci gotwki taka praktyka szkodzi take
moliwoci przeszukiwania takich stron przez zatopienie sensownych treci
w morzu nic nieznaczcych znacznikw (rysunek 1.3). Najbardziej ze wszystkich taka praktyka wystawia na prb cierpliwo uytkownika korzystajcego z modemowego dostpu do sieci przez zapychanie cza rozwidlonym
kodem, zagniedonymi tabelami, przernymi sztuczkami z obrazkami,
a take przestarzaymi znacznikami i atrybutami.
Rysunek 1.3.
Szybko! Sprbuj
znale na tej stronie
wane dla Yahoo
informacje
o Osobistoci roku
pord jej zagmatwanej,
niestrukturalnej skadni
HTML z 2001 roku.
Podpowied:
Jeli ty masz trudnoci
z jej odnalezieniem,
tak samo trudne bdzie
to dla czytnikw
i wyszukiwarek
(Yahoo.com)
48
Mylenie wsteczne
49
Rysunek 1.4.
Strona domowa
Yahoo (http://
www.yahoo.com/)
Rysunek 1.5.
Yahoo od rodka.
Zobacz rdo,
a przekonasz si,
e kod sucy
do stworzenia
tej prosto
wygldajcej strony
jest niewyobraalnie
skomplikowany.
Mimo e Yahoo
zaczo w kocu
uywa CSS, robi
to w najmniej wydajny
sposb nadal uywa
znacznikw <font>
oprcz regu CSS!
50
Przestarzae znaczniki:
dodatkowy koszt dla wacicieli witryn
Zamy, e kod jednej strony zbudowanej wedug starych zasad zajmuje
60 kB. Zastpienie znacznikw <font> oraz innych przestarzaych znacznikw czystym kodem z kilkoma reguami CSS zmniejsza rozmiar strony
do 30 kB. (W praktyce moliwe jest zredukowanie 60-kilobajtowej strony
do 22 kB lub nawet mniej, ale dla zachowania atwoci oblicze przyjmijmy
okrg liczb, ktra reprezentuje oszczdnoci cza internetowego rzdu
50%). Rozwamy dwa typowe scenariusze przedstawione poniej.
Redukcja cza
Scenariusz: Samodzielnie utrzymywana witryna maego przedsibiorstwa
lub witryna naleca do sektora publicznego obsuguje cigy strumie
odwiedzajcych kilkaset odson w danej chwili. Po zredukowaniu rozmiaru stron o poow poprzez konwersj znacznikw prezentacji strony
do zwizego, czystego kodu XHTML firma oszczdza 1500 z miesicznie.
Jak to dziaa: Aby obsuy klientw przed konwersj, witryna potrzebowaa dwch linii T1 (1,544 Mb/s). Koszt dzierawy kadej z nich wynosi
1500 z na miesic. Po ogoleniu plikw i zredukowaniu ich rozmiaru
o 50%, firma dochodzi do wniosku, e jest w stanie obsuy t sam liczb klientw przez jedno cze T1, tym samym redukujc swoje koszty operacyjne o 1500 z miesicznie. Oprcz kosztw dzierawy cza zmniejsz
si rwnie nakady na sprzt komputerowy. Im prostszy jest kod strony,
tym szybciej jest ona dostarczana do uytkownika. Im szybciej jest dostarczana, tym mniej obcia serwer trzeba kupi, serwisowa i modyfikowa mniej serwerw. Jest to szczeglnie istotne w przypadku serwerw,
ktre musz generowa dynamiczn, sterowan bazami danych zawarto
czyli zawarto, jak posuguj si niemal wszystkie wspczesne witryny
komercyjne (w tym wikszo blogw).
Mylenie wsteczne
Licznik megabajtw
Scenariusz: W miar rozwoju komercyjnie hostowanej witryny jej waciciele dochodz do wniosku, e kadego miesica pac nieuzasadnion kar
za transfer plikw, wynoszc dziesitki, a nawet setki zotych. Obcicie
rozmiaru plikw o poow sprowadza wysoko paconych rachunkw do
przyzwoitego poziomu.
Kod skondensowany a kod skompresowany
Gdy wygosiem wykad na temat standardw sieciowych, podszed do
mnie jeden z suchaczy twierdzc, i zyski wynikajce ze stosowania
czystego i dobrze uoonego kodu nie s wiksze ni w przypadku stosowania kompresji kodu HTML.
Oprcz kondensowania kodu przez pisanie go w sposb przejrzysty
i zwizy (tzn. stosowanie struktur semantycznych zamiast przestarzaego formatowania z uyciem jzyka HTML), mona rwnie zwyczajnie skompresowa kod w niektrych systemach serwerowych. Na
przykad Apache oferuje modu mod_zip kompresujcy pliki HTML
po stronie serwera. HTML jest ponownie rozpakowywany po stronie klienta.
Programista, z ktrym rozmawiaem, poda nastpujcy przykad: jeeli Amazon.com marnuje 40 kB na przestarzae znaczniki oraz inne
mieci, ale uywa moduu mod_zip i kompresuje pliki do rozmiaru
20 kB, to nadmiarowy kod stron tej witryny nie generuje wydatkw,
o ktrych mwiem na wykadzie oraz w tej ksice.
Jak si okazao, Amazon nie uywa moduu mod_zip. W rzeczywistoci
narzdzie to jest rzadko uywane w komercyjnych witrynach, przypuszczalnie ze wzgldu na dodatkowe obcienie zwizane z koniecznoci
kompresowania plikw przed wysaniem ich w wiat. Wracajc jednak
do dyskusji z programist, im mniejszy jest plik, tym lepiej zostanie
skompresowany. Jeeli oszczdzamy, kompresujc 80-kilobajtowy pliku
do rozmiaru 40 kB, wyobramy sobie, ile moemy zaoszczdzi, kompresujc 40 kB do 20 kB. Oszczdnoci w pojedynczej sesji mog wydawa si mae, ale ich warto kumuluje si. Z czasem mog znacznie zredukowa koszty operacyjne i zapobiec innym wydatkom (na
przykad dzierawie dodatkowego cza w celu zwikszenia przepustowoci serwerw).
Oszczdnoci na czu internetowym s tylko jedn z korzyci pyncych z pisania czystego, dobrze uoonego kodu, bardzo docenian przez
ksigowych oraz klientw i rwnie prawdziw dla tych, ktrzy stosuj
kompresj HTML-a.
51
52
Zgodno wstecz
Co programici uwaaj za zgodno wstecz? Zapytani odpowiedz: zapewnienie obsugi wszystkim uytkownikom. I jak tu spiera si z takim
argumentem?
W praktyce jednak zgodno wstecz oznacza stosowanie niestandardowych, zastrzeonych (lub niepraktykowanych) znacznikw oraz kodu, aby
kady uytkownik odwiedzajcy witryn mg dowiadczy tego samego,
niezalenie od tego, czy uywa IE2 czy Firefox 8.5. Zasada zgodnoci
wstecz traktowana jako wity Graal programowania brzmi niele
w teorii. Jednak jej koszt jest zbyt wysoki, a ona sama od zawsze opiera si
na faszywym zaoeniu.
Nie istnieje prawdziwa zgodno wstecz. Zawsze istnieje punkt odcicia.
Na przykad ani Mosaic (pierwsza przegldarka graficzna), ani Netscape 1.0
nie obsuguj ukadw opartych na tabelach HTML-owych. Zatem uytkownicy tych archaicznych przegldarek nie mog zobaczy tego samego, co
uytkownicy odrobin nowszych narzdzi typu Netscape 1.1 lub MSIE 2.
Mylenie wsteczne
53
Programici i klienci goszcy ide zgodnoci zmuszeni s do okrelenia bazowej przegldarki, na przykad Netscape 3, i przyjcia, e jest to najwczeniejsza przegldarka, ktra obsugiwa bdzie ich stron (uytkownicy
Netscapea 2 nie maj szczcia). Aby wypeni zobowizanie obsugi przegldarki bazowej, wprowadzaj do kodu szereg sztuczek, niestandardowych
trikw i okrnych rozwiza, ktre zwikszaj ciar kadej strony.
Jednoczenie pisz kilka skryptw, ktre rozpoznaj typ przegldarki i zasilaj j odpowiednim kodem. To dodatkowo zwiksza rozmiar stron, nakada obcienia na serwery i zapewnia nieustajcy proces starzenia si witryny a do wyczerpania pienidzy lub wypadnicia z brany.
Blokowanie uytkownikw
nie wpywa dobrze na interesy
Podczas gdy niektre firmy dokonuj zamachu na swoje dochody, prbujc
zapewni wsparcie nawet dla najstarszej przegldarki, inne decyduj si
na obsug wycznie jednej z nich. Ze wzgldu na bdne zaoenia ronie
liczba stron projektowanych wycznie do wsppracy z Internet Explorerem (czasem wycznie na platformie Windows), blokujc tym samym
15 25% potencjalnych uytkownikw i klientw (rysunki 1.6, 1.7, 1.8,
1.9, 1.10 i 1.11).
Rysunek 1.6.
Strona domowa KPMG
(http://www.kpmg.com/)
z roku 2003 przegldana
w Navigatorze.
Zupena rozsypka
ukadu jest efektem
zastosowania
kodu dziaajcego
wycznie w IE
Nie bd udawa, e rozumiem podejcie biznesowe firmy, ktra z zaoenia mwi NIE jednej czwartej swoich potencjalnych klientw. Tak dua
liczba klientw stracona przez krtkowzroczne podejcie nie powinna by
54
Rysunek 1.7.
Serwis KPMG jest
rwnie bezuyteczny
w Netscapie 7
Rysunek 1.8.
Jeli ta strona bya
przeznaczona tylko
dla Internet Explorera,
to jak dziaaa
w Internet Explorerze 5
dla komputerw
Macintosh? Jak wida,
nie za bardzo
akceptowana przez adnego racjonalnego przedsibiorc lub instytucj publiczn z mandatem suenia spoeczestwu. Wedug statystyk sporzdzanych przez NUA Internet Surveys (http://www.nua.ie/surveys/) ponad
650 milionw ludzi korzysta z internetu (wrzesie 2002). Sam policz, czy
to si opaca.
Powiedz, e nie przejmujesz si utrat 25% uytkownikw, ktrzy pragn
odwiedzi twoj stron. Podejcie tylko IE jest pozbawione sensu rwnie
dlatego, e nie istnieje gwarancja, e Internet Explorer (lub nawet przegldarki dla komputerw stacjonarnych jako kategoria oprogramowania)
Mylenie wsteczne
55
Rysunek 1.9.
Ta sama strona
widziana przez
IE6/Windows. Tutaj
serwis w kocu dziaa
Rysunek 1.10.
Serwis poniekd dziaa
rwnie w Operze 7
dla Windows, kiedy
ta identyfikowaa si
jako IE (kiedy Opera
identyfikuje si jako
ona sama, serwis
przestaje dziaa)
56
Rysunek 1.11.
Po gruntownym
przeprojektowaniu
nowa strona KPMG
wyglda poprawnie
i dziaa dobrze w wielu
przegldarkach
na rnych platformach.
Stao si tak za spraw
uaktualnionej skadni,
nieograniczonej tylko
do Internet Explorera
Poza tym, co pokae niniejsza ksika, standardy umoliwiaj projektowanie dla wszystkich przegldarek i urzdze z atwoci i szybkoci, z jak
robi si to obecnie dla jednej z nich. Gdzie pomidzy nakrcajc koszty
zgodnoci wstecz a krtkowzrocznoci polegajc na budowaniu dla jednej
przegldarki znajduje si jedyne suszne rozwizanie projektowanie z uyciem standardw sieciowych.
Zarwno technika tworzenia wielu wersji witryny, jak i jawnie podejmowanie decyzji obsugi wycznie jednej przegldarki nie pomog dzisiejszym
witrynom funkcjonowa w wiecie przyszego oprogramowania oraz rozwija
si w cigle ewoluujcym wiecie urzdze mobilnych. Jeeli obecne metody
bd kontynuowane, koszty oraz zoono witryn bdzie wzrasta do momentu, kiedy na ich tworzenie sta bdzie wycznie najwiksze firmy.
W naszych wysikach oferowania jednakowego wygldu i zachowania w rodowisku niezgodnych ze standardami przegldarek chcemy tworzy witryny wygldajce jak magazyny drukowane na papierze i zachowujce si
jak oprogramowanie stracilimy z oczu prawdziwy potencja sieci jako
bogatego i wielowarstwowego medium dostpnego dla wszystkich.
Zgubilimy go, kiedy projektanci i programici, walczcy o sprostanie wymaganiom produkcyjnym podczas bumu internetowego, nauczyli si niestandardowych metod tworzenia witryn zorientowanych na jeden wybrany
Mylenie wsteczne
Droga do Pacanowa
Na pocztku 1997 roku powszechn praktyk byo pisanie w jzyku JavaScript dla przegldarek Netscape i JScript (jzyku podobnym do JavaScriptu) dla przegldarek Microsoft. Rwnie powszechne byo stosowanie
JavaScriptu (obsugiwanego wycznie przez Netscapea) i ActiveX (dostpnego wycznie dla IE/Windows) do wysyania przegldarkom potrzebnego
im kodu. Tak postpowalimy z przegldarkami w wersji 3.0.
Praktyki takie nie przysugiway mniej znanym programom, takim jak Opera
czy choby Internet Explorer dla komputerw Macintosh, ale zadawalay
wikszo uytkownikw sieci i dziki temu szybko urosy do rangi normy
branowej. Jeeli chcielimy tworzy aktywne strony, ktre oferoway co
wicej ponad adny wygld, nie mielimy innego wyboru, jak tylko przestrzega ustalonych procedur.
Pod koniec roku 1997 wprowadzono na rynek przegldarki Netscape i Microsoft w wersji 4.0, zapewniajce potne moliwoci dynamicznego jzyka
HTML (DHTML), ktre, jak atwo mona zgadn, byy zupenie ze sob
niezgodne. Ponadto byy rwnie niezgodne ze swoimi poprzednimi wersjami (to, co dziaao w Netscapie 4, nie dziaao w Netscapie 3), nie wspominajc ju o zupenym braku zgodnoci z mao znanymi przegldarkami,
ktre pokornie obsugiway podstawowe standardy jak HTML zamiast tworzenia swoich wasnych jzykw i atrybutw.
Czy taka sytuacja bya normalna? Netscape i Microsoft sdziy, e tak, podobnie jak wielu programistw i projektantw. Pozostali, niezgadzajcy si
z t sytuacj, nie mieli alternatywy, musieli zagry zby i tworzy kilka
wersji witryny, aby zapewni jej profesjonalizm.
Na ile rnych sposobw naleao kodowa
By DHTML dla Netscapea 4. Nastpnie niezgodny DHTML dla Internet Explorera 4, ktry dziaa niemal wycznie w rodowiskach Windows. Do tego dochodziy nie-DHTML-owy JavaScript dla Netscapea 3
57
58
i nie-DHTML-owy kod dla IE3. W ostatecznoci pod uwag naleao jeszcze bra inne wersje kodu przeznaczone dla mniej popularnych przegldarek. Nawet najmniej interesujca strona potrzebowaa zatem minimum kilku
rozwidle kodu.
Niektrzy projektanci ograniczali si do dwch wersji (jednej przeznaczonej dla IE4 i drugiej dla Netscapea 4.0), a wymagajcy uytkownicy
mieli do wyboru zaopatrzy si w czwart wersj przegldarki albo zapomnie o korzystaniu ze strony. Pozostali, z jeszcze mniejszymi budetami,
nastawiali si na obsug tylko jednej przegldarki i generalnie przegrywali.
Projekt standardw sieciowych, ktry wystartowa tu po pojawieniu si na
rynku przegldarek w wersji 4.0, oceni, i potrzeba pisania czterech lub
wicej niezgodnych wersji kadej funkcji zwiksza koszt projektowania i produkowania witryny o minimum 25% koszt ponoszony przez klienta.
rodowisko programistw odpowiedziao na t ocen wzruszeniem ramion.
Sie bya bardzo gorcym towarem, a klienci chtnie pacili bardzo wysokie
rachunki, dlaczego zatem due agencje interaktywne miay martwi si
wysokimi kosztami wynikajcymi z koniecznoci tworzenia kilku wersji kodu.
W kocu jednak baka mydlana prysa, budety zaczy male lub zamraa si, agencje zwalniay swoje obroty lub zupenie wypaday z rynku. Nagle
nie byo ju nikogo, kogo sta byo na trwonienie pienidzy w taki sposb.
Kiedy rynek zmienia si w nastpstwie zwolnie i bankructw, pojawia si
nowa generacja przegldarek obsugujcych stworzony przez W3C standard DOM. Co oznaczao to posunicie? Moliwo wyrzucenia na mietnik
kilku wersji witryny i stworzenia projektu w oparciu o nowy standard, ktry
w kocu pojawi si w zasigu rki. Jak mylcy ekonomicznie przemys
odpowiedzia na t dugo oczekiwan wiadomo? Kontynuowa pisanie
rozwidlonych wersji kodu, tworzy witryny przeznaczone wycznie dla IE/
Windows lub przechodzi na technologi Flash firmy Macromedia (obecnie
Adobe). Jak na biznes kreowany przez wizje przemys sieciowy potrafi by
nadzwyczajnie krtkowzroczny.