Scanner Access Now Easy - Development

Development

SANE differs from TWAIN in that it is cleanly separated into frontends (user programs) and backends (scanner drivers). Whereas a TWAIN driver handles the user interface as well as communications with the scanner hardware, a SANE driver only provides an interface with the hardware and describes a number of "options" which drive each scan. These options specify parameters such as the resolution of the scan, the scan area, colour model, etc. Each option has a name, and information about its type, units, and range or possible values (e.g. enumerated list). By convention there are several "well known" options that frontends can supply using convenient GUI interaction e.g. the scan area options can be set by dragging a rectangular outline over a preview image. Other options can be presented using GUI elements appropriate to their type e.g. sliders, drop-down lists, etc.

One consequence of this separation is that network scanning is easily implemented with no special handling in either the frontends or backends. On a host with a scanner, the saned daemon runs and handles network requests. On client machines a "net" backend (driver) connects to the remote host to fetch the scanner options, and perform previews and scans. The saned daemon acts as a frontend locally, but simply passes requests and data between the network connections and the local scanner. Similarly, the "net" backend passes requests and data between the local frontend and the remote host.

Various types of unsupervised batch scanning are also possible with a minimum of support needed in the backend (driver). Many scanners support the attachment of document feeders which allow a large number of sheets of paper to be automatically scanned in succession. Using the SANE API, the frontend simply has to "play back" the same set of options for each scan, driving the document feed in between scans to load the next sheet of paper. The frontend only has to obtain the set of options from the user once.

Read more about this topic:  Scanner Access Now Easy

Famous quotes containing the word development:

    If you complain of people being shot down in the streets, of the absence of communication or social responsibility, of the rise of everyday violence which people have become accustomed to, and the dehumanization of feelings, then the ultimate development on an organized social level is the concentration camp.... The concentration camp is the final expression of human separateness and its ultimate consequence. It is organized abandonment.
    Arthur Miller (b. 1915)

    As a final instance of the force of limitations in the development of concentration, I must mention that beautiful creature, Helen Keller, whom I have known for these many years. I am filled with wonder of her knowledge, acquired because shut out from all distraction. If I could have been deaf, dumb, and blind I also might have arrived at something.
    Mark Twain [Samuel Langhorne Clemens] (1835–1910)

    I can see ... only one safe rule for the historian: that he should recognize in the development of human destinies the play of the contingent and the unforeseen.
    —H.A.L. (Herbert Albert Laurens)