Archiv tagů uživatelské prostředí

Úvod

Koncem sedmdesátých let minulého století se objevují první Bulleting Board Systems (BBS) – jednoduché terminálové aplikace, k nimž jste se mohli připojit pomocí modemu a vytáčené linky. Pro skupiny registrovaných uživatelů nabízely jednoduché možnosti nahrání a stahovaní dat (v podobě binárních souborů nebo článků) a interakce s ostatními uživateli v podobě posílání zpráv, diskuzí či komentování poskytovaných dat. S příchodem internetu a služby World Wide Web (www) se na jednu stranu zvýšila uživatelská základna a množství publikovaných informací, ale zároveň se komunikace stala jednosměrnou – kvůli použité architektuře klient–server poskytovaly informace pouze ty instituce (např. univerzity, úřady, společnosti atd.), které pro to měly dostatečné zázemí. Ačkoliv obsah byl hypertextem snadno propojitelný, vytratil se z komunikace sociální aspekt – tedy propojenost jednotlivých uživatelů.

Web 2.0 společně s blogy, které jako jedna z jeho aplikací plní roli informační a komunikační základny mezi uživateli, vrací webu sociálně-uživatelský rozměr a zároveň mění povahu publikovaných obsahů. Obsah je rozložen (strukturován) na jednotlivé nezávislé obsahové entity – mikroobsahy a metaobsahy. Ty mohou existovat samostatně nebo mohou být (dalšími) uživateli či Web 2.0 aplikacemi samotnými volně spojovány a případně měněny v požadovaném kontextu. Tato „remixování“ probíhají za pomoci systémové integrace jednotlivých aplikací díky otevřenosti jednotlivých komunikačních formátů.

V tomto duchu je Web 2.0 souborem internetových služeb založených na zcela nových přísupech. Středobodem Web 2.0 je uživatel, jemu by měla být uzpůsobena uživatelsky příjemná prostředí, jemu musí být umožněno využívat jednotlivé aplikace bez ohledu na používané technologie, tak aby vše ve výsledku vedlo k jeho spokojenosti i užitku. Uživatel již také není anonymní, jeho konkrétní potřeby vstupují do popředí a mohou být lépe uspokojeny za přispění vyspělých umělých inteligencí aplikací, které na základě vstupů a chování uživatele dokáží personalizovat pomocí zmíněných mikroobsahů a metaobsahů výstupy, což znamená pro uživatele další přidanou hodnotu. Uživatelé též těží ze zmíněného sociálně-uživatelského rozměru, participace více uživatelů na službě přináší jednotlivým uživatelům vyšší užitek.

Na mnoha místech se v této práci setkáme s pojmy otevřenost, důvěra a znalost. Pro aplikace Web 2.0 jsou určující a při komunikaci pomocí blogů přímo zásadní. Blogy, blogování, blogeři změnili webové komunikační paradigma. Publikační revoluce, u jejíhož zrodu stáli, se dál promítá i do ostatních aplikací, ve které uživatelé nejsou pouze pasivními spotřebiteli, ale zároveň (spolu)tvůrci. Aplikace Web 1.0 umožňovaly spíš jednostrannou komunikaci, při které měli uživatelé vlastně jen dvě volby: konzumovat nabízený obsah nebo zavřít okno prohlížeče. Dostupnost, jednoduchost a variabilita aplikací Web 2.0 udělala z webové komunikace dialog (nebo, neologizmem, chcete-li: polylog). V takové komunikaci už nemá jedna strana navrch a všichni jsou (a to dříve poskytovatelé obsahů nebyli), pokud chtějí, aby šlo o komunikaci úspěšnou, nuceni dodržovat maximy principu kooperace, jak je z hlediska pragmatické lingvistiky popsal Paul Grice1.

