It might not be news to younger software developers but I believe Microsoft is really turning over a new leaf.
I truly became convinced of this when Microsoft recently announced a new cross platform software development tool called Visual Studio for Macintosh.
When I first read about this announcement, the old Microsoft that I knew back in the 1990s and 2000s was truly gone, and replaced by a newly transformed company with a completely different strategic mindset.
In order to understand why Microsoft is changing, it’s necessary to understand what they were like as a company during their meteoric rise as a global software development powerhouse.
Back during the dawn of the personal computer revolution, in the 1970s and early 1980s, the computer landscape was a sort of free for all by many companies aiming to dominate the computer market.
After all, it was a brand new market filled with endless opportunities for hardware and software companies to make their mark in this burgeoning new marketplace.
Apple Computer really broke ground in the personal computer market with their Apple II personal computer, and opened the floodgates for consumers who could suddenly buy a relatively affordable computer, that was unthinkable even five or ten years previously.
Other companies quickly followed suit, offering their own computers and software. Atari. Commodore. Tandy. And a bunch of other companies, vying to make their mark in this new market. It was a new digital gold rush.
But when IBM, the behemoth maker of big mainframe systems that dominated the enterprise world, decided to get into the personal computer market, everyone saw the writing on the wall … they were going to dominate the personal computer market.
And indeed they did with the 1981 introduction of their IBM PC computer. It quickly sold and dominated the entire market.
To this day, the computer market is still dominated by the legacy of IBM and their brand and offshoot of personal computers.
However, it wasn’t IBM who dominated the software industry, as many expected.
An obscure little company in Albuquerque, New Mexico, cofounded by a Harvard dropout by the name of Bill Gates, landed a deal with IBM to license their operating system called MS-DOS, which was to be bundled with every IBM PC computer sold in the marketplace.
This licensing agreement, helped to propel Microsoft into a multibillion dollar company.
During the 1980s and continuing into the 1990s and early 2000s, Microsoft took advantage of the dominant IBM PC marketplace by creating and marketing software for that platform.
It was a near perfect partnership … and when Microsoft developed their Windows operating system, it cemented Microsoft’s reign as the king of software developers.
With Windows and their Office productivity suite, nearly every computer on the planet ran Microsoft’s software.
Microsoft knew that by targeting the IBM personal computer market, they could reach the most number of consumers and maximize their profit margins. Additionally, if they wrote software for their Windows operating system, it couldn’t help but protect and grow the dominance of their Windows operating system as well.
Bill Gates knew that their Windows and Office software were the primary moneymakers for Microsoft. He knew in order to help protect and grow their dominance, they had to attract as many software developers to their Windows and Office ecosystem.
They did this by creating high quality software development tools that helped make a software developer’s job easier.
I remember using Microsoft development tools at my first professional programming position, Microsoft Visual Basic.
I was very impressed by how quickly it allowed me to create fully functional software applications for our company’s needs. It eliminated the need for us developers to have to write the same boilerplate software code that every application needed.
Things like buttons, text inputs, dropdown controls. It also saved us time with the rich software libraries it came bundled with. Libraries to print things out to a printer. Or connecting to a relational database.
The less time we had to spend “reinventing the wheel”, the more time it gave us software developers to concentrate on the important business requirements of our applications.
Microsoft even dubbed their development tool “RAD”, which was short for Rapid Application Development.
Microsoft has never wavered from the philosophy that in order to continue keeping consumers attracted to their Windows operating system, they must continue to attract third party software developers to their software ecosystem.
Up until recently, there was one catch to using Microsoft’s development tools, and that every developer had to understand and agree to … when you used Microsoft’s developer tools, you were writing software that targeted either Windows operating system or one of Microsoft’s applications.
It was why you never saw Microsoft release developer tools for other platforms other than Windows … you never saw Microsoft help software developers write software for the Linux or Mac operating systems.
As previously mentioned, Microsoft’s number one priority was to protect the hegemony and dominance of their crown jewel, Windows. Anything that detracted or potentially threaten that dominance was a big no no.
And for many years, this strategy of protecting Microsoft’s Windows dominance and market share worked.
That is until two things came along that posed a true threat to Microsoft’s operating system dominance.
1. The internet
2. The mobile smartphone
The introduction and rise of the internet was a true digital revolution for the world. Any computer, regardless of what operating system it came bundled with, could connect to the internet. It didn’t matter if you had a Windows PC, a Macintosh or Linux computer.
As long as you had a web browser, you could connect to the internet and run internet applications that didn’t care what underlying operating system your computer ran on.
Suddenly Microsoft’s dominance in the operating system world was under threat. New companies made their own fortunes with the rise of the internet, in particular, Google.
Google made their fortune writing software specifically for the internet. Things like Gmail, Google Maps, Youtube, and of course, their primary money maker, their Google search engine, which makes money by internet driven ad revenue.
And because of the true cross platform nature of the internet, companies like Google don’t need to rely on anything that Microsoft has to offer. They build their software and use the cross platform nature of the internet and web browsers to deploy their software instantaneously.
The second big revolution was the rise of mobile smartphones. In 2007, Apple introduced their smartphone, the iPhone. It revolutionized the way we used mobile phones and made smartphones a huge platform for software development.
Suddenly you could use your smartphone to do things you traditionally had to use on a full desktop computer, that most likely ran Microsoft Windows. Things like online banking. Checking your e-mail. Chatting online with others. Checking your social media accounts like Facebook and Twitter.
With the power of smartphones, suddenly millions and probably billions of people on the planet could use the power of their smartphones and the connectivity of the internet to run world class software.
The rise of these two digital revolutions has caused major concern for companies like Microsoft.
Microsoft can no longer rely on their Windows operating system and Microsoft office suite software to continue growing the revenue in their company. Of course, they still provide massive revenue in the billions of dollars to their bottom line.
But the internet has truly become the world’s new operating system. A company no longer needs to run their software on Windows. You can write software on pretty much any operating system that has internet connectivity. That could be a Mac. Or UNIX. Or some flavor of Linux.
The same goes for mobile platforms. You can write software for Android or iOS, the two most popular mobile smartphone software platforms on the planet, and not have to write a single line of code targeted towards Microsoft.
Microsoft’s new CEO, Satya Nadella, recognizes this as well. He is busy looking for new areas of growth revenue for his company, realizing that Windows and Office can’t sustain them on a growth path forever.
He’s pushing hard at monetizing cloud infrastructure with their Microsoft Azure platform. He recognizes there’s huge growth potential in moving enterprise software to the cloud, as Amazon is doing successfully with their Amazon Web Services platform.
Slowly, but surely, Microsoft is opening up their software development toolsets to work on other platforms besides Windows.
But Microsoft went even one step further with the recent release of Visual Studio for Mac.
Visual Studio code allowed you to write internet applications. But you couldn’t write applications for the desktop. Or applications on smartphones.
But with the recent preview release of Visual Studio for Mac, you could now write iOS, Android or Mac OS platforms using Microsoft’s C# programming language.
Never before has Microsoft allowed software developers to write software that wasn’t targeted to Microsoft’s Windows or Office suite platforms. This was a truly amazing announcement, to anyone who has been developing with Microsoft’s toolset for years.
So why on Earth would Microsoft allow software developers to write software that wasn’t targeted to Windows or Office?
My belief is Microsoft wants to continue to attract new software developers, even if your intention isn’t to target Windows.
What I believe Microsoft is doing is encouraging developers to host their applications into their cloud infrastructure, Azure, where they can take advantage of hosting revenue opportunities.
They know the developer base beyond Microsoft developers, is significant … that means more potential revenue opportunities into the Azure ecosystem. Where do they go from here?
Releasing their core developer tool suite to the Mac was certainly a significant first step. But could releasing Visual Studio for Linux, the second biggest software platform on the planet, be next?
For those who find that hard to believe now, just think about all the new software that Microsoft developers will soon release on the Mac platform and ask yourselves again, how far fetched it will be to see the Linux platform not too far behind in a future Visual Studio announcement.