The next-generation desktop stack comprises of the following layers:
Linux OS: At the bottom of the stack is the operating system. Many of the ideas that need to be implemented for the next-generation desktop cannot be done without help from the OS. Also, Linux is more than good enough now for the desktop, especially when one considers the needs of the next set of computer users from the world’s emerging markets. They need an OS which is free and can run on older, lower-end and cheaper computers. Windows XP will only work on the newest machines and costs too much.
XML Store: This is the database, which stores all the information. Enterprises have databases, but so far, desktops have not. The overwhelming quantum of information that one needs to manage needs a SQL-compatible storage system. This unified personal database would store emails, files, bookmarks, cookies, blog posts, address books, appointments and buddies. This single store can now enable search across the user’s personal information.
Applications: The base set of open source applications on the desktop that are needed are an email client and personal information management application (Evolution), a web browser capable of being used as an applications platform (Mozilla), a unified instant messaging client (GAIM) and a desktop productivity suite that uses XML for data storage (OpenOffice). In addition, there is KDE, one of the two Linux desktop variants. New applications will be needed to provide support for blogging, RSS aggregation and outlining.
Web Services: Think of the applications available as web service components. Thus, instead of thinking of OpenOffice Calc as the monolith spreadsheet, think of it as a “computational engine” which provides calculation, tabular data representation, charting and more. Also, think of OpenOffice Word as the standard writing tool with formatting and spell-checking support. Evolution’s Calendar can provide time-based navigation. The advantage of using the existing applications as web services is that one does not have to re-invent the wheel in terms of creating new software. This also provides users with fewer interfaces that they need to learn.
Local Web Server: Running a web server like Apache (or a more lightweight one) provides a dual advantage – standards-based interaction with the web services and applications via SOAP and HTTP, and using HTML, XML and stylesheets for the display of pages on the web browser within the digital dashboard.
Scripting Language: The scripting language (or a visual programming environment) helps in extending the set of applications and services that are available, and customizing what each user sees. It also provides a mechanism to write filters that can automate routine tasks and act on RSS events.
Digital Dashboard: It is the visible faade of the next-generation desktop architecture. It aggregates together information and applications from multiple different sources. It provides a unified view of what’s important and most frequently used. The dashboard captures all that we write into a single database, so that our thoughts can be threaded together and the evolution of ideas be made visible.
Spaces: KDE has a nice feature which provides for multiple, virtual desktops, separated by a single click. For our purpose, think of the dashboard as having two screens, designated as Spaces. The two spaces represent the two identities that we don in real life: a private persona with our own social groups, and a business executive and information worker in an enterprise. These identities co-exist and have their own worlds, their own information flows. The time has come to separate the two on the desktop.
We will talk more about Digital Dashboard and Workspaces in the coming columns.
Tomorrow: Digital Dashboard