Windows IT Pro is the leading independent community for IT professionals deploying Microsoft Windows server and client applications and technologies.
  
  
  Advanced Search 


April 1997

Cairo--Are We There Yet?


RSS
Subscribe to Windows IT Pro | See More Windows 2000 Articles Here | Reprints | Or get the Monthly Online Pass—only $5.95 a month!

The reality of what is and what will come

What is the product that is Cairo? Or is it a collection of technologies or ideas that Microsoft was working on? In 1992, Cairo was definitely a product. Then, as the release date disappeared into the distance, Cairo became a collection of ideas that the Windows NT team was working on. Then Cairo was back to being a product with a new name--Windows NT 5.0 (for information about NT 5.0, see Mark Minasi, "The Evolution of NT 5.0," February 1997). Now, the answer to Cairo's fate varies with each person you ask.

Cairo has been all these things, and its release date has always been vague. Without a doubt, the reason for the confusion lies at Microsoft's feet, but you can easily understand why Microsoft didn't tell the world what it was up to.

Whether you classify Cairo as a product or a cluster of ideas, it still isn't here. Viewed from the bouncy predictions that Jim Allchin made in July 1992, this reality is a considerable disappointment. However, when you look at how the market has changed and how the PC computing world has grown since 1992, the reality isn't such a disappointment.

The truth is that large components of Cairo are available now, but several other pieces haven't appeared in a coherent form (see Table 1 for a historical summary of several Cairo technologies). The biggest disappointment is that Microsoft hasn't delivered on the underlying vision and promise of Cairo, but 1997 should see it gel into a cohesive form.

TABLE 1: Cairo Features--Now and When?
What Microsoft Promised When It's Happening
Active Desktop Exchange Server used VB4 16-bit executables
Basic dialogs in Office 97, shipping now
Active Desktop to ship in IE4 during 1997
Distributed OLE Basic DOLE in NT4, now shipping for Win95
Object File System Still not in beta
Exchange Server used modified JET instead
Extended MAPI features Shipped in Exchange Server 4.0
X500 Directory Shipped in basic form in Exchange Server 4.0
Full OS version to be in NT 5.0
Object development
environment
OCX environment in VC++
Visual Basic 5.0 CCE brings ActiveX
development to end users
Content indexing engine and
Microsoft Index Server
Released in 1996

About 18 months ago, I presented my vision of Cairo in a series of articles (for details, see the list of related Windows NT Magazine articles). The series focused on several key areas such as distributed objects, active storage, a new user interface (UI), and a directory service (DS). These key areas are relevant today and still apply to my updated vision of Cairo.

