Hello,
Here's a little story that happened months ago: my wife wanted to scan
a
document with our MD6471 run by the genesys backend. She calls me:
- It isn't working !
- What is happening ? (as a backend maintainer I rushed, quite upset)
- It doesn't move.
- Hum. Is it your first scan ?
- Yes.
- Ho, there is no failure. It is warming up. It will move when it is
ready.
You just have to wait.
- Warming what ?
Since the SANE API gives no way to tell the user that the scanner is
warming
up and he has to wait until it can scan.
There is another deficiency of the SANE API regarding scanners that
can't
calibrate without user assistance. I'm thinking of sheet fed scanners like the
Visioneer Strobe XP200 which uses a special sheet to calibrate itself. There
is no way to tell the user that the scan is uncalibrated. And when calibration
could be done, there is no way to ask for the calibration sheet.
In both cases, only an experienced scanner user will understand what is
going
on. Other will certainly think that the scanning system sucks.
So the SANE API definitely needs to evolve at least in these areas. I
suppose
that there are other limitations (lack of infrared support for instance).
This is why I regret that recent plans to bring a little evolution
were
postponed over such a mundane thing than a dll version. An frequent
criticism to open source projects is that they care some obscure things over
real features. I'm afraid we have our share of this behavior. As a coder I
know implementation is important, but to my mind it comes second to the
features.
While I can fix the bugs I make in backends, I am personally no more
interested in releasing backends buggy by design (no warming up, no external
calibration). I hope we can decide of the features to add and the things to
fix in the SANE API. Once decided, we would be then able do discuss how to
implement it.
Or it could simply be decided to kept SANE API frozen in amber, but at
least,
it has to be told.
Regards,
Stef