Szembejött ma velem Pierre Lebeaupin bejegyzése a Wandering Coder-ről:
In some cases, for a project for instance, it is necessary to group documents created by different apps: sometimes there is no single app that can manage all the different media for a single project. On iOS these documents can only be each separated into its own app with no way to logically group them.
Pont tegnap beszélgettünk a problémáról @gklka-val Twitteren, miszerint az iOS alkalmazás-központú nézete miatt iPaden sokkal lassabb dokumentumokkal dolgozni, mint a megszokott fájl-centrikus rendszerekben.
A kényelem
Tisztán látszik, hogy az iOS a kezdetektől fogva az alkalmazás-központú koncepció szerint lett kifejlesztve. Nem érünk el központi fájlrendszert, az appokban van a fájlrendszer, aminek prezentációja teljesen az adott alkalmazásra van bízva. Ez az alapkoncepció nem változott és nem is fog, elég ha megnézzük az Apple jelenlegi törekvéseit a témában.
Az Apple évek óta próbálja eltüntetni a fájlrendszert az életünkből. Már Macen is láthattunk hasonló megoldásokat – iPhoto vagy iTunes – viszont a klasszikus értelemben vett dokumentum-centrikus app – Pages, Numbers, Keynote, TextEdit stb. – nem tartalmaz egyedi adatbázist a fájlokról. iOS-en az ilyen alkalmazások is ugyanúgy működnek, mint például az iPhoto Macen, amiben a felhasználó egyszerűen a képeit találja meg albumokba rendezve. Dokumentumalapú alkalmazások közül a Pages for iOS-ben, egyszerű „papírlapokként” látjuk a dokumentumainkat, még azok formátumáról sem tudunk alapesetben, nincs mentés, nincs társítás és egyéb asztali rendszereken látott karbantartási funkció.
Az alkalmazásokban tárolt dokumentumok ötlete nagyszerű, egy kezdő felhasználó számára is könnyen használható, hiszen a klasszikus fájlrendszer legnagyobb problémáit veszi le az ember válláról. Nem kell foglalkoznunk a fájlok mozgatásával, formátumával, mentésével, a rendszer elvégzi számunkra mindezt. Nagyon szeretném ha ezt a kényelmet az Apple átvinné iOS-ről Mac OS X-re is; ennek alapjait már láthatjuk a Lionben az Auto Save és Versions formájában.
Az eszközök közötti dokumentummozgatás
Az egyszerűsége miatt új problémákat vet fel ez a koncepció is. Az első – amit az Apple már félig-meddig megoldott – a különböző eszközök közötti dokumentum szinkronizáció. Habár jelenleg nagyon kevés alkalmazással találkozok, ami használja az iCloud-ot, azt hiszem a jövőben ez változni fog. Az iCloud jelenleg is nagyszerűen összefogja az appokban lakó dokumentumainkat, teljesen transzparens módon működik. A jövőt én ezen a vonalon tudom elképzelni, annak ellenére, hogy a szolgáltatás Mac-es oldala még teljesen félkész.
Az iCloud használata után rájövünk, hogy alapvetően mobileszközök közötti kapcsolat létrejöttére lett kitalálva. Az alkalmazás-centrikus dokumentumtárolás és szinkronizáció teljes ellentéte a Dropboxnak, ami dokumentum-centrikus koncepciót követi, azaz alkalmazásonkénti szinkron helyett mappaszinkront biztosít nekünk, amihez aztán bármilyen programmal hozzáférhetünk a kliens gépről. A legnagyobb gondot a két koncepció találkozása jelenti a desktop és mobil operációs rendszerek között. Az iCloud-integráció legjobb – fejlesztőknek is követendő – példája a desktop alkalmazásokban való fájlkezelésről és az átalakult UI paradigmákról az iWork for Mac új verziója lesz, ami jelenleg iOS-en fejlettebb ezekben a funkciókban.
Az alkalmazások közötti dokumentummozgatás
A második probléma, hogy az iOS appközpontúsága nem engedi meg, hogy a dokumentumainkat egyszerűen szállítsuk az alkalmazásaink között. Nézzünk egy konkrét példát:
Ha én weblapot szeretnék készíteni iPaden1, akkor jelenleg Dropbox nélkül teljesen halott a dolog. Az iPaden használt iDraw-ban bármikor összerakhatom az adott projekthez kapcsolódó grafikai elemeket, de feltölteni már nem tudom a szerverre a végterméket, se átvinni a Textastic alkalmazásba, ahol a tényleges kódolás és feltöltés történik. Mindkét app támogatja a Dropboxszot import és export szinten így jelenleg ez az egyetlen ragasztó, amivel egyik helyről a másikra átvihetem az elkészített grafikákat, hogy azokat feltöltsem egy FTP szerverre, ahol a tényleges oldal él.
Hasonló esetekben találkozunk a probléma gyökerével. Az Apple jelenleg nem ad univerzális megoldást a fájlok egyszerű transzferálására. Vannak kezdeti törekvések rá, például az Open In menü vagy a WebDAV/Dropbox integráció, de ezek nem rendszerszinten vannak jelen, így ha az alkalmazás fejlesztője nem implementálja valamelyiket, akkor import és export szinten is meg vagyunk lőve. Egy olyan megoldás kellene, ami teljes rendszerszintű átjárást biztosít az appok között a dokumentumaink számára – mint a fájlrendszer a desktopon – viszont egyszerű ahhoz, hogy egy kezdő felhasználó is megértse.
Érdemes az iCloudban gondolkodni, hiszen mélyen integrálódik a rendszerben, mint szinkronizációs megoldás; az Apple amúgy sem szeret külső szolgáltatásokra hagyatkozni, ha ilyen problémákról van szó. Az iCloud tervezéséből adódóan szintén sandboxokban tárolja a dokumentumokat, viszont lehetne egy speciális import/export tároló, ami egy rendszerszintű funkcióban bontakozna ki, így nem kellene arra várnunk, hogy egy app fejlesztője implementálja azt. A forrás app exportként természetesen felajánlhat különböző formátumokat, amiket a cél app importként fogadhat. A fejlesztőknek így annyi lenne a dolga, hogy megmondja milyen fájlformátumokat fogad el az alkalmazása, ami sokkal egyszerűbb, mint egy egyedi import/export lefejlesztése. A lényeg annyi, hogy rendszerszinten működjön ez a funkció a dokumentumalapú alkalmazások és az azokat futtató eszközök között, nem utolsó sorban könnyen használható legyen, minél kevesebb karbantartással.
Nekem megoldást nyújtana arra, hogy ne kelljen Dropbox integráció alapján appot választanom. Az úgymond „pro felhasználókat” persze ez sem szolgálja ki, viszont az iPad sem használható bármire, főleg ha tartalom előállításról van szó. Azt hiszem itt bontakozik ki nagyszerűen Steve Jobs D8-on elhangzott hasonlata, miszerint a mobileszközök lesznek az autók, amiket mindenki használhat, a megszokott desktop pedig bizonyos felhasználók teherautója, ami nehezebb és nagyobb, de több funkcióval rendelkezik.