Imaging Toolkits: Cutting Edge Development
Imaging toolkits are the building blocks of document technologies. If a maker of document imaging and management software can be thought of as a contractor, building a document management system from the ground up, then toolkits can be thought of as the bricks and mortar.
Just as solutions have matured, so have the toolkits. Toolkit vendors have moved beyond file format support and are now working on more complex issues involving software architecture and the changing applications users have to deal with everyday.
The broadest perspective on the challenges facing developers was taken by Rich Little, CEO and president of Lead Technologies (www.leadtools.com). Today there is a shortage of skilled programmers while at the same time there is a rising demand for more sophisticated applications, says Little. Developers have to get ever more complex applications out in a timely manner. Toolkits developers help solve those problems by providing basic software building blocks that provide more sophistication while making existing programmers more productive.
One of the biggest issues for users and software developers is Web enabling traditional document management systems. While nearly every vendor now has Web-enabled software, several issues have yet to be solved. For one thing, Web clients do not always offer the same functionality as regular proprietary clients. Many browser-based clients allow viewing and not much else, while proprietary clients permit functions like annotation and redlining.
There is still debate on the best way to serve images: server based or client based? If client based, should the images be processed with Netscape plug-ins, ActiveX controls or Java applets?
In server-based Web support, also known as HTML imaging, document images are converted to image file formats that can be understood by an unmodified browser. Skyline Tools (www.imagelib.com) uses this kind of Web support and even makes a common gateway interface (CGI) script to automate the process. The companys tools permit everything in the original document, even annotations, to be rendered in HTML format. The advantage is that documents can be viewed through any browser on any computer, including handheld computers. Compressed Web images are small and easy to send along bandwidth-limited Internet connections.
From the clients perspective, HTML imaging is fast and seamless. The users ability to modify documents is limited, however, although this may be a desirable feature. Another disadvantage is that conversion of documents from TIFF to JPEG or GIF on the fly increases the workload of the server and can limit scalability.
In client-based Web imaging, a raw document is sent over the Internet to a browser. Browsers generally need help to support the image file formats commonly used in document imaging. Help comes in the form of browser plug-ins, ActiveX controls or Java applets.
The advantage of client-side imaging is that the users capabilities are expanded to the full range of functions. For example, TMS Sequoia (www.tmssequoia.com) makes a plug-in version of their Scanfix toolkit. This gives Web users the ability to scan and clean up images for character recognitioncapabilities that were formerly available only through traditional clients.
Plug-ins are not universally popular with toolkit developers. Brad Chase, vice president of marketing for Accusoft (www.accusoft.com) notes that the user experience with plug-ins is less than ideal. Plug-ins have to be downloaded, installed and the browser restarted, says Chase. Its not a seamless experience. ActiveX controls and Java applets download and run in one step, making for seamless integration with the browser.
However, neither ActiveX nor Java are perfect solutions either. ActiveX controls are Microsoft technology and will only work with Microsofts Internet Explorer browser, and then only on Windows platforms. Plug-ins are supported on both Internet Explorer and Netscape Navigator, but they, too, generally have to be written for each operating system. The most fully cross-platform solution is Java, though it has problems with differences between Java Virtual Machines.
Supporting all these technologies is a headache for developers and, by extension, toolkit vendors. According to Richard Esmond, chief technical officer for Diamondhead Software (www.dhs.com), the challenge for toolkit developers will be to harmonize their Web toolkits with their traditional imaging toolkits.
The same dlls and ActiveX controls can be used to make both traditional clients and extensions to Web browsers like Netscape plug-ins and ActiveX controls. Java imaging toolkits have to be coded separately from dll and ActiveX libraries. Because Java requires a separate code base, maintaining Java imaging toolkits doubles the work for toolkit vendors and software developers.
A year ago, Java imaging toolkits were a rarity, and the toolkits offered were far from complete. Today there are Java imaging toolkits from vendors including Accusoft, Snowbound Software (www.snowbnd.com), Diamondhead Software, Pixel Translations (www.pixeltranslations.com), TMS Sequoia and Visionary Solutions (www.visolu.com).
Viewing documents is, of course, only half the equation. Document capture is also important. According to Anthony Macciola, manager of production imaging products at Kofax (www.kofax.com), an application developer can simplify Web support by making sure documents are captured in the proper formats in the first place.
In other words, text documents should be captured as text, line art as GIFs, photographic images as JPEGs, etc. Kofaxs Image Controls has the ability to intelligently analyze scanned documents and separate the different image elements to create a compound document of text and graphics.
When a scanned document is prepared in this manner, it can easily be posted to the Web, converted to PDF or stored in a database for retrieval.
Development Technologies
Every toolkit developer offers their products in at least two forms: ActiveX controls and dynamically linked libraries (dlls). Dlls are the toolkit technology used by C and C++ programmers. ActiveX controls are used in Visual Basic and Visual C scripting.
Some toolkit developers make their products available as Delphi VCL extensions. Delphi is a programming environment created by Borland. It is similar to Visual Basic except that the code is based on Pascal. Some toolkit developers claim that Delphi code and toolkits are smaller and more efficient than their C, C++ and VB counterparts. Delphi VCL extensions are available in Lead Technologies Lead Tools 11 imaging toolkit and in Skyline Tools ImageLib kit.
Another software development technology that will have more overreaching consequences is the common object model (COM). COM is the Microsoft implementation of object oriented programming for Windows. COM objects combine other toolkit elements like dlls and ActiveX controls into larger code structures. COM objects function at a higher level than traditional toolkits. The COM protocol is more complex and flexible than ActiveX, currently the most popular object-oriented programming model for Windows. Since the protocol for addressing COM objects is standardized, it should be easier for developers to switch from one set of software tools to another.
According to Jim Simpson, ISV manager for Visionshape (www.visionshape.com), COM allows easy integration of new features into existing software.
Right now, most developers software is closed, says Simpson. Opening applications up with standardized development technologies like COM objects will make it easier for application developers to upgrade their products.
COM objects are not universally offered by toolkit developers. GGX (www.ggx.com), Imagination (www.virtualcopier.com), Pegasus Software, Pixel Translations and Visionshape are the only toolkit developers to offer formal COM object toolkits. Significantly, most of these vendors specialize in toolkits for scanning or barcode recognition, which benefit from being assembled into complete subsystems that programmers can simply plug into their imaging applications. For Pegasus Software (www.pegasustools.com), a maker of the general purpose imaging toolkit ImageXpress, offering COM objects lets them supply a complete set of imaging tools for development on the Windows platform. According to Adrian Ransom, sales manager for Pegasus, COM libraries simplify overhead and speed development, an important factor for every software devloper.
What about the toolkit developers who dont have formal COM toolkits? The nature of COM objects lets savvy application developers make their own directly from ordinary dll libraries. ActiveX technology is based on COM, so Visual Basic and Visual C developers are using a form of COM, sometimes without even knowing it. Development technologies like COM objects simplify the adoption of new imaging techniques like color imaging and scan-to-PDF. Lack of true object-oriented programming will delay the adoption of these new technologies.
Linux and Open Source
Once the obscure darling of programming geeks, Linux has broken into the corporate mainstream this year. Although nobody has brought out a Linux imaging toolkit yet, all the toolkit vendors are aware of it a few are close to bowing Linux toolkits.
At least one toolkit vendor executive, Brad Chase of Accusoft, says that Linux will eventually become the most important imaging platform. This might be particularly true for turnkey systems like document scanning, storage servers and image processing. In these applications the software can completely insulate users from the operating system.
The only stumbling block to the development of Linux toolkits is that it is a new system with its own code base separate from other operating systems. Toolkit developers who have historically supported multiple operating systems should have no problem bringing their imaging tools over to Linux. Vendors who develop only for Windows will likely have a tougher time.
A thornier issue with toolkit vendors is the open source question. While open source software is not necessarily free software, most toolkit vendors are understandably skittish about releasing source code. Some dont release source code at all, suggesting that that developers neither need nor want access to the source on black box imaging tools. Other toolkit developers do make their source available but only on a case-by-case basis.
Software and corporate developers have been working with closed-source code for for so long that they may not care about how an imaging tool works, so long as it gives the desired result. However, under certain circumstances, such as archiving a scanned image needed for legal purposes, the operation of, image processing, for example, may very well be critical information.
Color and Other Challenges
Of course, there are other areas of application development that programmers will have to concern themselves with besides the Internet, object-oriented programming and Linux. Color imaging is one development area where demand is expected to increase. Color images capture up to 24 times as much information as traditional bitonal scans. This improves legibility of the document and, potentially, recognition rates. Part of achieving improved recognition rates is being able to properly process color images and convert them to bitonal for OCR, OMR and IRC recognition Most recognition engines are designed to work only with bitonal images. TMS Sequoia has been perfecting their SpectrumFix color image processing software for just such applications.
Another issue in dealing with color is compression. Most Web-capable color compression formats are lossy, meaning you may lose image detail. This is a problem with JPEG, the most popular color compression format for color images placed on the Web. Pegasus Tools is alone in offering AT&Ts DjVu, a near lossless yet highly efficient compression format.
Black Ice (www.blackice.com), another imaging toolkit developer, has concentrated on combining document management with the telephony technologies of fax and voice. Fax is a natural extension for document management since most image files are already stored using fax compression technology. According to Joseph Nemeth, Black Ices CEO, incorporating Internet, fax and voice technology in document management and workflow systems is a good way for developers to differentiate their products and provide reasons for users to upgrade.
Anthony Macciola of Kofax echoes this view, placing color and grayscale imaging, increased Internet support and support for multiple file types within a single document on his competitive short list.
Developers have to respond to the expectations of their customers, which will be guided largely by the Internet experience, Macciola says.
Applications developers will rely on toolkit vendors to supply them with the basic building blocks needed to satisfy these customer demands. U
Developing With COM and CORBA
Software development kits are examples of object-oriented programming. In this approach, the main program treats a chunk of code, say the codec for Group 3 fax compression, as an object. Raw data is fed in, and compressed data is returned to the main application. A hallmark of object-oriented programming is that each object can be used and reused by any number of applications.
CORBA, Common Object Request Broker Architecture, is a protocol that allows programs to call objects in a standardized way. This makes it easy for different applications to access the same objects, resulting in faster application development and better integration between applications. Microsoft has implemented CORBA with their Common Object Model (COM).
COM objects combine individual libraries into higher-level libraries for the convenience of developers. Higher-level objects reduce the amount of coding a developer needs to do to implement common tasks. However, COMs true power is that it standardizes use of language-neutral binary objects. The same fully compiled code can be used whether you are programming in C, C++, Visual C, Visual Basic or Java.
COM is simpler than programming with individual dlls and more complex than ActriveX controls (whose technology is based on COM). COM gives developers greater control than they would get with ActiveX controls without requiring the level of detail required to program with individual dlls.
For more information, visit the website at www.corba.org.