The World’s Largest Software Company Killed Two Products This Month & I Hope You Didn’t Care

Giphy: Arnold Schwarzenegger, Celebrity Apprentice on NBC

And we won’t miss them either.

On October 8 & 10, the Redmond, WA based software super-giant, Microsoft, announced the ending of work on and ended support for Windows 10 Mobile (successor to the Windows Phone line) and the J# programming language.

Giphy: Bill Gates attempting something only he knows about.

Send them that-a-way, Gates. Away from you and away from us.

Some Foreground: The J++ Programming Language, Microsoft vs. Sun

For one to properly understand the J# Programming Language, it bears some understanding of the events preceding it’s existence. One must understand how Microsoft® thoroughly ripped off Sun Microsystems®, the previous owner and founder of the Java programming Language. Why don’t we start there

Visual J++

Visual J++ was Microsoft’s shamefully non-innovative Java (v.1) clone. While it “stole” most of Java’s features and conformed to the Java language specification, it was not fully compatible with Java and did not implement all of Java’s features. Thus, Sun considered this infraction a violation of their licence stipulations. Consequently, in 1997, Sun sued Microsoft.

It appeared in the eyes of many (and certainly in my eyes) to be an attempt by Microsoft, standing at the bully pulpit, to take down Java, because it was seen as a threat (and competitor) to native Windows development. By creating a java clone and breaking compatibility, Microsoft could, in effect, fragment the Java development environment which would be very damaging for Java given the ubiquitous nature of Microsoft Windows. These, and other actions like it form part of what is known as “Embrace, Extend, and Extinguish”. EEE is generally seen as a predatory practice by Microsoft to promote unfair competition and use sly tactics to eliminate it. The catch-phrase was coined by the DOJ during Microsoft’s bout with Netscape.

“Paul Maritz also explained to Intel representatives that Microsoft’s response to the browser threat was to “embrace, extend, extinguish”; in other words, Microsoft planned to “embrace” existing Internet standards, “extend” them in incompatible ways, and thereby “extinguish” competitors.” [2]

The situation with Sun became messy and internal memorandums were leaked in court. One such excerpt details a conversation between then CEO Bill Gates and then Java Strategy for Microsoft, Ben Slivka.

“Mr. Slivka goes on to ask if Mr. Gates’s concerns included ‘’How do we wrest control of Java away from Sun?’’ and ‘’How we turn Java into just the latest, best way to write Windows applications?”[1]
“According to one of Sun’s motions, unsealed by a Federal District Court in San Jose, Calif., today, Microsoft wrote in a pricing proposal that it should ‘’kill cross-platform Java by growing the polluted Java market.” [1]

Given the awareness of an existing Microsoft strategy, “Embrace, Extend, Extinguish” and evidence that Microsoft pointed towards Microsoft plotting to take down Java by “growing the polluted [Java] market” (Embrace) with an incompatible implementation (Extinguish) and provide said implementation on Microsoft Windows by default (Windows was ubiquitous at the time and was the de facto personal computing solution), many opined that Microsoft’s predatory intentions were obvious.

Also, the implementation of J/Direct instead of the JNI by Microsoft in the MJVM (Microsoft Java Virtual Machine) meant that J++ applications could outperform Java on Windows. Native bridges such as the JNI were used because Java 1.1 provided speed that was considered insufficient for many business needs. In fact, Sun supported the use of the JNI early on to directly address this. Because Windows was the de facto Operating System for most PC/Business functions at the time and J/Direct directly interfaced with Win32 APIs, this meant that Microsoft could not only fragment Java development environment, but it could effectively control it, by building a faster, incompatible JVM that probably would have became the preferred solution by developers given the speed advantage as well as the fact that it (would have) shipped with Windows 98. All these actions could effectively slow the progress of Java development.

There is another side to the debacle, however, as leaked memorandums proved Sun’s intentions as well — to provide a proprietary system and (possibly) to sway favour away from native windows development. While Sun reserved the write to update the terms of their license, one could argue they did it to compete against Microsoft.

“… Microsoft cites an E-mail from David Spenhoff, Sun’s director of marketing, that states, ‘’Microsoft was smarter than us when we did the contract.”[2]
“In another instance, Microsoft points to notes from an internal meeting at Sun, in which its former chief technology officer, Eric Schmidt, now chief executive of Novell Inc., ‘’plots to evolve Java’’ into an operating system to compete with Windows.”[2]

“The bottom line, said Mr. Cullinan, is that ‘’Sun continued to try to rewrite this contract because they are trying to prevent us from delivering the best and fastest Java implementation in the marketplace.’’ [2]

All in all, the evidence of “Embrace, Extend, Extinguish” was perhaps too blunt and too compelling, despite what one may have conjectured about Sun’s intentions and the courts side with Sun. Java was never again shipped with Windows.

“Under the settlement, Microsoft will pay Sun $20 million and is permanently prohibited from using “Java compatible” trademarks on its products, according to Sun. Sun also gets to terminate the licensing agreement it signed with Microsoft.
For its part, Microsoft is permitted to use a version of Java in Microsoft products that already contain it, or that already are in the testing phase, for the next seven years, according to the company.” [3]

The J# Programming Language

In comes the relevance of Microsoft’s second Java clone, J#. Each subsequent clone looks less like Java, nevertheless the semblance of Java is painfully obvious. Another excursion by Microsoft into non-innovation and copycat work, J# was created to bring folks using Java and J++ to the .NET platform. It provided support for Java byte-code, easing the transition to .NET from Java and their original java clone.

Microsoft needed a way to benefit from their java clone. They needed J# to get folks who had bought into J++ onto their platform.

As aforementioned, each iteration is less like Java. J# added other features, which became an intellectual dumping grounds, of sorts, to test features found in the next java clone Microsoft created, C#. While C# is extraordinarily similar to Java and builds off of the mistakes that engineers made with early Java, it is, as I have early stated, containing less semblance of Java as it’s predecessors, J++ and J#. Also, Microsoft has innovated very heavily and successfully in C#/.NET adding a bevy of features and capabilities that every Java engineer should be jealous of; It is a very capable programming language, one that I admire.

Support for the last release of Visual J# ended on October 10, 2017. [4]

I won’t miss this paltry jaunt into .NET migration from a java clone and neither should you. Nevertheless, if you want to learn more, check this article out.

The Windows 10 Mobile Operating System

The Windows 10 Mobile Operating System that is part of the Windows Phone family of mobile operating systems created by Microsoft.

I’m willing to bet that might have been aware of it, having seen one or two models at some obscure corner in the edge of your favourite wireless carrier’s store.

As of the latest numbers, Windows Phone was tumbling to a disgraceful halt.

Statista: Global mobile OS market share in sales to end users from 1st quarter 2009 to 1st quarter 2017

Perhaps Ballamer (former Microsoft CEO) is to blame for not leading Microsoft into productive innovation in Mobile. Folks will be surprised to know that Microsoft was ahead of the game with tablets and mobile phones and Bill Gates long knew that for Microsoft to continue to dominate it would need to have a hand in mobile.

Early versions of Microsoft’s mobile software, missed the mark by attempting to jam the desktop Windows Operating System onto a mobile device. It was cluttered and inefficient. Microsoft failed to innovate at a competitive level in the mobile arena and companies like Apple and Google (who acquired and actually did not invent Android) did innovate and Microsoft was left behind. With the smartphone revolution, iOS and Android became globally dominant, virtually erasing former market leaders like Symbian and RIM as worthy competitors. For many reasons, perhaps most notably the overtake by mobile platforms as the #1 means to access the internet above more traditional Desktop platforms, Android went on to become the most dominant operating system in the world, replacing Microsoft Windows. Had Apple not been able to penetrate the mobile market with the iPhone/iOS, they would likely never gone on to become as profitable as they are now and wouldn’t even have been a shadow of their current presence. Mobile was that impactful.

While Microsoft began to produce some useful innovations in mobile mobile technology,it was too little too late. The incumbent effect was already in place and even with solutions like Xamarin, which Microsoft hoped would bring people to Windows Phone because it offered a Cross platform development solution (Windows Phone, Android, iOS), it became too difficult and too costly to convince developers and companies to develop for Windows Phone.

However you slice or dice it, Microsoft did not innovate effectively early enough and Windows Phone was a bust.

R.I.P, My old Windows Phone

In acknowledging their inability to be a viable competitor to Android and iOS, Microsoft’s Joe Belifore officially waved the red flag on October 8, 2017. [5]

Interested in Java? Join my Java group on Facebook:

Like my Content? Subscribe to my mailing list:

Don’t forget to give it a…. ;)

IEmoji.com

Works Cited

[1] —NY Times: Memos Released in Sun-Microsoft Suit

[2] — DOJ Archives: “Microsoft Engaged In A Predatory Campaign To Crush The Browser Threat To Its Operating System Monopoly”

[3] — C|Net: Sun, Microsoft settle Java suit

[4] — The Visual Studio Blog: End of Support for Visual Studio 2008 — in One Year

[5] — The Verge: Microsoft finally admits Windows Phone is dead