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

153 wiersze
7.5 KiB
HTML

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

<!-- received="Mon Aug 23 09:11:22 1999 PDT" -->
<!-- sent="Mon, 23 Aug 1999 09:36:15 +0200" -->
<!-- name="Andreas Beck" -->
<!-- email="becka@rz.uni-duesseldorf.de" -->
<!-- subject="Re: SANE V2" -->
<!-- id="" -->
<!-- inreplyto="Pine.LNX.4.10.9908230040420.11430-100000@chef.ecs.soton.ac.uk" -->
<title>sane-devel: Re: SANE V2</title>
<h1>Re: SANE V2</h1>
<b>Andreas Beck</b> (<a href="mailto:becka@rz.uni-duesseldorf.de"><i>becka@rz.uni-duesseldorf.de</i></a>)<br>
<i>Mon, 23 Aug 1999 09:36:15 +0200</i>
<p>
<ul>
<li> <b>Messages sorted by:</b> <a href="date.html#282">[ date ]</a><a href="index.html#282">[ thread ]</a><a href="subject.html#282">[ subject ]</a><a href="author.html#282">[ author ]</a>
<!-- next="start" -->
<li> <b>Next message:</b> <a href="0283.html">Cooper: "Re: Machine lock-ups while scanning. HP scanjet 5P/BusLogic Flashpoint"</a>
<li> <b>Previous message:</b> <a href="0281.html">Oliver Rauch: "Re: UMAX parallel port scanner"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>
<!-- body="start" -->
<i>&gt; Well, Andreas seems primarily to be concerned about indentifying a frame</i><br>
<i>&gt; type to the user in the event that it's not natively understand by an</i><br>
<i>&gt; old backend. </i><br>
<p>
No. I am concerned about being able to upgrade a frontend without<br>
even recompiling. Enums are very bad to do this. Yes. One can make <br>
a mapping database that maps the numeric values, but that's not terribly<br>
descriptive or readable afterwards, and thus not maintainer friendly.<br>
<p>
Binary compatibility is something very important to mainstream software<br>
that has many many contributors, and even eventually commercial contributors<br>
in future.<br>
<p>
Enums just do not work out on that. I've been through this on several<br>
projects. The constant upgrading of the .h files only ended when we went to<br>
much more general description schemes. And those projects had smaller scope<br>
to describe in the enum than image formats.<br>
<p>
<i>&gt; We can simply associate a short text string with each defined type, in</i><br>
<i>&gt; the standard and in backend header files, and any frontend which can't</i><br>
<i>&gt; handle the data format it receives (presumably because of a user</i><br>
<i>&gt; advanced setting or badly behaved backend) will just look in the</i><br>
<i>&gt; getparm results for "frame_description" and say...</i><br>
<i>&gt; </i><br>
<i>&gt; Sorry, I can't handle image data in the format:</i><br>
<i>&gt; &lt;insert short description here&gt;</i><br>
<i>&gt; Save to a file anyway? (Y)es / No</i><br>
<p>
So we double-transfer the datatype ?<br>
<p>
And miss the opportunity to be able to ask without further configuration:<br>
Save, Open using 'program xxx', or ignore frame ?<br>
<p>
<i>&gt; The other point which _keeps_ being made by proponents of MIME in this</i><br>
<i>&gt; debate is that there will "inevitably" be a huge number of formats to</i><br>
<i>&gt; support </i><br>
<p>
I have seen the proposals up to now. Already too much for my taste.<br>
<p>
<i>&gt; -- yet this is hardly bourne out by an examination of MIME</i><br>
<p>
I have read RFC 1341, 1521 and 1522. And I suggest you should do so, too,<br>
before judging about the preciseness, the possibility of transferring<br>
outband data or whatever on MIME.<br>
<p>
I simply hate doing double work, and using that "short description" you<br>
propose is exactly that. You seem to be concerned about having precisely<br>
defined standards for each image type. O.K. - where is the problem ?<br>
Do you think we can do better than the IANA ?<br>
<p>
The MIME RFC specifies, that new types need to be passed by IANA and need to<br>
point to an open specification of the content that is in an RFC or proposed <br>
RFC.<br>
<p>
Heck - they do all the work for us. Why waste it and set our own monument ?<br>
<p>
<i>&gt; or by looking at scanners "In the wild". The four new data formats</i><br>
<i>&gt; (and two other formats) suggested by backend writers so far seem to</i><br>
<i>&gt; cover a broad range of high-end scanners.</i><br>
<p>
Even that silly RGBI frame stuff is very inappropriate. The "I" is highly<br>
unspecific.<br>
<p>
The notion of using an Infrared channel as an alpha channel is highly<br>
specific to the dust-reduction method using _transmitted_ IR. Reflected or<br>
emitted IR like cameras deliver (and yes, I had such devices in my very <br>
hands) are a completely different piece of cake.<br>
<p>
Using the system I favour, this is a matter of a very simple configuration<br>
file that will just map a transmitted IR channel to the alpha channel, as<br>
this makes some sense for the purpose of dust removal, while it can for<br>
example map UV-&gt;blue, IR-&gt;red, Radardata-&gt;green for a sattelite<br>
transmission.<br>
<p>
<i>&gt; Before you make this argument again, I want _evidence_ that we're going</i><br>
<i>&gt; to be swamped by more image formats.</i><br>
<p>
Read the post by that high-speed scanner guy. It already contained a big<br>
bunch of formats. And yes, I want them all supported, as his HW can deliver<br>
them. then look at cameras, look at picture archives (the pnm backend is a<br>
trivial example for it), look at TWAIN support, which requires us to support <br>
audio transfers, if we want to implement the spec fully, ...<br>
<p>
If that ain't enough examples to prefer a 3-frametype approach over a 30+<br>
frametype approach, I can't be of any help here. Sorry. Neither for V2 nor<br>
for the TWAIN bridging.<br>
<p>
And regarding evidence: If I had any _evidence_ of the future, I would be a<br>
very rich man and wouldn't hang around here.<br>
<p>
<i>&gt; Further, I think SANE's use of standards-based formats (like JFIF)</i><br>
<i>&gt; is important because SANE is also a Free Software project. </i><br>
<p>
This is a purely political argument, which should never be used for code<br>
design. And it should never be used without reading up the spec in question.<br>
MIME promotes exactly that. O.K. - you may define the "x-" types as you<br>
wish, but that can be done with any system. If a vendor wants to break <br>
stuff, he can just transmit on frametype "4711" and has the same effect.<br>
It has been done to /etc/services, and include/sane/frametypes.h won't <br>
make a difference.<br>
<p>
<i>&gt; Wherever we have a choice we should encourage Open standards rather than</i><br>
<i>&gt; Proprietary technology. In the backend we have little choice, but</i><br>
<i>&gt; in the SANE protocol and API we *do* have a choice.</i><br>
<p>
Stop that unreasonable argument. Read the MIME spec, then talk about it.<br>
The encoding of the frametype has _NOTHING_ to do with Open standards or<br>
Proprietary technology. On the contrary, inventing our own thing would mean<br>
setting yet another "standard", which really doesn't promote open standards.<br>
Standards are only of use, if everyone uses them.<br>
<p>
CU, Andy<br>
<p>
<pre>
--
= Andreas Beck | Email : &lt;<a href="mailto:andreas.beck@ggi-project.org">andreas.beck@ggi-project.org</a>&gt; =
<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="0283.html">Cooper: "Re: Machine lock-ups while scanning. HP scanjet 5P/BusLogic Flashpoint"</a>
<li> <b>Previous message:</b> <a href="0281.html">Oliver Rauch: "Re: UMAX parallel port scanner"</a>
<!-- nextthread="start" -->
<!-- reply="end" -->
</ul>