Mobile app development trends – what languages should you be learning?

Mobile app development is a minefield, there’s so many different platforms, and different things to consider. I decided now was a good time to run through the market today, as of July 2010 and try to identify what you as a developer should be learning, or what business owners should be looking at. The quick answer by the way – it depends.

Lots of phones

AttributionNoncommercialNo Derivative Works Some rights reserved by chich.shin

What’s out there?

Mobile platforms, languages and SDK’s

There are many mobile brands, multiple possible platforms and SDK’s depending on the devices. It’s a crowded field, but I thought I’d at least try to provide a brief summary of what’s involved with each platform, devices they run on and places to start looking for more information.

iOs

iOs

Attribution Some rights reserved by Yutaka Tsutano

Android

Giant Google Android statue with puppy and cupcake

Attribution Some rights reserved by ToastyKen

BlackBerry

BlackBerry

AttributionNoncommercialNo Derivative Works Some rights reserved by Official BlackBerry Images

Symbian

MeeGo/Maemo

Windows Phone 7

Others

What do other developers say?

These major reports have been released over the past 3 months, each the result of research conducted on various developers working in the mobile sector. Both are worth reading in full if you have a spare hour.

Preferred platforms – Android and iOs come out top

Apple’s platform came out high in almost all areas of the Appcelerator survey. Developers feel Apple’s platform has the best near-term outlook (78% for Apple vs 16% for Android with Blackberry and other platforms not getting a look in), and although 54% said they felt Android had the best long-term outlook, 40% still plumped for Apple.

Appcelerator asked developers what they would be interested in developing for, iPhone and iPad came out top, with Androids mobile and tablet offerings close behind. Blackberry and Windows 7 raised less interest, with very few developers interested in developing  for Symbian, Palm Pre or Meego.

Vision mobile asked what developers actually develop using and found Android came out on top (60%) with iPhone in second place closely followed by Java ME and Symbian. The most important reason for choosing a platform was market penetration and monetisation.

Market Penetration – Java ME and Symbian have the largest user base

Vision Mobile found that whilst developers prefer Android and iOS the number of people with Java ME and Symbian devices is far larger. Flash Lite, Java ME and Symbian all have a small number of apps available for large numbers of devices, in Q2 2010 Symbian had just 6000 apps for sale with a market share of 390 million units. iOS and to a lesser extent Android have much large numbers of apps for a smaller market share, in that same quarter Apple had 180,000 apps for 60 million units. Windows Phone and Blackberry have both low numbers of apps for low numbers of users.

One area of the market being under-served was localised apps, Vision Mobile found localised Spanish and French Apps counted for less than 3000 total apps in the crowded Android store.

Monetisation – App stores lead the way

Less than 5% of developers Vision Mobile interviewed used the once ubiquitous operator portals or preinstallation through operator to distribute their apps, the majority use app stores, with Apple’s and Androids the most popular. App stores offer a faster route to market, and faster time to payment.

The leading app stores are reputedly hard to make money from. Both are very crowded. Android has only 13 of its 46 countries able to accept payments for apps, users can ‘return’ apps within 24 hours without reason if they don’t like them. A standalone developer in Apple’s App Store can hope to sell an average 1000 – 2000 apps at $1.99. (Vision Mobile).

Ease of development – Android beats all others

Vision Mobile assessed Android, Symbian, Java ME and iOs platforms for ease of development. Based on their test data they concluded Android took the least time to develop and debug apps with, followed by Symbian, Java ME and with iPhone coming in last. I personally wasn’t totally convinced by their testing methodology, so I would suggest you read this section of the report and study the data to draw your own conclusions (Appendix 2). They also only focused on 4 platforms – 2 of which (Symbian and Java ME) are clearly on the wane.

My conclusions

Android,  iOs and Web are the best skills to sell to others

As a freelancer or employee looking to sell your skills to others, Android, iOs and Web are safe bets to keep you in pocket.

Android and iOs are popular platforms and I predict there will continue to be a demand for developers of these platforms. As the field gets inevitably more crowded you can differentiate yourself by being reliable and producing good quality code (not as common as you might think). Releasing your own apps to impress potential clients (but not to make money themselves – see below) would be a good idea at this point.

Gaining experience in a range of Widget platforms will allow you to transfer web skills between platforms and enable you to offer a range of platforms to an employer. With web you can target Symbian, Blackberry, iOs, Android and even Palm. Familiarise yourself with each platforms own widget set up and install process as well as the PhoneGap tool.