Web 2.0 i blogy je také potřeba chápat nejen jako volně dostupné aplikace v prostředí veřejného internetu – další využití se nabízí v prostředí uzavřených sítí, kde plní řadu komunikačních i archivačních funkcí. Více o této problematice již v práci samotné.

  1. Maxima kvantity: Sděl informace akorát, tj. nebuď upovídaný ani příliš stručný; maxima kvality: Říkej pravdu, tj neklam ani nemluv o věcech nepodložených; maxima relevantnosti: Mluv k věci, tj. ne zbytečně kolem; maxima způsobu: Mluv jasně a správně, tj. jednoznačně a spořádaně. (Čermák, 2001)

Web jako platforma

Web jako platforma (Web as Platform) byl původně obchodní model navržený společností Netscape, jednou z typických společností, které ovlivňovaly vývoj internetu v době Webu 1.0. Netscape se snažila se svým (tenkrát velmi používaným) prohlížečem převzít kontrolu nad tím, jaký obsah a aplikace budou uživatelé používat při navigaci internetem – stejně tak, jako měl Microsoft pod kontrolou PC trh desktopových aplikací. Jejich „webtop“ měl nahradit klasickou uživatelskou „plochu“ (desktop), kterou nabízel operační systém. Tento „webtop“ by nabízel informace a aplikace od poskytovatelů obsahu, kteří by si nakoupili vysokorychlostní servery od společnosti Netscape.

O’Reilly dává do kontrastu k tomuto modelu přístup společnosti Google. Ta začala nabízet nativní webové aplikace poskytované jako službu zákazníkům, platícím jak přímo, tak nepřímo. Google je také jasná ukázka přístupu „věčné betaverze – perpetual beta“ – jeho aplikace nemají žádné pevné verzování nebo pravidelné vydávání a jejich funkcionality jsou aktualizované průběžně. Takový druh aplikací nevyžaduje portování na jiné systémové platformy a díky webovému prostředí nevyžaduje ani klasickou distribuci ve formě instalačních souborů, jak je známe u tradičních desktopových softwarů.
Někteří vizionáři si dokonce myslí, že by časem bylo možné programové vybavení instalované na dnešních PC zcela nahradit právě webovými aplikacemi (Antoš, 2007b).

Zčásti je tento proces přesunu práce z desktopu na web viditelný již dnes, například balík kancelářských aplikací Google Docs and Spreadsheets (s mnohými alternativami), sada nástrojů Microsoft Live nebo nedávno uvedený „webový Photoshop“ společnosti Adobe na úpravu fotografií. Byl by to v jistém slova smyslu návrat k tenkým klientům a terminálům. Kritici často namítají, že provozovat na webu plnohodnotné aplikace s množstvím funkcionalit, jak je známe z desktopů, není možné. Novátorská firma 37signals však dokazuje, že ne vždy je podstatné nabídnout plnou sadu funkcionalit. Na základě výzkumů postupů, které lidé při práci nejvíce používají, nabízí aplikace, které „dělají přesně to, co potřebujete, a nic navíc“.1

O’Reilly dále říká, že v minulosti Microsoft dokázal vítězit nad svými rivaly právě svou platformou – při masovém nasazení Windows nebylo nic jednoduššího než naprogramovat balík kancelářských aplikací tak, aby fungoval v dokonalé symbióze s operačním systémem. Stejný příklad bychom mohli najít i na poli internetových prohlížečů, kde celkové zakomponování do operačního systému bylo ještě markantnější (viz princip „uzamčení“ v kapitole o síťových efektech). V dnešní době se ale střet neodehrává mezi aplikacemi na platformě operačního systému (aplikace vs. konkurenční aplikace), ale o jednu úroveň výš – tedy přímo mezi platformami (operační systém vs. web jako dvě platformy). S tím také souvisí, že internet a www už nejsou pouze doménou osobních počítačů, silnými hráči se stávají také mobilní telefony, PDA nebo konzole2 s vlastními operačními systémy. A cílem je, aby uživatelé, díky webovým aplikacím běžícím pouze v prohlížeči, nepoznali rozdíl, ať už pracují na svém osobním počítači nebo mobilním telefonu. To bude vyžadovat větší důraz na dodržování standardů jak na straně webu, tak na straně klientů, což dnes rozhodně není pravidlem. Jako důsledek této nedisciplinovanosti uveďme příklad velmi časté rozdílné interpretace kaskádových stylů u dnešních prohlížečů. Více se problému budeme věnovat v kapitolách o technologiích.

  1. Zde by autor doporučil zhlédnout záznam přednášky „The Story of Ribbon“ z vývojářské konference Microsoftu, ve které je vysvětleno, co vedlo ke změně uživatelského rozhraní v balíku MS Office 2007. Bylo to zjištění, že největší masa uživatelů používá pouze základní funkcionality.
  2. Či domácí spotřebiče

