Competing with Steve Jobs (the first time)
hardcoresoftware.learningbyshipping.com
hardcoresoftware.learningbyshipping.com
I am waiting with a bit of excitement to the next chapter.
In that chapter he is introducing Bill Gates to the Internet(!) That got to count as a special day at work.
So far the chapters has been released like maybe twice a week. Now there is longer-ish pause since the previous chapter was released. The conspiracy theorist in me think the pause could be BillG that wants to review that chapter before it is being released. Just a guess to why there seems to be a small pause in the release flow or maybe it is just me being impatient:)
There's no prior restraint--no one is reviewing this and there are no constraints on what I am writing
(all of this as per the Author note and introduction)
Meanwhile academic networks were building the real future, but it wasn't quite there yet. Early services were built on either completely unstructured single-purpose tools like FTP and Telnet, or hierarchical systems like Usenet and Gopher. Web Browsers did exist, but the interconnected webs of documents was only just getting going, and web applications were still in the future.
A year later Bill's first edition of his book, The Road Ahead, only mentioned the World Wide Web in passing and didn't see it as particularly significant, but even in the few months it took for it to be edited, laid out and printed the situation had changed. Internet services of all kinds had been on an exponential growth curve for a few years, but the exponent for the web was so high that in those months the book became obsolete and even early reviewers knew it.
It was an incredible time to be on the internet. I was lucky enough to have used Janet, the UK Joint Academic Network and our equivalent of ARPANET, in the late 80s. I had a telnet account into a University from work in the 90s, and first accessed web sites using a terminal based browser called Lynx.
The Cornell memo is important because it shows how disconnected communities of technologists were back then. If you were on the Internet and using Gopher and the Web, the growth rate and explosion of new resources and services was obvious. It was every day. You couldn't understand how people in Microsoft or IBM didn't realise what was going on. I was on both - 'state of the art' proprietary business networks at work and the nascent Internet. If you weren't on the internet at the time, what was actually happening was inconceivable.
Even years later I watched gobsmacked in 2000 when AOL bought Time Warner. It was just staggering to me, and many other like me, that anyone credibly though AOL was at all still relevant. But the seeds of that irrelevance were being planted and growing green shoots even back in 1994 in places like Cornell. It really was a pivotal moment.
But reading this you can easily understand how MS didn't understand what was going on. I've never been a fan of MS culture or MS products, and this insider view hasn't changed that.
While I realise it's a first person account, it doesn't answer obvious questions - like how how Windows got to version 3 without a class map, or some proto-equivalent.
Or if it did have one, why the Tools team thought they could write development tools for Windows before 3.0 without abstracting it, or referencing it, or something that wasn't in direct competition with it.
Or why anyone would think that building generic yet somehow also OS-aware tools in a moving target language like C++, that were equally suitable for DOS, OS/2, Windows, and maybe UNIX too, was even feasible, never mind a good idea.
And so on. More questions than answers. I'm much less interested in the fact that Sinofsky bought some t-shirts or worked out that shipping matters than in the decisions - or sometimes the lack of them - made in the background.
Given all of that - perhaps it really wasn't a surprise that MS couldn't see what the Internet would become in 1994, even though a lot of other people could.
Windows 3.0 wasn't object oriented. It was written in assembly and C, so there weren't any classes to build a class map from. I know, it's hard to believe these days, but that's why the Tools team and in fact almost everyone else implemented their own GUI controls.
The same was also true of MacOS. The Xerox Parc people did demo Smalltalk to Steve Jobs, but he was too bedazzled by their GUI work to notice. It was only later he realised how important object oriented software was, and ran with it at NeXT.
In fact this difference is even visible today. NeXT built their OS GUI layer up from low level object oriented frameworks and these are what you use to build applications. The entire structure of the OS is oriented around enabling the creation of applications. The modern Mac of course inherits this approach. On Windows the OS is mainly services applications can use. There is of course a suite of GUI controls and components but they're very basic. Microsoft's developer tools are a different silo, in fact several silos. That's why they are forever coming up with new fancy GUI frameworks sitting alongside the native controls like MFC, .NET Forms, WPF, etc. Now they've finally given up and adopted Electron.
But of course this was all pre-WWW. And in those days it was mostly scientific institutions, schools, and research centres that were online. There was no advertisement allowed, and there just wasn't commercial activity at all.
It is so sad what happened to Borland. Delphi was so cool till they did the Delphi.NET abomination.
It somehow lives on on C# (by the same main developer).
Borland C++ was also so much better than Microsoft C++.
I wonder why MS didn't try to buy them, maybe it had something to do with the antitrust case.
Also, I was a junior at a startup avant-la-lettre in the early 90ies and we used Watcom C/C++ for OS/2 and Windows development. IIRC, because it supported 32-bits. Did the Zortech compiler support this?
Zortech came with its own 32 bit DOS extender.
Microsoft and Borland were for the common man that just wanted to write C++ apps. No one was running NextStep in their parents garage.