iCloud, Mobile Documents Sync and GoodReader

Last night we detailed how it's possible to sync documents across multiple Macs configured with the same iCloud account through a hidden folder in Lion's Library called Mobile Documents. As I explained in the article, this folder is actually the destination and sync location for iCloud-enabled apps, such as Instacast and iWork, that have been updated by developers to officially take advantage of iCloud's Documents & Data. But as it turns out, Mobile Documents can be used for syncing files across Macs "manually" -- just drop a file or folder in there, and it'll show up on another Mac running the same iCloud account. So whilst Mobile Documents is "officially" used for App Store apps that work with iCloud, it can also come in handy as a native "drop box" powered by iCloud.

As many were quick to point out, syncing files between Macs is nice, but "real" syncing solutions like Dropbox come with mobile apps to make sure your documents and folders aren't simply synced between desktop machines. Since Apple isn't offering a new version of iDisk based on iCloud -- and seems to be moving away from the concept of filesystem altogether -- the method I described in the article was obviously meant for owners of multiple Macs -- the Mobile Documents "hack" is cool, but it's not supported by Apple.

On the App Store, however, that are several apps that over the years have tried to re-implement the filesystem on iOS by offering access to a plethora of online sources for your files, such as FTP servers, Google Docs, Dropbox and SugarSync. These "file management" apps like iFiles and iStorage aren't integrated on a system level, but they work as "aggregators" for documents you may have already saved in the cloud, only they bring them together in a single location.

One of such apps is GoodReader, perhaps the most popular document reader & file manager ever landed on the App Store's virtual shelves -- GoodReader comes with hundreds of features and support for multiple online services, plus it's also a decent PDF reader with annotation functionalities and an overall good preview engine. As I was playing around with the idea of having Mobile Documents work with an iOS app, I realized one of the latest GoodReader updates introduced full iOS 5 and iCloud compatibility, meaning the app can store its documents and data in iCloud, and will show up as iCloud-enabled app in your account (to check this, open Settings->iCloud->Storage & Backup->Manage Storage on iOS, or System Preferences->iCloud->Manage... on OS X Lion). And if an iCloud-enabled app with Documents & Data shows its contents on OS X under Mobile Documents, it means GoodReader should be capable of syncing its own filesystem back to the Mac.

Indeed, you can use GoodReader to manage files and folders on iOS, and have them available on the Mac as well through iCloud and Mobile Documents. GoodReader will create its own folder inside Mobile Documents, and every change (new file, new folder) you'll make on the iOS app will appear inside GoodReader's "Documents" directory. Of course, you'll have to use GoodReader's "iCloud" folder to enjoy these syncing features; thanks to GoodReader's file management features, you'll be able to create folders and sub-folders, move documents around and delete them, create new text files, rename documents, and more. GoodReader has some pretty powerful features, and it's nice to see the developers are supporting iCloud out of the box with a dedicated folder on the main "My Documents" page.

Thanks to GoodReader's support for multiple online services, you'll be able to, say, move files from Dropbox or Google Docs to iCloud directly from the iOS app.

In my tests, iCloud sync with GoodReader has been extremely fast and reliable. Documents imported on iOS would show up in seconds on the Mac's Mobile Documents, and vice versa. I was able to move screenshots between my Mac, iPhone and iPad using Mobile Documents and GoodReader, but I also created folders, compressed files, imported PDFs and MP3 files. Because iCloud is based on push technology, files are pushed immediately to the cloud and downloaded on all configured clients, but I noticed that GoodReader for iOS, unlike the Mac's Mobile Documents folder, doesn't download a full document as soon as the data is "pushed" from iCloud. Try this: on your Mac, drag a medium-sized PDF into GoodReader's iCloud folder. Notice how the PDF's icon and name show up on GoodReader after your Mac has pushed the document to iCloud. But try to open the PDF from GoodReader, and you'll see the app will require additional download time, as only the main information about the file has been pushed to iOS -- if you want to read it, you'll have to wait for the full download. I actually found this method pretty clever, as it gives me up-to-date file information in seconds, and allows me to download files when I need them. Overall, I'm impressed by iCloud and GoodReader working together to sync files across different iCloud clients.

Why should you care to have GoodReader syncing files that also happen to show up on your Mac? First off, it's a cool trick. More importantly, iCloud's push technology works well, and users (like me) may find it convenient to have an easy way to, say, import iOS screenshots on the desktop without using Photo Stream, while still relying on iCloud. Thanks to GoodReader's support for audio and video, iWork and Office files, HTML archives and text files, you'll be able to copy a variety of documents from your desktop onto iCloud, and have them synced back to iOS in seconds.

Check out how to sync files with Mobile Documents and iCloud here. GoodReader is available on the App Store for iPhone and iPad.