Syd Logan, Carlsbad, California
XIE is an X extension that provides long-awaited functionality in the area of image display and enhancement, and has the notable feature that it supports the decompression of several popular image encodings on the server side. This not only relieves the client of the responsibility for decompressing image data, but it also reduces the time that image data takes to travel between the client and the server (or, the other way around, between the server and client).
XIE has yet to take off, even though almost three years have passed since X11R6 and XIE were first released. Perhaps the reason is that the world is still one largely dominated by X11R5. Server vendors usually take a few years to create and release products which are based upon a new release of the X Consortium sample server, and additional time is needed for users to make the switch once these products are made available. However, since there are now a number of X terminals, Macintosh and PC X servers, and workstation X servers that support X11R6 (and therefore, support XIE), this excuse is quickly becoming one that can no longer stand up to scrutiny.
I think the true reason for the current lack of activity surrounding XIE is that, until now, little or no documentation has been available from which developers could learn how to write XIElib clients, not to mention a shortage of sample code. My goal in writing the first edition of this book was to address both of these problems directly.
Bob Shelley, the author of the XIE protocol, as well as the architect of the X11R6 XIE-SI while at AGE Logic, was kind enough to carefully review significant portions of this manuscript. His comments led to the discovery of many errors in an early draft of the book, for which I am most grateful. Similar thanks go to Larry Hare, another member of the XIE-SI team, who was a constant source of constructive criticism, inspiration, and guidance during the XIE-SI project. Daniel Dardailler (formerly of the X Consortium) and Greg Baxes both provided useful comments after reading an early version of the manuscript. Al Tabayoyon also provided a careful review of an early draft of the chapter that deals with colorspace conversions, for which I am grateful.
Dr. J. Ben Fahy was an active participant in the design of the 5.0 protocol, and was responsible for the material in the XIE 5.0 Protocol Specification that describes the Geometry sample techniques. Major portions of that material were edited by me and included in Chapter 18 of this book. Ben, along with Drs. Dean Verheiden and Gary Rogers, the remaining members of the XIE-SI development team at AGE Logic, deserve my thanks for helping me to learn various aspects of XIE. Robert Alford, former Vice President of Engineering at AGE Logic, deserves special thanks for believing in my capabilities, and for allowing me to participate as a member of the XIE-SI team.
I'd also like to thank Greg Doench of Prentice Hall, for taking the time to talk with me about my ideas for a book (ideas that came to me moments after I strolled past the Prentice Hall booth at X World '94 in New York), for considering my formal proposal that followed, and for consenting to the project that led to this book. Mary Treacy and Leabe Berman, Greg's editorial assistants, handled my numerous phone calls and e-mail queries graciously.
The production editor for this project, Mary Sudul, was responsible for getting the manuscript into good shape prior to its publication, and deserves thanks for her efforts. Christina Carroll was the copyeditor for the book. Christina was inhumanly thorough in her critique of the manuscript, which I appreciate (I think :-). I can only hope that while reading my manuscript she learned as much about XIE as I learned about punctuation, grammar, capitalization, and so forth, while reviewing her comments. Lisa Iarkowski skillfully guided the book and CD-ROM through the final review process.
My family (Mom, Dad, and Rod) deserve many thanks for their support. I'd also like to thank Nguyen Hoang and her cat, "Mr. Meo" for their patience and understanding, especially for the many evenings and weekends that both were forced to spend alone while I put in the long hours needed to complete this project.
I'd like to say a few words about the photographs that were used in this book, as well as the software and equipment that I used to prepare the manuscript.
Most of the photographs in this book were obtained from Corel Photo CDs. Some of the images came from transparencies that were taken by me and later transferred to Photo CD so that they could be read into Adobe Photoshop. Others were scanned from print into Adobe Photoshop using a Microtek ScanMaker E3 scanner. The image of the Piper Tripacer flying over San Diego Bay (Chapter 19) was created by Randy Stambook, and I'd like to thank him for allowing me to reproduce his fine work in my book.
On the software side, all of the sample clients were written on a Linux-based system using GNU development tools. The majority of the development work was done on a 486-based system that was running Linux 1.0.9. Late in the project, I upgraded to a Pentium system and to Linux 1.2.13. Microsoft Word 6.0.2 and Adobe Photoshop 2.5 were used in the preparation of the manuscript. The line art was developed using SuperPaint 2.0 (an ancient precursor to Aldus Paint). Manuscript preparation was performed on a Macintosh LC 475. The xv imaging client was used to obtain screen captures and perform format conversions.
I can hardly imagine that the first edition of a book of this length doesn't have at least a few uncaught errors, or cannot be improved in some way. All errors that remain in this book are my responsibility alone. If something seems wrong, or is hard to read, or you have a suggestion, please don't hesitate to let me know; I can be reached on the Internet at slogan@cts.com.
Carlsbad, CA. June, 1997