Technologické aspekty Web 2.0

S vývojem zobrazovacích technologií a levného broadbandového přístupu se rozvíjely i technologie a standardy pro zobrazování webového obsahu. Prvotní neúspěch DHTML, které bylo založené na kaskádových stylech CSS (cascading style sheets) a skriptovacím jazyce Javascript, byl zřejmě způsoben zuřící válkou browserů. Pro nestandardní interpretace jazyků bylo nutné (a doposud je) optimalizovat webové zdroje pro různé typy prohlížečů. Uživatelé zároveň chtěli něco víc než blikající nadpisy. V té době se také masivně rozšířila technologie Flash od firmy Macromedia (dnes Adobe).

Pro tyto zdroje, které se v mnohém dokázaly chovat jako běžné aplikace spustitelné na PC, se vžilo pojmenování Rich Internet Applications (RIA). Ale zřejmě to, že je nutné pro zobrazení flashových aplikací instalovat speciální zásuvný modul a že pro vývoj těchto aplikací je nutné vlastnit placenou licenci, zapříčinilo, že Flash byl vždy vnímán jako pouze doplňkový (chcete-li okrášlující či prezentační) prvek na klasických HTML stránkách. Určitá nevýhoda Flashe se také objevila v nesnadné portaci zásuvného modulu na jiná zařízení než klasické prohlížeče na PC (mobilní telefony, PDA). Další technologie, které nebyly příliš úspěšné, jsou aplety napsané v jazyce Java a ActiveX společnosti Microsoft (Loosley, 2006).

Svou roli také zřejmě sehrál vznik open source projektu Mozilla. V roce 1998 jej založil Netscape po krachu svého prohlížeče Netscape Navigator, kdy uvolnil převážnou část zdrojových kódů (které ovšem byly později zcela přepsány). Start projektu Firefox přinesl značné oživení obecného povědomí o W3C standardech. Odborná veřejnost se začala více zajímat, jak jsou jejich stránky zobrazovány. Přibližně ve stejné době zveřejnila skupina W3C jazyk HTML 4.01 a hlavně XHTML, který byl reformulací HTML jazyka za použití XML.

Nic z toho ovšem nespustilo revoluci1, o které jsme v předchozích kapitolách mluvili jako o Web as Platform. Tím bylo až, jak říká O’Reilly, spuštění dvou aplikací společností Google: Gmail a Google Maps (O’Reilly, 2005b). V těchto aplikacích byl, krom tradičního HTML, spojen jazyk Javascript (na straně klienta) a jazyk XML (na straně serveru). Jazyk Javascript se používá v asynchronním módu pro načítání částí stránky. Tím byla v podstatě poprvé použita sada technologií označená jako Asynchronous Javascript + XML – zkráceně AJAX. Zmíněným asynchronním přístupem se značně snížila doba odezvy RIA aplikací:

  • informace jsou načítány ze serveru s předpokladem dalších možných požadavků uživatele (například načítání okolních čtverců zobrazené mapy, aby byl pohyb myší ve všech směrech plynulý),
  • prvky na stránce mohou být překresleny po částech namísto nutnosti nového načtení celé stránky,
  • vstupy od uživatele je možné serveru posílat v předem zvalidovaných dávkách (validace probíhá pomocí Javascriptu již na straně klienta),
  • odezvy na některé vstupy uživatele mohou být generovány bez komunikace se serverem,
  • data, která už jednou byla zpracována serverem, mohou být uložena na straně klienta pro pozdější použití.
  1. Která je ve skutečnosti evolucí.

AJAX

