Latest IDC Smartphone OS Research

idc.gifLatest IDC research shows that Android and iOS made up 96.3% of the Smartphone OS Market in 2014. While Windows Phone grew 21.6% in Q4 2014 that was 21.6% of not a lot which resulted in only 3% market share.


From a developer perspective, this reflects the type of work my clients tend to be doing. Unless a client is doing something vertical and (Android) device specific, all development now seems to be on Android and iOS. It’s more common now for Android development to be done at same time as, rather than after, iOS. I haven’t seen any clients doing Windows Phone or BlackBerry development.

IDC 2014 Western European Smartphone Stats

idc.gifIDC has new data on 2014 European smartphone shipments that shows that both Android and iOS gained market share. The other smartphone OS market shares are relatively small.


70% of people in Western Europe now have a smartphone. 28 new smartphone brands entered the European market last year. IDC thinks  Windows Phone will grow this year due to its link to Microsoft enterprise systems. Tellingly, they don’t provide any estimates on this growth.

CSS Tablet Forecasts

cssinsight.pngCSS Insight have some interesting forecasts for tablet shipments. They claim that tablet sales will double over the next four years as more first-time users appear and existing owners replace older models.


They also say Windows will claim a larger market share. I think this might even happen. People in our ‘IT world’, most of which now use Macs and Macbooks,  under-estimate the reach of Windows. However, in the ‘real world’ many people still use PCs. Take a look at NetMarketShare browser stats that cover 40,000 sites across the world. A very large number of people are still using Windows.

Allied to this are Microsoft’s new strategies. They already give away Windows free to OEMs on low end devices. They have also promised to upgrade Windows 7/8 free of charge when Windows 10 ships. The start menu will also make a comeback. In the longer term, these changes might help consolidate and retain existing users onto Windows 10 and sell more tablets. However, I still believe Windows on phones is probably a lost cause.

Thoughts on Android Studio


If you follow Android you will probably already know Google deprecated Eclipse and Android Studio is now the recommended IDE for Android development. I migrated all of my current clients’ projects last December. I hadn’t previously migrated them as I have a policy of not using beta tools on client projects – more to conserve development time as opposed to avoid introducing problems. I had used Android Studio, as a learning exercise, for some simple personal projects but had held back writing about the problems until v1.0 shipped and I had more experience of using Android Studio across several client projects. I am at that point now so here are my latest impressions.

The Good

  • First of all and importantly, it’s very easy to import Eclipse based projects.
  • IntelliJ IDEA has far superior code completion. It’s a lot quicker to code when you don’t have to go to other files/places to determine APIs and constants. It also seems to be very intelligent at offering a sorted list of the most likely code completions with the most likely first.
  • It’s good to now be able to easily create custom variants of apps via Gradle.
The Bad
  • It has poor NDK support for non-trivial NDK builds. You end up having to not use the built in Android Studio support for the NDK and instead configure Gradle to do a separate NDK build. This makes using NDK code less integrated and less visible in the IDE than it was with Eclipse. One of my client projects makes extensive use of the NDK so this issue is a larger problem for me.
  • Unlike Eclipse, you can’t have more than one project (that generates an apk) open at once thus making switching between projects inconvenient. To be fair, there’s less need to switch between projects now that it’s easier to have build variants.
  • Some run configuration parameters aren’t persistent between successive Android Studio sessions. Specifically, if a particular device is selected for debugging this isn’t saved between Android Studio invocations. You will be asked again next time.
  • There are still some bugs in frequently used features. For example, on loading an existing project, some projects refuse to see the ‘app’ part of the project until there has been a Gradle sync.
  • Unlike Eclipse, Android Studio doesn’t ‘compile as you go’ to produce issues in the ‘problems’ tab. Instead you have to build to see problems. This is a backward step. There’s a 3rd party plugin that enables auto-compilation if you dare (it hasn’t been updated for a long long while).

The integration with ADB is poorer than with Eclipse…

  • The logcat Window seems to periodically stop working and ends up in another logcat Window somewhere deep in the Android DDMS Window hierarchy. If you have multiple monitors and are used to dragging the logcat window out to a separate screen you will soon be frustrated when the logcat stops and ends up coming out in some other window. I’d say this is the most annoying problem of all.
  • There’s no ADB file explorer. You can now use the separate ‘Android Monitor’ application that gives essentially what you had under Eclipse. However, using this cuts off the ADB connection in Android Studio as only one thing can have a debug connection at any one time.
  • Selecting Stop doesn’t kill the app being debugged. You have to manually do this via the device Android task manager (or use ‘adb shell am force-stop <packagename>’ for Honeycomb and above).

