The State of Mobility Part 1: Introduction

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:

  1. End users of mobile software. This includes the general consumer, the developer as an end user, the office mobile user, and the mobile field worker.
  2. Businesses and enterprises that purchase, deploy and maintain mobile software
  3. Developers who create and maintain mobile software along with the supporting testers and IT staff.

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.

Apple

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

Google

Hardware: T-Mobile G1

OS: Android (Linux Kernel)

Development Story: Eclipse IDE -  Java (Dalvik VM)

Microsoft

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

Palm

Hardware: Palm Pre (Sprint)

OS: WebOS (Linux Kernel)

Development Story: Not fully public yet (Most likely Eclipse). Mojo (Javascript, HTML, CSS)

RIM

Hardware: Blackberry

OS: BlackBerry OS

Development Story: Eclipse - Java (MIDP 2.0, RIM’s UI Library, Custom VM). RAD (BlackBerry Mobile Data System Runtime)

Part 2: End User Perspective

Tim's Avatar Building GitHub since 2011, programming language connoisseur, Marin resident, aspiring surfer, father of two, life partner to @ktkates—all words by me, Tim Clem.