středa 19. prosince 2012

(Ne)výhody aplikačních dat v iOS

Pro nového uživatele iOS zařízení, kterým jsem se stal před časem i já, může být největším překvapením zcela odlišný přístup ke správě dat/souborů (pro jednoduchost budu mluvit o dokumentech) v operačním systému. Pro začátečníky či laiky to bude pravděpodobně jedna z největších změn.

Apple na rozdíl od Microsoft Windows nebo Google Android opouští zažitý a časem ověřený systém adresářových složek, jejichž strukturu si více či méně spravuje uživatel sám.

Je to další projev pověstné Jobsovy paranoie o uzavřeném a zcela kontrolovaném systému?

Nevím. Předpokládám, že každé opatření má nějaký důvod a každá jeho aplikace má své výhody i nevýhody. V čem se tedy správa dat v iOS tak zásadně liší?

iOS pracuje s daty striktně na aplikační úrovni. Neexistuje nějaké centrální úložiště, do kterého své dokumenty uložíte a z různých aplikací je otevíráte a na stejné místo ukládáte. Neexistuje tedy něco jako "Mé dokumenty" ve Windows nebo Android. V iOS jsou dokumenty uloženy vždy přímo v aplikaci. Tak to alespoň vnímá uživatel. Ve skutečnosti se data ukládají do podsložky dané aplikace, ale to uživatel běžnými prostředky nikdy nezjistí. Adresářovou strukturu operačního systému lze zobrazit přímo v iOS pomocí speciálních aplikací (např. iStorage). Zde pozor! Při nevhodném použití můžete narušit integritu celého systému!

Někteří pokročilí uživatelé zcela jistě vyjádří názor, že i na iOS existují aplikace kategorie "Cloud Storage" (Dropbox, Skydrive, apod.) nebo "Local Storage" (např. Phone Drive nebo iStorage), ve kterých můžete mít uložená data a zároveň je můžete zobrazovat v různých aplikacích.

iOS funkce "Open in..." neotvírá, ale kopíruje!

U "storage" aplikací se nejedná v pravém slova smyslu o systémovou správu dokumentů, ale pouze o pokus obejít specifické vlastnosti iOS. Všechny tyto aplikace opět ukládají dokumenty do vlastních složek a jediným rozdílem je to, že umožňují soubory kopírovat, přejmenovávat, třídit do složek a především otevřít v jiných aplikacích přes iOS rozhraní "Open in...".

Výraz otevřít v ... je však zavádějící, protože se nejedená o otevření dokumentu v jiné aplikaci, ale o kopii dokumentu do složky jiné aplikace, čímž se vytvoří duplikát dokumentu a ten bude nadále existovat na dvou různých místech. Nevýhody tohoto procesu si ukážeme na následujícím příkladu.

Zadání: Z internetu stáhneme ZIP dokument, který bude obsahovat 2 dokumenty (krátké video ve formátu AVI a textový popis videa ve formátu TXT). Video chceme nakopírovat na lokální DLNA server, ze kterého bude následně přehráváno v multimediálním přehrávači (např. AcePlayer), textový dokument potřebujeme upravit přímo v iOS v textovém editoru (např. iA Writer), přidat k němu fotku z galerie (PNG), oba soubory zabalit a odeslat emailem.

Uznávám, že příklad je účelově vytvořen, ale ukáže nám, v čem tkví hlavní problém aplikačních dat.

Popis požadovaných kroků:
  1. Stažení ZIP souboru
  2. Rozbalení ZIP souboru
  3. Přenos souboru AVI na lokální FTP server
  4. Editace TXT souboru
  5. Komprimace TXT a PNG souboru do ZIP
  6. Odeslání ZIP emailem

Šest jednoduchých kroků. Jak to bude vypadat v iOS?

Minimalizujte počet přenosů mezi aplikacemi a pro centrální archivaci zvolte
NEJSCHOPNĚJŠÍ APLIKACI

Protože v iOS není mnoho opravdu univerzálních aplikací, pravděpodobně budete dělat každý krok v jiné aplikaci. Dopředu je třeba zvážit, jak budete postupovat a jaké omezení má každá aplikace, abyste minimalizovali přenosy dokumentů mezi jednotlivými aplikacemi.

Stažení souboru lze provést přímo v Safari za předpokladu, že ZIP soubor není uložen na takovém místě, ze kterého Safari soubor nedokáže stáhnout (např. většina hostovaných služeb typu Rapidshare). Pokud váš soubor je na takovém serveru, je nutné nainstalovat speciální aplikaci pro stahování, která to umí (např. iDownloader). Pro náš případ bude dostačovat Safari, protože ZIP soubor je odeslán oblíbenou službou www.uschovna.cz.

