Standardy w interfejsach internetowych | Clever Age - otwarte usługi informatyczne


Standardy w interfejsach internetowych

Potrzeba standardyzacji – dla dobra ludzkości.

Jaka powinna być nowoczesna witryna? Na pewno prosta, intuicyjna w nawigacji, nawet dla zupełnie niedoświadczonego użytkownika. Powinna być także ergonomiczna, z logiczną strukturą, by każdy kto ją odwiedza, mógł z łatwością odnaleźć interesujące go informacje. Bardzo ważną cechą jest również dostępność dla osób niepełnosprawnych – wszak bardzo liczna grupa ludzi cierpi na jakieś dolegliwości, które utrudniają użytkowanie komputera (problemy ze wzrokiem, gorsza koordynacja ruchowa). W skrócie więc: nowoczesna witryna powinna być przyjazna użytkownikowi.

Od początków Internetu nie było z tym „user friendly” najlepiej. Strony owszem, działały, ale najczęściej tylko pod określoną konfiguracją sprzętową i programową. Jeśli środowisko użytkownika jej nie spełniało, często miał on ogromne problemy z odczytaniem informacji, nie mówiąc już o poprawnym wyglądzie witryny. Do tego dochodził jeszcze koszmar webmastera, mającego zmodyfikować kod napisany choćby przed paroma tygodniami.

W końcu sytuacja doszła do tego, że postanowiono wprowadzić pewne standardy tworzenia interfejsów internetowych – tak, by ułatwić życie sobie, a przede wszystkim innym. Postanowiono oprzeć się na istniejącej infrastrukturze web, czyli języku HTML, którą w znacznym stopniu zmodernizowano i uproszczono, tworząc parę języków XHTML/CSS, o których w poniższym artykule mowa.

Mnóstwo zalet...

Zalet tworzenia interfejsów zgodnych ze standardami jest mnóstwo. Co więcej, korzysta na tym zarówno webmaster, jak i właściciel projektu oraz zwykły, szary użytkownik.

W przypadku osób tworzących aplikację, największą korzyścią jaką odnoszą jest nieporównywalnie większa łatwość rozbudowy i edycji kodu. Przejrzystość takiego kodu sprawia, że jeśli w tworzeniu aplikacji bierze udział kilka osób (choćby deweloper tworzący kod oraz designer, dbający o wygląd aplikacji), dużo łatwiejsza staje się ich współpraca. Zgodność ze standardami sprawia także, że aplikacja o wiele lepiej współpracuje z wieloma platformami, co ewidentnie przedłuża jej życie.

Właściciel witryny respektującej standardy webowe również zauważy kilka wymiernych korzyści. Jedną z nich bedą zmniejszone koszty utrzymania takiej aplikacji – wyraźnie mniejsza ilość kodu oznacza mniejsze pliki, a to z kolei mniejszą przepustowość łącza potrzebną do szybkiego działania witryny. Szybko stwierdzi również, że witryna jest lepiej „chwytana” przez wyszukiwarki – dzieje się tak dzięki oddzieleniu warstwy prezentacji (CSS) od czystej treści oraz dzięki przestrzeganiu semantyki (zwiększa to zdecydowanie wagę treści).

I wreszcie użytkownik, osoba odwiedzająca witrynę i pragnąca szybko znaleźć potrzebne informacje. Jakie korzyści odniesie? Na początek odczuje być może poprawę szybkości ładowania stron (arkusz CSS przechowywany w cache lokalnej przeglądarki, strumień XHTML zawiera tylko dane). Poprawna semantyka sprawi, że witryna będzie miała czytelną strukturę i nawet przeglądarka nie obsługująca stylów tą strukturę bez problemów odczyta. Wreszcie, dzięki dostępności („accessibility”) z aplikacji będą mogły korzystać z powodzeniem osoby niepełnosprawne i starsze, przy użyciu rozmaitych urządzeń (komputery z różnymi przeglądarkami, telefony komórkowe, terminale Braille’a, etc.)

...i chociaż pojawiają się jeszcze kłody pod nogami...

Jak w przypadku chyba każdego innowacyjnego przedsięwzięcia, także tutaj na początku pojawiły się pewne przeszkody. Wynika to po części z faktu, że stosowanie standardów webowych wymaga niekiedy zupełnego odrzucenia dotychczasowych nawyków w projektowaniu interfejsów.

To jednak nie jedyny problem jaki napotkamy. Prawdziwą zmorą projektantów jest fakt, że sposród dostępnych platform, a zwłaszcza przeglądarek nie wszystkie owe standardy respektują. Sprawia to, że bardzo trudnym (niekiedy nawet niemożliwym) zadaniem jest uzyskanie tego samego wyglądu i zachowania aplikacji pod każdą z tych przeglądarek. Najpopularniejsza obecnie z nich, Microsoft Internet Explorer, jest zarazem przeglądarką najbardziej archaiczną jeśli chodzi o standardy (praktycznie nie respektuje XHTML ani CSS2, a tylko częściowo CSS1). Nic jednak dziwnego, skoro MSIE skończył się w zasadzie rozwijać w roku 2001, kiedy to ukazała się wersja 6. Od tego czasu (5 lat!) nie ukazała się praktycznie żadna nowa funkcjonalność, a jedynie poprawki, łatające liczne błędy w zabezpieczeniach przeglądarki.