Unfortunately, there’s more bad than good. As ex-Googler Jean-Baptiste Queru said yesterday "Working with Google tools: there’s the one that’s deprecated (Eclipse ADT) and the one that’s not ready yet (Android Studio)."

If you are interested in the ‘Present and the Future of Developer Tools for Android’ you might also like to read a very recent interview with Tor Norbye.

Some Android Apps Going Backwards

android.gifI have recently been disappointed with the changes the BBC made to the BBC News app. I used to use this app every day until, very recently, they updated it to use Material Design. Along the way, they removed the easy-access single screen of stacked scrolling, themed news items and instead you now have to pick your way through a navigation drawer (hamburger menu) and view pager screens. The app has lost it’s primary purpose for me to easily browse through news. I am not the only one. The Play store reviews concur…

"Agree with everyone else. Bring back the old version, please. Used the read that one frequently but don’t even want to open the new one because it’s such a chore to find things."

"Too complex. To much jumping from stories to videos. "My news" seems duplicated somehow with my news combined in one tab then duplicated in multiple tabs, one for each news feed chosen. Needs simplifying."

"Bring back old version plz Hard to find news your looking for too much content that’s displayed in confusing manner bring back old version that just had one scrolling screen so fluid an easy to use hate this version so much"

Now on to Google’s Gallery app. Why was it replaced with the Photos app that needs Google+ enabled to use it to set a phone background? I disabled Google+ on Android a long while ago as it consumed excessive power even though I never used it. 

On to Google Calendar. Why was month view removed? Who decided to put a wasteful graphic at the top when, in Calendar apps, the most precious resource is screen real-estate?

What’s caused all this? There seems to be a growing trend to make apps more Material Design compliant. While the Material Design isn’t particularly at fault, it seems in slaving over the new look and feel, other things has been lost. The apps might look better but noone has thought deeper than that.

So, if you are thinking of moving your app to Material design, don’t let it divert your time from thinking about other things that are just as and maybe more important. Also, while hamburger menus have legitimate use in some (more complex) apps, you should realise they can end up making things more difficult to use in simple apps (yes, it’s an iOS article but the principles are the same).

UPDATE: Also read Side drawer navigation could be costing you half your user engagement

Where Enterprise Mobility is Headed


Globo have a new infographic that gives some insights into enterprise mobility. 40% of employees now BYOD, double that in 2012. Blackberry is now irrelevant and Windows Mobile has failed to gain much traction in the Enterprise.


1 in 4 Android phones have software that hasn’t been updated since 2012 that gives companies a potential security issue.

Android Paid Apps

rustyrants.pngAll the projects I have worked on over the last few years haven’t been for paid apps. My clients have tended to give them away as part of some other service. Hence, it was with interest I read Russell Ivanovic’s post on "How New Versions of Android Work". He sells Pocket Casts for Android and has some interesting observations.

Russell says "People confuse overall numbers, with actual numbers of people who buy apps". The people who run the newer versions of Android are more likely to buy apps. For example, Russell says "Android 5.0 has less than 1% adoption in the overall Android eco-system, 23% of our customers already run it".  For paid apps targeting Android 4.1 and above will get you the paying users. There’s no need to support users running older versions of Android.

If you are selling an app, you will want it to be the best of its genre. Often, supporting older Android versions dilutes the effort available to make the app the best. Also, supporting older screen idioms and APIs can also drag the app user experience down to the lowest common denominator. Russell’s insights suggest it’s possible for a paid app to focus on a better, latest, user experience for the paying subset of users.

29% of Android is Forked (AOSP) Android

abiresearch.gifIt seems to be research release season and ABI has also reported numbers for smartphone shipments. However, this time we have a breakdown of what proportion of Android is forked (AOSP). That is, Android devices that aren’t sanctioned by Google, haven’t passed compatibility testing and don’t have Google Apps and Google Play Services (at least not legally anyway). 


ABI’s prediction that AOSP growth, relative to non-AOSP, would decline has come to fruition. Assuming the lower shipment numbers it has stabilised (-1% change month on month) at about 29% of all Android devices.

Android shipments are now decreasing month on month mainly due to Apple’s brilliant 90% growth. 

UPDATE: Changed value from 41% to 29% as the first row in the table, despite its generic naming ‘Android’, doesn’t include the second.