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

Comment on "Making Hardware Just Work"



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Hi,

I originally sent this to Havoc Pennington in response to the article at 
http://ometer.com/hardware.html
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"
interface.
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.

cu,
Nicolai
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.3 (GNU/Linux)

iD8DBQE/aET1sxPozBga0lwRAhhTAKC3evfyYbHITvkEzWT5TaaWOyIUWgCgtLcZ
KJHhI2hELW57VBOjHOkqzts=
=hKY1
-----END PGP SIGNATURE-----



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