Nie warto jednak popadać w totalny pesymizm. Dostępnych jest kilka alternatywnych, nowoczesnych przeglądarek (z których przynajmniej dwie – Safari (korzystające z rosnącej popularności platformy firmy Apple) i Firefox – dość szybko zyskują popularność), respektujących praktycznie w pełni standardy XHTML, CSS1 i CSS2. Przeglądarki te, oparte na relatywnie nowych silnikach, bardzo szybko ewoluują, wprowadzając nowe funkcjonalności oraz mogą się pochwalić naprawdę sporą społecznością projektantów i sympatyków.

...w praktyce standardy zwyciężają.

Od 1994 roku formalnie ustanawianiem standardów tworzenia witryn internetowych zajmuje się organizacja W3C (World Wide Web Consortium). Publikowane przez nią rekomendacje, jakkolwiek nie mają mocy prawnej, kształtują w rzeczywistości większość zasad tworzenia nowoczesnych interfejsów webowych.

Warto wspomnieć o zapoczątkowanej przez W3C inicjatywie WAI (World Accessibility Initiative), regulującej zasady dostępności interfejsów, przede wszystkim dla osób niepełnosprawnych, ale także dla rozmaitych urządzeń i przeglądarek.

Czy istnieje zatem recepta na w pełni respektujący standardy interfejs? Spośród wielu rekomendacji, wydanych przez W3C, szczególne znaczenie mają trzy, które w zasadzie stanowią trzy główne komponenty nowoczesnej witryny. XHTML (Extensible HyperText Markup Language) – będący rozszerzeniem języka HTML, przetłumaczonym na XML (i w pełni zgodnym ze spacyfikacją XML). Jego największą zaletą jest uproszczenie całego dokumentu, umożliwienie przechwytywania i edycji pojedynczych elementów witryny (dzięki prostej identyfikacji za pomocą atrybutu „id”). Bardzo istotny jest także fakt, że każdy dokument HTML może być bez większych problemów migrowany do dokumentu XHTML (zasady są określone w specyfikacji XHTML 1.0) arkusze stylów CSS – pozwalają na jednoznaczne oddzielenie wartstwy prezentacji od czystej treści. Zmniejsza to wielkość dokumentu, sprawia, że strona szybciej się ładuje (arkusz jest przechowywany w cache przeglądarki). CSS pozwala na prostą modyfikację wyglądu poszczególnych elementów witryny, stworzenie osobnych wersji wizualnych dla rozmaitych urządzeń (drukarka) oraz na przykład osób niepełnosprawnych. język ECMAScript – powstały w wyniku standardyzacji (przez organizację ECMA) dwóch języków skryptowych: JavaScript (stworzonego przez Netscape) oraz JScript (Microsoft). Wykorzystując model DOM (Document Object Model), pozwala nam na swobodne „wyciąganie” i modyfikację poszczególnych elementów dokumentu XHTML.

Te trzy elementy nie są oczywiście jedynymi ważnymi cechami nowoczesnego, spełniającego standardy interfejsu. W3C opracowuje i ulepsza kolejne specyfikacje a twórcy witryn zaczynają powoli rozumieć potrzebę uwzględniania standardów. Jaka zatem czeka nas przyszłość?

Przyszłość – science fiction czy nieunikniona ewolucja?

Jednym z objawów nowego podejścia do projektowania aplikacji webowych jest AJAX (Asynchronous JavaScript And XML). Choc nie jest technologią, a jedynie nowym spojrzeniem na istniejące juz od dawna metody tworzenia interfejsów (XHTML, CSS, JavaScript czy model DOM), AJAX pozwala na tworzenie nowoczesnych, szybkich witryn, tworząc zupełnie nowy model komunikacji klient – serwer. Dzięki wykorzystaniu opisywanych technologii możliwe jest szybkie odpytywanie serwera i aktualizacja strony bez potrzeby jej przeładowywania, co w praktyce pozwala na zwiększenie ergonomii aplikacji web do poziomu znanego z "bogatych" interfejsów aplikacji biurkowych.

AJAX ma również niestety swoje wady: witryny stworzone z jego wykorzystaniem są trudno dostępne dla osób niepełnosprawnych i wyszukiwarek.

Dobrym przykładem wykorzystania AJAX’a są nowe aplikacje firmy Google, takie jak gmail, google maps czy przygotowywany obecnie google calendar. Jeśli filozofia tworzenia interfejsów pojdzie dalej w tym kierunku, możemy się spodziewać, że wkrótce do Sieci przeniesie się większość funkcjonalności zarezerwowanych obecnie dla systemów operacyjnych. Czy dopiero wtedy będziemy mogli z czystym sercem mówić o epoce nowego internetu?