Smartphones

Surveying the mobile development landscape

Keeping up with the rapidly changing mobile development industry can be a challenge. This developer's overview of the mobile market will get you up to speed.

The typical developer cannot keep up with the fast pace of the mobile development landscape, and yet, in the past six months or so, there has been more interest in corporate development on mobile platforms. In addition, new form factors using non-desktop OSs (such as the iPad and the upcoming Android tablets) has made mobile development very confusing. To make matters worse, the possibility of cross-platform development is in doubt because Apple flexed its legal muscles and showed that tools are playing on a "here today, gone tomorrow" playing field.

It's an exciting time to be involved with or follow the mobile development industry, but for developers who depend on it to provide their revenue, it can be nerve-wracking too. Hopefully, I can help you make sense of it with this mobile development overview.

Mobile development survey

Appcelerator recently released the results of a survey of 2,733 real-world, in the trenches developers who were asked their opinions about the mobile development market. Reading the results and talking to Scott Schwarzhoff, VP of Marketing at Appcelerator, confirmed much of what I have come to believe about this market. The survey results were also in line with a poll of TechRepublic readers in January 2010.

Several highlights from the survey results include:

  • While iOS has an overwhelming slice of mindshare, Android is catching up.
  • Developers see much more long-term potential for Android than iOS due to its openness.
  • Enterprise developers show much more interest in RIM and Windows Phone 7 than smaller development shops, which is also no surprise given their investment in RIM and Microsoft technologies in-house.

The big players

Apple (iOS)

Developers are increasingly annoyed with Apple for various reasons, which include:

  • Restrictions on cross-platform development tools.
  • Capriciousness regarding the terms of the App Store (apps that are approved one day are yanked later).
  • Lack of clarity regarding what will and will not be accepted in the App Store.
  • Control over the mobile ads (the new iAd platform).
  • Saturation of the App Store by 99 cent and free applications, making it difficult to stand out and earn revenue (this is not Apple's fault).
  • Changes to AT&T's data packages that make bandwidth hog applications extremely undesirable (this is also not Apple's fault, other than the exclusivity of the iPhone to AT&T).

Despite all of those annoyances, iOS's market share is astounding (Apple is currently in second place in the market), and there is something to be said for the single-hardware strategy pursued by Apple. While Android development is plagued with device inconsistencies and fragmentation (made worse by manufacturers adding layers like MotoBlur to devices, which keeps them at older OS levels), Apple developers have a much more pleasant experience.

Related TechRepublic download: Book chapter from iPhone for Programmers: An App-Driven Approach.

Google (Android)

Many electronic devices such as GPS units, Blu-Ray players, and DVRs now run some sort of OS on them; this means that device makers are forced to write an OS, buy one, or roll their own Linux or BSD distro. This is a major headache. In the next couple of years, it is extremely likely that many of these devices will move to Android. We are already seeing a number of companies rushing to sell Android tablets now that the iPad has proven that it is a viable market.

Android has the openness and flexibility of Linux; Android is tuned for resource poor devices; and Android already has a ton of great functionality specific to consumer devices, including GPS, touch screen, media playing, file storage, and Internet access. To get an idea of Android's potential uses, just look at what Apple is doing with iOS and what Microsoft was predicting for Windows CE ages ago. (I find it ironic that Microsoft wrote the blueprint for this strategy 10 plus years ago, and now the company is fourth place in a two horse race.)

In terms of long-term prospects, Android looks like a winner. Even if it never overtakes Apple or RIM in the smartphone space, so long as it remains a solid third place, you can expect that learning to program Android will open doors in various ways.

Related TechRepublic columns: Android development fundamentals: How to get started and My first Android app development project. RIM (BlackBerry OS)

RIM has a huge installation base and, since it has been in the enterprise market for about 10 years, the company gets the needs of enterprise mobile computing better than anyone, with the possible exception of Microsoft. Remember, it has only been in the last few years that RIM even bothered to market its devices to consumers.

RIM is in first place now but it is losing ground; there is a real possibility that it can regain momentum with some tweaks to its business strategy. RIM's development story depends on Java, which is well known, and the tools are readily available for it.

Related TechRepublic column: BlackBerry development basics from RIM's Mike Kirkup.

Microsoft (Windows Phone)

