Při kácení lesa složitosti pro původní iPhone padlo hodně třísek. Ve jménu zjednodušení a usnadnění ovládání revolučního telefonu Apple osekal některé aspekty operačního systému na absolutní minimum. Jednou z myšlenek bylo zbavení se klasické správy souborů.
Není tajemstvím, že Steve Jobs souborový systém, jako jej známe z desktopových počítačů, nesnášel, připadal mu složitý a pro běžného uživatele těžko uchopitelný. Soubory pohřbené v hromadě podsložek, nutnost údržby pro vyvarování se chaosu, to vše nemělo otrávit zdravý systém iPhone OS a jediná správa, která byla u původního iPhonu zapotřebí, probíhala skrze iTunes pro synchronizaci multimediálních souborů, případně systém disponoval jednotnou knihovnu fotografií, ze které šlo obrázky nahrávat nebo je do ní ukládat.
Cesta skrz bolest uživatelů
S příchodem aplikací třetích stran bylo jasné, že sandboxový model, který zajišťuje bezpečnost systému a souborů v něm a kde k souborům může přistupovat pouze aplikace, ve které jsou uložené, je nedostatečný. Dočkali jsme se tak několika možnosti, jak se soubory pracovat. Z aplikací jsme je mohli dostat do počítače prostřednictvím iTunes, nabídkou „Otevřít v…“ bylo možné překopírovat soubor do jiné aplikace, jež podporuje jeho formát, a Dokumenty v iCloudu zase umožnily synchronizovat soubory stejných aplikací napříč platformami Applu, byť vcelku netransparentním způsobem.
Původní myšlenka zjednodušení složitého souborového systému se nakonec obrátila proti Applu a především proti uživatelům. Práce se soubory mezi více aplikacemi představovala chaos, v jehož středu bylo velké množství kopií stejného souboru napříč aplikacemi bez možnosti jakéhokoliv přehledu o aktuálnosti daného dokumentu či jiného souboru. Místo toho se vývojáři začali obracet na cloudová úložiště a jejich SDK.
Díky implementaci Dropboxu a jiných služeb měli uživatelé možnost přistupovat ke stejným souborům z libovolné aplikace, upravit je a uložit změny bez vytváření kopií. Toto řešení z velké části odlehčilo správu souborů, zdaleka však nebylo ideální. Implementace souborových úložišť znamenala mnoho práce pro vývojáře, kteří museli sami vymyslet, jak si aplikace poradí se synchronizací, a zabránili tak poškození souborů, navíc nikdy nebylo zaručené, že vaše aplikace bude podporovat to úložiště, které používáte. Práce se soubory v cloudu představovalo i další omezení – zařízení muselo být vždy online a soubory nemohly být uloženy pouze lokálně.
Sedm let od první verze iPhone OS, dnes iOS, konečně Apple přišel s finálním řešením, kde se odklání od původní myšlenky správy souborů na základě aplikace, místo toho nabízí klasickou souborovou strukturu, ovšem chytře zpracovanou. Přivítejte iCloud Drive a Document Picker.
iCloud Drive
iCloud Drive není prvním cloudovým úložištěm Applu, jeho předchůdcem je iDisk, jenž byl součástí MobileMe. Po přebrandování služby na iCloud se částečně změnila její filozofie. Místo konkurenta pro Dropbox nebo SkyDrive (dnes OneDrive) měl být iCloud balíkem služeb zejména pro synchronizaci, nikoliv samostatným úložištěm. Apple s touto filozofií odolával až do letošního roku, kdy konečně představil iCloud Drive.
Samotný iCloud Drive není nepodobný Dropboxu a jiným obdobným službám. Na desktopu (Mac i Windows) představuje speciální složku, která je neustále aktuální a v synchronizaci s cloudovou verzí. Jak odhalila třetí beta iOS 8, iCloud Drive bude mít i vlastní webové rozhraní, patrně na iCloud.com. V mobilních zařízení však nemá dedikovaného klienta, místo toho je integrovaná do aplikací v rámci komponentu Document Picker.
Kouzlo iCloud Drive nespočívá pouze v synchronizaci manuálně přidaných souborů, ale v zahrnutí všech souborů, které aplikace synchronizuje s iCloudem. Každá aplikace má v iCloud Drive vlastní složku označenou ikonou pro lepší orientaci a v ní pak jednotlivé soubory. Dokumenty Pages v cloudu tak naleznete v patřičné složce, to samé platí pro aplikace třetích stran. Stejně tak Mac aplikace, které synchronizují do iCloudu, ale nemají svůj protějšek na iOS (Preview, TextEdit) mají v iCloud Drive svou složku a libovolná aplikace k nim může přistupovat.
Zatím není jasné, zda bude mít iCloud Drive další funkce, jaké najdeme u Dropboxu, například sdílení odkazů na soubor nebo sdílené složky pro více uživatelů, to se pravděpodobně dozvíme až na podzim.
Document Picker
Komponent Document Picker je nedílnou součástí práce se soubory v iOS 8. Jeho prostřednictvím Apple integruje iCloud Drive do libovolných aplikací a umožňuje otevírat soubory mimo vlastní sandbox.
Document Picker funguje podobně jako Image Picker, jedná se o okno, ve kterém může uživatel vybrat jednotlivé soubory pro otevření nebo import. Jedná se prakticky o velmi zjednodušený souborový manažer s klasickou stromovou strukturou. Kořenový adresář bude shodný s hlavní složkou iCloud Drive s tím rozdílem, že zde budou i lokální složky s daty aplikací.
Soubory aplikací třetích stran tak nemusejí být nutně synchronizované do iCloud Drive, Document Picker k nim může přistupovat na lokální úrovni. Dostupnost dat však neplatí u všech aplikací, vývojář musí explicitně přístup povolit a označit složku Documents v aplikaci za veřejnou. Pakliže tak učiní, uživatelské soubory aplikace budou dostupné všem ostatním aplikacím využívající Document Picker bez nutnosti připojení k internetu pro iCloud Drive.
Uživatelé budou mít k dispozici čtyři základní akce pro práci s dokumenty – Otevřít, Přesunout, Importovat a Exportovat. Druhá dvojice akcí víceméně přebírá funkci dosavadního způsobu práce se soubory, kdy vytváří kopie jednotlivých souborů do vlastního kontejneru aplikace. Uživatel může například chtít upravit obrázek tak, aby zachoval jeho původní podobu, místo otevření tak vybere import, čímž se soubor duplikuje do složky dané aplikace. Export je pak víceméně známá funkce „Otevřít v…“.
Zajímavější je nicméně první dvojice. Otevření souboru znamená přesně to, co byste od takové akce očekávali. Aplikace třetí strany otevře soubor z jiného umístění, aniž by ho duplikovala nebo přesouvala a může s ním dále pracovat. Veškeré změny jsou pak uložené do původního souboru, stejně jako tomu je na desktopových systémech. Apple zde ušetřil práci vývojářům, kteří se nemusí starat o to, jak bude nakládáno se souborem otevřeným ve více aplikacích či zařízeních najednou, což by jinak mohlo vést k jeho poškození. O veškerou koordinaci se stará systém společně s CloudKit, vývojáři musí jen implementovat příslušné API do aplikace.
Akce pro přesouvání souboru pak jednoduše může přesouvat položku z jedné složky aplikace do jiné. Chcete-li tedy využívat jednu aplikaci pro veškerou správu souborů uložených lokálně na zařízení, přesouvání souborů vám to umožní.
U každé aplikace vývojář specifikuje, s jakými typy souborů dokáže pracovat. Tomu se přizpůsobuje i Document Picker a místo zobrazení všech souborů v celém iCloud Drive a lokálních složkách aplikací ukáže pouze ty typy, které dokáže aplikace otevřít, čímž se v mnohém hledání zjednoduší. Krom toho Document Picker poskytuje i náhledy souborů, zobrazení lze přepínat mezi seznamem a maticí a k dispozici je i pole pro hledání.
Cloudové úložiště třetích stran
V iOS 8 si nejsou iCloud Drive a Document Picker exkluzivní, naopak poskytovatelé cloudových úložišť třetích stran budou mít možnost se do systému napojit obdobným způsobem. Document Picker bude mít v horní části okna přepínací tlačítko, kde si uživatelé budou moci vybrat, zda chtějí zobrazit iCloud Drive, nebo jiné dostupné úložiště.
Integrace pro třetí strany vyžaduje práci pouze ze strany těchto poskytovatelů, přičemž bude fungovat obdobným způsobem jako jiná rozšíření aplikací v systému. Svým způsobem integrace znamená podporu speciálního rozšíření v iOS 8, které přidá cloudové úložiště do seznamu v nabídce úložišť v Document Pickeru. Jedinou podmínkou je tak přítomnost nainstalované aplikace pro danou službu, která se prostřednictvím svého rozšíření integruje do systému, respektive do Document Pickeru.
Doposud museli vývojáři, pokud chtěli integrovat některé z cloudových úložišť, přidat úložiště sami prostřednictvím dostupných API služby, na jejich hlavy však padla i zodpovědnost za správné zacházení soubory tak, aby nedošlo k poškození souborů nebo ke ztrátě dat. Pro vývojáře patřičná implementace mohla znamenat dlouhé týdny až měsíce vývoje. Díky Document Pickeru nyní tato práce přechází přímo na poskytovatele cloudového úložiště a vývojářům tak stačí pouze integrovat Document Picker.
To úplně neplatí v případě, pokud chtějí integrovat úložiště hlouběji do aplikace s vlastním uživatelským rozhraním, jako to například dělají Markdown editory. Pro většinu ostatních vývojářů to však znamená značné zjednodušení vývoje a jedním tahem mohou prakticky integrovat libovolné cloudové úložiště bez jakékoliv práce navíc.
Velkou mírou z toho budou samozřejmě těžit i samotní poskytovatelé úložišť, zejména pak ti méně populární. Často se stávalo, že podpora úložišť u aplikací byla často omezená na Dropbox, případně Google Drive a několik málo dalších. Méně populární hráči na poli cloudových úložišť prakticky neměli šanci se do aplikací integrovat, jelikož pro vývojáře těchto aplikací by to znamenalo neúměrnou práci navíc, o jejíž benefitech by je poskytovatelé těžko přesvědčili.
Díky iOS 8 se mohou do systému integrovat všechny cloudová úložiště, které si uživatel do svého zařízení nainstaluje, ať už se jedná o velké hráče nebo méně známé služby. Je-li vaší volbou Dropbox, Google Drive, OneDrive, Box nebo SugarSync, nic vám nebude bránit je pro správu souborů používat, tedy za předpokladu, že tito poskytovatelé patřičně aktualizují své aplikace.
Závěr
S iCloud Drive, Document Pickerem a možnosti integrací úložišť třetích stran udělal Apple velký krok kupředu vstříc řádné a efektivní správě souborů, která byla na iOS jednou z největších slabin systému a jež museli vývojáři složitě obcházet. Díky iOS 8 poskytne platforma větší produktivitu a efektivitu práce než kdykoliv předtím, navíc má zástup nadšených vývojářů třetích stran, kteří tuto snahu ochotně podpoří.
Ač iOS 8 díky všemu výše zmíněnému přináší obrovskou svobodu do systému, stále jsou tu některá znatelná omezení, se kterými se budou muset vývojáři a uživatelé vypořádat. iCloud Drive například nemá vlastní aplikaci jako takovou, na iOS existuje pouze v rámci Document Pickeru, což trochu znesnadňuje samostatnou správu souborů na iPhonu a iPadu. Stejně tak nelze Document Picker například vyvolat z aplikace Mail a přiložit do zprávy libovolný soubor.
Pro vývojáře iCloud Drive zase znamená, že musí u svých aplikací přejít z Dokumentů v iCloudu najednou, jelikož služby nejsou vzájemně kompatibilní a uživatelé by tak ztratili možnost synchronizace. To vše je ale jen malá cena za možnosti, jež Apple uživatelům a vývojářům poskytl. Benefity vycházející z iCloud Drive a Document Pickeru se pravděpodobně neprojeví hned po oficiálním vydání iOS 8, je to ale velký příslib do blízké budoucnosti. Takový, po kterém jsme volali dlouhá léta.
Ak bude mozne vytvorit zlozku a v nej mat zmiesane subory (Numbers, Pages…) Tak to bude snad darom z nebies …
melo by tomu taky byt…
Tohle je jedna z největších chyb Applu v historii vývoje iOS. Je to naprosté zrazení té úvodní myšlenky ke které systém vznikl. Souborový systém není nenahraditelný, pouze se musí jeho implementace vyvinout postupně. Kdyby do iOS přidali pouze editaci souborů v jiné aplikaci (aby jedna mohla sahat na soubory jiné), mohl by sandboxový systém klidně dále fungovat. Bohužel tohle je overkill, který přinese chaos, nepořádek a problémy se správou. Je mi to opravdu opravdu líto. Tímhle se Apple vzdal jedné z největších svých charakteristických vlastností – inovovat. Zejména inovovat rozumně a nenahlížet na nesmyslné nářky uživatelů, kteří neumí myslet kreativně.
Vůbec mě nepřekvapuje, že když uvedli iCloud Drive na WWDC tak se ozvalo z publika nepříjemné bůůů. Naprosto je chápu. Absence file systému byla jednou z nejlepších vlastností iOS a přispěla k jeho jednoduchosti a popularitě. Navzdory všem kritikům. Je to totiž zejména absence file systému, která přispívá ke stabilitě a predikovatelnosti systému. A díky tomu mu zajistila popularitu.
bezpecnost bola dolezitejsia ako File system… pamatam si este velmi dobre ako som omylom raz zmazal zly subor ked som chcel do iPhonu 1.st gen pridat moje vlastne zvonenie
podla toho co bolo odprezentovane na WWDC by iOS 8 mal umoznit to co popisujes – aby jeden na subor mohlo pristupovat viacero aplikacii
Těším se na integraci cloudových úložišť, zejména OneDrive, kde je teď v rámci Office365 prostor 5x1TB
1. Docela se bojím jak to bude vypadat například u takového PDF experta, který umí otevřít úplně všechno… By tam take chtělo, aby to člověk, pro jednotlive aplikace mohl ovlivnit co mohou a nemohou otevřít…
2. Co potom offline content u cloudu? Například u mou využívaneho CUBBY programu mam na stahování soubory abych je pak mohl kdekoliv otevřít… Půjdou pak otvírat přes picker? Mohou to vývojáři tohoto programu nějak ovlivnit?