Smartphone’s “apps” development is a RED Ocean …

Some technicalities to start with;

There are APIs (Application Program Interfaces) for almost any electronic device out there but most of its SDKs (Software Development Kits) allows you to write programs on your computer to interact with their respective electronic device and there is almost a different API for each device even within devices sold by the same company. Now Smart-phones allow intrepid software developers (mostly companies) to create arbitrary “Apps” (Software Applications) that run inside the smart-phone device; what a cool thing!! the question is which one to choose among an open ocean of options and restrictions.

Why is it so attractive to create Smart-phone “apps”?

In my opinion these devices are very appealing due its portability, connectivity, usability and now a days it’s coolness. Needless to say that those little things are used daily by millions of people and they are becoming increasingly addictive among Yuppies (Young Urban Professionals) and not so young one’s too.

Now getting into the subject matter;

Lately I have been struggling trying to decide which smart-phone to get now that my 5 year old LG cellular phone is about to die so you can imagine how conservative I am in regards to sticking to things that just work well. It is difficult to make a decision for many reasons but mostly because new smart-phones have the ability to be programmed (create “Apps”) and as a hard core software engineer anything that can be programmed is something I instinctively try to hack. So instead of looking for a trendy phone showcased on a mall store or kiosk I went ahead and got to review the variety of software development kits to see if I would get some affinity to anyone in particular.  Yes, I am weird.

There are plenty of options to choose and not surprisingly many of them look alike but they are not fully compatible with each other so sticking to one or two technologies would represent plenty of effort just for having fun besides some recent surveys (Ovum’s Cripps) suggest that three platform would be the sweet spot for developers. In regards of platforms; Gizmodo and InfoWorld among other’s reputable gadget sites already consider around five of them such as Apple, Google, RIM, Microsoft and PALM which are the big players in smart-phone category but I would add a couple more to include Nokia and Samsung since they are big players in the mobile industry overall. Let’s make a quick assessment to see which one could be more appealing based on the following characteristics; Native Phone OS, Phone Application Architecture, Supported Programming Languages, Development OS, Development Tools and Deployment Infrastructure.

The list of contenders;

List below is ordered by its 2010 Smart-phone market share based on comScore.com report, Nokia and Samsung at the end due they do not appear in this report:

Company SDK Summary
RIM Blackberry OS SDK Very enterprise oriented platform heavily relying in client-server architecture connecting to corporate server resources. The heavy computing workload is expected to be running at the corporate server side rather than at the smart-phone. Extensive support for enterprise network protocols.
Apple iPhone OS SDK Close architecture running native apps on the device and ability to connect to web services. Huge install base but also huge number of apps already in the market. Annual developers subscription fees, sales fees and blessing from Apple are required prior publishing your apps.
Microsoft Windows Mobile SDK Close architecture based on a very popular Windows platform running applications over .Net VM natively on the device but with a smaller smart-phone install base. Annual developers subscription fees and blessing from Microsoft are required prior publishing your apps.
Google Android OS SDK Fully open architecture running apps natively on individual Java VM instances. No subscriptions fees, sales fees or any kind of blessing from Google are required to publish or distribute your applications.
PALM WebOS SDK Open platform running on a proprietary architecture mostly front end (web platform) like capabilities. Annual fees for developers are waived for a limited time and blessing from Palm folks is required to be publish in the Palm market but apps can be deployed directly to smart-phone devices.
Nokia Symbian OS SDK Open platform running on a proprietary architecture running apps natively, developers network is supported by an open community. Deployment without warning messages requires Symbian signing (blessing) but seems like there is no fees as long as developers adhere to Symbian foundation terms and conditions.
Samsung Bada SDK Bada platform is brand new that runs application natively over RTOS depending on supported HW. It is supported by an open community of developers and deployment is limited to certain countries and requires Samsung certification (Blessing) for a fee.

This is how smart-phone development platforms compare;

