Sunday, December 20, 1998

New Ideas, New Tools

This article appears in slightly different form in the November/December 1998 issue of IEEE Micro © 1998 IEEE.

Three interesting new books, a powerful software package, and two books about the software package form the basis of this column.

One book deals with a promising new technique for object-oriented programming. Another applies basic economic principles to information-based commerce and arrives at practical strategies. A third explores the way new visual media stand on the shoulders of their predecessors.

As a counterpoint to all this analysis, I look at the new version of the most powerful and widely used image-processing software package. I also review its official tutorial and an unofficial one.


Putting Metaclasses to Work by Ira R Forman and Scott H Danforth (Addison-Wesley, Reading MA, 1999, 300pp, ISBN 0-201-43305-2,, $39.95)

Ira Forman and Scott Danforth are expert practitioners of object-oriented programming. Both have been involved in IBM's efforts in this area. The book describes techniques the authors developed as part of IBM's SOMobjects Toolkit 3.0.

This book is not for everyone. In fact, it's not even for every C++ or Java programmer, even though the techniques it describes can be implemented in, and may someday be incorporated into, those languages.

Proponents of object-oriented technology say that these methods increase the possibility of software reuse. Skeptics point out that a very small proportion of object-oriented software actually is reused. The authors' work arises out of a desire to increase that proportion.

Metaphorically, programming has evolved from a focus on verbs (operations) to a focus on nouns (data). In object-oriented programming, a class defines the data structure and supported operations of all objects that implement that class. In the authors' system, classes themselves are objects - instances of a higher-order class called a metaclass. Metaclasses shift the focus to adjectives, and the authors' contribution is a systematic foundation for metaclasses that ensures that adjectives behave in an orderly and intuitive way.

The authors call the key aspect of their system the inheritance of metaclass constraints. It means that, for example, if one metaclass implements the property "secure" and another implements "thread safe," any class that derives from both also derives from an automatically generated metaclass that implements "secure and thread safe."

The book explains the systematic foundation that underlies this idea and shows how it works in practice. To read the book you must be generally familiar with the theory of object-oriented programming. It requires about the same level of mathematical sophistication as an upper division class in set theory.

To illustrate why their system is useful, the authors begin with a scenario that many programmers may find familiar. A programmer, George, owns a class called Dog. It works only in single-threaded applications. George must make it work with multithreaded applications, which means he must make the following mechanical changes to his source code:
  • Acquire a semaphore at the beginning of each method.
  • Release the semaphore at each return point from the method.
  • Override each inherited method with a method that uses a semaphore to protect a call to the inherited method.
This is a long, boring, error-prone operation in most systems. In the authors' system, George writes
class ThreadSafeDog is subclass of Dog and is ThreadSafe
and the job is done.

If you struggle with this sort of issue and you're willing to put a few weeks into learning about and implementing this method in your favorite programming language, rush out and buy this book. 

Information Rules by Carl Shapiro and Hal R Varian (Harvard Business School Press, Boston MA, 1998, 384pp, ISBN 0-87584-863-X,, 29.95)

As a provider, user, and observer of computer-related technology for nearly forty years, I have often watched us reinvent the wheel. Recently, entrepreneurs on the frontiers of cyberspace have been doing the same thing. Shapiro and Varian, professors at Berkeley's Haas School of Business, have noticed this and have cautioned those who will listen that "while technology changes, economic laws do not."

This book is a practical guide. It translates established economic principles into practical terms that business leaders can apply to their own information-based enterprises. While the book contains many useful strategies about subjects like differential pricing and personalized content, I'm more interested in what the authors have to say about intellectual property and standardization.

The underlying principle the authors want you to understand about intellectual property is that managing rights is more important than protecting rights. Proper management of intellectual property rights seeks to maximize their value.

Shapiro and Varian contrast Disney's policy of threatening to sue day care centers that put pictures of Disney characters on their walls with the initial marketing strategy for Barney the Dinosaur, which called for giving free copies of Barney videos to day care centers. By exposing children to Barney in day care centers, the purveyors of the purple pest created a demand for Barney videos in the children's homes.

This is similar to the practice of handing out free samples of cigarettes on school playgrounds, but the economic model is a little different. Unlike cigarettes, intellectual property is costly to produce but increasingly inexpensive to reproduce. Exploiting this fact doesn't call for a new paradigm. All it takes is new coefficients in an old formula.

What Shapiro and Varian have to say about standards arises from the concepts of networks and positive feedback. Macintosh users form a network. People whose evening entertainment or business success depends on the VHS video format form a network. When networks compete, the larger the network, the greater the support it receives. Software developers see greater return from Windows applications than from Macintosh applications. This is feedback, which makes the strong stronger and the weak weaker.

Networks can cooperate by standardizing and interconnecting. When efforts to achieve these goals fail, standards wars break out. The authors offer practical advice on how to wage standards wars and explore in detail the two basic strategies: evolution and revolution. An evolutionary strategy, like the introduction of color television, offers a migration path from existing networks to the new one. A revolutionary strategy, like the introduction of the Macintosh, attracts users to a new network by offering performance that is unavailable within the old network.