Barriers to Cairo's Emergence
Since I wrote the articles on Cairo, the computing world has experienced big changes. Namely, the Internet arrived with a vengeance, and with it came the whole mind-set of the intranet. Companies are rethinking their IT strategies, and some are brave enough to go back to first principles (i.e., instead of thinking of Office and Windows platforms, they're thinking content, HTML, and a new era of server site technologies). Meanwhile, Microsoft has achieved the almost impossible by completely restructuring from top to bottom.

Many commentators claim that the Internet's arrival means Microsoft has sidelined or devalued Cairo. This claim demonstrates a fundamental misunderstanding of the nature of the problems that Microsoft faced and a misreading of how Cairo was and is going to help solve those problems.

To understand Microsoft's approach to Cairo, you have to travel to 1990 or thereabouts. Microsoft was doing major internal research and development that largely involved NT. At the same time, the company was starting to develop Cairo components such as Object Linking and Embedding (OLE) objects, distributed objects, document storage engines, indexing and retrieval solutions, DSs, and new UI designs.

But Microsoft faced a fundamental problem: how to convince users to stop thinking about applications and start thinking about documents? For starters, Microsoft introduced OLE, which lets you work on one type of program file from within another program. So, for example, OLE lets you work on an Excel worksheet from within Word. This new approach required a lot of coding design to establish a complete object API set that defines a way for applications to talk to each other. OLE allows window negotiation (so the contained application can work in the container application) and lots of small but vital details such as automatic menu bar negotiation.

In addition to OLE, Microsoft introduced Visual Basic custom controls (VBX) and the OLE custom control (OCX) component model. The company also presented the OLE automation system that lets one application control another, development tools such as Visual Basic (VB) 4 to make custom control creation easy, and early beta versions of distributed OLE (DOLE). All these products screamed "objects," but the world didn't notice. Everyone still thought applications and servers were for file and print sharing.

The reason Microsoft had trouble grabbing our attention is simple: No matter what the company tried, it hadn't found a compelling reason to make us sit up and take note. The sweet spot that makes users and IT managers ooooh and ahhh was missing. Microsoft hadn't focused on the content. Instead, it pushed the sale of applications to make the content better and overlooked the fact that we fundamentally cared only about content.

Only with the advent of the World Wide Web did the world begin to understand that content matters above all else and that you need a range of tools to look at your content. HTML is universal (at least in theory), so instead of thinking Word document, users began thinking about HTML content that was quite separate from a viewer frame.

This new approach frees us from the cage of the traditional application. Better still, the Web provides a fast-moving marketplace. Now users can have new browsers every few months instead of the two-year time scales for the big application developments. Suddenly the Web and Web browsers are hot, and companies are thinking content, not container.

As the Web gained momentum, we began seeing a much more subtle change. All at once, objects and downloadable pieces and server-side automation became the flavor of the day, and the requisite mind-set began focusing on making a deliverable object framework work.

Microsoft encountered other, less subtle barriers that prevented the company from making Cairo a reality. For starters, NT 3.1 was too big and too slow, and adding Cairo's features would have produced an unusable system even on the highest-powered platforms. Although NT is a high-end system, Microsoft wants the operating system to reach down onto the desktops of mere mortals and not be sidelined as an esoteric nicety.

The economics of hardware in 1994, the anticipated delivery date for Cairo, were also quite different from those of today. Back then, we were running fast 486 processors with early Pentiums coming available, and we believed that 32MB of RAM was a lot because it cost so much.

Microsoft's top priority was to get NT 3.1 up to speed. As NT 3.1 was the base platform for Cairo, Microsoft needed to make the operating system faster and smaller, so the company released NT 3.5. The subsequent NT 3.51 release probably represented the high-water mark in terms of NT Server stability (many of us are still not convinced that NT Server 4.0 has the towering stability that NT 3.51 exhibited).

So if Cairo hasn't appeared, what's happened to it? Let's look at Cairo's underlying technology for the desktop, distributed objects, and storage technology and see where it maps to the reality of today and tomorrow.

The Desktop
Microsoft has always said that the Win95 UI came from the Cairo team, so it inevitably became part of NT 4.0. If you look at Jim Allchin's slides from the 1992 NT Developers Conference, you recognize a lot of Cairo UI components such as right-click pop-up menus, browsing windows, and hierarchical trees that translated directly into the Win95 shell.

Cairo also promised an object-based desktop that you would be able to rebuild at will. I overestimated Microsoft's desire to let us users decide how we want our workspace to work. Just look at the limited amount of customization you can achieve within the Win95 shell and you soon realize it's little better than the previous Win3.x desktop. For example, Microsoft gave us icons on the desktop and a rebuildable Start button, but they forgot to include OLE objects in the tray and truly customizable frames on the desktop. Microsoft has saddled us with a filing system approach to My Computer etc., and hasn't provided common dialog boxes that users can repaint and rebuild.

Microsoft planned to use the OCX object model to let the shell host raw object servers (so you could mount running applets within the taskbar, for example). Unfortunately, this step hasn't happened. Worse still, you can't apply OLE automation to the desktop (you can apply API calls to the shell to make it perform specific tasks, but building these calls in VB as part of a corporate desktop solution is difficult).

Microsoft made big promises when it added the Win95 shell to NT, but it hasn't delivered. NT 4.0 is in sync with Win95, but I think the baby's been thrown out with the bath water. The shell that Microsoft added to NT 4.0 is clunky and not very clever. For example, under NT 3.51, you can click on any application window and know that it will get immediate attention--responsiveness is not an issue. With NT 4.0, the desktop shell is a much larger active process. If the shell becomes busy, NT 4.0 can tie up your system for several seconds.

Microsoft's port of the Win95 code onto the NT platform also makes a poor showing. For example, try dragging two unrelated NT 4.0 directories to the Recycle Bin at the same time or copying some files in one place and deleting them elsewhere. The shell won't let you delete files while you create new ones on the desktop. Microsoft has sacrificed NT 3.51's instant responsiveness on NT 4.0's low-rent solution. NT 4.0 is not multithreaded enough and can't spawn multiple shell tasks simultaneously.

As a piece of code, NT 4.0 needs work, especially when you consider the next step in its evolution. Microsoft's Active Desktop (AD), the new name for the Internet Explorer (IE) 4, is a desktop shell and will run as a new layer on the desktop. It will feed Web information straight to your desktop. AD is late. Only last summer, Brad Silverberg, senior vice president of Microsoft's applications and Internet client group, told me that AD would be out during the fourth quarter of 1996. Just before Christmas, Microsoft promised AD would be in beta by the end of the year. Both deadlines have been blown away.

Consider the ramifications of Microsoft's promise for a user-definable desktop. To implement this new UI, you need a form painter and a desktop that can host OLE objects (NT 4.0 provides neither). In one leap, the AD gives a clear solution to the problem. Because AD will be based on HTML that you download from the Web, maintaining the desktop will be simple. You will be able to place ActiveX controls in the HTML stream and build very complex and interactive desktops that provide real information feeds to the user. The AD will also feed data back on networked servers.

The use of HTML-based forms and ActiveX controls for the AD is a masterstroke. At once, this combination integrates both public (Internet) and private (intranet) feeds into one seamless environment. So taking intranet feeds from corporate data servers and integrating them with public news feeds, for example, provides the possibility of the definitively rich UI experience.

   Previous  [1]  2  Next 


Top Viewed ArticlesView all articles
What You Need to Know About Microsoft's x64 Server Product Plans

What do Longhorn Server, Windows Compute Cluster Server, and Windows Vista have in common? The x64 platform. ...

WinInfo Short Takes: 4th of July Special Edition

An often irreverent look at some of the week's other news, including a shortened work week thanks to the 4th of July, expensive Windows 7 pricing, Bing's modest monthly gains, IE 8 heading to work, Steve Jobs back at Apple, and so much more ...

How can I stop and start services from the command line?

...


Windows OSs Whitepapers Why SaaS is the Right Solution for Log Management

Related Events WinConnections and Microsoft® Exchange Connections

Windows, Unix, Linux Interoperability

Check out our list of Free Email Newsletters!

Windows OSs eBooks Understanding and Leveraging Code Signing Technologies

A Guide to Windows Certification and Public Keys

SQL Server Administration for Oracle DBAs

Related Windows OSs Resources Introducing Left-Brain.com, the online IT bookstore
Looking for books, CDs, toolkits, eBooks? Prime your mind at Left-Brain.com

Discover Windows IT Pro eLearning Series!
Clear & detailed technical information and helpful how-to's, all in our trademark no-nonsense format

Test Drive IT Solutions and Get Free Music Downloads
Solve your toughest IT problems with these free downloads and receive 5 free music downloads!


Windows IT Pro Home Register FAQ for Windows WinInfo News
Europe Edition About Us Contact Us/Customer Service Media Kit Affiliates / Licensing  
SQL Server Magazine Office & SharePoint Pro DevProConnections IT Job Hound ITTV
IT Library Technology Resource Directory Connected Home asp.netPRO Windows SuperSite 
 
 Windows IT Pro is a Division of Penton Media Inc.
 © 2009 Penton Media, Inc. Terms of Use | Privacy Statement | Reprints and Licensing