In a similar fashion, Taligent wants to shift much of the complexity of software development from application developers to application system engineers. Figure 4 shows another way of looking at some of the relationships shown in Figure 1 on page 27, this time in terms of the way in which the total complexity of each system is distributed among the user, the application developer, and system software.
Twenty years ago, a typical operating system for a personal computer was relatively simple, as shown by the leftmost column in Figure 4. An operating system like MS-DOS or CP/M could run in 64K of RAM and from a floppy disk. Because they had to fit in the same 64K of RAM, applications were also simple. But users had to work hard to use the applications. They had to memorize commands, keep track of obscure file names, and learn all kinds of esoteric details and tricks to accomplish relatively simple tasks. Moving data from one application to another was always difficult and often impossible. Users had to bear much of the burden of complexity involved in running applications.
After the Macintosh computer and operating systems with graphical user interfaces arrived on the scene, these relationships changed, as shown in the second column in Figure 4. System software companies realized that if they could make computers easier for users to use, many new users might buy their products. To this end, they added user interface capabilities to their underlying system software in the form of application libraries or "toolboxes."
Now applications could take advantage of windows, dialog boxes, input devices like the mouse, and other innovations that greatly simplified things from the user's point of view. But the complexity didn't just disappear; instead, it was shifted to the application developers, who had to work a lot harder to create applications, and to system software engineers, who had to provide the new capabilities. The work was worth it though, because more users could use computers with less effort, and applications could meet a wider variety of user needs, leading to a net increase in the total complexity of the problems that the applications could be used to solve.
Taligent maintains that half or more of what application developers are doing today is system software work that no longer has to be their responsibility. The computer industry can't expect this situation to continue if it intends to meet customer demands for innovative, distributed applications that run in networked environments. Taligent would like to shift the complexity of computing once again, away from the application developer and into the application system. The third column in Figure 4 illustrates one consequence of this approach. Users still don't have to bother with the technical details of the system, and the applications they use provide the same kinds of capabilities as before, but small engineering teams can deliver a product in perhaps 6 to 12 months that might take a bigger team two years or more to develop for the previous generation of operating systems. This by itself can dramatically change the economics of software development.
Another consequence, illustrated by the rightmost column in Figure 4, is that
some application developers will make a more extensive effort. But rather than
squandering their resources fighting with the underlying operating system or
reinventing the wheel, they can build on Taligent technology to provide
innovative application capabilities and a richer user experience. Just as the
Mac OS and Windows and other user-friendly operating systems have led to
thousands of new applications that couldn't have existed in the world of MS-DOS
and CP/M, Taligent technology will help create a new generation of applications
that address more complex needs--in particular, the needs of users working
together in an organization--than traditional applications can.
[Contents]
[Previous]
[Next]