Computing today is organized around the concept of applications. We are all familiar with productivity suites that include a word processor application, a presentation application, a spreadsheet application. To play your music you run a media player application; to manage your photos you run a photo-management application.
Yet in this new Web 2.0 world, where everyman is becoming a content creator and communities want to collaborate and share richer content, these old application boundaries are artificially limiting what people can do with their content.
Take a simple example. Let's say I have a column of numbers; perhaps they're sales figures for the last four quarters, or usage statistics for a new Web site. Suppose I'm putting together a report with these numbers, so I fire up a word-processing application and start typing them in. Now I discover that I need to add up that column of numbers so I can show the total.
But there's a mismatch between the application I'm using (a word processor) and the functionality I need (adding numbers). Even though I've formatted my data into a table, which looks identical to a spreadsheet, I can't use spreadsheet functionality from within the word processor application. Why can't I point at a column of numbers, wherever it may appear, and have the computer tell me their sum?
Because today's applications are monolithic and inflexible. A word processing program was designed to lay out content in a form suitable for the printed page (how last century!). If you'd like to add images or video to your document, you have to use a different tool to edit and compose those media. If you'd like to treat your content as data, and apply numerical operations on it, you have to first import that data into a spreadsheet.
I think the next generation of computing interfaces should be content-centric, composed of a rich set of tools that let you manipulate content without insisting on its form. The concept of a document is still useful, abstractly representing a particular collection of content. But why should I have to choose at creation time whether my document is going to include word processing content, a spreadsheet, a video, or a set of slides?
Functions such as "adding up numbers" or "adding a soundtrack" or "formatting into print dimensions" should each be flexble operators that augment or transform content. With the web bringing richer and richer content to our desktop, blurring the lines between text and video and presentations, why don't our tools enable us to work the same way?
That's right.
But, I think this is the kind of thing that has not been left out from the thoughts of most desktop software development producers or software developers.
The web development framework itself is probably more flexible to support these kind of apps. But, you would also be limited to using a "browser" and connecting to the internet to use it.
Believe me, the desktop software will get to that kind of unification and flexibility.
Displaying 1 comment