Understanding the source
For every app that exist on mobile devices, there is first some programming language that are to be used to develop them. Each programming language comes with its own lineage, not only associating it to the type of world that preceded it but also to a certain worldview and philosophy.
For example iOS, which powers iPhones and iPads, is based on Darwin, the same Unix flavor that serves as the core for OSX, which powers all Apple computers. Apps that run on this operating system are written in Objective C, a language that is philosophically based on the idea that it encompasses all that one may need. Both Darwin and Objective C have a long history of being closed system, initially starting up under Steve Jobs’ tutelage at Next and eventually serving as the tools he leverage to reboot a Moribund Apple. But Jobs also believed that a closed system, primarily managed by its caretakers, was the best way to offer the ultimate experience for consumers.
By comparison, Android is downright bohemian. At its core, Android is a flavor of Linux, the open-source operating system, that has been optimized to run on mobile devices. As such, it is based on a concept of openness and extensibility. Furthermore, applications that are developed to run on it are written in Java, a programming language that was initially seen as a way to make developed application run anywhere. Born from this maelstrom of ideas, one could safely assume that Android is the language of the free, the open, and the ones willing to work together to create new things.
And then there’s Windows Phone. Windows Phone is a mobile operating system currently going through a bit of an identity crisis. Initially based on Windows CE, the consumer electronics edition of Windows, Windows Phone is now heading to merge its core with Windows 8, the next generation of the operating system. Desperate to be loved, Windows Phone is trying to give everyone a chance to develop for it. On the low end of game development, developers can used Silverlight, which was initially developed as Microsoft’s competitor to Adobe Flash. On the higher end of the platform, Microsoft is trying to appeal to more serious game developers by letting them leverage XNA, the programming language structure aimed at Microsoft’s Xbox gaming machine. Meanwhile, other applications can be written using Microsoft’s popular Visual Basic.net language. In version 8 of the mobile operating system, Microsoft will merge leverage a new model called the Common Language Runtime (or CLR for short). The idea is that applications written for the PC version of Windows 8 could easily be ported to run on Windows Phone 8. In that sense, Windows Phone is kind of like the corporate guy that wants to look cool and will do anything he can in an appeal to be liked.
Developers, developers, developers
To date, Apple has largely dominated the mobile world because it has appealed to a set of developers who have found new fortune thanks to the success of iOS driven devices. Initially, the first developers for those platforms were people who had developed primarily for Macintosh computers.Their early success, and the success of the iOS platform led more people to be attracted to the platform.
Along the way, though, this has led to much frustration from other developers. Because Objective C is very different, in terms of approach, from other modern programming languages, many developers have been annoyed by the success of the platform. A lot of that frustration was brought to bear when Android was first presented as an alternative to iOS.
So a developer war over the last few years started to rage between iOS developers and Android developers. But these fights were largely between two factions of the same family. At their core, both Java and Objective C come from the same parental roots, a programming language called C.
Meanwhile, there has bene a group of developers that has largely been ignored. And that group of developers feels that it has gotten absolutely no respect recently. This group was once among the high and mighty priests of computing, responsible for most of the popular programs in the world. For a decade, however, their power has been eroding. The move of software from desktops to the web has not favored them as most web programs were written using languages like Java, PHP, and Ruby on Rails. And their preferred language, Visual Basic, did not seem to be keeping up with the latest changes.
But now, with Windows 8, Microsoft is delivering a gift to them and telling them: YES, you too can take part in the most exciting trend in computing of current times: the move to mobile. The challenge, for Microsoft and for those developers, is that they are finding themselves fighting an uphill battle.
Before they reach success being anything less than a marginal platform, they must pull off the incredible trick of convincing the mobile consumer that the expertise and experience they have developed during the PC era is still equally essential in the mobile era. If they do, however, they may upend the mobile world order as the power of millions of developers could be unleashed, leading to drastic changes in the mobile marketplace.
In the end, we have entered an era when the developer may not be king but the developer has an equally if not more important role in that they will be the ones to decide which platform gets the best apps and the market seems to have dictated that the platform with the best and the most apps is the one that shall win. By combining the core of Windows 8 and Windows Phone 8, Microsoft is creating a foundation that may unleash such power that past October, we may see a Windows Phone platform on the ascendancy at a faster rate than the other platform. The move may end up being so small at first that it could be barely noticeable but as it grows, we may see Microsoft pull one of the greatest come from behind story since… well… since Steve Jobs turned the #2 in the PC era into the #1 player in this one.