kopia lustrzana https://gitlab.com/sane-project/website
219 wiersze
7.7 KiB
HTML
219 wiersze
7.7 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
|
|
"http://www.w3.org/TR/REC-html40/loose.dtd">
|
|
<HTML>
|
|
<HEAD>
|
|
<TITLE>sane-devel: quick note from the TWAIN/SANE meeting at OLS</TITLE>
|
|
<META NAME="Author" CONTENT="David Mosberger-Tang (David.Mosberger@acm.org)">
|
|
<META NAME="Subject" CONTENT="quick note from the TWAIN/SANE meeting at OLS">
|
|
</HEAD>
|
|
<BODY BGCOLOR="#FFFFFF" TEXT="#000000">
|
|
<H1>quick note from the TWAIN/SANE meeting at OLS</H1>
|
|
<!-- received="Mon Jul 31 22:33:17 2000" -->
|
|
<!-- isoreceived="20000801053317" -->
|
|
<!-- sent="Mon, 31 Jul 2000 22:32:50 -0700" -->
|
|
<!-- isosent="20000801053250" -->
|
|
<!-- name="David Mosberger-Tang" -->
|
|
<!-- email="David.Mosberger@acm.org" -->
|
|
<!-- subject="quick note from the TWAIN/SANE meeting at OLS" -->
|
|
<!-- id="200008010532.WAA13489@panda.mostang.com" -->
|
|
<STRONG>From:</STRONG> David Mosberger-Tang (<A HREF="mailto:David.Mosberger@acm.org?Subject=Re:%20quick%20note%20from%20the%20TWAIN/SANE%20meeting%20at%20OLS&In-Reply-To=<200008010532.WAA13489@panda.mostang.com>"><EM>David.Mosberger@acm.org</EM></A>)<BR>
|
|
<STRONG>Date:</STRONG> Mon Jul 31 2000 - 22:32:50 PDT
|
|
<P>
|
|
<!-- next="start" -->
|
|
<UL>
|
|
<LI><STRONG>Previous message:</STRONG> <A HREF="0263.html">Chris Pinkham: "Re: TODO for 1.0.3"</A>
|
|
<!-- nextthread="start" -->
|
|
<!-- reply="end" -->
|
|
<LI><STRONG>Messages sorted by:</STRONG>
|
|
<A HREF="date.html#264">[ date ]</A>
|
|
<A HREF="index.html#264">[ thread ]</A>
|
|
<A HREF="subject.html#264">[ subject ]</A>
|
|
<A HREF="author.html#264">[ author ]</A>
|
|
</UL>
|
|
<HR NOSHADE><P>
|
|
<!-- body="start" -->
|
|
<P>
|
|
Hello all,
|
|
<BR>
|
|
<P>My trip report from the TWAIN/SANE meeting is long overdue, so I won't
|
|
<BR>
|
|
procrastinate any longer...
|
|
<BR>
|
|
<P>As you may know Mark McLaughlin and Jon Harju (both members of the
|
|
<BR>
|
|
TWAIN board) met with me on July 21 in Ottawa to discuss the
|
|
<BR>
|
|
possibility of a SANE based TWAIN interface for Unix. The meeting was
|
|
<BR>
|
|
very friendly and we spent the first two hours or so explaining each
|
|
<BR>
|
|
other some of the more subtle aspects and ideas of the respective API.
|
|
<BR>
|
|
The interesting point that I got out of this meeting is that TWAIN and
|
|
<BR>
|
|
SANE, while providing similar functionality, focus on opposite ends:
|
|
<BR>
|
|
TWAIN makes it very easy for application developers to make use of a
|
|
<BR>
|
|
scanner whereas SANE makes it very easy to write a device driver for a
|
|
<BR>
|
|
scanner. Given this difference in focus, it's actually not
|
|
<BR>
|
|
unreasonable to want to put TWAIN on top of SANE. Even if
|
|
<BR>
|
|
TWAIN-on-SANE may not be preferrable for developers of new
|
|
<BR>
|
|
applications, it would definitely ease portability issues as
|
|
<BR>
|
|
independent software vendors such as Adobe could port some of their
|
|
<BR>
|
|
applications to Linux much faster if there was a TWAIN interface on
|
|
<BR>
|
|
Linux that worked similar to how TWAIN works on Windows.
|
|
<BR>
|
|
<P>Putting TWAIN on top of SANE is not easy, as there are some
|
|
<BR>
|
|
fundamental issues: Linux (and certainly not UNIX, OS/2, and all the
|
|
<BR>
|
|
other OSes SANE supports) has no standard user-interface, yet TWAIN
|
|
<BR>
|
|
applications do expect that the TWAIN driver ("TWAIN source") can
|
|
<BR>
|
|
handle the device dialog itself. One suggestion is to use HTML to
|
|
<BR>
|
|
describe the user-interface. Personally, I don't think that's a very
|
|
<BR>
|
|
attractive solution. After all, the main reason to embed the scanner
|
|
<BR>
|
|
interface into an application is to make it integrate seamless. Now,
|
|
<BR>
|
|
if the application happens to use, say, GTK and the scanner user
|
|
<BR>
|
|
interface is presented via Netscape, then that's certainly not
|
|
<BR>
|
|
seamless to the user (and it could be outright confusing). I
|
|
<BR>
|
|
personally think we won't be able to find magic here---there will need
|
|
<BR>
|
|
to be one GUI frontend for each major toolkit in use (Motif, GTK, Qt,
|
|
<BR>
|
|
Win32 come to mind). If TWAIN-on-SANE is done properly, it should be
|
|
<BR>
|
|
possible to "plug in" a different GUI frontend relatively easily
|
|
<BR>
|
|
(perhaps not on the fly, but at least through simple recompilation).
|
|
<BR>
|
|
<P>There are some implications of putting TWAIN on SANE, which will
|
|
<BR>
|
|
eventually require some extensions to SANE (though they shouldn't be
|
|
<BR>
|
|
necessary for a prototype). I don't have a problem with these
|
|
<BR>
|
|
extensions, because they're all things we were planning to address for
|
|
<BR>
|
|
v2 of the standard anyhow:
|
|
<BR>
|
|
<P> o add many more well-known options (though well-known, most of them
|
|
<BR>
|
|
would be optional)
|
|
<BR>
|
|
<P> o add support for other image types (jpg for example)
|
|
<BR>
|
|
<P> o colorspace support (I don't know what this would entail exactly)
|
|
<BR>
|
|
<P> o add support for callbacks (to support things like the "scan" button
|
|
<BR>
|
|
found on many scanners)
|
|
<BR>
|
|
<P>Mark and Jon offered to start working on a prototype for
|
|
<BR>
|
|
TWAIN-on-SANE. I offered them help with constructing a GUI builder
|
|
<BR>
|
|
based on our existing GTK frontends (probably xsane).
|
|
<BR>
|
|
<P>Clearly, one area of weakness for SANE is that today there is no easy
|
|
<BR>
|
|
way to seamlessly embed SANE-based scanner support into an
|
|
<BR>
|
|
application. Perhaps a good way to fix this to convert one of the
|
|
<BR>
|
|
existing graphical frontends into a embeddable component. Given that
|
|
<BR>
|
|
the frontends are based on GTK+ already, I think the Bonobo component
|
|
<BR>
|
|
model would be a natural fit. This would allow us to re-use the xsane
|
|
<BR>
|
|
interface in many applications and without much effort.
|
|
<BR>
|
|
<P>Also, Mark and Jon said that the scanner vendors really like to be
|
|
<BR>
|
|
able to customize the look of the scanner GUI. While this is at odds
|
|
<BR>
|
|
with providing a unified user experience, I do think SANE could
|
|
<BR>
|
|
provide a large amount of customization without completely sacrificing
|
|
<BR>
|
|
the uniform interface. For starters, it would be nice to be able to
|
|
<BR>
|
|
associate a custom-logo for each device (and/or vendor) (I thought
|
|
<BR>
|
|
xsane already could do this, though it doesn't show with my HP
|
|
<BR>
|
|
scanner). Slightly fancier would be to have a simple language that
|
|
<BR>
|
|
would control how and where each SANE option gets laid out in the
|
|
<BR>
|
|
device dialog. Of course, a driver vendor could also feel free to
|
|
<BR>
|
|
implement a GUI from scratch if they want full customization, but that
|
|
<BR>
|
|
would be a fair amount of work. I think some level of scriptability
|
|
<BR>
|
|
would provide a very good tradeoff between custom look and a uniform
|
|
<BR>
|
|
user experience.
|
|
<BR>
|
|
<P>So, in summary I'd say that we should support TWAIN-on-SANE as a means
|
|
<BR>
|
|
to attract ISVs to SANE and perhaps to get more support/endorsement
|
|
<BR>
|
|
from scanner manufacturers. At the same time, there are a few things
|
|
<BR>
|
|
we can learn from TWAIN and use that to make SANE a better, more
|
|
<BR>
|
|
comprehensive and easier to use standard.
|
|
<BR>
|
|
<P>Cheers,
|
|
<BR>
|
|
<P> --david
|
|
<BR>
|
|
<P><PRE>
|
|
--
|
|
Source code, list archive, and docs: <A HREF="http://www.mostang.com/sane/">http://www.mostang.com/sane/</A>
|
|
To unsubscribe: echo unsubscribe sane-devel | mail <A HREF="mailto:majordomo@mostang.com?Subject=Re:%20quick%20note%20from%20the%20TWAIN/SANE%20meeting%20at%20OLS&In-Reply-To=<200008010532.WAA13489@panda.mostang.com>">majordomo@mostang.com</A>
|
|
</PRE>
|
|
<P><!-- body="end" -->
|
|
<HR NOSHADE>
|
|
<UL>
|
|
<!-- next="start" -->
|
|
<LI><STRONG>Previous message:</STRONG> <A HREF="0263.html">Chris Pinkham: "Re: TODO for 1.0.3"</A>
|
|
<!-- nextthread="start" -->
|
|
<!-- reply="end" -->
|
|
<LI><STRONG>Messages sorted by:</STRONG>
|
|
<A HREF="date.html#264">[ date ]</A>
|
|
<A HREF="index.html#264">[ thread ]</A>
|
|
<A HREF="subject.html#264">[ subject ]</A>
|
|
<A HREF="author.html#264">[ author ]</A>
|
|
</UL>
|
|
<!-- trailer="footer" -->
|
|
<HR NOSHADE>
|
|
<P>
|
|
<SMALL>
|
|
<EM>
|
|
This archive was generated by <A HREF="http://www.hypermail.org/">hypermail 2b29</A>
|
|
: <EM>Mon Jul 31 2000 - 22:37:24 PDT</EM>
|
|
</EM>
|
|
</SMALL>
|
|
</BODY>
|
|
</HTML>
|