Protože se jedná o soubor ZIP, potřebujeme jej otevřít v aplikaci, která umí rozbalit ZIP soubor. V našem případě zvolíme placenou aplikaci Phone Drive, která bude zároveň fungovat jako náš CENTRÁLNÍ ARCHIV. V praxi to znamená, že v této aplikaci budou uloženy všechny soubory bez ohledu na to, o jaké soubory se jedná, neboť tato aplikace obsahuje většinu požadovaných funkčností včetně rozbalování i tvorbu ZIP souborů.



Poté, co v Safari použijeme funkci Otevřít v: "Phone Drive", bude soubor ZIP soubor uložen ve složce "Import" v této aplikaci. Nyní ZIP soubor rozbalíme. Ačkoliv je aplikace Phone Drive téměř zázračná, neumožňuje (zatím) bohužel přenos souborů přes FTP (režim klienta). Proto musíme AVI soubor nejdříve otevřít v aplikaci, která umožňuje upload přes FTP - zvolíme tedy např. aplikaci FTP Sprite.



Poté, co máme AVI soubor přesunut na lokální FTP server, otevřeme TXT soubor v aplikaci iA Writer (zde by bylo vhodné podotknout, že Phone Drive sice umí editovat textové soubory, ale v aktuální verzi poněkud zlobí grafika, takže se sem tam nezobrazí polovina stránky). V iA Writer provedeme editaci dokumentu a, kvůli pozdějšímu zabalení dokumentu do ZIP archívu, musíme TXT opět přenést soubor zpět do Phone Drive. Zde se uloží do složky Import.

Přímo v aplikaci Phone Drive přidáme fotografii z galerie fotek (použijeme funkci "Add from Library"). Oba soubory označíme a zabalíme do nového ZIP archívu a přímo z Phone Drive odešleme emailem.

Zdá se vám to složité? Bohužel překvapení ještě nekončí. Za předpokladu, že jste v průběhu příkladu žádné dokumenty ručně nemazali, bude vaše iOS zařízení obsahovat v jednotlivých aplikacích níže uvedené soubory:


Ve skutečnosti máte nyní soubor Popis.txt na 3 různých místech a Video.avi na 2 místech.

Je možné se tomuto postupu nějak vyhnout?

Samozřejmě, ale vše je na uživateli. Zaprvé musí myslet na to, že po otevření dokumentu v jiné aplikaci se soubor zkopíruje. Musí se tedy rozhodnout, zda původní soubor chce zachovat nebo smazat.

Některé aplikace (není jich bohužel mnoho) dokáží soubory automaticky synchronizovat s adresáři v aplikaci Dropbox. Aplikace Phone Drive navíc umí efektivně kopírovat a přesunovat libovolné nejen v rámci Dropbox, ale komunikuje také se službou iCloud. Protože však neexistuje jednotný přístup k dokumentům (každá aplikace s nimi nakládá jinak), bude v iOS vždy složitější udržet si přehled o dokumentech.

Phone Drive vám hodně pomůže.

Tato jednoduchá a hlavně levná aplikace má navíc několik fantastických funkčností, mezi které patří mimo jiné:
  • nativní přístup k souborům v iCloud a Dropbox
  • přenos dokumentů mezi vlastním úložištěm i cloud službami
  • kopírování, přenos, přejmenování souborů
  • vytváření, mazání a přejmenování adresářů
  • vytváření a editace textových souborů (v aktuální verzi trochu zlobí)
  • rozbalování ZIP archivů i vytváření nových
  • prohlížeč s možností stahování souborů (nedosahuje však možností aplikace iDownloader)
  • sdílení souborů prostřednictvím wifi s počítačem (FTP a HTTP) nebo klasicky přes USB
  • přenos souborů mezi iOS zařízeními (WIFI nebo Bluetooth)
  • přístup ke knihovně fotografií
  • v neposlední řadě obsahuje přehrávač hudby a videa, čímž téměř zcela nahrazuje standardní music přehrávač synchronizovaný s iTunes
S Phone Drive sice nevyřešíte problém duplicity dat a složitosti přenosu mezi aplikacemi, ale alespoň si usnadníte život tím, že budete mít centrální úložiště dokumentů na jednom místě. S integrovaným ZIP manažerem ušetříte paměť dokumentů, které zrovna nepotřebujete prohlížet nebo editovat.

Má vlastně iOS řešení pro ukládání aplikačních dat nějaké výhody?

Z mého pohledu jich je minimum, ale přesto alespoň jednu vidím. Tou je fakt, že při smazání aplikace z iOS dojde také ke smazání všech dokumentů, které jsou v této aplikaci uložené. Na druhou stranu vytváření duplicitních dokumentů tuto výhodu z části eliminuje.