The authors offer practical advice, not magic formulas. They direct your attention to existing principles and invite you to apply them to your own situation. Their main message is "don't reinvent the wheel." If you have entrepreneurial interests, be sure to read this book.

Remediation: Understanding New Media by Jay David Bolter and Richard Grusin (MIT, Cambridge MA, 1998, 295pp, ISBN 0-262-02452-7, 800-356-0343,, $32.50)

Bolter and Grusin are professors at Georgia Tech. In a way, their book, like the one by Shapiro and Varian, is about not reinventing the wheel.

Media mediate. A medieval illuminated manuscript calls attention to the underlying process of mediation by combining art and text on the page and using art to represent some of the text, as in initial block capitals. Many websites today also call attention to the underlying mediation process. The authors call this hypermediation.

The opposite of calling attention to mediation is trying to hide the medium. The authors call this transparent immediacy. Early examples of this technique exist as well. A modern example is virtual reality.

McLuhan said that a new medium turns the old medium into an art form. This hints at what Bolter and Grusin call remediation, the process by which new visual media pay homage to, rival, and refashion older media such as perspective painting, photography, motion pictures, and television - just as these older media remediated their own predecessors. Remediation balances hypermediation against transparent immediacy.

The authors move from theory to examples like computer games, virtual reality, and the web. Because media so deeply affect our personal and cultural identities, the authors apply their theories of remediation to our own perceptions and thought. The two opposing forces of hypermediation and transparent immediacy give rise to the networked self and the virtual self.

Like McLuhan's Understanding Media, this is a theoretical book with interesting examples drawn from modern life. And like McLuhan's book, it tries to assess the effects of the processes it describes on our consciousness and our society. I don't know if this book is as important as McLuhan's, but it certainly is interesting.


Adobe Photoshop 5 for Windows (Adobe Systems, San Jose CA,, $995.00 ($199 upgrade))

Photoshop is the most powerful and most widely used software package for manipulating bitmapped images, that is, images made up of essentially unrelated pixels. Scanned photographs, for example, are often the raw material on which Photoshop performs its magic.

Until now, Photoshop has presented intimidating barriers to the casual user. It is not known for its user friendliness. The current version, however, has taken big steps in the right direction. Its history palette, layer handling, "magnetic" selection tools, and macro facility (actions) make it easier for fumble-fingered, not very visual users like me to use Photoshop confidently.

I reviewed the Windows version, but Adobe claims that the product behaves virtually identically in its Macintosh and Unix versions. They didn't send me copies of either of those, however, so I can't say one way or the other.

Even though Photoshop 5 tries to be user friendly, and even though it includes an excellent manual, online help, a guided tour, and a tutorial, I think most casual users will appreciate the guidance of a good book. I review two such books in the remainder of this column.

Adobe Photoshop 5 Classroom in a Book (Macmillan (Adobe Press), Indianapolis IN, 1998, 441pp, ISBN 1-56830-466-8,, $45.00)

I have reviewed other books in Adobe's Classroom in a Book series (see Micro Review, Dec 97, for example), and I have always found them to be of high quality. Like the others, this one provides a good overview of the products main features.

The key elements of becoming a competent Photoshop user are familiarity with the work area, experience with the tools, and understanding of input and output file formats. The book methodically covers these areas in a series of thirteen lessons, each of which should take about an hour. As a bonus, the book includes a brief tutorial for Adobe ImageReady 1.0, a product currently bundled with Photoshop and designed to help you prepare images for the web.

The CD that accompanies the book contains the files for the lessons. For each they have a starting file and an ending file, so you can see where the lesson is headed. If you have a big enough screen, you can keep the ending file in view as you manipulate your working copy of the starting file. I find this helpful, because I tend to get lost in tutorials. I pursue a side investigation, and when I come back to where I was, I may miss a step. Between the history palette and the ending file, I can usually get back on track quickly.

While the book is methodical and comprehensive, its coverage is not deep, and it gives only the briefest idea of the theories and artistic strategies underlying the tasks it takes you through. For these I found another book extremely helpful.

Inside Adobe Photoshop 5 by Gary David Bouton and Barbara Bouton (Macmillan (New Riders), Indianapolis IN, 1998, 768pp, ISBN 1-56205-884-3,, $44.99)

Like the Adobe book, this one is also justly famous for its earlier editions. It too takes the form of a tutorial, but it contains many more lessons and vastly more material about the underlying theories and issues.

The authors chose an excellent organization for their book, and they write clear, straightforward prose. I like the mixture of tutorials, task-oriented procedures, and reference material. The excellent graphics and clean page layout make the book a pleasure to look at.

Unlike the Adobe book, which you will go through once and never look at again, this book will remain your guide as you continue to develop into a skilled Photoshop user. I like it a lot, and I recommend it highly.