Tekst ten napisany był w 2003, trochę go zaktualizowałem (25 VII 2005).
krótka historia zamiast wstępu
Tim Berners-Lee stworzył HTML jako prosty ale łatwo rozszerzalny schemat zapisu informacji - zawarty w pliku tekstowym z niewielką ilością znaczników, łatwy do nauki i edycji. W ten sposób dał rosnącej liczbie użytkowników internetu elastyczne narzędzie komunikacji. Swoją stronę w internecie mógł mieć każdy. Co więcej - każdy mógł ją zrobić, bez długiej nauki czy specjalistycznych narzędzi.
W zamierzeniu miał to być otwarty na wiele hipertekstowych formatów sposób komunikacji pomiędzy różnego rodzaju klientami. Raczej miał być uniwersalnym pojemnikiem na róznego rodzaju dane dystrybuowane poprzez serwery (czyli mniej więcej tym czym ma być XML) niż pojedynczym standardem hipertekstu, który - jak to się w praktyce okazało - właściwie nie ma żadnego standardu.
Rozwój HTML-u przebiegał w sposób chaotyczny i burzliwy, nikogo nie zadowalał. Z jednej strony byli użytkownicy chcący w coraz większym stopniu mieć wpływ na wygląd swoich stron, który - z drugiej strony - w coraz większym stopniu zależał od tego w jakiej przeglądarce jest widziana. Do tego przeglądarek było coraz więcej i coraz bardziej zróżnicowanych.
Tendencja do zwiększania kontroli nad wyglądem powodowała rozwój zarówno samego HTML-u jak i jego czytników, czego paradoksalnym efektem było coraz większe zróżnicowanie sposobów wyświetlania kodu.
Stawało się to coraz większym problemem z powodu konfliktu dwóch producentów: Netscape i Microsoftu. Obie firmy chciały zawłaszczyć internet tworząc własną wersję HTML-u i usiłując uczynić z niej panującą normę. Gdzieś obok tego były daremne wysiłki W3C - nie zawsze życiowe - próby unormowania zasad tworzenia stron WWW (klęska trzeciej wersji HTML i późniejsze powstanie standardu 3.2 jako przejściowego). Ale był to niedostrzegany ideał obok, którego toczyło się prawdziwe życie, bo tym od czego zależał wygląd internetu nie były najlepsze nawet normy ale zwykły produkt firmowy - przeglądarka. A ich rozwój zależał był uzależniony od komercyjnych interesów producentów, a w praktyce: od toczących zażarty bój o dominację na rynku MS i Netscape.
Z wielu powodów decydujący był rok 1997. Już na samym początku z opublikowaniem wersji Mosaic 3.0 z rozwoju przeglądarki wycofał się NSC pozostawiając w ten sposób na placu boju tylko dwie strony konfliktu. Wtedy też znajdujący się w coraz gorszej sytuacji Netscape - udziały Microsoftu wciąż rosły a trzecie wersje już nie różniły się tak bardzo między sobą - wypuszcza Navigatora 4.0 już za darmo, a rok pożniej ogłasza, że następna wersja będzie na licencji Open Source (uwaga: to początek projektu Mozilla).
Koniec roku to wielkie zwycięstwo Microsoftu, przełomowa w historii internetu czwarta wersja Internet Explorera.
Ale przede wszystkim wtedy powstał długo oczekiwany HTML 4.0, który wyraźnie wytyczał kierunek rozwoju: jako 'deprecated' określono wszystkie znaczniki niestrukturalne, odtąd o wyglądzie decydować miały arkusze CSS, a dokument HTML miał składać się wyłącznie z treści uporządkowanej w czytelną strukturę.
Zapewniono czytelny i logiczny podział pomiędzy treść (HTML - hipertekstowy język znaczników), wygląd (CSS - kaskadowe arkusze stylów), interakcję (język skryptowy: najczęsciej javascript), a za połączenie tego w całość odpowiadał DOM (model obiektów dokumentu).
Całość nazwano DHTML (Dynamiczny HTML) - nie był to żaden zdefiniowany standard, a raczej konstrukcja marketingowa określająca zestaw współdziałających ze sobą standardów. DHTML znacznie zwiększył możliwości WWW i właśnie zgodność z jego standardami była największą siłą MSIE 4.
Niestety DOM dla każdej przegladarki był inny, specyfikacja CSS była realizowana w różnym stopniu, a zwyczaj stosowania specyficznych, firmowych znaczników pozostał. Ze względu na rosnące udziały Microsoftu oraz wyraźny podział rynku pomiędzy dwie przeglądarki i całą zupełnie nie liczącą się niszową resztę pewnym rozwiązaniem był cross-browser design w praktyczny sposób niwelujący różnice pomiędzy przeglądarkami. Bardzo zły przykład postępowania dał sam MS, którego strony działały tylko w MSIE i coraz częsciej niestety można było spotkać strony 'nur für MSIE'.
Tymczasem pojawiło się więcej przeglądarek i browser sniffing stawał się coraz trudniejszy. Wprawdzie nowe przeglądarki były zmodyfikowane raczej w stronę coraz większej zgodności z normami W3C, ale istniały między nimi różnice i to często dość istotne. Ale widać zdecydowaną poprawę. Przede wszystkim duży sukces osiągnął projekt Mozilla i jest doskonałym przykładem czym jest Open Source, jako oprogramowanie użytkowników tworzone na potrzeby społeczności, a nie polityki marketingowej. Istnieje również bardzo funkcjonalna i szybka Opera.
Przełomem była premiera i akcja promocyjna Firefoksa. W krótkim czasie procentowa ilość przeglądarek nie-MSIE skoczyła z niecałych 5 % do ponad 20%.
Coraz częściej można spotkać strony zgodne z obecnie zalecanym standardem W3C: XHTML i nabiera popularności obyczaj strukturalnego grupowania treści, której wygląd określa CSS. Niestety wciąż najpopularniejszy jest program, który jednocześnie jest najgorszy: ustępujący i Mozilli i Operze pod względem funkcjonalności, bezpieczeństwa, szybkości i zgodności z normami.
Wydaje się, że w tej sytuacji jest tylko jedno wyjście: należy propagować zarówno inne, mniej popularne przeglądarki jak i zgodność ze standardami na stronach WWW. Obie te rzeczy nawzajem się promują i są korzystne dla wszystkich użytkowników internetu.
problem i jego rozwiązania
Internet został zaprojektowany jako otwarty system oparty na jawnych i dobrze zdefiniowanych standardach powstających w wyniku merytorycznej dyskusji. Niezależność i otwartość dobrze służyła wszystkim. Niestety dość szybko stał się polem bitewnym pomiędzy firmami, które chciały zawładnąć rynkiem i dostarczyć swoim klientom własny internet.
Jednym z najlepszych przykładów takiego działania była długo trwające starcie o narzucenie własnych standardów pomiędzy Microsoftem a Netscape. Microsoft odkrył internet późno ale szybko naprawiał zaległości. Korzystając z popularności własnego systemu operacyjnego dostarczał razem z nim za darmo swoją przeglądarkę Internet Explorer, której zadaniem było wyparcie z rynku Netscape Navigatora i zmonopolizowanie rynku. Internet, w którym jedynym liczącym się pojazdem byłby produkt Microsoftu musiałby stać się Microsoft-compatible a rozwiązania proponowane przez niezależne od MS organizacje musiałyby odejść do lamusa o ile nie byłyby zgodne z MS Standards ©. Microsoft szybko by marginalizował lub wykupywał innych uczestników rynku, co doprowadziłoby do powstania MS Internetu™.
Henry Ford dawał większą wolność w wyborze koloru Forda T: można go było przemalować, można było nawet kupić inny samochód i też wyjechać na drogę. Cel Microsoftu to doprowadzenie do sytuacji, w której wszyscy użytkownicy nie-microsoftowych programów są upośledzeni. Świat wymyślony w Redmond to rzeczywistość, gdzie Henry Ford XXI wieku jest właścicielem dróg publicznych, ma monopol na handel produktami ropopochodnymi a dla przeciętnego użytkownika dróg samochód == kolejne wersje Forda T (zawsze czarne, ale można sobie zmienić tapetę na tablicy rozdzielczej).
Oczywiście nadal możesz zbudować własną drogę i prefabrykowanych częsci skonstruować inny niż Ford T wehikuł, ale musisz się liczyć z tym, że paliwo kupione od Forda nie będzie działało dość dobrze z silnikiem innym niż ten w Fordzie T v. 6.0
Działania podejmowane przez Microsoft rzeczywiście bardzo szybko przynosiły rezultaty, mało kto pamiętał o czasach internetu sprzed MS, niebieskie "e" stało się synonimem internetu, a udział Netscape Navigatora systematycznie malał. Obie strony konfliktu zachowywały się podobnie, ignorując ustalenia W3C i na siłę forsując własne wersje HTML i jego rozszerzeń, stąd klęska standardu HTML 3.0 (i późniejszy HTML 3.2) oraz znaczniki nie należące do standardu ale bardzo popularne.
W tej sytuacji tworzenie stron internetowych wyglądało trochę na kwadraturę koła. Problem rozwiązywano na kilka sposobów:
- Nur für MSIE
Ponieważ Internet Explorer w wersji 4.x był już wystarczająco zaawansowany technicznie większość użytkowników systemów operacyjnych MS Windows nie widziała potrzeby instalowania jeszcze jednej przeglądarki. Pomimo problemów ze stabilnością (zawieszenie MSIE - inaczej niż w przypadku Netscape - powodowało najczęsciej zawieszenie systemu, ale najwidoczniej MS Userzy do tego przywykli i już im to nie przeszkadzało) i mało zadowalającego stopnia zabezpieczenia przeglądarka Microsoftu szybko zdobywała coraz większą liczbę użytkowników i w końcu można było założyć, że zdecydowana większość internautów korzysta z Internet Explorera (w szczytowym okresie popularności było to ponad 95%). Taki stan rzeczy spowodował powstawanie stron 'Nur für MSIE', gdzie grzecznością webmastera było poinformowanie 'best viewed with MSIE', lub 'jeśli używasz przeglądarki innej niż Internet Explorer wygląd może się różnić od zamierzonego'. Było to sankcjonowanie polityki apartheidu jaką przyjęła korporacja z Redmond, kolejno wykupując lub marginalizując rozwiązania konkurentów na drodze do narzucenia własnych standardów jako obowiązującej normy. - NN i MSIE osobno
Mający więcej wyobraźni (i bardziej pracowici) webmasterzy tworzyli dwie wersje witryny, albo osobno dla każdej z konkurencyjnych przeglądarek albo jedną tradycyjną (widzianą jednakowo w każdej) a drugą bardziej rozbudowaną i efektowną - najczęsciej specjalnie dla MSIE. Było to jednak dość pracochłonne i raczej rzadko stosowane. - Metoda uników
Odpowiedzią na żądania w rodzaju "oglądać tylko Internet Explorerem (w wersji od x.x wzwyż) w rozdzielczości 1024x768" była zdroworozsądkowa reakcja "tę stronę najlepiej oglądać oczami" albo stanowczo brzmiące banery w rodzaju:
i była to jakaś realizacja pierwotnej idei internetu - niezależności od używanej platformy i oprogramowania.
Niestety aby to osiągnąć trzeba było zrezygnować i z zaawansowanych możliwości DHTML i MSIE (czasem interesujących, bardzo długo była to najbardziej rowinięta przeglądarka na rynku) - efektem był dość ubogi wygląd.
- Cross-browser design
Dość długo rozwiązaniem problemu niezgodności przeglądarek wydawał się być cross-browser design wymagający jednak pewnego stopnia biegłości i zastosowania javascriptu. Polegał na użyciu kodu wykrywającego jakiej przeglądarki używa internauta (tzw. browser sniffer) a potem zależnie od potrzeb (i umiejętności webmastera) albo tworzył wspólny model obiektowy używany do rozmieszczenie elementów i nawigacji, albo po prostu realizował odmienne funkcje skryptu.
Rozwiązanie to jako godną uwagi zaletę określało rzecz w zasadzie dość oczywistą: niezależnie od tego jakiego użyjemy oprogramowania powinniśmy widzieć (mniej więcej) to samo - oczywiście ze względu na różnice w silnikach przeglądarek jak i ich różny stopień zaawansowania technicznego interpretacja kodu nigdy nie będzie dokładnie taka sama, ale z całą pewnością każdy powinien mieć jednakowy dostęp do zawartości dostarczonej przez webmastera.
Niestety najczęściej cross browser design oznaczał stworzenie prostego sniffera sprawdzającego deklarację obiektu navigator, który wszystkie przeglądarki nie pasujące do wzorca odsyłał do komunikatu sorry, you must upgrade your browser lub (w najlepszym przypadku) do wersji tekstowej. Problem ten spotykał nie tylko użytkowników mniej popularnych przeglądarek (które najczęsciej również miały możliwość realizacji DHTML) ale także nowszych wersji popularnych przeglądarek. Wygladało to jak scena z Blues Brothers (PDF, 55KB):
ELWOODEr... what kind of music do you usually have here?
CLAIREOh, we got both kinds. We got Country, and Western.
- Elwood - Czy strona prezentuje się dobrze we wszystkich przeglądarkach?
- Claire - Tak, dość dobrze w obu. Z pewnością bedziesz widział wszystko tak jak miało to wyglądać niezależnie od tego, której z przeglądarek użyjesz - czy Netscape Navigatora 4.x czy Internet Explorera 4.x.
Poza tym była dość skuteczna dopóki były tylko dwie przeglądarki. Była wtedy dość oczywistym rozwiązaniem niezbyt wielkiego w sumie problemu.
Ale pojawiały się wciąż nowe przeglądarki lub nowsze wersje o zmienionych deklaracjach. Dla przykładu: NN wykrywano szukając obiektu 'document.layers' a MSIE 'document.all' i długo to rozwiązanie było wystarczające. Pojawienie się przeglądarek realizujących specyfikację DOM (NN6+, MSIE5+, Opera5+) spowodowało konieczność przepisania kodu na nowo - dotychczasowe sniffery nie wykrywały w ogóle nowego Netscape ani Opery. Nawet jeśli zastosowało się dość dokładne wykrywanie przeglądarki zawsze mogła się pojawić nowsza wersja różniąca się realizacją kodu. I pojawiała się.
Cross-browser design był rozwiązaniem tymczasowym. Łataniem rosnącej dziury, próbą ominięcia - a nie eliminacji - problemu. O ile dwa pierwsze rozwiązania były apartheidem - to było bałkanizacją.
Jakie jest więc rozwiązanie?
- Zgodność ze standardami - i kodu i przeglądarki
Od dłuższego czasu widoczna była potrzeba rzeczywiście obowiązującego standardu. Pierwszym udanym krokiem w tym kierunku był HTML 4.0 jednocześnie uznany za dość praktyczny (zmiany w porównaniu z 3.2 wynikały z dotychczasowych doświadczeń) jak i mający dobre założenia teoretyczne (przede wszystkim rozdzielenie treści - zawartej w HTML - od formy - opisu wyglądu dokumentu w CSS). Było to dobre rozwiązanie pozytywnie przyjęte również w zespołach pracujących nad przeglądarkami. MSIE 4.0 swoją popularność w dużej mierze zawdzięcza zgodności z dobrze pomyślanymi normami a piąta wersja była następnym krokiem na tej drodze (niestety od wielu lat ostatnim). W międzyczasie pojawiła się siódma wersja coraz bardziej popularnej Opery a przede wszystkim prace projektu Mozilla zaczęły przynosić praktyczne rezultaty - najpierw Mozilla a potem Firefox, który wywołał rewolucję na rynku.
Koncepcja fine degradable sites nie jest nowa, powstała właśnie w czasie wprowadzania w życie HTML 4 i jest czymś zupełnie odmiennym od cross-browser design, który zakłada, że strona powinna wyglądać i działać tak samo w każdej przeglądarce, o ile jest to tylko możliwe.
Na czym polega koncepcja fine degradable sites? Opiera się na zgodności z normami, niezależności standardów i technik od konkretnych aplikacji oraz wywieraniu presji na użytkownika tak by skrócić średnio półtoraroczny okres wymiany przeglądarek. A jeśli internauta ma przestarzałe oprogramowanie? Trudno, zobaczy tylko biednie wygladający dokument tekstowy i najprostszy interfejs. Nie będzie pokrzywdzony, ostatecznie dostęp do treści będzie miał taki sam. Nacisku na użytkownika by uaktualnił przeglądarkę nie jest w żadnym razie arogancją skoro nie skazuje się go na konkretną aplikację czy platformę a potrzebne programy są łatwo dostępne i nic nie kosztują.
Wyjaśniają to dwa artykuły opublikowane w A List Apart:
- To Hell with Bad Browsers (16 II 2001) jest deklaracją przystąpienia do Browser Upgrade Campaign i wyjaśnia, że odejście od zasady możliwie jednakowego wyglądu dla każdej przeglądarki jest przystosowaniem strony do norm istniejących od 1996 roku z zachowaniem zasad fair play wobec użytkowników przestarzałych lub tekstowych przeglądarek; przede wszystkim zaś wylicza powody takiego postępowania.
- A Web Designer's Journey trochę bardziej szczegółowy objaśnia konkretne użyte w tym celu techniki.
Efektem jest strona wygladająca tak samo we wszystkich nowoczesnych przeglądarkach a czytelna niezależnie od użytego oprogramowania, także dla nietypowych platform takich jak czytniki Braila, konsola czy PDA.
do wyrzucenia
Rozwój techniki to nie tylko przyswajanie nowości, ale także odstawianie do lamusa przestarzałych rozwiązań - w przypadku projektowania stron WWW, bardzo często prowizorycznych i nie spełniających swoich funkcji we właściwy sposób. Ponieważ nie tylko powodują problemy ale i posiadają swoje pod wieloma względami lepsze odpowiedniki czas je porzucić.
Layout tworzony tabelą
Używanie tabeli do rozmieszczania elementów na stronie stało się tak powszechnym zwyczajem, że uczy się tego standardowo w podręcznikach HTML.
Ale tabela powstała w celu prezentacji danych tabelarycznych (początkowo HTML służył głównie publikacji tekstów naukowych) i nie jest właściwym narzędziem do tworzenia layoutu. Bardzo długo była używana do tego celu z braku innych właściwszych narzędzi i było to sprytne wykorzystanie istniejących możliwości.
Ale od dawna istnieją lepsze metody: strukturalne elementy div i span, których własności określić można za pomocą CSS.
Jak to określa specyfikacja HTML 4 elementy div i span udostępniają mechanizm tworzenia struktury, natomiast same z siebie nie określają wyglądu - umożliwiają to dzięki atrybutom id i class CSS.
Div jest elementem blokowym a span liniowym, ze względu na lepszą kontrolę W3C zaleca używanie elementu div - oczywiście tylko do momentu, w którym nie jest niezbedny span.
Używając CSS można określić praktycznie rzecz biorąc dowolną własność elementu jak i tekstu, który się w nim znajduje. Pozycję i wielkość wyznaczyć z dokladnością do jednego piksela (lub innej wybranej jednostki, a także procentowo), istnieje również wygodny sposób na rozmieszczenie elementów względem siebie. Do dyspozycji mamy szereg własności krawędzi odstępu, marginesu, koloru tła i krawędzi, ilustracji tła i cały szereg własności tekstu, które zbliżają kontrolę nad wyglądem strony do tej znanej z tradycyjnej typografii.
Jedynym problemem pozostaje niepełna jeszcze realizacja CSS w przeglądarkach. Ale jeśli spojrzymy na statystyki najbardziej popularnych programów to okazę się, że dla ponad 99% użytkowników będzie można stworzyć nowoczesne, zgodne z normami i zbudowane z elementów div strony w taki sposób, że reszta używająca tekstowych lub przestarzałych przeglądarek będzie miała dostęp do zawartości być może nawet wygodniejszy niż można by zapewnić przy pomocy tabel.
Wprawdzie umieszczenie zawartości w komórkach tabeli jest tak oczywiste, to jednak konsekwencje użycia tego sposobu przynoszą więcej strat niż pożytku. Szczególnie widoczne jest to w skomplikowanych stronach gdzie stosuje się wielokrotnie zagnieżdżone tabele, do budowy struktury tworzy się dużą ilość bardzo nieczytelnego kodu, wystarczy jeden błąd w atrybucie rowspan lub colspan albo brak lub niepotrzebne powtórzenie, któregoś ze znaczników tabeli i cała konstrukcja się rozsypuje.
Niezależnie od użytej metody - nawet jeśli tabele tworzy się przy pomocy kreatorów - sam kod jest trudny do odczytania i jeszcze trudniejszy w modyfikacji. Na dodatek wygląd i rozmieszczenie elementów na tworzonej tą metodą stronie określa się za pomocą wielu nie-bezpośrednich metod, bardzo specyficznego zespołu skomplikowanych sztuczek wykorzystujących atrybuty i elementy powstałe dla zupełnie innych zastosowań. Tabele wydają się proste bo pierwszy etap ich tworzenia jest wręcz instynktownie łatwy, ale komlikacja gwałtownie rośnie w miarę powiększania się ilości elementów, kiedy przychodzi określić dokładniej ich wygląd zaczynaja się schody.
Użycie elementów div wydaje się natomiast zupełnie nie-instynktowne, jeśli nie wiemy jak i w jak wielkim stopniu można je kontrolować. Wymagają pewnej wiedzy i odrobiny praktyki i wtedy okazują się właściwą metodą użytą do właściwych celów. Tabele to koszmar. Ale żeby się o tym przekonać trzeba zobaczyć jak proste jest stworzenie layoutu z samych elementów div.
Polecam przeczytanie artykułu: Real World Table Free Development, na stronie Women Designer's Group.
Zalety stosowania znaczników strukturalnych w miejsce tabel:
- Właściwą kolejnością jest: najpierw standardy, przeglądarki potem. Stronę standard compliant łatwo przystosować dla nie w pełni zgodnych z normami przeglądarek, łatwiej w niej znaleźć błąd. Poprawny kod jest tani w utrzymaniu: łatwo zmienić zawartość i prezentację.
- Bez CSS taka strona nadal wygląda przejrzyście. Poszczególne bloki tekstu są czytelne i zachowują logiczną kolejność - jest to ważne dla nietypowych platform i osób niepełnosprawnych.
- W prosty sposób można dostosować wygląd strony także dla przestarzałych przeglądarek udostępniając odmienne arkusze stylu.
- Internet jest zróżnicowany teraz, a w przyszłości będzie jeszcze bardziej więc ważniejsze jest logiczne ułożenie treści niż dokładne określenie wyglądu, który i tak będzie się różnił bo zależny jest od oprogramowania i sprzętu użytkownika. Używając CSS teraz w łatwy sposób możemy zmienić wyglad strony w przyszłości i dostosować go dla innych mediów, natomiast stosując stare techniki by zachować ten sam wygląd dla przestarzałych przegladarek poważnie ograniczasz swoją kreatywność.
Jednopikselowy GIF
Cytat z ksiązki Davida Siegela 'Tworzenie stron www' (Optimus, 1998), rozdział 4 'Komponowanie stron':
[...] Teraz gdy przeglądarki wersji 2.0 prawie już wyszły z obiegu, możemy przewartościować wszystkie wybiegi, sztuczki i triki, których używamy do przygotowania ładnie wyglądających stron.
Pierwsze wydanie tej książki istotnie opierało się na sztuczce z jednopikselową ilustracją GIF, objaśnionej na końcu tego rozdziału. Był to jedyny sposób na wiarygodną kontrolę nad odstępami, niezależnie od wersji i platform przeglądarek. Chociaż okazjonalnie wciąż używamy tej sztuczki, uważamy ją raczej za raczej przestarzałą protezę. Zwiększa ona obciążenie serwera, wprowadza w błąd osoby surfujące z wyłączonymi ilustracjami i w niczym nie ułatwia edycji plików w języku HTML. Sztuczka ta jest wciąż powszechnie używana w sieci, ale teraz posługujemy się innymi trikami, mającymi mniej wad. Gdy kaskadowe arkusze stylów (CSS) będą konsekwentnie i dobrze zaimplementowane w przeglądarkach (co może się zdarzyć jeszcze za naszego życia!), będziemy mogli - mam nadzieję - odrzucić większość z tych trików i zacząć wreszcie robić wszystko jak należy.
...i pod koniec tego rozdziału:
Sztuczka z jednopikselową ilustracją GIF
Kiedy zacząłem projektować witryny trzeciej generacji, jednopikselowy plik GIF pełnił ważną rolę jako oficjalna 'taśma klejąca" WWW. Zdenerwował on mnóstwo ludzi i wielu uszczęśliwił. Opis tej sztuczki zamieszczony na końcu rozdziału ma pokazać, że zbliża się jej kres, a im wcześniej to nastąpi, tym lepiej. Używaj jednopikselowej ilustracji GIF, gdy musisz określić położenie elementu, z którym tabela ani twarda spacja sobie nie radzą. Wyrzuć ją gdy nadejdą nowe technologie, które pozwolą nam uprawiać prawdziwą kompozycję.
Nie próbuję odebrać tego narzędzia projektantom witryn trzeciej generacji, ale im więcej czasu spędzisz nad jednopikselowymi ilustracjami GIF, tym bardziej będziesz tęsknić za prawdziwą kontrolą. Jednopikselowe pliki GIF mają swoje wady. Czasami się nie ładują. Kiedy umieścisz nad nimi kursor myszy, Internet Explorer (i niektóre wersje przeglądarek Netscape) próbuje pokazać tekst z parametru ALT. Robią też zamieszanie w zawierającym je kodzie HTML. Chociaż stanowiły przełom, który umożliwił powstanie wielu przebojowych witryn WWW, teraz nadszedł czas abyśmy zobaczyli, czy możemy się bez nich obejść.
Objaśnienie jednopikselowych ilustracji GIF
Ponieważ niektórzy ludzie kupili tę książkę, aby dowiedzieć się o sztuczce z jednopikselową ilustracją GIF, opiszę ją z zastrzeżeniem, że jest to wyjście ostateczne.[...]
Oryginalne wydanie, z którego pochodzi ten fragment ma datę wydania: 1997, od tamtego czasu minęło osiem lat i jest to połowa historii World Wide Web.
Niestety wszystkie wady omawianej tu sztuczki nadal są aktualne. Na szczęście są już dostępne metody dzięki, którym nie jest już potrzebna.
Ramki
Ramki weszły do specyfikacji HTML dość wcześnie i od samego początku wzbudzają wiele kontrowersji. Z pozoru są doskonałym narzędziem do tworzenia nawigazcji witryny, prostej wymiany dokumentów przy zachowaniu tego samego menu.
Jednak jest wiele powodów by unikać ich stosowania:
- Są ciężkie przy pierwszym załadowaniu, kłopotliwe w interpretacji - trzeba włożyć dużo wysiłku by wyrównać przylegające do siebie elementy znajdujące się w sąsiednich ramkach.
- Zaprzeczają dość podstawowej idei lokalizacji dokumentu za pomocą URL: jeden dokument - jeden URL; kompletny zestaw ramek (frameset) tworzacy stronę jest zespołem dokumentów.
- Wyszukiwarki indeksują zawartość ramek jako oddzielne dokumenty HTML (bo w gruncie rzeczy nimi są). Powoduje to, że nternauta otrzymuje w wyniku wyszukiwania te same dokumenty pod różnymi nazwami, albo części stron jako osobne dokumenty, ale pozbawione układu nawigacyjnego.
- Każde miejsce witryny ma ten sam adres, co powoduje, że użytkownik nie może zapisać do zakładek konkretnego dokumentu a tylko całą witrynę. Jeśli zaś potrafi zapisać adres konkretnej strony (np. uzywając Opery: prawy przycisk myszy - Frame/Maximize lub Frame/Copy address) traci nawigację.
- Próba wydrukowania strony kończy się najczęsciej wydrukowaniem tylko aktywnej ramki.
- Bardzo często są źle wykonane: brak znacznika <noframes>, tytułu ramki, nawigacja oparta jest w całości na javascripcie.
- Takie techniki będące nadużyciem znaczników jak framing i frame-spoofing na pewno nie przysporzyły dobrej sławy temu rozwiązaniu.
- Duża ilość nietypowego sprzętu, lub prostego oprogramowania ma problemy w wyświetleniu ramek, lub w ogóle nie potrafi tego zrobić. Owszem nie jest to duża ilość użytkowników, ale oznacza to, że niezmiernie trudno jest używająć ramek spełnić wymogi dostępności
Moim zdaniem nie ma żadnego powodu by stosować je jako podstawę funkcjonowania całej witryny, sprawdzają się nieźle np. przy prezentacjach katalogowych a znacznik <iframe> jest doskonały jeśli chcemy jakiś fragment strony załadować z zewnątrz bez użycia skryptów server-side.
Ale w samej technologii ramek wady przeważają nad zaletami. Oczywiście można zbudować całą witrynę w ramkach w sposób poprawny, tak by nie sprawiała problemów ani dla wyszukiwarek, ani dla użytkowników i do tego spełniałaby wymogi dostępności, ale z powodu ilości pracy jakiej to wymaga nie ma to sensu. Lepiej zastosować jakąś technologię server-side lub zalecane przez W3C techniki CSS.
Więcej na ten temat:
- All My FAQs WIKI: Problems with using frames
- alt.html FAQ: [HTML Frames] Why are frames so evil?
- evolt.org, Visual Design: Some Caveats with Using Frames
Flash
Macromedia stworzyła niesamowite narzędzie do tworzenia prezentacji, spełnia wszystkie najbardziej nawet wyszukane marzenia projektantów. Możliwe jest wszystko, także dźwięk, animacja i wyrafinowane ścieżki interakcji. Dokładne graficzne projektowanie bez zwracania uwagi na zawsze kłopotliwe dla grafików języki znacznikowe - operowanie bezpośrednio w oknie edytora, z linią czasu, możliwość importu dowolnych plików dźwiękowych i graficznych. Dowolne komponowanie tych wszystkich wodotrysków i w efekcie wyprodukowanie bardzo małego pliku wynikowego.
Jeśli dodać do tego fakt, że do odtworzenia tego w przeglądarce wystarczy mała wtyczka - czy można się dziwić zachwytom nad tą techniką?
Co jakiś czas słyszę, że "flash jest przyszłością WWW"
Jednak moim zdaniem flash jest niesamowitym narzędziem do tworzenia prezentacji, filmów, gier itp., ale na WWW jest tylko śmieciem, tak samo jak np. HTML jest śmieciem w mailu. Każde narzędzie ma swój ograniczony obszar zastosowań - flash również.
Przykładowe wady:
- Wtyczka flasha nie tworzy uniwersalnej platformy: kompatybilność między nimi jest przereklamowana, wielu użytkowników ma starsze wersje, wciąż istnieją różnice pomiędzy wtyczką dla Linuksa a dla Windows; Macromedia wkłada dużo wysiłku w stworzenie potężnego narzędzia, które przyciąga projektanów, jednak nie wykazuje tyle starań kiedy chodzi o zwykłych użytkowników.
- Ze względu na możliwości graficzne flash zawsze będzie narzędziem wykorzystywanym głównie w reklamach - dlatego wtyczka często jest wyłączana przez użytkowników.
- Pliki flasha są małe, ale odtwarzane są dopiero kiedy sprowadzone są w całości - stąd popularność okna preloadingu. Wyobraź sobie, że takie okno pojawia się przed załadowaniem każdej strony a zrozumiesz dlaczego sflaszowany WWW byłby koszmarem.
- Pliki flasha są małe, ale ich odtwarzanie spowalnia nawet silny komputer. Jeśli przeglądasz WWW nieliniowo i zwykle masz otwartych 10 do 20 okien równocześnie, wyłączenie flasha jest koniecznością.
- Okno prezentacji flasha ma stały rozmiar, ekran przeglądarki nie. Kiedy na 19-calowym monitorze uruchomisz Firefoksa z dodatkiem WebDeveloper i ustawisz tam rozdzielczość 800x600 (wciąż jej używa około 20 % ludzi) zobaczysz przed jakim problemem stoi projektant WWW, który ma stworzyć stronę, która nieźle się prezentuje i jest funkcjonalna w obu tych rozdzielczościach. W przypadku flasha ten problem jest zupełnie nie do przeskoczenia: prezentacja jest za ciężka dla komputera uzywającego rozdzielczości 800x600 i wygląda absurdalnie na ekranie 19-calowym.
- Okno prezentacji flasha nie ma zwykłej funkcjonalności WWW: w jej obrębie działa tylko menu kontekstowe wtyczki, więc na przykład nie działa rzecz podstawowa dla użytkownika WWW - nie można elementu wskazanego flashowym odnośnikiem otworzyć w tle. Dlatego menu we flashu to działanie wbrew użytkownikom. Owszem można zrobić podmenu udostępniające możliwość otwarcia w tle, ale jest to skomplikowane i rzadko używane obejście problemu - ja widziałem coś takiego tylko raz.
- Notoryczne są problemy z kopiowaniem tekstu i działaniem rolki w myszce.
- Pojedynczy dokument lub zdjęcie w prezentacji flasha nie ma własnego adresu, z jednej strony utrudnia to wskazanie konkretnego miejsca (URL odnosi się tylko do całej prezentacji), z drugiej sprawia, że praktycznie bezsensowne jest tworzenie takich witryn - prezentacji flash składających się z więcej niż podwójnego zagnieżdżenia zawartości
- Wtyczka flasha nie ma możliwości ustawienia jako domyślnej niskiej jakości obrazu: interes projektanta jest ważniejszy niż obciążenie przeglądarki użytkownika.
- Macromedia zrobiła wiele w dziedzinie zwiększenia dostępności flashowych prezentacji, ale zagadnienia Web Accessibility raczej nie interesują projektanów zafascynowanych multimedialnymi wodotryskami. Pewne jest, że samo podjęcie decyzji o zastosowaniu tej techniki znacznie utrudnia zachowanie docelowej dostępności witryny i prawie zawsze będzie wymagać stworzenia alternatywnej wersji HTML.
- Ostatecznie: flash nie dodaje do WWW żadnej nowej funkcjonalności, wprawdzie prezentacje wyglądają dużo ładniej, dużo bardziej efektownie, ale nie zawierają niczego czego nie zapewniają zwykłe języki znacznikowe WWW.
- freebsd i flash
Oferta na WWW jest zbyt duża i efektownie wyglądające strony są tylko jedną z atrakcji. Użytkownik jest zainteresowany głównie zawartością i jak najszybszym jej otrzymaniem w funkcjonalnej postaci. To ma ładnie wyglądać, ale jeśli wygląd jest okupiony czekaniem na załadowanie się pliku (teraz przestań czytać i wyobrażając naprawdę ładnie wygladający preloading przewijający liczby od 1% i dopiero jak dojdzie do 100% czytaj dalej) a potem (chwileczkę... czy aby na pewno to zrobiłeś?) wpuszczeniem w tunel linearnej nawigacji i spowolnionego działania przeglądarki to jasne się staje dlaczego jest to tak rzadko stosowana technika i dlaczego to nigdy nie będzie "przyszłością WWW".
Co więcej, ze względu na reklamy we flashu użytkownik znacznie zyskuje na szybkości nawigacji całkowicie wyłączając wtyczkę flasha (w Operze F12 i odznaczenie Enable plug-ins, a w Firefoksie np. Flashblock).
dla kogo normy
Często można się spotkać z lekceważeniem norm, a w szczególności tych ustanowionych przez W3C w odniesieniu do stron internetowych. Postawa taka wynika z dominacji MSIE - skoro strona działa w najpopularniejszej przeglądarce to po co sobie zawracać głowę innymi programami?
Istnieje ku temu kilka powodów:
- Dominacja Internet Explorera jest zła nie tylko dlatego, że każdy monopol ma negatywne skutki, ale przede wszystkim, dlatego, że jest to zły program: ciężki, niestabilny, dziurawy, oferujący bardzo niewygodny interfejs i niewiele możliwości. Zarówno Opera jak i Mozilla skupiły wokół siebie dość aktywne społeczności użytkowników wpływające intensywnie na proces tworzenia tych programów tymczasem rozwój Internet Explorera zatrzymał się i obecnie ogranicza się do poprawek przydatnych ze względów bezpieczeństwa. Po ogłoszeniu zaprzestania prac na MSIE for Mac (w 2003) oraz deklaracji, że MSIE 6 standalone będzie ostatnią samodzielną wersją ich przeglądarki aż do wypuszczenia następnej wersji systemu operacyjnego wydawało się, że od 2001 (MSIE 6) do 2006 (spodziewana premiera Windows Vista) czyli przez pięć lat Microsoft nie zmieni w swojej przeglądarce nic. A jest to przecież jedno z podstawowych narzędzi użytkownika. Świadczy to o tym jak bardzo MS troszczy się o dostarczenie wysokiej jakości produktu końcowego. W rzeczywistości użytkownicy Internet Explorera zostali przez jego producenta zlekceważeni. Dopiero marketingowy sukces Firefoksa i utrata sporej części rynku na rzecz innych niż MSIE przeglądarek zmusiło Microsoft do powrotu do prac nad MSIE.
- Najpopularniejszy dziś program, nie musi być taki za rok czy dwa. Wiele wskazuje, że wlaśnie teraz zarówno Opera jak i Mozilla staną się popularniejsze wśród użytkowników Windows, poza tym coraz popularniejsze stają się różne dystrybucje GNU/Linuxa - nie tylko, dlatego, że są coraz lepsze, a także dzięki temu, że coraz więcej ludzi nie chce używać kradzionych programów, a jak wszyscy wiemy MS Windows swoją popularność zawdzięcza kradzionym kopiom - a na te systemy nie ma Internet Explorera. Już niedługo może się okazać, że bezbłędnie się dziś wyświetlające strony u coraz większej ilości internautów będą pokazywały się z błędami. Może nie jest to tak dokuczliwe na stronach prywatnych, świadczyć moze co najwyżej o niewiedzy lub arogancji, ale w przypadku instytucji lub przedsiębiorstw może być sprawą o decydującym znaczeniu.
- Standardy W3C są niezależne - podczas gdy dominujący producent zawsze będzie prowadził politykę nastawioną na zwiększenie zysku i forsował korzystne dla siebie rozwiązania; internet w coraz większym stopniu staje się miejscem prowadzenia interesów: banki, sklepy, aukcje. Jeśli strony internetowe będą browser-specific a nie standard compliant może dojść do sytuacji, że część klientów będzie dyskryminowana z powodu użycia mniej typowego oprogramowania. O właśnie takiej sytuacji opowiada artykuł ZDNet: Will Microsoft's browser engine backfire? - firmy udostępniające usługi finansowe w internecie mogą się zorientować, że dostęp do ich usług uzależniony jest od posunięć Microsoftu, który na przykład chcąc przyśpieszyć sprzedaż nowego systemu operacyjnego uniemożliwi użytkownikom poprzednich wersji MS Windows aktualizację przeglądarki do najnowszej wersji odcinając w ten sposób ich klientom dostęp do usług. W przeciwieństwie do tego zgodność ze standardami gwarantuje skorzystanie z określonych możliwości (jak np. szyfrowanie) o ile tylko dana przeglądarka je posiada. Oczywiście korzystają na tym również klienci nie tylko nie zmuszani do aktualizacji całego systemu operacyjnego ale mogący użyć dowolnego nowoczesnego programu.
- Zgodność ze standardami dziś to mniejsze koszty dostosowania jej w przyszłości do innych platform sprzętowych (np. PDA), mniej skarg od niezadowolonych internautów, lepszy wizerunek firmy (i to zarówno w kwestii dbałości o klienta jak i zatrudniania profesjonalistów). Co więcej - znacznącą ilość użytkowników przeglądarek nie-MSIE stanowią ludzie, dla których internet jest miejscem pracy; tym większą stratą jest ich nienajlepsza opinia o firmowej witrynie, szczególnie jeśli pełni inne funkcje niż tylko prezentacyjne. Więcej na temat korzyści trzymania się standardów w artykule Netscape DevEdge: "The Business Benefits of Web Standards" (Standardy sieciowe).
- standardy W3C są opracowane przez specjalistów w wyniku merytorycznej dyskusji, tak by dawały jednocześnie maksimum możliwości jak i nie były zbyt skomplikowane, są logiczne i zostały stworzone w sposób zapewniający im jak największe możliwości rozwoju.
- Zgodnosć z normami sprzyja wszystkim: tak samo producentom przeglądarek, którzy nie muszą prowadzić wojny o ustanowienie własnych, internautom, mogącym widzieć prawie to samo niezależnie od przeglądarki a w szczególny sposób osobom niepełnosprawnym, własnie z myślą o nich został powstała Web Accessibility Initiative (WAI); strony zgodne z normami W3C są po prostu przewidywalne, kod można przetwarzać w sposób automatyczny dla innych platform, w ten sposób funkcjonują bramki WWW<->WAP. Ilość urządzeń umożliwiających dostęp do internetu gwałtownie rośnie: konsole (np. Sega), przystawki telewizyjne, PDA, systemy wbudowane w domach i samochodach.
- Korzyści ze standardów zostały dostrzeżone także w Unii Europejskiej. W ramach programu eEurope (odpowiadającego za polityke informacyjną) istnieje podprogram eAccessibility zakładający takie przeprojektowanie infrastruktury informacyjnej, żeby była zgodna ze Web Content Accessibility Guidelines 1.0, który wprawdzie powstał stworzony z myślą o dostępności dla osób niepełnosprawnych jednak już w trzecim zdaniu stwierdza, że zgodność z nim uczyni zawartość sieci jednakowo dostępną dla wszystkich niezależnie od tego jakiej przeglądarki używają. Może zabrzmi to oficjalnie ale jak widać normy W3C stały się normami urzędowymi a zgodność z innymi niż MSIE przeglądarkami może być oficjalnie wymagana. Więcej na ten temat w wątku MozillaPL.forum: Jesteśmy Microsoft-Borgiem. Zostaniecie zasymilowani.. Prawo przeciwdyskryminacyjne istnieje w USA (Disabilities Act - U.S. Section 508) i Wielkiej Brytanii (Disability Discrimination Act), słynny stał się swego czasu proces wytoczony przeciwko organizatorom olimpiady w Sydney z powodu oficjalnej witryny WWW, nie spełniającej wymogów dostępności. Przedsiębiorstwa, organizacje i urzędy, których witryny nie spełnią wymogów dostępności mogą mieć w przyszłosci takie same problemy uzytkownicy budynków z przeszkodami architektonicznymi. Która firma chciałaby mieć opinię stwarzającej problemy dla niepełnosprawnych? Coraz silniejszy staje się w tym zakresie ruch konsumecki użytkowników poprawnych przeglądarek.
- Normy W3C są korzystne dla webmasterów a ich znajomość stanie się w najbliższym czasie coraz bardziej pożyteczna. Zostały stworzone między innymi przez webmasterów, nieprzestrzeganie ich wynika najczęsciej z braku wiedzy, lub lekceważenia internautów używających innych niż najpopularniejsze przegladarek. Z podanych wyżej powodów widać, że znaczek zgodności z normami W3C może przesądzić o zdobyciu zamówienia. Sama znajomość norm i umiejętność dostosowania się do nch może okazać się wskaźnikiem profesjonalizmu.
- Dużo tu napisałem o Internet Explorerze, nie tylko, dlatego, że jest to najbardziej popularna przeglądarka i również nie dlatego, że jest najgorsza (pod pewnymi względami nie jest, ale ilu użytkowników interesuje szybkość silnika javascript?), problem z Internet Exporerem polega na tym, że jest jednocześnie aż tak popularny i aż tak zły. Wcale nie demonizuję Microsoftu, kiedy piszę, że jest nastawiony na zysk i dąży do dominacji przez ustanowienie własnych standardów nie jest to ocena moralna. Każda firma jest nastawiona na zysk i mając takie możliwości robiłaby wszystko, żeby podporządkować sobie rynek wszystkimi dostępnymi metodami. Nie ma w tym nic złego. Jak to mawiali Rzymianie: 'nic co naturalne nie przynosi wstydu'. Problem z Microsoftem jest ten, że mu się udało zdominować rynek i jest w stanie narzucić standardy. Tak samo jak w dziedzinie budowy dróg, czy elektryfikacji także w dziedzinie infrastruktury informatycznej nie można pozwolić by partykularne interesy jednego z rynkowych graczy wpływały na przemysłowe standardy, a po doskonałym posunięciu jakim była bardzo jak na owe czasy zgodna ze standardami przeglądarka Internet Explorer 4.0 oraz późniejszej realizacji DOM w piątej wersji rozwój MSIE zatrzymał się. Późniejsze wersje są ulepszone ale nie ma już znaczącego postępu w zakresie zgodności ze standardami. Popularność MSIE opóźnia ich wprowadzenie w pełnym zakresie. Strony zrobione zgodnie ze standardami wyglądają gorzej lub nie w pełni działają. Zarówno ze względu na bezpieczeństwo jak i funkcjonalność Internet Explorer znacznie odstaje i od Opery i Mozilli. Coraz większa ilość ludzi dostrzega jego wady, na pewno popularności nie przysparzają mu takie informacje jak ta Secunia: Internet Explorer Exposes Sensitive Information (CHIP.pl: Gadatliwa przeglądarka) o wysyłaniu przez MSIE 6 informacji o stronach oglądanych przez użytkownika do msn.com i alexa.com. Jak to mówi popularny żart: MSIE to program, który służy do przeglądania z lokalnego komputera internetu i na odwrót.
W 1997 MSIE 4.0 był rewolucją i zmienił wygląd internetu, ale teraz popularność wszystkich wersji tego programu wstrzymuje jego rozwój.
podsumowanie
Czym jest HTML? Z pozoru odpowiedź na to pytanie jest prosta: HyperText Markup Language - Język Znaczników Hipertekstowych. Historycznie rzecz biorąc wywodzi się z SGML, języka powstałego w CERN dla potrzeb dokumentacji naukowej. Odziedziczył po nim przede wszystkim samą ideę dokumentu hipertekstowego pozbywając się niepotrzebnej w popularnych zastosowaniach komplikacji, maksymalnie uproszczony z niewielką ilością reguł zapewnił powstającemu interfejsowi wizualnemu internetu: WWW podstawową funkcjonalność.
Jego późniejszy rozwój był wypadkową wciąż rosnących potrzeb i oczekiwań użytkowników , nowych idei, a także zażartej walki pomiędzy Microsoftem a Netscape o narzucenie własnego standardu (z niepasującymi do żadnej przeglądarki ustaleniami W3C w tle).
To czym był naprawde HTML przestawało się liczyć - istotne było to czego można przy jego pomocy dokonać, do mistrzostwa doprowadzono sztuczki i manipulacje. Ale kiedy wytrych jest normą drzwi przestają pełnić swoją funkcję. Materia zbudowana ze sztuczek i obejśc nie zadowalała nikogo, coraz powszechniejsze stawało się narzekanie na HTML i coraz większe były oczekiwania. Ale z zasady takie oczekiwania nie mogły zostać spełnione.
Dlaczego?
Tu pora powrócić do początkowego pytania. Otóz czym jest HTML?
Jest to po prostu ni mniej ni więcej język opisu struktury dokumentu. Samej struktury, nie wyglądu.
Przypomina o tym Jarosław Rafa w artykule "Odkręcanie śruby nożem". Takim właśnie użyciem niewłaściwego narzędzia jest stosowanie HTML-u do zarządzania wyglądem strony www. HTML nie powstał w tym celu i sprawdza się w tej roli źle. Doskonale opisuje strukturę, zapewnia hiperłacza i ma prostą budowę, łatwą do nauki i podglądu. Ma wiele zalet, ale nie jest narzędziem typograficznym.
Jego rozwój był efektem coraz większych oczekiwań wobec wyglądu stron WWW oraz przełamywania - często za wszelką cenę - ograniczeń w spełnianiu tych oczekiwań. W tej prowizorce dokonano cudów.
Nie można było iść tą droga bez końca, przełom nastąpił wraz ustaleniem standardu HTML 4.0 - pojawiła się wtedy idea DHTML - czyli Dynamicznego HTML, który składał się z kilku elementów: przed wszystkim z HTML 4.0, kaskadowych arkuszy stylów (CSS), języka skryptowego oraz DOM (Document Object Mode), który spinał to wszystko w jedna całość.
Taki podział był praktycznym zastosowaniem zasady właściwe narzedzie do właściwego celu
Pułapką było wywodzący się z tradycji DTP dogmat o konieczności absolutnej kontroli nad wyglądem i to identycznym we wszystkich przeglądarkach. Jest to nie tylko bardzo trudne i kłopotliwe - a często nawet niemożliwe - do realizacji. Przede wszystkim jest niepotrzebne.
World Wide Web to dynamiczne medium, w przeciwieństwie do tradycyjnej typografii, gdzie dostosowywano layout do określonej wielkości papierowej strony tutaj nie da się przewidzieć jakiego oprogramowania i sprzętu będzie używał internauta. Czy będzie miał stałe łącze, 19-calowy monitor, PDA, czytnik Braila, 14 calowy terminal z ograniczoną ilością kolorów i bez myszy; czy jego przeglądarką będzie Safari (Mac), Koqueror (KDE), przestarzały NN4.x a może najnowsza Mozilla. Zgodność bardziej ze standardami niż z konkretną platformą czyni internet bardziej otwartym, a na tym skorzystają wszyscy.
odnośniki:
- A List Apart: To Hell with Bad Browsers || A Web Designer's Journey
- Women Designer's Group: Real World Table Free Development
- WaSP : Action : Campaigns : Browser Upgrade Campaign
- Jarosław Rafa Odkręcanie śruby nożem
- Netscape DevEdge: The Business Benefits of Web Standards (Standardy sieciowe)
- ZDNet: Will Microsoft's browser engine backfire?
- Skyzyx.com: Play By The Rules
- Secunia: Internet Explorer Exposes Sensitive Information
- Browse Happy oraz po polsku: BrowseHappy.pl
- dwww.pl - Web Accessibility po polsku
- Web 4 All - żart
- Garett Dimon: Steps to Becoming a Freelance Web Developer
- cyber: Jak zrobić BeZnAdZi3jNą stronę WWW