Subscribe / Unsubscribe Enewsletters | Login | Register

Pencil Banner

Apple and the file system: Skating to where the puck might go

Marco Tabini | May 15, 2013
Since the introduction of the Mac, Apple has waged a steadily escalating war against the file system.

Since the introduction of the Mac, Apple has waged a steadily escalating war against the file system. While the ability to organize files hierarchically has been a mainstay of operating systems for as long as there have been operating systems, the fine folks from Cupertino have constantly pushed away from that approach with each iteration of Apple's products, starting with the introduction of Packages and culminating, arguably, with iOS's complete lack of a user-facing interface for manipulating the file system.

That's not to say that the file system itself has disappeared from your iPhone or iPad: Underneath iOS's glossy user interface and cloud-based document storage, files and directories continue to provide the basic structure in which data is organized.

Apple's decision to move from a file-centric user experience to one that revolves strictly around the concept of a document shifts the responsibility for organizing files from the users to their apps. And a key side effect of Apple's new approach is that it confines each app to working within a restricted sandbox where it has complete control over its files.

Good-bye files, hello documents
Reaction to iOS's lack of a user-accessible file system is mixed. iOS implements a highly compartmentalized environment in which each app lives in its own sandbox, and the document-centric approach works reasonably well--helped in no small part by the fact that Apple was able to tailor the user experience to this model in detail: Since iOS was built from scratch for a brand-new class of devices, its developers didn't have to worry about supporting the paradigms of a legacy operating system.

From a technical point of view, there are a number of advantages that come with this approach. The first is that each app is directly responsible for managing its own content; this gives developers a high degree of control over things like, for example, deciding which data should be cached, backed up, and synchronized to iCloud, minimizing the app's storage footprint.

Along the same lines, confining an app to its own sandbox limits the impact that it has on the overall file system. In a traditional environment, software tends to leave all sorts of "digital droppings" in various directories on a hard drive, and data like preferences, shared frameworks, and the like have a bad habit of lingering long after the user has attempted to remove the app from their computer. With everything neatly jailed in its own container in iOS, getting rid of an app and its detritus is a much simpler affair.

Sandboxing is for computers, not humans
The flip side of these technical advantages is that they sometimes ignore the actual needs of the average user. For example, sandboxing often leads to duplication on iOS: Since an app can access only files that belong in its allotted disk space, the only real way for two pieces of software to share data is to use the infamous "send to" functionality, which creates a copy of the document to hand off from one app to the other.

 

1  2  3  Next Page 

Sign up for Computerworld eNewsletters.