Features, not Applications
I recently had a discussion about document-centric computing with my good buddy Jeremy. He proposed the concepts and I tried my darndest to poke holes in his thesis, arguing that the current application-centric model results in a better user experience. John Nack of Adobe posted about this in 2009 when he asked for feedback on a unified “Adobe App” interface. In his post he gave a pretty good summary of the differences between the application- and document-centric approaches:
In application-centric computing, you move your data from app to app. In the real world, this would be like schlepping a woodworking project from shop to shop to perform different tasks.
In document-centric computing, you keep your data in front of you, and the computer interface pivots around the data. Using the woodworking metaphor, a document-centric approach would be like putting the project on a bench and moving tools to & from the work area as needed.
Application-centric computing results in users requesting that more and more features be added to their favorite apps. This results in applications becoming more and more complex, making it harder for application designers to make them easier to use.
The jist of Jeremy’s proposal is that software developers should compete with features, not with applications that tightly bind a bunch of features together. The core operating system would be file-based (documents, images, video, presentations, music, etc.) and provide two basic views: file navigator and file editor. Software developers would create features that enhance either view. Users have the freedom to mix and match features as they see fit.
That last bit is where it gets a little shaky. Giving users freedom and control also means giving them work to do that isn’t completing whatever tasks they bought their computer for. To address this problem, developers can release groups of features bundled together such that their configuration is—what the developer believes to be—optimal. The difference between this bundle of features and current-day applications is that the OS guarantees that features can only make themselves accessible in open-standards-defined contexts.
I would love to see this become a reality. Perhaps Microsoft can save themselves from irrelevance by creating a document-centric OS for tablets. Or! Or! Adobe could make some sweet document-centric HTML5 tools. That would be really impressive. I wonder what John did with his feedback…