Work on the ideas in this document now continues under SemanticDesktop

Topaz Object Model

First Draft

<<TableOfContents: execution failed [Argument "maxdepth" must be an integer value, not "[maxdepth]"] (see also the log)>>

Foreword

In this document, I have tried to sum up some of the many ideas for improvements of the desktop I have had over the years, in a single, unified model. I do not claim to be novel; many or all of the innovations I describe have probably already been described by someone else. Rather, my intention is to propose a model which combine these innovations in a way suitable as a starting point for discussing the next generation of the desktop in general and GNOME in particular. Finally, I want to say that I realize that some will find such drastic changes of GNOME as suggested here unrealistic or even dangerous to the project. In response, I warn you that GNOME's competitors (Microsoft in particular) is not stopping development out of such concerns and sitting idle could be even more dangerous.

I encourage you to improve or comment on particular sections within the document or on the proposal as a whole, in the concluding discussion section. The document is a work-in-progress indefinitely.

- AndersFeder, original author

Introduction

This document propose a fundamentally new system architecture for GNOME 3.0, codenamed Topaz Object Model (TOM). The motivation for beginning this work is the not-so-novel insight that modern computing has outgrown the desktop metaphor, and entered a different and more dynamic paradigm. The many new technologies that has emerged since the current interface model of GNOME was designed calls for a new approach which integrate them natively and take advantage of the possibilities they bring with them. Among the technologies which TOM has been designed to support intrinsicly are:

  • Connectivity. While much has been done in recent years to integrate connection to the global communications network with existing desktop platforms, there is still room for improvement. Within the desktop metaphor, the Internet is necessarily an entity beyond us; we download and upload files to the web, send and receive mail through out- and inboxes and have connections to clients and servers. Initiatives such as the Semantic Web, however, indicates a departure from the computer-centric perspective towards an information-centric experience. TOM embrace this movement, connecting even the most basic elements of the system to the net.

  • Mobility. With the increasing availability of devices like laptops, smart phones and tablet PC's, the desktop has become an 'information prison', requiring the user to move documents and settings from cell to cell as she moves from computer to computer. With TOM, we want to let information follow the user seamlessly, by incorporating such technologies as syncronization and network access at a basic level of the system.

  • Ubiquity. New network-enabled information devices are appearing on the market almost every day, spurred by the development of inexpensive wireless technologies such as Bluetooth and WiFi, giving birth to a new, information-rich user enviroment. Again, the desktop metaphor inappropriately bends focus towards the computer in a situation where the user is focused on the task, of which the computer may just be one of many cooperating components.

  • Transparency. The Open Source, peer-to-peer and wiki movements show a new, open direction in the development and distribution of information. TOM is prepared to this shift, and actively encourage open interfaces and data formats by increasing the value of applications that explicitly expose their interfaces through TOM.

  • Security. The fluidity of information in next generation personal computing naturally give rise to concerns about security. TOM introduce an unprecedented level of security by integrating cryptography, access control and auditing in the core of the system, leaving less room for mistakes at higher application layers.

  • Accessibility. As the ubiquity and pervasiveness of computing increase, so does the demand of its availability. Being disabled is not just a trait of a minority group but something that everyone experience to some degree occasionally, as when working from a tight airplane seat, for instance, or when your mouse batteries run out. By enabling a wide array of interfaces, TOM is available to everyone.

Overview

The history of modern computing began on big mainframes designed to perform calculations on large bulks of data. The Unix operating system itself, the ancestor of both Linux and BSD and hence the Free Desktop, played a key role in this part of history. Today, some 50 years later, one can still find remnants of the mainframe legacy deep within the architecture of current desktop systems. The concept of the monolithic 'application', for instance, is roughly equivalent to the processing 'job' of the mainframe. Likewise, many computer tasks today revolve around loading and saving 'files', just like the mainframe would process and store 'data'.

The way we use the personal computer today, however, deviates greatly from how the mainframe was used then. We retrieve news from the Internet, for instance, read them on the screen or print them, send messages about them to other users and so on. In a sense, modern use of the computer has moved into an era of information processing but the computer systems themselves are still designed for data processing. This is the basic discrepancy of current desktop architectures that we wish to address with TOM.

Much work has already been done to this end in recent years, outside the immediate realm of the desktop. The XML standardization efforts in general and the Semantic Web and Web Services initiatives in particular have produced a highly promising technology for indexing and accessing information in a rich and intuitive manner. Recognizing the universal format of XML, and anticipating wide-spread adoption of the standard, TOM builds on these efforts by discarding the 'file cabinet' storage model altogether in favor of an XML-compatible data model. By structuring all data on XML-like terms, a highly valuable, referable metadata layer is added across the system. As such, TOM represents the vision of a Semantic Desktop.

Key Concepts

Object

If data is any collection of symbols, and information is the knowledge latent in such data, an object in TOM is the combination of information and an interface to this information. The object is, as the name of the model implies, the basic unit of TOM. Any TOM system can be understood as a set of such objects and the links between them.

Objects are identified by their source, an identifier or address of the data to operate upon (such as an URI) and their interface, an identifier of the interface to access the data through. TOM interfaces structure the source data like XML documents - trees of named nodes with attributes.

Transformation

A transformation is a mapping of one object interface into another, such that an application designed only with knowledge of the latter interface can be made to read objects using the former interface. Formally, a transformation is any interface whose source data is another object.

Transformations are key to TOM's flexibility - through a series of transformations, data or services that would otherwise have been incompatible, can be adapted to work together.

(more coming soon)

Implementation Concerns

The move from a traditional desktop environment to a TOM environment represents a substantial paradigm shift for both users and developers.

The mix of static and dynamic data objects introduce a demand for a clear distinction between the two types, on the user interface level. For instance, if a bank clerk writing an electronic receipt for converting some amount of dollars to euros accidentally refers a dynamic exchange rate object rather than a static one, the numbers on the receipt will appear to be correct when it is issued but when the customer receives it the next day, the exchange rate may have changed, causing the receipt to display a price different from the one that was actually charged.

Ideally, the user interface must inobtrusively convey which type of reference is made, when it is made. Returning to the example, the interface could offer both a "current exchange rate" and a "moving exchange rate", for instance. The use of a verb ("moving") in the latter description may be sufficient to imply the dynamic nature of this type of reference. On the other hand, it may be too difficult for the ordinary user to infer what is meant by the notion of a 'moving' number.

Discussion

Please comment on the above proposal. Relevant issues could be things such as hurdles implementing TOM, limitations it impose upon users and developers and of course suggestions of new features.

AndersFeder/TOM (last edited 2008-05-23 21:21:48 by AndersFeder)