Inside OS X 10.8 Mountain Lion: a Preview of how Apple is enhancing the file system with iCloudThe opposite of OpenDoc
Apple's trend toward making apps the center of the iOS and OS X experience is a reversal of the OpenDoc strategy that emerged in the early 1990s, which sought to replace big applications with software components that could be used together to edit a new type of "component document." That strategy intended to make the document itself the center of the computing world, breaking apps down into bits of functionality that could be used together to perform more complex tasks.
OpenDoc was conceptually and technically complex. Users didn't really understand the point, and many developers saw it as a lot of work that would end up replacing their apps with a bunch of individual functional components that would be more difficult to sell. Apple's 1995 mandate that its Claris subsidiary adopt OpenDoc appeared to be a major reason behind Claris' subsequent failure. OpenDoc failed to gain traction anywhere and was eventually scuttled by Steve Jobs after he returned to lead Apple in 1997.
The idea of the app (instead of the document) being the central hub for computing users' activities had already long been evident with "killer apps" such as the Apple II's VisiCalc in the 1970s and the original Macintosh's desktop publishing software of the 1980s, both well known examples of profitable and successful models for selling both computers and software.
With the rise of iOS in the 2000s, Apple worked hard to make mobile apps into the same type of high volume business as iTunes songs, a model it subsequently brought to the Mac desktop last year. These new App Store apps introduce a couple of new technologies that are the opposite of what OpenDoc aspired to achieve.
First, iOS apps are sandboxed (and Mac apps are working in that direction). This enables an app-level security that protects users' data from other apps, including when they're stored remotely on iCloud. They're no longer just thrown in a cloud storage folder like iDisk; iCloud stores each app's files in a separate sandbox, so that only that app (or a trusted companion app, or a mobile/desktop version of the app) can access it.
Apps can still export their documents and files for use with other apps, but the default behavior protects the documents you create from being maliciously or even accidentally erased, modified or spied upon by apps that shouldn't be snooping or changing things. This addresses the very real threat of malware, as opposed to the fanciful solutions to non-problems that OpenDoc was aiming to fix.
The value of iCloud is so obvious that Apple's latest ad for the iPhone 4S demonstrates its usefulness without even providing an explanation via voice over.
Saved in the cloud incrementally
Another distinct feature of iCloud apps' documents under Mountain Lion is an extension of the Auto Save and File Versions features Apple introduced in OS X Lion last fall.
Apple now makes it easy for developers to automatically save every change to a file as you make it, allowing you unlimited undo capabilities (in Lion's Versions, below) that work similar to Time Machine, except on the scale of a single document rather than the whole file system.
When developers tap into iCloud, this autosave behavior happens automatically, efficiently saving small batches of edits rather than having to remember to initiate a "save" and then wait for it to complete. This is also how local documents are handled in iOS. The other advantage to doing this is that it will allow developers to create apps that can edit files from both Macs and iOS devices. Apple isn't quite there yet with its own iWork apps (currently iCloud support is limited to iOS apps), but Mountain Lion will eventually support an iCloud-enabled version of apps (including iWorks) to share their edits between both platforms.
iOS is ahead of the game in accessing iCloud because Apple built support for these features from scratch. On the Mac, there are already established ways to work with files, making it a challenge to introduce a simpler, smarter, easier to use system that doesn't take away features users are already accustomed to using.