I'm gnome scan developer since this summer. Since a few month, sane, hal
and scanner frontends developers took discussion about hal & sane and
the future of sane in hal¹ and sane² mailing list.
Printing support is quite good in freedesktop (thanks to cups), but
Scanner support sucks. We only have quite good and wide device support
with SANE, and a plethora of frontends³ (xsane, kooka, gnome-scan, …).
HAL scanner support is one (great) point, but that's far from the whole
solution for that issue.
I guess we lake a piece of code that do the following job :
* Handle devices (both local and remote)
* Monitor buttons
* Provide an API for app.
I think of a dbus system-wide daemon that do that job. It basically
request devices from hal and avahi (maybe more), load a backend (e.g.
SANE) and monitor buttons on each devices. It publish some dbus
procedure to app in order to get device, trigger acquisition, cancel,
It seems that Windows® and Mac OS X lakes scanner support. The only real
scanner infrastructure i found was TWAIN⁴. Where SANE has a binary view
of the infrastructure (backend = drivers, frontend = xsane, kooka, …),
TWAIN provide a ternary view : Application <-> Source manager <-> Source
(driver). (SeeTWAIN Spec 1.9a page 4 ). Note that TWAIN 2.0 draft
mention Linux/UNIX port as highlighted change.
So what about implementing such software in freedesktop ?