Toto označení bylo poprvé použito Jesse James Garretem v roce 2005 v článku AJAX: New Approach to the Web Application na serveru společnosti Adaptive Path. Autor píše:

„AJAX není jedna technologie. Ve skutečnosti je to několik technologií, na sobě nezávislých a samočinných, které při společném nasazení nabízejí další možnosti využití. AJAX zahrnuje:

  • na standardech založené zobrazování pomocí XHTML a CSS;
  • dynamické zobrazování a interakci pomocí Document Object Model;
  • výměnu a manipulaci dat pomocí XML a XSLT;
  • asynchronní příjem dat pomocí XMLHttpRequest;
  • Javascript, který všechno to spojuje dohromady.“ (Garret, 2005)

Jedna z velkých nevýhod pro uživatele tradičních stránek založených na čistém HTML či XHTML je čas strávený čekáním na načítání stránek poté, co byla vyslána žádost kliknutím na některý prvek na stránce. Jak již bylo zmíněno, během let bylo učiněno několik pokusů přinést stránkám větší dynamiku za použití jednotlivých technologií jako Javascript, skryté rámce, DHTML, kaskádové styly a ActiveX prvku XMLHttpRequest od Microsoftu.

Tradiční komunikace klient–server při načítání webových stránek
Obrázek 7 – Tradiční komunikace klient–server při načítání webových stránek

Oproti standardnímu modelu komunikace webových aplikací, kde je prohlížeč zodpovědný za iniciaci žádosti webovému serveru a za zpracování odpovědi, AJAX model poskytuje zprostředkující mezivrstvu – AJAX Engine, která zajišťuje tuto komunikaci. AJAX Engine je obyčejně javascriptový objekt volaný¨vždy, kdykoli mají být od serveru přijata další data. To je zásadní rozdíl proti tradičnímu přístupu, kde dojde pouze k poskytnutí odkazu na další (externí) zdroj/URL, jehož načtení musí klient potvrdit (např. uživatel kliká na šipku pro posun mapy). V pojetí AJAXu může být odkaz na zdroj vyvolán a zpracován pomocí AJAX Engine. Požadavek je zpracován asynchronně, což znamená, že požadavek bude vyslán, ale nebude se čekat na odpověď, namísto toho se bude dále provádět kód klienta a odpověď bude zpracována později.

Server, který obyčejně dodává klientům na základě jejich požadavku HTML dokumenty, CSS šablony vzhledu nebo javascriptový kód, je kromě toho nakonfigurován tak, že vrací i data, která umí AJAX Engine interpretovat. Tato data jsou nejčastěji ve formě XML, ale lze použít jakýkoliv jiný formát, který AJAX Engine podporuje.

V okamžiku, kdy obdrží AJAX Engine odpověď ze serveru, může provést příslušnou akci – parsování dat, změnu podoby uživatelského rozhraní či poskytnutí zaslaných informací uživateli. Díky tomu, že tento proces zahrnuje přenos menšího množství informací než tradiční webový aplikační model a uživatelské rozhraní je aktualizováno rychleji a bez nutnosti překreslování celého výsledného aplikačního okna, uživatel může pracovat rychleji (Toth, 2007; Loosley, 2006).

Komunikace klient–server za pomoci AJAXu.
Obrázek 8 – Komunikace klient–server za pomoci AJAXu

Alternativy k AJAXu

Jak bylo zmíněno v úvodu této kapitoly, tak existují i alternativy k AJAXu. Jmenovaný Flash od společnosti Adobe je neustále vyvíjen a dál hraje nezanedbatelnou roli při zprostředkování například multimediálních obsahů. Zaimplementování streamovacího protokolu H.263 stojí například za úspěchem služby pro sdílení videí YouTube, dnes vlastněné společností Google. Flash se také používá jako zobrazovací technologie u dalších vývojových nástrojů pro RIA aplikace – například Adobe Flex anebo opensourcový OpenLaszlo.

V posledních dnech se také velmi živě diskutuje o produktu Silverlight od společnosti Microsoft, který má být konkurencí Adobe Flash.´