I’ve been working to get Windows Everywhere ready for publication on Leanpub and hope to have the first version out next week.
This has been an exhausting project, despite the fact that the hard work of actually writing most of it was completed years ago. But I will have read through it again at least twice by the time it’s ready, have made many, many edits, and have had to learn a new Markdown flavor called Markua that Leanpub uses now, introducing even more complexity. It’s been a regular series of edits, previews, and testing, but I’ve made a lot of progress.
My rough goal is for the first pre-release version of the book to include a completed first half of the book, or what we might call the “pre-.NET era” content, which covers up until 2001. The second half, roughly, is the “.NET era,” or everything since. I’m not sure the split between the two is that even, size-wise, but it doesn’t matter because I will then update the book section-by-section, publishing new versions as I go.
Sign up for our new free newsletter to get three time-saving tips each Friday — and get free copies of Paul Thurrott's Windows 11 and Windows 10 Field Guides (normally $9.99) as a special welcome gift!
"*" indicates required fields
As noted in Windows 11 Field Guide Progress Report: More Chapters and a New Book, the plain text version of Windows Everywhere is about 678 pages long, and based on my experience adding images to the chapters in the first half of the book so far, it’s clear that the final version will be 800 to 850 pages long. (Right now, I still have 10 pre-.NET chapters to update and the PDF preview is about 750 pages long.) The nice thing is, this book is still smaller on disk than the Windows 11 Field Guide and I’m sure it always will be, thanks to there being fewer images. (Windows Everywhere is currently about 22 MB compared to over 255 MB for the Windows 11 Field Guide.)
And that’s just the book as-is: as noted previously, I intend to add content after it’s “completed,” both to cover content since the initial release of Windows 10 and to add in some things I glossed over. I didn’t expect to bump into much of that during the first half of the book, but I was struck by how short the Cairo chapter was, especially given that the internal documentation for this canceled Windows version (it was originally the successor to Windows NT 3.1) became public during Microsoft’s U.S. antitrust trial. So I went and found the original Microsoft Windows Cairo Product Planning document, read through it yet again, and then added more content to the Cairo chapter, both in the book and in the original article in the Programing Windows series here on Thurrott.com.
Here’s most of it.
The goals for Cairo were impressive.
The Cairo user interface was to be based on a desktop model similar to that used by the Mac. The special purpose manager applications from Windows 3.x–File Manager, Program Manager, and Print Manager–were gone, replaced by direct manipulation techniques like drag and drop in a new interface called Explorer. Objects in the UI exposed their behaviors via right-click context menus, and those on the Desktop could be physically present in the Desktop or references–e.g. shortcuts–representing the actual object that was elsewhere in the file system.
Those ideas will likely be familiar to anyone using Windows today, but Cairo was also going to offer smart folders that looked like standard shell folders in Explorer but offered intelligent features. Cairo’s Help, Email, Bulletin Board, and Document Management applications would all be implemented as smart folders.
Cairo would begin the push beyond drive letters by offering a single namespace that encompassed both the local machine and the network to which it was connected. Users would no longer need to connect to explicit network shares to find information.
A feature called Task assistants would help users automate routine tasks like filtering and filing email messages and though it was based on scripting, it would feature an intuitive and easy GUI.
Cairo’s file system, the Object File System (OFS), was a “new, high-performance file system” that would “offer many features suited for native storage of objects. It would include access control, content indexing, and replication capabilities. And a Distributed File System (DFS) built on top of OFS would map all shared disk space in a network into a single namespace.
Existing applications that were designed for MS-DOS, Windows 3.x, Windows NT, or Chicago–Windows 4.0, or Windows 95–would run normally under Cairo. But new apps could take advantage of Cairo services like content indexing, smart folders, and replication.
For developers, Cairo would be “an evolutionary path based on Object Linking and Embedding (OLE) 2.0 [a Microsoft componentization technology] and Win32.” It would include a Component Object Runtime (COR) that enabled software connectors, “a standard way for objects to describe their structure, binding characteristics, and persistent binding information.”
Developers would also gain access to new Cairo Design Environments (codenamed Delphi) that would let them add behavior and properties to smart folders and customize them for presentation in Explorer. And they could build and compose “pluggable” object components to create a new kind of app.
A basic Cairo application would utilize Win32, OLE 2a, and other previous Microsoft technologies. But a “true Cairo application” would be built from components with extensible interfaces. And they could optionally be distributed objects with remote invocation functionality that would enable them to be discovered and run over a network. True Cairo applications would also support new Cairo interfaces like content filters, smart containers, shell integration, event notification, query interfaces, and the new Cairo help system.
The problem with Cairo was that delivering these technologies on top of NT–which was so slow at that time that critics claimed its name stood for “Not There” instead of “New Technology”–was simply untenable. Worse, Cairo sought to change too much of the system at once. And so the project slowly collapsed under its own weight.
Microsoft’s original schedule for Cairo–a very early pre-release version in Q4 1993, followed by a Beta in Q1 1994, new betas every quarter after that, and a final release on the curiously specific date of October 18, 1994—was hopelessly optimistic given the issues Microsoft faced shipping Windows NT 3.1.
I find this whole thing rather fascinating because most of what Microsoft intended to bring to market with Cairo did eventually appear in future Windows versions, sometimes many years later. (The big exception is the object-oriented file system.) And because this was all invented in 1993, which is 30 years ago. When you consider the technologies that were current in that era—VHS tapes, audio CDs, dial-up modems, and so on—Cairo was remarkably ambitious.
Anyway, I thought this would be of interest. And I’ll get Windows Everywhere published on Leanpub as soon as possible.