20. 10. 2008

Celý internet v mobilu

… aneb jak nám Wap Proxy přežvýká normální webovou stránku pro mobil.

O co vlastně jde?

Wap Proxy nebo Mobile Proxy, jak službě říkáme, je systém umožňující uživateli zobrazit bežnou webovou stránku na mobilním telefonu nebo jiném mobilním zařízení,  jako je PDA. Jde tedy o překladač webových stránek.

Proč to vzniklo?

Proxy začala vznikat v době, kdy podobných řešení bylo ve světě jen pár a my chtěli uživatelům dát možnost se i na mobilních zařízeních podívat na oblíbenou stránku. Navíc v době, kdy jsme přišli s tímto nápadem, jsem řešil téma diplomové práce a tak velmi brzy začala aplikace vznikat jako diplomová práce. To bylo příjemné a přínosné jak pro mě, tak pro Seznam. Diplomka musela být včas hotová a já se v práci i ve volném čase věnoval naplno jejímu vývoji.

A jak to tedy chodí?

Každého asi v první chvíli napadne, že je to jednoduché. Jen zmenším pár obrázků a je to…. a ono není. Je pravda, že změna velikosti obrázků je nejviditelnější změna. Ale je potřeba udělat mnohem víc.

Ze všeho nejdřív musí vůbec aplikace stránku stáhnout. A to tu správnou! Zobrazení ovlivňují různé faktory od informací ze samotné adresy, přes formuláře až po různé informace obsažené v dotazu, o kterých nemá uživatel většinou ani páru. Navíc pokud si uvědomíte, že některé stránky mají zabezpečení a mnohé weby jsou přístupné pouze pod heslem, přidávají se další a další komplikace při upravování dotazu na cílovou stránku. A naposled to složitější a nejzajímavější. Pokud stránka obsahuje formulář, který se při stránkování rozdělí, musí se při stahování složit celá informace z několika stránek.

Pokud se tohle všechno podaří, nastává první fáze přizpůsobení a fáze, u které jsem nejednou splílal tvůrcům webových stránek na celém světě. Stránku je potřeba rozložit podle její struktury, což vypadá jednoduše a také je. Ovšem jen do té doby, než začne stránka obsahovat chyby. V tu chvíli je potřeba dělat spoustu záchran, aby výsledek byl co nejlepší a hlavně odpovídal standartům. Mnohé telefony si totiž na rozdíl od běžných prohlížečů neporadí s chybami ve stránce. Pokud se vše nakonec provede úspěšně,  začíná magie.

Ano, začíná ta pravá magie. Se stránkou se dělají různá přehazování a veletoče. Mezi nejjednodušší patří nahrazování některých elementů jinými, změny velikostí a přesměrování odkazů a mnoho dalších operací, které jsou vlastně výsledkem dlouhého zkoušení a nekonečných brainstormingů „co tam ještě přidat“. Veškerá základní funkčnost aplikce se vlastně skrývá v této části a každá operace prováděná nad rozloženou stránkou je know-how přizpůsobení. Jednotlivě vypadají úpravy malicherně, ovšem všechny dohromady tvoří pěkný výsledek.

Teď by si člověk řekl, že je to určitě už všechno a ono není. Ještě se musí stránka vypsat. Je pravda, že samotné vypsání je jednoduchá operace, ovšem i zde je potřeba se vypořádat s pořádným špekem a to je rozdělení stránky na části tak, aby telefon nedostal víc dat než zvládne a zobrazil stránku rozumně. Telefony mají –  na rozdíl od stolních počítačů a notebooků – velmi malou paměť a mnohé stránky se jim do paměti ani nevejdou. Proto sestavuje proxy stránku po částech tak, aby uživateli zprostředkovala pěkný výsledek. Aby byla opravdu co nejpříjemnější , pro stránku se sestaví ještě jednoduchá navigace. Jednoduchá proto, protože  nevyužívá žádné přehnaně složité detekce, ale využívá jen nadpisy.

No a stránka je hotová. Nebo ne? Stránka ano, ale ještě zbývá přidat jí vzhled. Překladačů internetových stránek je na světě víc, ale vzhled transformuje jen několik málo z nich. A po pravdě, je to docela fuška pro počítač, který tu práci musí odvést. Celou stránku je potřeba ještě jednou projít a přidat každému prvku správné vlastnosti. Mnohé telefony umí jen jednoduché zápisy stylů a tak styly zjednodušujeme. Mimo to si aplikace pamatuje aktuální barvu pozadí a v případě, že se od ní barva písma liší jen málo, upraví barvu písma na lepší. To je jedna z věcí, na které jsme opravdu pyšní.

A pak?  Pak už jen hurá! a poslat na mobilní službu uživatele.  Vlastně to není až taková věda, viďte?


Vašek