When it comes to smartphones, we're currently at the "Wild West" stage. The PC industry was at this stage in the early 1980s. A wide number of players—among them Apple, Atari, Commodore, Sinclair, Texas Instruments, and IBM—offered a vast range of incompatible platforms aimed at the first generation of individual computer users. Over time, the PC industry consolidated down to just a few major platforms. As the industry has matured, there's been a further consolidation in the number of companies offering PC-compatible products.
Such will be the case with smartphones, but it's going to be a while before we get to that point. We're still in an early, very volatile period where companies are still jockeying for position. Anyone who believes that Android or iPhone or whatever has some kind of a lock on the smartphone industry simply doesn't understand how this works. And that reality means that Microsoft's new entry, Windows Phone, isn't the Johnny-come-lately some have supposed. In fact, we might eventually come to understand that Microsoft's failures with Windows Mobile were a godsend for the company, paving the way for Windows Phone's eventual success.
Of course, anything can happen in the future. But I've made the argument before that Microsoft is, above all else, a platforms company, and that platforms matter. And if the software giant has proven anything in the days leading up to the release of Windows Phone, it's that it still gets platform. No company on earth—not Apple, not Google, not RIM, nobody—can rollout a new platform like Microsoft. And in the case of Windows Phone, watching this thing evolve in real time has been both fascinating and illuminating.
The challenge facing Microsoft is enormous. The two up-and-coming cross-over smartphones—that is, those smartphones that have seen enormous success with both consumers and businesses—are Apple's iPhone and Google's Android. But these platforms have some interesting deficiencies that could benefit Microsoft in the long run.
Both are based on minority UNIX-based platforms: Mac OS X in the case of the iPhone and Linux in the case of Android. Neither of these platforms ever made any appreciable inroads in traditional PC markets—Apple marketing notwithstanding—but they're certainly turned the tables over in the smartphone space. From a developer perspective, however, these platforms are a disaster. The iPhone requires you to use a Mac for development, learn a cryptic and mostly horrible development environment, and learn yet another programming language, the ancient and archaic Objective C. Android is even worse. It's based on Java—a language we had pretty much given up on from a client computing perspective—and the developer tools are stodgy and weird.
It is here where the Windows Phone advantages start to become obvious. Windows Phone is based on Silverlight, which in turn is based on Windows Presentation Foundation, which is based on the managed code goodness of .NET. Developers that want to write Windows Phone applications will generally do so in the familiar confines of Silverlight, using a familiar and logical language, C#. Those that are writing games will generally do so using the XNA Framework, which allows cross-platform development between Windows (on PCs), the Xbox 360, and Windows Phone. This means that developers can very easily port games between these three platforms. Exciting? You bet.
Windows Phone developers can also take advantage of modern, well-designed, and familiar development tools, including Visual Studio 2010 and Expression Blend, the latter of which is used to interactively create UIs and other visuals. And Windows Phone development is accessible, even to beginners, because the tools are all free. Microsoft provides a Visual Studio Express version for Windows Phone as well as a free version of Expression Blend. And there's no reason to buy a Mac. The tools all run on the Windows PC you already have.
From a documentation standpoint, Apple has again set the bar, and iPhone/iOS developer documentation is available far and wide, in print, electronic, and even video forms. Fortunately, Microsoft has risen to this challenge. Its ever-evolving documentation—also available in electronic and video forms, and soon print as well—is both excellent and exhaustive. When you consider that it's been just five months since Microsoft announced this platform, the sheer amount of developer documentation that has appeared is absolutely astonishing.
The first glimpse of developer excitement around Windows Phone was seen a few weeks back when Microsoft announced a shockingly vast collection of Xbox Live games that will ship when the phone launches in October. What's most amazing about this announcement is a point the tech press missed completely: The announced collection of games represents only a subset of what third-party developers will ship when Windows Phone launches because developers can write both Xbox Live and non-Live games for Windows Phone. Plus, the announcement didn't concern regular applications, which are easier to write and far less restrictive.
Windows Phone developers can integrate their code into the UI in ways that are impossible on other phone platforms. Windows Phone offers integrated panoramic experiences called hubs, which developers can plug into. For example, consider a photo-editing utility. Sure, developers can (and will) create standalone apps for Windows Phone, just as they do on the iPhone. But developers can also choose to integrate this editing functionality directly into the Pictures hub, providing users with a more seamless experience. These integration pieces are going to put Windows Phone over the top.
As I noted earlier, there's no way to know about Windows Phone's future. But using the developer support for this platform as a guide, Windows Phone is already a winner and an obvious new platform for the millions of developers already targeting the Windows desktop today. There are other factors that will impact its success in the future, such as competitive threats, Windows Phone's user experience, and corporate deployment capabilities. I'll examine these and other Windows Phone concerns in the months ahead.
If you are interested in Windows Phone development, hop on over to the Windows Phone Developer website. I think you'll be pleasantly surprised by the breadth and depth of the available content.