Inside OS X 10.8 Mountain Lion GM: using iCloud as the smart, automated way to store documents
Steve Jobs debuted Apple's iCloud strategy last summer at the company's 2011 Worldwide Developer Conference. Over the past year, iCloud may have appeared to be simply a renaming of Apple's beleaguered MobileMe, as it has principally provided the same email, contacts and calendar services that MobileMe has since 2008 (and .Mac had since 2002). However, Jobs' vision for the future of iCloud went well beyond the commonplace internet accounts at the heart of MobileMe and its .Mac predecessor.
Jobs initially outlined his vision for cloud computing in a presentation at WWDC 1997, where he described the cloud storage network technologies put into place at NeXT over the previous decade. At the time, these features were simply too complex and expensive to broadly offer to consumers. However, fourteen years later Jobs described at WWDC 2011 how Apple would be deploying iCloud as the "next big insight."
Jobs' "big insight" focused on the problems of having multiple desktops and mobile devices, each with its own local file system storing documents, music, photos and other media. "Keeping these devices in sync is driving us crazy!" he said. âWeâve got a solution for this problem. Weâre going to demote the PC and the Mac to just be a device. Weâre going to move your hub, the center of your digital life, into the cloud.â
iCloud takes shape under OS X Lion
Seven years ago, speaking at the "All Things Digital" conference in 2005, Jobs noted that "in every user interface study weâve ever done," Apple found that "itâs pretty easy to learn how to use these things until you hit the file system and then the learning curve goes vertical. So you ask yourself, why is the file system the face of the OS? Wouldnât it be better if there was a better way to find stuff?"
Jobs then contrasted the conventional OS-level file system for managing documents on a computer to an email application, explaining that "thereâs always been a better way to find stuff. You donât keep your e-mail on your file system, right? The app manages it. And that was the breakthrough, as an example, in iTunes," Jobs stated.
"You donât keep your music in the file system, that would be crazy. You keep it in this app that knows about music and knows how to find things in lots of different ways. Same with photos: weâve got an app that knows all about photos. And these apps manage their own file storage."
Six years later, Jobs unveiled iCloud as the solution to multi-device, cross platform media and document access, moving a variety of data stores that were once tied to a particular Mac into the cloud.
"iTunes in the Cloud," and in particular its iTunes Match feature (above), would allow users to access their Mac's entire iTunes music collection from their iOS devices, for example, while iCloud's new PhotoStream feature (below) let users see their photos anywhere, from mobile devices to their Macs to their living room television via Apple TV. New purchases from the App Store, iTunes and iBookstore can now appear on any other device the user owns, automatically, via iCloud.
With iCloud, end users don't have to think about where those individual media or app files are stored or how, any more than they have to worry about the precise changes in voltage or magnetic fields that store the bits that represent the data in those files.
In addition to managing apps, photos and music, Apple's iCloud continues to link together users' Macs and iOS devices with network Mail, Contacts, Calendars and Safari bookmarks (and now open tabs, as shown below), having added "everywhere access" for Reminders and Notes and Messages and FaceTime.
Related networking features are also tied to the same iCloud account, including Game Center friends and achievements, Back to My Mac remote access, and the Find My iPhone and Find My Mac services for locating, alerting and remotely wiping missing devices.
Mountain Lion & Documents in the Cloud
The big new iCloud feature in Mountain Lion, however, is completed support for Documents in the Cloud, the foundational network architecture that erases users' dependance upon manually managing documents in the file system.
Apple first debuted the feature in its mobile iWork apps, allowing iOS users to, for example, start work on a Pages document on their iPhone, subsequently make changes on their iPad, and then access the same up-to-data document on their iPhone again for presentation or printing.
In Mountain Lion, developers can add iCloud's "Documents in the Cloud" features to their own apps, allowing users to access and edit documents stored in a central repository (Apple's iCloud servers), so there's no need to manually manage version control or sync updates between a user's computers or other devices.
Additionally, Apple supports cross platform editing of documents between iOS and OS X, erasing the boundaries and limitations of the conventional local file system, physically stored on a single device. While this may sound similar to basic cloud-based file sharing such as Dropbox or Apple's iDisk from ten years ago, it's a lot more sophisticated under the hood, particularly in terms of its app-based security model, as is described below.
Apple hasn't yet released support for "Documents in the Cloud" in its own OS X iWork apps including Pages, Numbers and Keynote because this feature requires the as-yet-unreleased OS X Mountain Lion. But last year, Apple updated its iWork apps to support the new features of OS X Lion after its public release, including Auto Save, Full Screen apps, Resume, and Versions. So it makes sense to expect new OS X updates to iWork as soon as Mountain Lion ships.
On page 2 of 3: iCloud's Documents & Data
While iWork's desktop cloud support hasn't yet arrived, other apps Apple bundles with OS X demonstrate iCloud's "Documents in the Cloud" model in Mountain Lion. This support is dependent upon the type of documents and data an app uses.
For example, in Mountain Lion, Safari 6.0 makes transparent use of iCloud to store and display the tabs open on other devices (as noted above), as well as the user's Reading List and other Bookmarks. Reminders and Notes similarly share their data across a user's devices without explicitly saving actual documents, just like Mail, Calendar and Contacts.
Bundled applications that are oriented around saved documents, such as TextEdit and Preview, illuminate how iCloud's "Documents in the Cloud" will function. By default, both apps offer to save new documents to iCloud (as depicted in their Save dialogs, below).
When targeting iCloud as a save location, the disclosure triangle that would normally allow users to browse files and folders in the file system is greyed out. There's also no button to create a new iCloud Folder (you create these like iOS, by dragging file icons together. As on iOS, "Folders" in iCloud are not standard file system subdirectories, but simply organizing features that only exist one level deep.)
In previous builds of Mountain Lion, the disclosure triangle did function, and presented a more complex view of iCloud's files within TextEdit (below), complete with file type options, a button to create a new folder, and a Finder-like sidebar of other locations in the file system. That's all now gone in the latest build.
Rather than trying to make iCloud appear to be an extension of the desktop file system, Mountain Lion treats iCloud as an alternative location outside the file system, and which doesn't work like the file system (no nestled hierarchies of folders, for example). In contrast, OS X has always treated removable devices and remote servers (including MobileMe's iDisk) as if they were an expansion of the file system, rather than a parallel universe of storage. Dropbox cloud storage similarly presents its files as a local folder within the user's home directory. So iCloud's presentation is a new concept.
Stated simply: while iDisk, Dropbox, local servers and removable disks are all presented as in being in a hierarchical structure rooted to the local computer, iCloud and its contents (including documents and organizing folders) exists in an entirely separate world distinct from the local computer's file system.
iCloud without the cloud
In order to explicitly not save files to iCloud, users can simply pick a folder in the local file system (including on a remote server or to a Dropbox folder) instead when saving. The same standard popup menu also allows users to specify saving a file to iOS-style Folders created within iCloud (below, a "Screenshots" Folder is listed as a save target, as well as local disks and Finder sidebar "favorites").
The advantage to saving files to iCloud is that they'll be managed by Apple. You don't have to worry about which desktop you saved a particular file on; as long as your system is connected to iCloud, you'll see the same set of files across all your systems (and mobile devices, in the case of cross platform apps such as iWork titles).
What happens when you work offline with no Internet connection? It appears OS X mirrors all of your iCloud files locally, as even when unplugged from the Internet, you can still see the files you've saved to iCloud. You can also save files to iCloud without a network connection. Of course, they will continue to be cached locally until you again connect to the Internet.
As with the new ultra streamlined, option free iCloud save dialogs (show above), open dialogs showing the files available on iCloud have a simple interface reminiscent of iOS: a distinct, dark linen background with icons that can be selected and grouped into Folders (as depicted below). There are two view options: an icon mode and list mode offering some additional file information.
From on open file dialog, local files you've saved while offline appear with a iCloud "dotted outline" icon. In file icon view, the document's icon is badged "waiting" to indicate that the file hasn't yet synced up with Apple's servers (and therefore won't be accessible from other systems until it does).
iCloud not found in the Finder, but still searchable
iCloud-savvy apps show what documents the user has created and saved to iCloud within these special, simplified save and open file dialogs, but those files don't show up anywhere in the Finder. That is, until you perform a Spotlight search.
If you go looking for an iCloud repository of files in the Finder akin to the previous .Mac/MobileMe iDisk (or Dropbox), you'll come up empty handed. There's nothing pertaining to iCloud in the Finder sidebar, no icons on the desktop, no Dock icon, nor any other clue that there are files you've squirreled away in iCloud. But perform a Spotlight search for an iCloud file and it immediately appears in the results within a Finder window (shown below). Why?
Because iCloud isn't part of the old file system concept that the Finder was intended to put a face on. Jobs wasn't just speaking hypothetically when he asked, back in 2005, "why is the file system the face of the OS!?" While he presided over the development of the original Macintosh Finder back in the early 1980s, he also, with iCloud, helped to conceptually craft the beginning of its demise 30 years later, much the same as he did in both introducing and then later eradicating 3.5" floppies.
The reason iCloud doesn't have a static "spot" in the Finder is because iCloud's "Documents in the Cloud" do not exist as system-wide files. Each application's iCloud files are tied to that application. Graphics and PDFs you work on in Preview and save to iCloud are only visible within Preview. TextEdit files you create and save to iCloud are similarly only visible when you're using TextEdit.
Other applications, including a hypothetical bit of malware designed specifically to erase your local files, can't access TextEdit's iCloud documents because Apple has created a new layer of per-app security that erases the notion of a shared file system that every app can access.
This type of security is similar to the concept of multiuser accounts, where two or more users can securely log into the same Mac, but don't have access to each other's documents saved within their private home directories. Apple has taken the idea of multiuser security (new to Mac OS X a decade ago; the Classic Mac OS didn't offer this in the 1980s and 1990s, even while Unix and Windows NT did) and has applied it to applications.
This "new in Mountain Lion" concept of app-level security isn't new at Apple. It's already been in practice on iOS for the last five years. iOS apps store their own files within their own local sandbox. There's no Finder for iOS, because there's no public file system for users to wade through. Such a design couldn't be imposed upon Macs because the Finder and its wide open file system already exist.
However, iCloud offers a new opportunity for enhancing the security of file access between apps, and for greatly simplifying the user experience of document management without requiring users to deal with the complexities of a file system, including the physical barrier imposed with saving files to a particular device in an era where we now regularly use multiple devices from mobiles to desktops.
On page 3 of 3: Files aren't stuck with a specific app
When users first hear of iCloud's new per-app security model, one of the first reactions is a fear that their documents are now stuck inside that one app, and can't be shared. This isn't actually an issue however. If you want to move a screenshot from Preview to Photoshop, for example, you can still save the graphic file explicitly to the Desktop or any other location from within Preview. You can also search for the file in the Finder and "Open With" whatever app you'd like.
This is because Apple has given users the implied permission to do anything they want to do with their files. When you move a file out of iCloud, or tell the Finder to open an iCloud-saved document with another app, the system immediately grants you permission to do this on the fly, just as if a user copies a file they want to share from their secure home directory to a file server accessible by other users.
For example, if you Spotlight search for a TextEdit document you've saved to iCloud, the document appears in the Finder and can be opened in another application, such as Pages, even though that app doesn't currently even support iCloud yet. The system handles the duplication and local saving of that file, and Pages can begin working on it just as if iCloud never existed. The original document remains in iCloud, tied to TextEdit. Pages (or any other app) can work on its copy, and save it to the file system just as always. It doesn't get the benefits of iCloud, but it also doesn't suffer from any new artificial limitations imposed by iCloud security.
On the other hand, rogue apps that try to go around the user's back and maliciously access, edit or destroy a user's iCloud documents will simply find those documents are off limits to them. Mountain Lion sandboxes apps from accessing iCloud files belonging to another application unless the user has specifically indicated that they want to provide access. This creates an important new security barrier that significantly hampers the potential for spyware, viruses and other malware to do bad things to your data, all without creating any real new hoops or hassles for users to navigate.
The only way a piece of malware can access iCloud documents is if it can orchestrate a "social attack" that convinces users to manually copy each of their app's iCloud files into a non-secure area, a much more difficult task than simply getting itself installed within the local file system and then wrecking havoc on all the files located there. iCloud's new per-app security is as big of a leap ahead as user permissions were for OS X a decade ago.
Get ready for the future of documents
Greatly increased security isn't the only benefit of iCloud of course; once your app's documents are in the cloud, you can access them from any other Mac and from your mobile iOS devices. You don't have to think about how to move documents around, and don't have to manage different versions (that's done by the system, which can roll back changes thanks to the Versions feature (below), no need for saving separate copies of each of your files, each with different names or stored in different folders).
Apple didn't just think up iCloud and its security model in the last year; it's been in the works for a long time. And during that time, the company has rolled out a series of foundational technologies that enable it to work, from Spotlight indexing (so you can find cloud-based files as quickly as local ones) to AutoSave and Versions (so you don't have to manually manage each incremental change of a document at specific intervals, each being saved as its own file) to Time Machine's graphical backup and restore user interface. And of course, iCloud's unique interface and security characteristics also borrow from iOS.
These all contribute to automating the file system so users don't have to deal with it directly. iOS devices have always had a local file system; it's just not visible and exposed to the user. In the future of OS X, file level operations (and security) will increasingly be handled by the system itself so you don't have to set up and manage complex hierarchies of files that are at risk of being lost when a hard drive mechanism fails or when a specific bit of hardware is lost or compromised by malware.
iCloud doesn't solve every problem. Unlike DropBox, you can't currently share your iCloud files with other users directly, or manage on a folder level what files are being synced where. It isn't a solution for storing huge files such as gigabytes of video, something that other cloud storage solutions do address. It also isn't a way to put files on the web for sharing (as iDisk once did).
Apple may adapt iCloud's feature set to handle new tasks like these in the future, but for now, iCloud offers users a much simpler way to work with their documents, increased security, increased mobility between devices, and lays the foundation for secure cross platform file access, something that will be pioneered by Apple's own iWork apps once Mountain Lion ships.
Get ready for the future of data, too
In addition to greater security and simplicity in handling documents, recall that iCloud also offers app developers a way to securely store bits of data, as Safari, Reminders and Notes already do in Mountain Lion. This is also an important new leap in bridging the divide between different computers tied and between the desktop and mobile devices.
Developers can now offer to store users' data, from a checklist of items like Reminders to a bit of state like the open tabs in Safari, and make them available via iCloud to a mobile app. Developers can already build their own mechanisms for moving data around between Macs, or between their OS X and iOS apps, but iCloud provides a secure, central and simple way to offload this task onto Apple's servers.
And because both iOS and OS X users are now prompted to set up a free iCloud account when they begin using their system, developers can be reasonably assured that the majority of users already have an iCloud account (unlike MobileMe, which was only used by a few million paying users).
The upside to using iCloud for sharing data between systems and between Apple's desktop and mobile platforms is enhanced simplicity for developers, enhanced reliability for users (as each developer isn't tasked with working the bugs out of their own home-rolled data sharing system), and again, vastly increased security from malware intrusions like spyware and viruses. Once iCloud becomes the primary way to store such data and private documents, even successful viruses will find they have nothing of value to snoop and little they can maliciously destroy, even if they can manage to get themselves installed.
The downside to iCloud
What's not to like about iCloud? Apple's integration and security work on iCloud does intrench its position as the most successful mobile device provider. That means users will have a new impediment to trying alternatives, such as a Google branded tablet or a Microsoft branded phone. You can still buy competing devices, but Apple's iCloud will make the alternatives less attractive for the same reason the App Store makes it less attractive to peruse options that can't run iOS apps.
On the desktop, while Apple supplied an iDisk client for Windows users under .Mac and MobileMe, there's not really any way to make iCloud's documents broadly available to Windows users (without defeating its entire security model). That means iOS users who save their mobile documents to iCloud will have to go out of their way to manually email or otherwise export those documents to a Windows PC or tablet.
In addition the the proprietary "Walled Garden" nature of iCloud that ties it to Apple's own desktop and mobile platforms, users also can't shop around for iCloud storage; Apple's servers are the only option. There's no way for Google or Microsoft or Dropbox to set up a server that iCloud users can use instead. That means if you become dependent upon the service, your only option is to pay Apple for extra storage after you exhaust your initial free allocation.
Of course, you can still use cloud storage offerings from vendors such as Google, Microsoft and Dropbox just as you can use other companies' email, calendar and contacts accounts. They just won't work in the same integrated way that iCloud does. And of course, other vendors offer their own proprietary, integrated services and features that aren't available to Apple.
Additionally, while Apple can claim that iCloud is the only significant cloud-based service that hasn't suffered a major security debacle resulting in the loss of user's data (unlike Google, Microsoft, Palm, Nokia, and seemingly everyone else), that's really only the case because Apple changed the name of MobileMe, which launched as an embarrassing fiasco and never managed to pick itself up off the ground. Apple has a lot to prove in the area of being competent in providing reliable, scalable network services.
Under MobileMe, downtime was largely just a brief annoyance (in part because nobody was taking it seriously). With iCloud, Apple has raised the stakes dramatically, because iCloud incorporates a variety of services, including Documents in the Cloud, which are critical to have available at all times. So far, Apple seems to have put sufficient resources into iCloud to shed the perception that it just isn't very good at tasks beyond its core competency of building software platforms and the hardware devices that run them. It still has some ways to go however.
As a whole, iCloud offers a compelling solution to the complexity and security issues of the conventional security system, bridges the gap between desktops and mobiles, and opens up the potential for all kinds of new cloud sharing features in third party apps. And it does so without erecting any artificial anticompetitive barriers to alternative cloud services. For both users and developers, iCloud represents a great leap forward. For Apple's direct competitors, it represents a significant competitive challenge, as long as Apple can prove itself competent at hosting the cloud services it has rapidly billowed out over the last year.