June, 2009
I’m going to start a series of posts on the state of software in the mobile industry at large. My bias is admittedly towards Microsoft technologies because of the company I work for and the decisions we have made to focus our efforts on releasing software on top of the Windows ecosystem. There are however, major innovations being driven by many other players in the market place and it is valuable to have a big picture understanding of the current state of all these technologies. In my opinion, Microsoft continues to lag in innovation, but leads in the business and market share aspects of this industry.
I want to approach the discussion of mobile software from a couple of different angles:
So with those things in mind, here are who I would call the major players in the market right now:
A few things to note:
Mobile software isn’t just defined by an OS that run on a device. The OS is certainly important, but I also want to look at the supported hardware, synchronization with desktop PCs, synchronization with the cloud and various web services, general user access to the web, developer’s tools to create applications, model for distributing patches and security updates, model for in field firmware updates and the model for distributing/maintaining custom applications. Here is a very brief summary of the hardware, software and development story for each vendor. In the next couple of days I will dive into more details.
Hardware: iPhone and iPod Touch
OS: iPhone OS 3.0 (scaled down version of OS X which is a runs modified BDS kernel)
Development Story: XCode IDE - Objective-C
Hardware: T-Mobile G1
OS: Android (Linux Kernel)
Development Story: Eclipse IDE - Java (Dalvik VM)
Hardware: Too many to list - all sorts of devices from consumer smart phones to industrial ruggedized devices
OS: Windows Embedded CE, Windows Mobile (based on Windows CE 5.2 kernel)
Development Story: Visual Studio - C++, C#, VB.NET
Hardware: Palm Pre (Sprint)
OS: WebOS (Linux Kernel)
Development Story: Not fully public yet (Most likely Eclipse). Mojo (Javascript, HTML, CSS)
Hardware: Blackberry
OS: BlackBerry OS
Development Story: Eclipse - Java (MIDP 2.0, RIM’s UI Library, Custom VM). RAD (BlackBerry Mobile Data System Runtime)