Hi Johannes,

On 10/21/20 10:11 AM, Johannes Meixner wrote:
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.

What, do you feel, is missed from SANE to support professional MFPs?

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.

I'm not sure it can be done in reliable way and without a lot of testing against variety of hardware. If it cannot be done reliable, it is better not to do it at all, to avoid a lot of frustration.

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

If user, who owns desktop, explicitly subscribes to it, why not?

After all, if somebody sends you e-mail, it may trigger pop-up on your screen, though e-mail sender is not boss of your 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").

Let me explain, JFYI, how push scanning implemented in the WSD world.

Computers, willing to accept incoming images, advertise their presence, using WS-Discovery protocol (UDP multicasting and so on, conceptually similar to DNS-SD, but totally incompatible).

Push-mode scanning is activated by pressing some buttons or choosing appropriate menu item at the scanner front panel. Scanner offers a list of computers to send image too (previously discovered via WS-Discovery).

When user chooses a destination device, some conversation between scanner and destination computer occurs. I didn't read this part of WSD specification in great details (it's very hard to read), but most likely, scanner sends ScanAvailableEvent:

https://docs.microsoft.com/en-us/windows-hardware/drivers/image/scanavailableevent

On Windows, it is most likely handled by some system service, which notifies some GUI program, running in a context of current session to open appropriate GUI dialog.

After that, if all sides agreed, actual scanning begins.

BTW, briefly looking to the specs, I have an impression, that actual scanning happens in a pull mode. The only difference is that scanner sends ScanAvailableEvent to the host, when host is chosen at the scanner's front pannel.

Obviously, we can implement push scanning via polling scanner buttons, but only few backends allow to poll scanner buttons; it depends on the underlying protocol, offered by hardware. I believe, newest hardware will shift into the eSCL/WSD direction, and direct polling buttons will not be available. It is also not very secure.

--

        Wishes, Alexander Pevzner ([email protected])

Reply via email to