[sane-devel] Sane API

Johannes Meixner jsmeix at suse.de
Wed Oct 21 08:11:22 BST 2020


On 2020-10-20 20:43, Alexander Pevzner wrote:
> On 10/20/20 9:00 PM, Jürgen Mellinger wrote:
>>> Basically, they all behave the same:
>>> allow to choose scanner from the list,
>>> allow to edit scan options,
>>> then press Scan button,
>>> which either starts scanner or opens an error message box.
>> OK, that’s the bare minimum, but wouldn’t it be more elegant
>> to give the user some feedback that the problem is solved,
>> e.g. by auto-closing the error message box, or by changing the status 
>> line?
> I don't think it's really needed. Installing paper into ADF is a
> physical action. I don't think user needs a confirmation from computer
> that paper was actually installed; user knows it by feeling from its
> fingers.

don't have only scanner devices in mind where there is only
one (human) user at a time and where the scanner device is
located (more or less) directly where its user is.

Also think about network all in one printer scanner copiers
that I described in the section "Scanning via Network" in

Current SANE is not meant for users who use a professional network
printer scanner copier all-in-one device but when in the future
users of any kind of scanning device should be able to access them
via one same user application then a future SANE version should be
in compliance to work with such a generic scanning user frontend.

I think for a remote network scanner a remote user may need
to know the complete device status including things that are
obvious for a user who is located next to the scanner device.

"Complete device status" leads to the next topic:

> BTW, some users missing push-mode scan, totally missed from SANE. But
> it requires the whole image logistics to be rethought: user presses
> some buttons at scanner, scanner connects the computer, some daemon
> accepts this connection, then somehow GUI popup should occur with a
> question, how to handle received image.
> It doesn't fit well the UNIX multiuser model. At what desktop this
> popup should be open? (unlike UNIX, on Windows current terminal
> session has a very special role in respect to other system).

 From a user point of view I think what does not fit the UNIX multiuser 
is the "somehow GUI popup should occur" part.

Technically I think what does not fit the UNIX multiuser model
is the idea that something from remote can just trigger things on a 
because that "something from remote" is not the boss of the computer.

Technically I think what would fit the UNIX multiuser model
is that a particular user triggers the action he wants.

So I think something like the following fits the UNIX multiuser model:

Some user presses a button at a (possibly network) scanner device.
This changes the scanner device status ("button X is activated").

Some (possibly other) user on a remote computer runs a scanning 
The scanning frontend shows the complete device status.
The user can see that "button X is activated".
The user can decide what to do.

For example when he sees "scan button is activated" he may decide that 
wants to get a scanned image and then an (optional) authentication 
may open because the scanner device would not send scanned images to
arbitrary non-authorized users (i.e. a lot of bidirectional 
between user scanning frontend and scanner device needs to happen).

How such things behave depend on how the scanner device behaves.
For example when a user directly at a network scanner device
presses its "scan" button the device may show on its own screen
a dialog where the scanned image should be sent or output,
(e.g. output via a built-in printer versus send via e-mail).

Kind Regards
Johannes Meixner
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5 - 90409 Nuernberg - Germany
(HRB 36809, AG Nuernberg) GF: Felix Imendoerffer

More information about the sane-devel mailing list