Microsoft is extremely knowledgeable about the enterprise customers. Microsoft is able to easily tie its devices into the Windows network that so many companies use, which makes the management story quite nice for IT departments. Unlike RIM, the Windows Phone solution does not require the installation of an expensive, difficult to maintain piece of software -- the tools are built right into Microsoft products.

From the perspective of a corporate IT department, Windows Phone is the best choice out there, which is why the Appcelerator survey shows so much more interest in Windows Phone from large companies. The big issue with making a commitment to Microsoft in mobile is that the future is up in the air.

The current generation of Windows Mobile (6.X) is losing market share; meanwhile, the next version (Windows Phone 7) is not backwards compatible with Windows Mobile 6.X in terms of applications. This makes Windows Mobile 6.X a lame duck OS and Windows Phone 7 effectively a brand new OS. While there is a lot of interest in Windows Phone 7, it is quickly losing momentum.

I feel that Windows Phone 7 is almost as exciting as Android in terms of capabilities; it looks like the OS that I really want on my next phone, and I love the development story. But until it is on the market and sales numbers are available, I cannot recommend that you devote much time to learning the OS unless your organization has a strong commitment to the Microsoft ecosystem.

Related TechRepublic column: Windows Phone 7 cheat sheet.

The smaller players

Palm (PalmOS)

Palm is dead for the time being unless HP comes up with something snazzy for the company. I would not bother to learn programming against the PalmOS until we find out what HP has in store for it.

Nokia (Nokia OSs)

The three Nokia OSs are potentially interesting if you are worried about a global reach, but I wonder how long it will be until Apple and Android run Symbian, MeeGo, and Maemo out of the market.

Cross-platform development tools

The real trick to understanding this market is cross-platform development tools. There are two cross-platform development approaches: HTML (particularly HTML 5) Web applications run in the mobile browser and tools that generate code that can be run on multiple platforms.

Writing Web applications is a way to leverage existing toolsets and knowledge, but it gives up a ton of device-specific functionality, and it runs counter to the way these devices are marketed and used. Right now, mobile users are running with the application paradigm. If you are going to use one of the cross-platform development tools, the big question is, "will Apple allow it?" Some of these tools, such as Appcelerator Titanium, seem to be allowed by Apple, while other tools, such as Flash, are definitely off-limits.

If you find a cross-platform development tool that allows you to do what you need, you're in great shape. Otherwise, if you are marketing to consumers (and increasingly, enterprises), you will need to develop in parallel for iOS and other platforms, which is a lousy situation.

J.Ja

Disclosure of Justin's industry affiliations: Justin James has a contract with Spiceworks to write product buying guides; he has a contract with OpenAmplify, which is owned by Hapax, to write a series of blogs, tutorials, and articles; and he has a contract with OutSystems to write articles, sample code, etc.

---------------------------------------------------------------------------------------

Get weekly development tips in your inbox Keep your developer skills sharp by signing up for TechRepublic's free Web Developer newsletter, delivered each Tuesday. Automatically subscribe today!

About

Justin James is the Lead Architect for Conigent.

4 comments
Jaqui
Jaqui

actually is a fantastic opportunity for 2 often ignored technologies. embedded GNU/Linux as the base os. using libsvg for cli image rendering, you can do a c/objective-c/c++ set of apps. [ and anyone thinking objective-c isn't used at all hasn't looked at Apple's operating systems, the Cocoa framework is all objective-c ] The benefits of the C option is very small footprint for the apps, making the most of the limited resources on a palmtop or tablet device. objective-c and C++ have slightly larger footprints, but still come in at far less resource hungry than the current favorites for these devices.

Justin James
Justin James

iOS, Android, BlackBerry, and Microsoft... where do you think you will have the best opportunity to make money now and in the future? J.Ja

antonio_diaz
antonio_diaz

I think Microsoft it could be a good choice, as you mentioned, many companies have in-house Microsoft developments(I think Office apps will be on demand) and also Microsoft now is pushing their XNA Framework for Game development on WP7, and games are the apps best paid according some industry reports. I am not agree Nokia is a small player(maybe in the US),however Nokia web app development (Widgets) platform is very easy, also they are pushing Qt as the main development framework for the next devices and current platforms, the problem is you a have lot of devices to target, but it could be a good option to make some money and reach global targets. Regards!

Jaqui
Jaqui

they have bought out Trolltech, the original makers of the QT widget set for C++ development. They have the toolkit to build cross platform C++ based apps that will fit on the devices, so are in a great position to really dominate the market if they went about it right.

Editor's Picks