sane-project-website/old-archive/1999-08/0118.html

110 wiersze
6.1 KiB
HTML

<!-- received="Thu Aug 12 23:58:10 1999 PDT" -->
<!-- sent="Fri, 13 Aug 1999 00:59:13 -0600 (MDT)" -->
<!-- name="Andreas Dilger" -->
<!-- email="adilger@enel.ucalgary.ca" -->
<!-- subject="Re: Starting a discussion about SANE and TWAIN..." -->
<!-- id="199908130659.AAA02471@webber.adilger.net" -->
<!-- inreplyto="Pine.BSF.3.96.990812224739.81463B-100000@daphne.bogus" -->
<title>sane-devel: Re: Starting a discussion about SANE and TWAIN...</title>
<h1>Re: Starting a discussion about SANE and TWAIN...</h1>
<b>Andreas Dilger</b> (<a href="mailto:adilger@enel.ucalgary.ca"><i>adilger@enel.ucalgary.ca</i></a>)<br>
<i>Fri, 13 Aug 1999 00:59:13 -0600 (MDT)</i>
<p>
<ul>
<li> <b>Messages sorted by:</b> <a href="date.html#118">[ date ]</a><a href="index.html#118">[ thread ]</a><a href="subject.html#118">[ subject ]</a><a href="author.html#118">[ author ]</a>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0119.html">Andreas Rick: "Coolscan LS-30/2000"</a>
<li> <b>Previous message:</b> <a href="0117.html">Pamela Akazawa: "Re: SV: modprobe"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>
<!-- body="start" -->
You write:<br>
<i>&gt; Let me interrupt here and suggest Java. Not nessicatly the programing</i><br>
<i>&gt; languge as Sun has defined it (though that has advantages), but something</i><br>
<i>&gt; with a simielar goal: a simple API/Programing language that can be used</i><br>
<i>&gt; to create a backend. This will run on all platforms (ideally without the</i><br>
<i>&gt; endian issues that plague Sane today).</i><br>
<p>
Actually, what you are suggesting is something called "Jini", also developed<br>
by Sun, which puts the device drivers and other smarts into each device, and<br>
they can auto-configure and communicate over a "network", maybe a SCSI bus,<br>
or PCI bus, or ethernet...<br>
<p>
<i>&gt; &gt; &gt; Of course, the cool thing about X is that it can display windows</i><br>
<i>&gt; &gt; &gt; across the net, so the fact that TWAIN requires a GUI does not</i><br>
<i>&gt; &gt; &gt; preclude the use of remote capture devices.</i><br>
<i>&gt; </i><br>
<i>&gt; This works, but isn't the right way to do things. It is easier to have</i><br>
<i>&gt; Twane discover all scanners on the network from whatever machine it is</i><br>
<i>&gt; started from than log into the machine the scanner is attached to, and set</i><br>
<i>&gt; your display back. Not that it is impossibal, only that it isn't as</i><br>
<i>&gt; transparent as we would like. </i><br>
<p>
Not only isn't it transparent, but using X as a "remote access" protocol is<br>
nearly useless in this regard. If I start a scanner interface on a remote<br>
box, using X to display on the local monitor, so what? I still can't save<br>
the data onto my local disk, I still can't access the data from a local<br>
application.<br>
<p>
There should be **NO GUI** in a device driver. What would happen if you<br>
needed a GUI to format each different disk drive? What if there was a<br>
differnet GUI for copying files to a floppy disk, and yet another to<br>
read files from a CD-ROM? What you need is a generic interface to an<br>
underlying device, with the capability to do additional device-specific<br>
functions if required. <br>
<p>
<i>&gt; &gt; &gt; For the time being I recommend that we not worry about running</i><br>
<i>&gt; &gt; &gt; TWAIN on console mode systems. TK/TCL could be used to</i><br>
<i>&gt; &gt; &gt; accomodate this, but if my initial assumption is true, that the first</i><br>
<i>&gt; &gt; &gt; targeted developer audience is application ports, then there</i><br>
<i>&gt; &gt; &gt; won't be anyone interested in running TWAIN on a system that</i><br>
<i>&gt; &gt; &gt; isn't also running X.</i><br>
<p>
I don't see this as useful at all. Again, even if there is X installed on<br>
a system with a scanner, if it is remote to the user, then there is no<br>
way to use the scanner if it requires a GUI. What if the user is on a Windows<br>
or Mac box? Do they need to be running an X server in order to scan? The<br>
only useful abstraction is the way SANE does it now - the backend reveals<br>
capabilities to the frontend, and the frontend renders them locally. If a<br>
scanner manufacturer wants enhanced functionality, they add new capabilities<br>
to the backend and the frontend, and frontends that don't support these new<br>
capabilites will ignore them.<br>
<p>
The real question, as I see it, is why have TWAIN on Unix systems in the<br>
first place? I don't think there are any TWAIN apps on Unix at the current<br>
time, and if developers are porting over PC/Mac apps to Unix, they can<br>
always use SANE to interface with image acquisition tools. It's actually<br>
counter-productive to expect any kind of TWAIN support in the Unix world,<br>
since all there is right now is SANE, so they should use what's available.<br>
<p>
To be honest, it shouldn't be too hard to develop another TWAIN GUI<br>
front-end on the Windows side that talks to a SANE back-end, since one<br>
person has already done so (it didn't work 100%, but then again it only<br>
took a week). This would allow remote scanning right away, and if scanner<br>
manufacturers want a cross-platform standard, SANE would probably win out<br>
over TWAIN.<br>
<p>
Cheers, Andreas<br>
<pre>
--
Andreas Dilger University of Calgary \ "If a man ate a pound of pasta and
Micronet Research Group \ a pound of antipasto, would they
Dept of Electrical &amp; Computer Engineering \ cancel out, leaving him still
<a href="http://www-mddsp.enel.ucalgary.ca/People/adilger/">http://www-mddsp.enel.ucalgary.ca/People/adilger/</a> hungry?" -- Dogbert
<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">majordomo@mostang.com</a>
</pre>
<!-- body="end" -->
<p>
<ul>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0119.html">Andreas Rick: "Coolscan LS-30/2000"</a>
<li> <b>Previous message:</b> <a href="0117.html">Pamela Akazawa: "Re: SV: modprobe"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>