Comment on "Making Hardware Just Work"

Nicolai Haehnle prefect_ at
Wed Sep 17 14:26:42 EEST 2003

Hash: SHA1


I originally sent this to Havoc Pennington in response to the article at
He suggested that I should send it here, so here goes...

(text of original mail follows)
I think that you're generally on the right track with the ideas in that
article. There's one thing I'd like to mention though, about the way device
functionality is accessed.

Instead of defining the functionality of a device in terms of its general
type, it could be defined in terms of interfaces.
There would be a basic interface for enabling/disabling a device that
virtually every device supported.
A plain old CD-ROM drive would support a "filesystem" interface and an
"eject/load" interface on top of that. A CDR would also support a "burn"
Now the digital camera would support the "filesystem" interface, too (it
should be clear now where the idea for interfaces comes from). This could
allow all sorts of nice things, e.g. one could browse the photos on the
digital camera using any image-aware desktop application without explicitly
downloading them.
The digital camera could also support aninterface to control the camera
functions directly, i.e. trigger the camera via PC software.

These interfaces also lend themselves to a very straightforward (IMHO) API.
Basically, there's a function to list the interface types a device supports
(perhaps returned as an array of strings, or a string with whitespace
seperated tokens).

Every interface then defines its own entry point(s) to provide access to
 its functionality.

This could be done in a way that is very similar to the way OpenGL or X
extensions are implemented.

Version: GnuPG v1.2.3 (GNU/Linux)


More information about the xdg mailing list