iPhone podporuje multitasking
Nebo je multitasking trošku (nebo úplně) něco jiného, než jak ho znám a co si pod tím představuji. S příchodem WMS7 (smál jsem se asi půl hodiny v kuse při čtení prvních dojmů, a to proti jiným mobilům nic nemám, jen mi nevyhovují, ale rád si přečtu nějaký flame mezi iPhone, WM, Android a jinou komunitou), již nějaký pátek fungujícím Nexus One a očekávaným iPhone OS 4, často se tu tohle magické slovíčko předhazuje, lidé si nadávají, osočují se, kritizují a jsou schopni se málem porvat.
Tak jsem přemýšlel, co je vlastně multitasking, a zda ho ten můj zázrak fakt nepodporuje. A včera, čistě náhodou, při absolutně normální činnosti, jsem si uvědomil, že vlastně ano, a to dokonce velmi vyspělým způsobem. Aktéry triviálního důkazu multitaskingu na iPhone jsou:
- já (alias „uživatel“, „já“),
- iPhone (3G 8GB OS v 3.1.3, u Vodafone s paušálem + daty, bez JB, s běžným nastavením, nic extra, alias „iPhone“),
- sada aplikací (iPod, Email, Safari, AppStore, Billings Touch, Wow Armory, Twitterrific a SMS, a možná i jiné),
- úvodní obrazovka po odemčení (alias „home“).
Začínáme. iPod hraje. Pomocí Safari pročítám zprávy o bronzu Bauera (gratulace !!!). Od MaruMaru mi přijde sms s gratulací, zobrazí se jako push. Kliknu na ní, protože si nepamatuju, k čemu gratuluje, přecházím do SMS, a zjišťuji, že to je k 1000. fanouškovi stránek na Facebooku o Českém ráji. Vracím se zpět home a druhým kliknutím do Safari, hned přímo do článku o Bauerovi. Dočetl jsem, jdu na home a jdu se podívat, jak se daří kamarádům v guildě a spouštím Wow Armory. To přechází hned na moji poslední stránku zde, což je výpis guildy. Do toho mi tlumeně iPhone oznámí nový email. Přecházím na home a do Emailu. Přišla reakce na příspěvky na SuperApple.cz ohledně JB iPhonů. Email mi označuje sám odkazy, přes něj se vracím do Safari, kde se mi hned otevírá nová stránka …
… asi v tento okamžik mi to nějak cvaklo …
… jdu ze Safari na home a pouštím Billings (aplikace pro trackování doby na projektu, vystavování faktur klientům, atd atd, o ní třeba jindy) a zde zakládám nový úkol a spouštím na něm měření času. Vypínám Billings, jsem na home. U Billings svítí ikonka jednoho aktivního měření. Jdu na AppStore, hledání aplikace, a beru první free aplikaci. Z AppStore mě to hodí na home, kde se zobrazí, jak se aplikace stahuje. Chvilku to potrvá, ale nečekám a jdu na Twitterrific pro poslední novinky. Pročítám zprávy a zaujme mě odkaz na WMS7. Klikám na něj a přecházím do zpravodajství. Pomocí zatřesení iPhonem přeskakuji na jinou skladbu (nechtělo se mi jít na iPod aplikaci). Dočítám aktualitu a jdu na home. Aplikace se mezitím začala instalovat. Říkám si super, mezitím přišel další mail. Při čtení mailu se ozval tlumený zvuk informující o nainstalování aplikace. Jdu na home, abych si přemístil ikonku. Vracím se do mailu, dočítám. Jdu na home, otevírám Billings a vypínám časování projektu. Pomocí zvláštní kombinace (ale je nejrychlejší: lock, home, home –> vyskočí na obrazovce před odemčením ovládání iPodu) vypínám iPod. Konec testu.
(ps: dnes ráno jsem se podíval do mailu a hned se mi zobrazila moje poslední zpráva, stejně tak v billings jsem mohl hned pokračovat v časování).
Neříkejte mi, že iPhone neumí multitasking. Mimochodem, nevidím rozdíl mezi kliknutím na ikonu a vybráním jiné aplikace, nebo stisknutím TAB a kliknutím na aplikaci, nebo použitím Expose a kliknutím na aplikaci, nebo kliknutím na Home u iPhone a vybráním aplikace, když se stane totéž. Dostanu se tam, kde jsem byl. Aplikace získá focus, případně proběhne její init(), dle druhu a obtížnosti aplikace v délce do 2 sekund (vzhledem k procesoru super) včetně načtení posledního stavu (pokud to podporuje). Pokud to aplikace umí, zachovává běžící thread na pozadí (viz instalace, iPod, Safari, ale i aplikace třetí strany, Billings).
Takže chyba není na straně OS, ale na straně programátorů, kteří nedokáží aplikace nastavit a využít tak schopnosti běžet na pozadí. Nebo mají snad Billings výsadní právo a odhalily tajnou cestu do jádra pudla?
Štěpáne, ono je to tak, že multitasking opravdu umí pouze aplikace přímo stvořené Applem. Třeba Mail nebo iPod. Ostatní aplikace třeba jako ty zde uvádíš Billings mohou multitasking pouze simulovat. A to i tak úspěšně jako Billigns, u které je dojem uživatele takový, že skutečně běží v pozadí.
Zásadní ovšem je, že ke skvělému dojmu uživatele opravdový multitasking potřeba není. Sám jsem vždycky zmatenej, když se mě někdo ptá, jestli mi nechybí – proč? na co? kde? Přiznám se, že mě nenapadá jediná aplikace, u které by pro mě měl multitasking nějaký velký smysl.
Můj pohled je v tomto opravdu spíš uživatelský. A protože většina lidí, kteří se rozhodují, jsou uživatelé, tak předpokládám, že postup jejich myšlení bude obdobný. O to děsivější pro ně je, když někdo napíše, že to systém neumí. Je pak nezajímá, zda je vydavatelem Apple, nebo třetí strana, berou to na přístroj globálně, a to i před tím, než by ho vyzkoušeli. Simulace (kamarád to nazval „multithread“) multitasku ho v mých očích plně nahrazuje a splňuje z uživatelského hlediska základní parametry multitasku, tedy provozu (jakéhokoli) aplikací na pozadí. Ke všemu, když si uvědomíme, na jakém to je „železu“, je to velmi svižná a výkonná simulace.
Výsledkem ale je, v očích 98% většiny, že mohu fungovat ve více aplikacích najednou .. :)
Přesně tak, halt User experience je důležitější než co je napsaný v seznamu featur :)
[...] si vzpomenu na svůj blogpost, který také vyšel na serveru superapple.cz, no se zlou jsem se potázal. Kritiku jsem schytal [...]
[...] si vzpomenu na svůj blogpost, který také vyšel na serveru superapple.cz, no se zlou jsem se potázal. Kritiku jsem schytal [...]