[Usability] we need interoperability



The linux desktop has lagged behind in interoperability arena.

1. Unix applications should be built on Unix principles.  Here i mean supporting pipes and output redirection both on the console and in the GUI. On the shell, this eliminates the need for both terminal and GUI apps that do the same thing. Imagine using gimp's functions on a few thousand photos within a shell script without having to open its window, using pipes and redirection as needed. I think this is what Apple' s automator wants to become. It becomes easy for users to build custom applications quickly. In the GUI, this is implemented as DND. Piping would be like dragging an app's window onto another app's window and redirection would be like dragging an app's window onto a file(s).

2. We need standardised central data stores to store user data and configuration. Users need to be able to access their data and services with any available application without having to reconfigure that application or import/export data. This isn't very serious on single user systems but when a user's $home is mounted from a server, this is a headache because a specific application may not be installed on all pcs/macs i.e. A user would configure their mail settings and authentication data from one mail application. Authentication data is stored in keyring and the configuration data is stored in an mail config store. This information is later obtained by any mail client the user chooses without reconfiguring anything. If it were a web browser, we would store bookmarks, history, cookies and other web data/settings. Applications can use multiple data stores i.e. With an address book data store and a calendar data store, when a user's birthday along with other info, is entered via an address book application, all but the birthday is stored in the address book store. The birthday and anyother date related info is stored in the calendar store but to the user, it appears it is from one source. Later the panel calendar (a pure calendar app) notifies a user of the birthday events when they are due. This is because they are in the calendar data store and calendar app read from this store.

Data stores would be extensible such that an application supporting other features would still be able to store them. Their structure/format would be determined by all stake holders

3. From a developer point of view, there should be libraries/apis/whatever that enable applications (whether GUI, console or shell scripts) access these data stores. Storage configuration information, user preferences  and user data is nolonger a programmer's scope therefore taking this load off the programmer so as to focus on other programming problems.

Even if this isn't directly a UI issue, it affects directly or indirectly the development of GUI apps. This is what I believe people in the linux community should be discussing.

--------
MOB


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]