Chapter 25 Future Enhancements and Component Software

Since going backward is not the answer, how do we move forward?

Riane Eisler, The Chalice and the Blade

At the beginning of this book, I described OLE as an evolutionary step in computing technology. We've now examined all of OLE's present technologies and learned how they improve existing mechanisms and offer capabilities that have not been available before. In the first section of this chapter, we'll look back at the significant areas of OLE that we covered earlier.

Evolution, of course, simply doesn't stop—improvements and other changes continue to happen. OLE itself will continue to improve on the technologies we've seen and to expand into new areas. In the near future, you'll see enhancements of COM and OLE Documents and, further down the road, more enhancements of COM, OLE Automation, storage, OLE Controls, and OLE Documents and in many other areas. In addition, OLE will be applied to new problems that can be solved well with object-based architectures. For example, shell extensions in Windows 95 are basically simple COM objects with shell-specific interfaces. This chapter will also briefly examine many of the enhancements and additions that will be appearing in the future.

It is important to realize that with all these enhancements and additions you will not see another major version of OLE. Throughout this book, I've referred primarily to OLE as simply OLE. To be historically precise, OLE version 1 was Microsoft's first attempt at solving the compound document problem. OLE 2, which is primarily what this book discusses, improved on the capabilities of OLE 1 and also included the architecture for COM, storage, data transfer, drag and drop, OLE Automation, in-place activation, and so forth. Inherent in COM, however, is the capability to add new features incrementally through the definition of new interfaces. Because of this, talking about "OLE 3" isn't necessary because there basically won't be a major new version requiring the rewriting of applications and components. A new technology such as OLE Controls does not require a complete revision of the underlying COM and OLE architecture—new features and capabilities simply enhance the old.

But there is one question we have yet to answer in this book: "Why does OLE technology exist in the first place?" In other words, we need to make sense of OLE as a whole. We touched on some of the answers in Chapter 1, but there we focused on the more technical and architectural reasons. I freely employed the term component software without fully qualifying it, using only the example of compound documents to illustrate this idea.

The main purpose of this chapter, therefore, is to explore what component software means from a human perspective. How does component software affect the common computer user? How does it improve a user's productivity? How does it make the computer experience helpful and fun? We'll explore these questions first through the idea of document-centric computing, which is the reason behind OLE Documents. We'll see that the technology we have today is the first step down the road to an exciting computing environment, one in which users will truly concentrate on tasks rather than applications, which is the hallmark of document-centric computing.

We'll then go one step further, exploring what component software means not only to end users but to the computer industry as a whole. By taking a human approach, we'll see that component software can create what I believe to be an extraordinarily exciting future, filled with opportunity and growth for all programmers, developers, designers, and end users. I believe that component software is the key to a computing environment and industry in which everyone wins and in which we all work together in a partnership to solve real problems. It's an idea whose time has come, and OLE provides the means to make the idea a reality.