To make a quick buck or gain fame as a single developer focus on untapped markets

I feel strongly that lone developers wanting to make money or gain fame from a mobile app should team up with a great designer, but it has happened in the past. The key is to avoid over populated areas where it will be very hard for even the best teams to stand out, unless they have an existing brand.

My feeling is the iOs and Android stores are far too crowded already, but if you must enter the iOs or Android stores, think about targeting a niche. As mentioned before, localised apps is an untapped area for many…

A great way of making money from mobile apps looks to be to target the long tail of platforms. Samsung Bada is out but with few apps yet released, Windows Phone 7 is unreleased giving plenty of time to be one of the first apps to launch in that field, and for slightly busier stores but perhaps safer long-term skill investments get into Symbian Qt and BlackBerry.

To launch an rich app for an existing brand test the water with web, then go multi-platform

If you have an existing brand and want to launch an app which doesn’t require lots of device API’s I would launch on web platforms first. This will be cheaper in terms of development as the skills are often easier to find, and you can write once and publish on multiple platforms easily thanks to tools like PhoneGap.

Once you reach the limitations of web, assuming there is a demand for your product, you should release in iOS and Android stores to get the app lovers interested, and then consider Qt for Symbian (ensuring the widest range of future devices) to target the Nokia masses and BlackBerry for the young elite and business customers. Consider Windows 7, although be aware of the risk it might not be a success.

To tackle emerging markets or for simple apps for non smart phones consider Java ME, BREW and Flash Lite

Most people don’t have a phone that can run the platforms we’ve discussed, with the exception of Symbian. Most people have a phone that can run Java ME. If you want to tackle the non smartphone market, you will need to start dabbling with Java ME. For the US markets consider BREW also, and try BREWMP for newer low end devices. The nicest interfaces can be produced using Flash Lite, but this prevents you from accessing the device API’s in the same way, limited memory can cause problems for you, and less phones run Flash Lite than run Java. Expect to spend lots of time and money tailoring your build to each device, and consider that many people without smartphone’s don’t even realise they can install apps.

Open to comments, and coming next

With my work at ribot I get to play with a wide range of platforms, and I’ll be experimenting with more of those listed over the coming weeks. Expect more info on the various languages and my thoughts on differences between them. Please let me know your opinions below on these ideas.

Follow up articles:

9 Comments

binyam t.

I WANT TO ADD SOME FEATURES TO MY 3G MOBILE. CAN I WRITE A PROGRAM AND RUN IT ON THE MOBILE? WHAT KIND OF PROGRAM CAN I USE?

kirby.mark

You’ll need to identify the model, and check the list above to see which platform you need to use.

Alberto

great job!!
I also had to analyze the mobile platform and came to the same conclusion.
Now I’m developing with PhoneGap for iPhone and Android.

Amri Shodiq

Hi Mark,
It’s a very good article. It’s shocking that actually Blackberry app developing is not really recommended. I’m developing Blackberry apps since a year ago. There was a nice market here in Indonesia, since Blackberry user here is far more than iPhone even Android user. Unfortunately, these present days the market is likely will shift to Android.

Your article confinced me to start developing for other platform. Thanks.

iYara

Hi ..

I need to develop an applications runs on all Nokia devices,iPhone , blackberry and android. How many resource I should develop ?

What is platforms for Nokia devices ? For example : N series , E series ?
Which better.. Qt or JME ?

Regards

CharleyMac

As a new comer to the scene, I have my first touch phone. I love it. I see its potential and want to build (as I research I discover this) a very complicated, yet simple and easy to use app for the android (eventualy iPhone and BB) markets.

But to start with the Android market, with no programing skills, where do I start. I have the Android SDK, and Eclipse. What I need to know is where can I start getting and learning how to use the programing code, resource files, and strings, all the stuff that, at this time, makes no sence to me. IE; I have the tools, now I need an understanding, and dont have time (77 miles from nearest community college) to go to school. I need someone to point me to ‘noobville’ on the net for android.
Thanks.

Jesusegun

Hi Sir,

I found your website through research. It’s exactly what I’m looking for.

I am an accounting graduate but my real passion is in ICT and I need help, and I know you can help me.

I recently fell in love with mobile application development but I don’t know how it works. I just know many of us internet users are busy downloading what others are building. Now I want to be a supplier.

I want to learn how to develop mobile apps for different mobile devices right from scratch. I’ll appreciate your quick response sir through my email addy.

Thanks from Jesusegun Alagbe.

Leave a comment: