Friday, 28 December 2012

Microsoft's broken compass

I used to be a Microsoft's software user, dating back from the 80's. One of those that would prefer a Microsoft software tool over a more powerful one from the competition. The reason was simple: I relied on Microsoft to keep improving. I knew that the next version would be better, and that the user interface would always be more logical and productive (usability efficiency). But this is on the past, a distant past.

Back then, the Microsoft's compass pointed at the right direction: productivity. Each product iteration would assure more productivity for the user than the previous iteration.

This compass got broken in the beginning of the XXI century, when Ballmer replaced Gates. Since then, marketing and eye-candy is taking over user productivity concerns.
This was bad, but it got worse. The bearing got erratic. Nowadays no one can be sure for how long a given Microsoft technology bearing will keep on the same direction.

Many examples of this erratic bearing are available.
Let's remember a few of them.

Database access is one of those erratic bearing. We had/have ODBC, ADO, ADO.NET, OLE DB, DAO, RDO, SQLXML, MSDASQL, JRO, and so on. Really?! Really!

Another erratic bearing is the mobile platform. Windows CE/Mobile was killed without a proper burial. Was left to die. Windows Phone 7 was born as a new mobile operating system. Microsoft then criticized Android as being a fragmented mobile platform. Windows Mobile was no better. Windows Phone 7 was made as a promise of being an always up to date platform. Yet, this turned out to be even worse than Windows Mobile. Windows Phone 8 came along. WP7 devices cannot be upgraded to WP8, and WP8 apps can't be used on WP7. Worse than that, the WP8 has an entirely different way for developing apps (Silverlight was used on WP7 apps development,  which is currently dead, killed by Microsoft). This means that existing WP7 apps must be recoded for WP8. And it's even worse, as this effort must also be made for Windows RT (and on Windows 8 for the "metro" UI), as WP7 and WP8 apps can't be run on Windows RT. So, if a developer wants to develop an app for WP7, WP8 and WRT it will have to code three different apps, using three different technologies. WP7 users will pretty soon lose new apps and/or updates for their WP7 platform, being forced to buy a new device and new apps. WP7 is dead, less than 2 years after its birth. How long until WP8 death?

Microsoft Silverlight is an even better example for this erratic bearing. Silverlight was launched by Microsoft in 2007 as an alternative to Adobe Flash. At this time Flash was under severe criticism, as it was for many years, and was regarded as being evil. Seven years earlier, in the year 2000, usability guru Jakob Nielsen wrote "Flash: 99% Bad". Of course, all criticism on Flash also applies to Silverlight. For five years Microsoft pushed this future-less technology, and many naïf professionals embraced it. It was the main technology for apps development on the Windows Phone 7, and it's now dead on Windows Phone 8 (and everywhere else, for that matter). Also many customers allowed it to be pushed down their throats, and in the end they choked on it. Microsoft ended Silverlight abruptly, leaving all projects based on it without any future... and present. Those that still embrace Microsoft technologies were left alone without any kind of warning. We can see how Microsoft dealt with this on "Microsoft pulls the plug on its Silverlight.Net site". Yet, even with a ten year support, the death of Silverlight means that newer platforms won't bother implementing a client for it (most wouldn't bother even before Silverlight's death). This forces current implementations to shift, spending even more funds immediately after an investment on projects based on a future less Silverlight technology, as it happened to my Spanish neighbours on "The death of Microsoft’s Silverlight and the Spanish SIGPAC".

Silverlight also had some criticism for not implementing some Open Standards, like SVG. This is consistent with Microsoft's other problem: "relationship" with standards. Ever since Microsoft's market dominance that it uses standards as a weapon to enforce its monopoly strategy. Microsoft uses its dominance to enforce on the market some proprietary standards, and then these are used to support the monopoly. Users are lead into adopting a format, and then they can't abandon Microsoft technologies and products, because they have a huge amount of contents and data on this format. This became so important to Microsoft that they even felt the need to play Open Standards on their behalf, which led to the concept and practice of "embrace, extend and extinguish". Finally, they keep this going by dropping old standards in favour of new ones, on more of the same erratic bearing.

This standards manipulation was pretty obvious on Internet Explorer and IIS. And here is where it started to went wrong for Microsoft. Web developers were not keen on the need to develop browser-aware web sites. A succession of events lead to the demise of Internet Explorer. The Microsoft's browser engine (Trident) suffered from many bugs, security exploits, and poor performance, which lead to some successful browser projects, notoriously Gecko (Mozilla's Firefox) and Webkit (used by Apple's Safari and Google's Chrome), which are faster, more reliable, and stable. Along with that, European Union required that the Windows OS should present the user with a browser choice. Currently, Internet Explorer is no longer the most used browser. All other browsers were committed to the development of the new HTML5 standard, which Microsoft had to comply after losing its dominance (which also lead to Silverlight's death).

Microsoft stepped on too many toes for too long, and it's starting to pay the bill. Other suppliers became more attractive for their reliability. Together with a set of other contributing factors, the Windows Phone flagged the general feeling towards Microsoft's years of abusing its users. Adopters of the former Windows Mobile suffered for years the general instability of that platform, and the nuisance of warm boots and hard resets. Also, Apple and Google reached critical mass for the network effect of their platforms (iOS and Android), long before Microsoft's Windows Phone launch. WP7, also based on Windows CE as Windows Mobile, managed to stay more stable at the cost of restricting apps to fully multi-task. There were also many other missing features at launch. As expected, as new features were introduced by updates, the system became more unstable. To make matters worse, Microsoft decided to step on some more toes, and launched the Windows Phone 8 not making it available as an update for WP7 users. On top of that, Windows Phone users lack many apps available for iOS and Android, as many developers don't even bother to develop for Windows Phone.

Microsoft might have also wasted a chance on tablets. Apple and Google haven't yet reached the required critical mass for the network effect on tablets, so Microsoft had a chance here. Basically, it's making the same mistake it did with the Tablet PC. On top of that, it launched its own hardware line with a set of fatal design faults. We'll take a look on the Tablet PC mistake further on, for now let's deal with the hardware design faults. There are two major versions of the Surface tablet, the RT and the Pro. The Pro version uses an INTEL processor and is able to run Windows 8 (and regular Windows applications), while the RT uses an ARM processor (as do iOS and Android tablets) and runs Windows RT (being only able to run RT apps available trough the apps store). The major design faults on the RT versions is that the battery capacity is lower than the equivalent competition (less autonomy), and the OS and installed apps takes up too much of the available storage space. Common to both RT and Pro versions is the fact that these are being marketed as being able to use the MS Office, and thus the available keyboards (Touch and Type). The problem is that these keyboards have a very floppy connection to the tablet (and also peel off there), not being able to support the tablet, hence the stand on the tablet (which doesn't allow for any kind of tilt adjustment), making these tablets usable only as tablets (without keyboard) or as desktops (sitting on a table), being very awkward to use as a laptop (if usable at all). On top of these, the Pro versions have even worse design problems. The battery capacity is on par with the competition that uses ARM processors, but using an INTEL processor the battery life is reduced to half or less. This processor and consumption also means heat, thus the venting grille. This means two problems: uncomfortable to held as a tablet because of the heat (might be a plus for the winter days), and might be noisy due to the venting fans.

UPDATE on April 4th 2013:
Surface Pro owners experiencing overheating issues(an "I told you so" is in order)

The Tablet PC mistake is called Windows 8. Windows RT should be the only touch interface operating system for tablets. Windows 8 should have remained a desktop/laptop only OS, without the touch interface component. What Microsoft failed to understand (or it didn't, but wants to trick its users) is that it failed on the Tablet PC, and Apple succeeded on the iPad, because Microsoft tried to use a desktop OS and applications on a touch interface, where Apple designed a touch interface specific OS and applications (apps). The touch interface is more capable (than a keyboard/mouse combination) for a set of operations, usage and purpose, but it's worse for other types of usage. So, there are a set of applications that don't work well on a touch environment, like word processing, spread sheets, programming, and everything that requires a keyboard and/or a pinpoint and steady pointing device like a mouse. This type of applications are desktop/laptop applications, and require a good (productive, efficient, usable) desktop OS. Apple realized that, and didn't make the same mistake that Microsoft did with the Tablet PC. Apple maintained it desktop OS (OS X) and developed a new one specifically for touch interface and applications (iOS). Two different operating systems (interfaces and applications) for two different purposes and usages. Microsoft should have learned this from Apple. Worse, should also have learned this from two Linux projects that pissed off users: Gnome 3 and Unity. The result was the loss of leadership, where Ubuntu and Fedora were in the lead when using Gnome 2, they now have fallen to 3rd and 4th place (Ubuntu gone from 1st to 4th place, 1st before switching to Unity, and 4th on December 2012 behind 3rd Fedora, 2nd Mageia and 1st Mint). On a side-note: many articles suggest that these interfaces are better because they have less criticism... the reality is that users are gone for good to other interfaces, therefore they just don't bother any more. The Windows 8 can even be worse than this, as Jakob Nielsen puts it on "Windows 8 — Disappointing Usability for Both Novice and Power Users". Microsoft should have never scrapped the Windows desktop OS usability to use it as a weapon on the touch interface war. Microsoft has no chance on winning this war, and might have just killed its golden eggs goose. Corporations will take a pass on this OS has they passed on Vista, and many didn't even bothered to switch to Windows 7 and still use XP. When XP support ends for good, corporations will move to Windows 7 instead. Worse than that, non-corporate users aren't buying/using it either.

The Windows 8 touch interface has yet another problem known for decades. Touch screen interfaces are not to be used on desktops / laptops. It's due to the so called Gorilla Arm syndrome. The touch screen (capacitive) concept  was developed on 1965, and touch screens are available since 1973. There is a good reason for these not to be used on a desktop / laptop productive environment (except for applications that require little user interaction, like Points of Sale), humans aren't built to have their arms extended horizontally in mid-air. For the same reason, light-pens also didn't replace the mouse and keyboard. There are a few articles on the subject that are worth reading.
Why Touch Screens Will Not Take Over
Tetris, Torture, and the Gorilla-Arm Problem
Or you can Google about it.

The mistake on crippling Windows 8 usability, to favour Microsoft on the touch interface war, might kill Microsoft's golden eggs goose. There is a set of circumstances that might make this small bet a high stake gamble. From the top, we have the economical and financial crisis, and this affects budgets for corporate, non-corporate and public sector customers. From one side, the public sector and governments are counting pennies to reduce budget and deficit. Measures are being taken by the EU governments to adopt Open Standards, opening the path to Open Source software solutions. While some, like the UK and Portugal, have recently made legislation towards Open Standards adoption, others already have switched to Open Source solutions, like it happens in Munich and Extremadura. From another side, the Open Standards adoption by governments will add pressure (to the pressure of reducing IT costs) on corporations, that have contracts with the public sector, to make the switch sooner. From the bottom, Microsoft itself assured its own pressure to corporations to move away from Windows by changing its desktop OS to favour a touch interface (not usable, inefficient and/or unproductive for the majority of corporations).

Microsoft has lost its bearing ever since Steve Ballmer stepped in as CEO. Many mistakes were made by Microsoft in the last 10 years, but this one might reveal itself as the biggest one. Shareholders have seen no growth on their shares value on the last decade, and they urged Ballmer to step down. Ballmer as already been dubbed as the worst CEO, and some say he should be fired. By the flat line on the stock market, Microsoft's seems dead since Ballmer took over as CEO, and someone says that Microsoft is dead since 2005. Depending on what death means to a corporation, one fact is quite obvious: Microsoft is no longer a leader, it became a follower.

Using Microsoft's technologies is no longer an asset or assurance, it's a risk and liability.

No comments:

Post a Comment