[ ERCB Home |
New |
Feature |
Brief |
DDJ |
Letters |
Links
]
Inside the Windows 95 Book-Publishing Phenomenon
Review by Al Stevens
Copyright (C) Dr. Dobb's Journal, March, 1995
Adrian King's Inside Windows 95 is the first of what will be many
books on the subject of Microsoft's next operating system, previously known
by the code name "Chicago." This book is more notable than most
first books because it was published in October 1994, which means that the
majority of the work that went into the book occurred almost a year before
Windows 95 is due to be released.
King is a former Microsoft employee who was involved in the development
of earlier Windows versions. Apparently Microsoft granted him an inside
track to write the Inside book for the new release, guaranteed to
be a best seller based solely on the subject: Interest in Windows 95 runs
high. Microsoft has been open about allowing journalists to publish some
aspects of the new features, teasing a user community thirsting for more
information. Screen shots of the new shell and dialog boxes are common in
press preview articles; as a result everyone is familiar with the new look
well before release. A Microsoft employee appeared as a guest on Public
Television's "Computer Chronicles" and demonstrated Windows 95,
prefixing the answer to each of the host's questions with an enthusiastic,
"Exactly!" The same show hosted representatives from several applications
vendors demonstrating their products running on Windows 95.
Effective marketing, all this, but it has a certain tabloid appeal, as well.
Just as books about O.J. hit the stand before the ink was dry on his arrest
sheet, books about hot, new software products appear as soon as there is
a market for information, whether or not there is a product to use or anything
to report. Magazine articles and TV shows are one thing; they address current
events and are soon discarded and forgotten. Books are another thing; they
persist long after their information perishes.
It is a disturbing trend. How do you write a comprehensive book about a
beta operating system and publish it almost a year before the product's
scheduled delivery? (Ironically, a footnote on page 2 of the book dresses
down PC Week for publishing a review of an illegal copy of the beta "almost
a year in advance of the product's planned release date.") There are
two problems. First, everyone with sufficient inside information is either
under the nondisclosure agreement (NDA) or is a Microsoft employee. Second,
the product is bound to undergo significant changes between the publication
of the book and the product's release, which has slipped several times since
the book was written.
The first problem vanishes when the product's vendor is also the publisher
of the book. Since Microsoft owns Microsoft Press, it is in a position to
give dispensation to an author and release him from any vows associated
with his former employment and exposure to the beta software. As a side
benefit, they control the book's content. Now that their book is on the
shelves and has captured the first-look market, Microsoft has relaxed the
NDA, and you can expect a plethora of Windows 95 books, several by the time
this review is published.
The second problem, that the book is obsolete before it hits the shelves,
is addressed this way: Who cares? No one involved in the book project does,
that's for sure. Otherwise they wouldn't publish it. Only some other authors
who do not have the Redmond blessing, who have dutifully honored their nondisclosure
agreements, and who were scooped by the authorized book, would care. Nobody
else. The author gets paid, the publisher makes a pile, and users and programmers
get some information, no matter how perishable it might be.
Timeliness notwithstanding, how good is the book? Well, if the content is
accurate, and if the details are not overtaken by events, it's pretty good,
at least for the programming reader. Windows 95's goals and underlying architecture
should have been firmed up in time for this book's release, and those are
the details that programmers want to know. The user interface is bound to
change, and several parts already have, but those changes will have little
effect on your plans to write software. Even if you have betas of the OS
and its development tools, this book is still the best source for an overview
of Windows 95's operating and development environment. Developers who are
planning to port their applications to Windows 95 or to develop new applications
should read this book first.
I'm writing this review in late 1994, and Beta-2 has just been released.
The author used Beta-1. With one significant exception, the reports of the
author coincide with my observations of Beta-1. On page 17 the author discusses
performance. He says, "By the time of the Beta-1 release, Windows 95
performance was already as good or better than Windows 3.1 performance in
almost every respect." Balderdash. Perhaps the operative word is "almost."
Perhaps he figured it was safe to make the claim since only someone under
nondisclosure could reliably contradict it. Nonetheless, I had to replace
a venerable old ST-251 40-Mbyte hard drive with something considerably faster
to achieve even moderately acceptable Beta-1 performance. It took forever
to load applications. The same system ran fine under Windows 3.1 with the
old disk drive. One user reported that his 486DX2/66 with 8 Mbytes of RAM
was running Beta-2 about 20 percent slower than Windows 3.1. Subsequent
betas are supposed to do a better job of hitting the Windows 3.1 benchmark,
but this book serves no good purpose by perpetuating such misleading, Microsoft-serving
claims.
Chapter 1 introduces Windows 95, giving the history of the Windows product
line and the motivation for the new version. Among the reasons for a totally
new operating system rather than another upgrade to DOS and Windows are:
- The user interface needs an overhaul. The Windows 3.1 desktop metaphor
has often been criticized because Program and File Managers force users
to orient themselves to the programs they run rather than to their work
and their documents. Windows 95 uses a so-called "document-centric"
operating model to correct that flaw.
- Installing hardware in contemporary PC systems is a nightmare; users
must deal with IRQs, port addresses, DMA channels, and such. The Plug and
Play specification is supposed to eliminate those problems.
- Setting up MS-DOS options with respect to memory, device drivers,
and the like is known to be a daunting task for the nontechnical user. Windows
95 strives to improve that situation by automating most of it.
Not surprisingly, Windows 95, a full 32-bit, preemptive-multitasking operating
system, will be able to run the old 16-bit so-called "legacy"
DOS and Windows applications in a 16-bit cooperative multitasking environment.
A new buzzword, "legacy." Anything old is a euphemistic legacy
--venerated, but destined to be replaced by the new. Since some of Microsoft's
applications are not yet ready for 32-bitness, they need a dignified classification
so that users will continue to buy and use the old chestnuts. Legacy connotes
value. We are subliminally conditioned to respect our legacies. I bet that
when the only remaining legacies are from other vendors, we'll get new expressions--like
"old-timer," "antiquity," and "remnant."
If you already understand Intel processor architecture or don't really care
to, you can skip Chapter 2. There is one important point, though. Windows
95 is not destined to be a portable operating system like NT. Windows 95
was developed for the Intel platform, and that is where it stays, according
to the book.
Chapter 3 is entitled "A Tour of Chicago." (Throughout the book
the code name "Chicago" keeps popping up, revealing how close
publication was to the name decision.) The tour includes an overview that
explains how Windows 95 manages multitasking, scheduling, and memory; describes
virtual machines and devices; and addresses Windows programming at a high
level. This chapter is where programmers get their first look at the Windows
95 operating-platform architecture. You learn that the API is a subset of
Win32 but that Windows 95 adds features not available to the Win32s API
or NT. There is a brief description of event-driven programming and message
handling, the underlying programming model of most GUI operating environments.
Chapter 4 is more of the same, but with more information about the operating-system
internals. It explains 386 protection rings and privilege levels and how
the operating system uses them. A 4-gigabyte virtual-memory map shows how
Windows 95 organizes the DLLs and applications. The chapter introduces Windows
95 threads, which are new to Windows and similar to the scheduling mechanism
used by NT.
Chapter 5 will get the most attention from users. It describes the new,
improved user interface and shell. Windows 95 adopts a user interface that
looks something like OS/2's, but Windows 95 adds some features of its own.
According to the book, these changes are the product of an exhaustive study
by Microsoft of the way that users work and the attendant problems with
the Program, File, and Task Managers used in Windows 3.1. The book does
a thorough job of describing the Windows 95 solutions to the inherent Windows
3.1 user-interface problems, addressing how the new features work and what
motivated their creation. Not only does the shell change its face, but application
programs change, too. Because legacy applications display their screens
with calls to the Windows API, even those old applications take on the new
Windows 95 look when you run them under the new operating system. In addition
to a different, sculptured look to frames, menus, dialog-box controls, and
so on, the drop-down menus behave differently--more like the Macintosh--and
there are several new user-interface controls. Programmers should pay attention
to this chapter. New and ported applications should strive to use the best
of the new user-interface features.
Chapter 5 also discusses several user-interface features that were considered
and discarded. There are even some screen shots of abandoned features. The
chapter explains the rationale behind some of the decisions.
Programmers will be happy to learn that online-help files are going to be
less complex than those of Windows 3.1, which reduces the work involved
in building online-help databases. The move is toward less information in
online-help files, with, I suppose, the complete user's guides on CD-ROM.
You don't have to comply with that model, but Windows 95 does, and applications
are expected to fall in line.
The author is critical of one change to the user interface, and I agree
with him. They added a button to the upper right of every window. It is
the Close button, and it has an X to identify it. Somebody decided to put
the X button where the maximize button used to be. Since it occupies the
traditional (legacy?) maximize-button position, and since X is traditionally
identified with the maximize command on the control menu, the result is
predictable; every time you want to maximize a window with the mouse you
close the window. You can't help yourself. It takes a while to get used
to the new feature, and then it causes greater confusion when you return
to a Windows 3.1 or NT installation. It was a dumb move on Microsoft's part,
but I am told that they intend to stick with it.
Chapter 6 discusses the Windows 95 APIs: Win32, User, and the GDI. Chapter
7 describes the file system and explains how they applied a clever hack
to come up with a FAT that supports legacy DOS file systems along with long
filenames in media that can be used by both environments.
Chapter 8 is about Plug-and-Play. If all the hardware designers cooperate
and design to that specification, you will not have to understand the entrails
of your adapter cards to install a new one. Chapter 9 is about networking,
and Chapter 10 discusses the features of Windows 95 that support mobile
computing, most notably an accessory called the "Briefcase" that
keeps your documents up to date between the office machine and the laptop.
Inside Windows 95 is well written and comprehensive. It could tell
more about multimedia and some of the accessories. There are some neat features
in the new user interface that the book does not address, such as Quick
View, which lets the user view the contents of various applications' documents
without launching the applications. I hope that as the details of Windows
95 firm up, the author updates and expands the book and puts out at least
one more edition, eliminating the speculation in the text and describing
the complete package, whatever it turns out to be.
Inside Windows 95
Adrian King
Microsoft Press, 1994, 476 pp. $24.95
ISBN 1-55615-626-X
Electronic Review of Computer Books
Created 5/1/96 / Last modified 6/4/96 / webmaster@ercb.com