This assessment is based on information provided by SDK links in the list above and it should not be considered authoritative since it is only expressing the author’s opinion, interpretation and may be bias by author’s own affinities. Note that I am not currently participating in any of this development programs yet. From information in table below I can conclude that is a good idea to refresh my C/C++ and Java skills if I want to get into the smart-phone development market as well as to be open for embracing a multi-platform development environment to effectively be able to learn and produce smart-phone apps on at least a couple of these development platforms. So far both Apple and Google are more appealing to me.

Yes indeed, the smart-phone development market is a RED ocean but if we could find some BLUE ocean I feel heavily inclined towards the open and free proposal from Android which is the one that is recently ramping up and positioning as a serious contender.

Category RIM Apple Microsoft Google Palm Nokia Samsung
Native

Phone

OS

Proprietary

HW specific

Proprietary

HW specific

Proprietary

HW open

Open Source and HW open Proprietary

HW specific

Proprietary and HW specific Open Source and HW Open
Phone

Application

Architecture

Blackberry OS native. Client-Server iPhone OS Native Windows mobile .Net VM Android OS. Java VM (Dalvik) Web OS Native , Client-server Symbian OS Native RTOS platform native
Supported

Programming

Languages

Java ME Objective-C .Net Java Full JDK HTML and Java Script, C++ Java ME, Ruby, Python, .Net, Flash Lite but

C++ is preferred.

Java ME but C++ preferred.
Development

OS

Windows supported but Linux capable. Mac OSX (Intel) Windows Windows

Mac OSX (Intel)

Linux (i386)

Windows

Mac OSX (Intel)

Linux (i386)

Windows supported but Linux capable Windows Supported but Linux capable
Development

Tools

Eclipse IDE

Simulators

Signing tool

Web loader

Xcode IDE

Simulator, SDK and tools

Visual Studio .Net IDE, SDK and dev tools Eclipse IDE

Emulator, SDK, Packaging & dev tools

Eclipse IDE

Emulator

SDK and dev tools.

Command line, SDK, runtime tools. Bada IDE, SDK packaging and dev tools.
Deployment

Infrastructure

Blackberry Apps world and direct download Apple Apps Store Windows Market Place for Mobile Android Market and direct download PalmGear and Direct download SymbianGear and Direct download DadaDev apps and direct download
Smart-phones subscribers as of early 2010 43.00% 25.1% 15.70% 7.10% 5.70% n/a n/a
Market Trend Flat Flat Decreasing Increasing Decreasing n/a n/a

More to think about; commercial printers also have Apps …

Commercial printing industry is also reacting to mobile and cloud computing trend; now relatively inexpensive printer’s are cloud capable where smart-phones can locate and print to these devices while they are connected to the internet cloud. This is not something new for enterprise printing but for commercial printing is a matter of survival since millions of user’s spend more time dealing with their smart-pone than with their personal computers and this is a huge opportunity to drive pages to be printed on paper. Lexmark and HP had launched similar initiatives and even Google is about to launch its “Google Cloud Print” initiative.

Lexmark printer apps and HP’s ePrint Center initiatives and their development approach are very similar to the smart-phone development market but this time the apps are able to control and drive features such as Scan, Store, Fax and Print engaging these printers to the always connected ecosystem on any imaginable way. So these add more complexity to the apps world market while you can create apps that runs on smart-phones which are capable to connect and interact with your apps running on your printer devices to create a whole new experience for people and businesses.

DISCLAIMER: This blog post may be a bit bias since I have to disclose that I currently work for a HP printer division so take it as it comes.

2 Responses to “Smartphone’s “apps” development is a RED Ocean …”

  1. Fidel Vanegas » Blog Archive » Is Google TV one more reason to lean towards building Android Apps? Says:

    [...] a previous post I got some time to think about smart phone’s “apps” world of Software Development Kits. One of Google’s most recent announcements may shake the apps world up quite a bit. Google in [...]


  2. Fidel Vanegas » Blog Archive » How about navigating the smartphone’s OS market consolidation … Says:

    [...] connected” devices; and for always connected I mean to the INTERNET cloud of services.  In another blog I also mentioned that Android’s OS was also worth considering for being the one showing the [...]


Leave a Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Anti-Spam Protection by WP-SpamFree