The Developer and Microsoft

Anyone who has followed Microsoft as a company would know that probably the biggest reason for its storied success is not the Windows operating system, but the ability of the company to get developers to write applications for the platform. At the end of the day it’s not what end users do within Windows but it’s the applications that they use that run on Windows  that make day-to-day life easier and more productive, that is the value of Windows.

The history of the developer and Microsoft is a colorful one.  It is one I have been around for the last 20 years.  When I first started at Microsoft the idea of Object Oriented Programming was just starting to surface.  Just not yet at Microsoft.  We were still shipping Basic 7.0 and C 6.0.  We had a Fortran, Cobol and Macro Assembler.  The company that was setting the development world on fire was Borland, lead by the charming and belligerent Frenchman Phillipe Kahn.  They were at the time possibly the biggest threat to Microsoft.  I remember at my first company meeting in th e Kingdome Bill saying that for a short period had Borland played their cards right they could have started defining some of the API’s in Windows.  As was so often the case Microsoft competitors at the time rarely could see very far and usually fell on their face.  Not long after Microsoft would launch C/C++ 7.0 and Visual Basic 1.0 and all would be good again in the developer world.

When we launched C/C++ I remember attending a Product Manager session where he equated a presentation on C/C++ to watching paint dry.  It was probably true but I did learn how to write “hello world” in C++.  The other thing about the product was the box it came in was huge.  It was a bunch of disks with about 100lbs of books.  It was a workout just to haul it to your car. 

Not long after the introduction of C/C++ 7.0 Microsoft would launch Visual Basic 1.0.  This was a big deal for developers and even as someone who was new to computing at the time this was something I could understand.  If you have to create the same object over and over again, why not create a template (or object) where all you do is settings (object size, line style, color, fonts etc..) .  You still had to write code around these object but in theory you would write less code, in particular that mundane code you wrote over and over again.  The developer could focus then on the truly creative stuff.  Visual Basic would be a huge success and lead to follow up releases and a ton of 3rd party add ons for VB, thus creating a new industry.

The first big change in development took place when Sun Microsystems release Java.  Sun to their credit saw that the development world was becoming one that wrote to Windows and they set out to stop it with the release of Java and the Java Virtual Machine (JVM).  The theory behind the JVM is it would talk to the underlying OS (Windows and many flavors of Unix), the developer would just write to the JVM and not worry about the OS.  In theory nice but the problem is Operating Systems are always being upgraded and therefore instead of write once run everywhere it became write once and debug everywhere.

The second big change and it was a big change was the Internet.  The reason was you view the content on the internet through your browser, not the operating systems.  What does this mean?  To write an internet application you do not need access to the WIndows API’s.  The Windows API’s are not as important as they used to be.  In fact today about 80% of the Windows API’s are not really used.  I have heard of some people at Microsoft calling this a opprtunity.  I call it a catastrophe.  But in all honesty can anyone imagine starting a business today and not having a web page? a commerce site?

I was in San Jose at a bar once chatting with my friend David, the Cisco Account Exec for Microsoft and the PM for Microsoft C++, we’ll call him Boris.  I remember Boris saying that  the data they had said that 75% of development is web development, 20% is Windows and 5% is other.  At the same time we were seeing a significant uptick in market share for non-Microsoft browsers (Firefox, Safari, Opera etc..this was pre-Chrome).  You were also seeing things like Adobe Flash take significant hold of the market, a technology that was non-OS dependent and could run in browsers that ran on Linux, Windows or the MAC OS.

Another interesting thing was the rise of scripting tools like Ruby on Rails and PHP.  Easy way to explain this is developers who get a degree and learn how to write “proper” code and compile code would never touch this stuff.  However for the guy that wants to pick up a book and build a website..this was the way to go  the last few years of sales calls I did these scripting tools came up again and again.  After I was let go by Microsoft my friend David would call and say he talked to a bunch of “scripters”, he could not bring himself to call them developers.  They don’t know what a compiler is.

Finally in my last role at Microsoft selling development tools it was increasingly apparent we were not taking share from our competitors and getting them to move off of Java.  We were simply trying to up sell our customers on the latest licensing scheme.  There was no effort from a sales and marketing standpoint to go after competitive platforms.  We did do programs to go after the weak companies who were being sold or in danger of bankruptcy (Borland, Mercury etc..).  Go after Open Source tools??…please.

So what is my final analysis?  After all this is the week of the Microsoft Worldwide Partner Conference.  It is apparent based on what I have read that Microsoft wants to regain control of the API’s through its cloud platform Azure.  And to its credit it is doing some cool stuff for consumers by creating the private cloud.  But I will say it is still early and Microsoft is behind in the cloud space to companies like SalesForce.Com, Amazon, Google and Rackspace (I was the account exec there for 6 months during the dotcom days).  From a pure development standpoint Microsoft needs to start fighting the hard battles in particular in eth enterprise wheer Java is king,  They need to figure out how to play and attack Open Source.  Finally Microsoft need’s to embrace scripting technologies rather than tippy toe around them. 

In the end developers go where the market takes them. A few years ago the language Object C was around the 45th most popular language to develop in.  Enter the iPhone and it is now in the top ten,  Similar to the 90’s and Windows.  When Windows took off so did the development languages (VB, VC++ etc..).  If Azure takes off so will Microsoft dev tools but if it is another cloud platform….well that is another blog.

Good Night and Good Luck

Hans H Hoffmann June 15th San Francisco, CA