Categories
Business Platforms

Microsoft’s Mobile Opportunity

Microsoft was slow to react to the step change in user experience provided by iOS and Android versus the first generation smartphone platforms. Windows Phone was then late to market and has finished a distant third in the smartphone platform wars. Smartphone adoption was consumer led and in the race to catch up Windows Phone skipped some enterprise friendly features. This has left it out of the running for business adoption too. In tablets, Windows RT was largely rejected by the market and Intel processor based devices running Windows 8 have only managed a weak third place in the market so far. In terms of their share of the mobile OS market, Microsoft is a long way behind Apple and Google. However, as enterprises are increasingly making big investments in mobile, Microsoft’s mobile opportunity is still not lost.

infragistics-2-cover

If you can’t beat them, join them

Microsoft’s new CEO, Satya Nadella, has made it clear. The company’s focus is now mobile-first and cloud-first. This includes aggressively rolling out their services across iOS and Android.

In fact they already have more than 100 apps across the two platforms and that number is growing fast. Nadella has not been hesitant to acquire technology where previous strategy has left gaps. The new Outlook apps for iOS and Android is based on the Acompli apps that Microsoft acquired late last year. It will likely be enhanced in the near future with the technology from recently acquired calendar app Sunrise.

In addition to filling out their offering and buying in talent for their competitors platforms, they have also moved to protect their dominance in productivity software. Microsoft Office is free for consumers on mobile platforms. To sweeten the deal for those who pay they’ve added unlimited storage via OneDrive. They then removed reasons to switch by opening up to competing storage solutions such as Dropbox and Box.

Following the old adage that the best form of defense is a good offense, these moves help keep Microsoft’s central position in the daily life of business users whilst starving startups hoping to topple them of revenue. No-one without Microsoft’s scale can compete directly on price whilst offering similar value.

Developers, developers, developers!

The other key to protecting Microsoft’s core enterprise revenues is keeping their technology stack at the heart of enterprise app development. For this to happen, third party enterprise app developers need to stick with .NET and related tools to build apps for iOS and Android. Developer loyalty is where Microsoft has been very strong.

Slashdata’s Developer Economics surveys repeatedly show Windows Phone with massively higher developer mindshare than the installed base of devices merits. That mindshare also continues to grow despite ongoing lack of traction with device sales.

One of the reasons for this developer loyalty is that Microsoft makes top class developer tools. They’ve invested heavily in this area for a very long time. Most developers don’t want to downgrade their tools and productivity in order to target another platform.

While Microsoft didn’t do the groundwork necessary to let developers target iOS and Android with their tools, Xamarin did. Microsoft and Xamarin have a global partnership to enable C# developers (and to some extent Visual Basic developers) to target iOS and Android via Visual Studio. Microsoft open sourced their state-of-the-art Roslyn compiler technology for .NET, presumably mainly so that Xamarin could integrate it. It seems likely that the partnership between the two companies will deepen at some point, probably through investment or acquisition. In any case, it seems to be working.

In the Q1 2015 Developer Economics survey, Xamarin was the second most popular cross-platform tool, behind only PhoneGap/Cordova.

The survey data also shows that C# is clearly on the rise as a language for mobile development.

Microsoft’s Mobile Opportunity: The next best thing

If you can’t own the OS and platform APIs then the next best thing is to own the developer tooling and thus the key relationship with developers. If you want to introduce or drive new features or standards (that don’t require new hardware or OS level support) then it’s the developer relationship you need to own rather than the platform itself.

Arguably a lot of innovation in mobile going forward will be achieved through cloud services. Microsoft would love to own those APIs. This only goes so far in the consumer space. Apple and Google can veto Microsoft’s moves at the public app store interface. However, in the enterprise, where most apps are not distributed via the public app stores, anything goes. This is where Microsoft’s biggest mobile opportunity lies. It’s also where the bulk of the revenue in app development will end up.

If Microsoft can keep a huge pool of developers fed and happy on mobile then they’ll be in a much better position for whatever comes next in computing.

Categories
Platforms Tools

Top 5 Tools for Augmented Reality in Mobile Apps

Augmented Reality (AR) is about overlaying pieces of a virtual world over the real world (in contrast to Virtual Reality (VR) that is about replacing the real world with a virtual one). On mobile devices, this simply means enhancing what you can see through the device’s camera with multimedia content (e.g. you can point your camera at a movie poster and watch its trailer, or you can point it at a star in the sky and learn its name). So, basically [tweetable]AR comes down to the following three fundamental questions: where to display what and how[/tweetable].

augmented-reality-Final

But first: which are YOUR favourite tools? Take the Developer Economics Survey and you could win new, amazing gear.

The where might involve areas like 2-D image matching and tracking, 3-D object matching and tracking, face detection and tracking, SLAM tracking, and location tracking (using GPS, accelerometer, compass, gyroscope). Sometimes the where is nothing more than some predefined point locations, often referred to as Points of Interest (POIs).

On the other hand, the what and the how might leverage 3-D model rendering, animations and gesture detection. In general, the what can be any piece of digital information (e.g. text, image, video) that the user might also have the ability to interact with (e.g. rotate or move it).

Top 5 Tools for Augmented Reality

Let us now present five of the numerous AR tools that exist at the moment and that can be used to develop apps for smart-phones, tablets or even smart-glasses. The following table contains information about the license(s), under which each one of these tools is distributed, and the platforms that it supports.

Product Company License Supported Platforms
ARPA SDKs Arpa Solutions Commercial* Android, iOS (ARPA SDKs), Google Glass (ARPA GLASS SDK), Android, iOS, Windows PC (ARPA Unity Plugin)
ARLab SDKs ARLab Commercial Android, iOS
DroidAR Free and Commercial Android
Metaio SDK Metaio Free and Commercial Android, iOS, Windows PC, Google Glass, Epson Moverio BT-200, Vuzix M-100, Unity
Vuforia SDK Qualcomm Free and Commercial Android, iOS, Unity
Wikitude SDK Wikitude GmbH Commercial* Android, iOS, Google Glass, Epson Moverio, Vuzix M-100, Optinvent ORA1, PhoneGap, Titanium, Xamarin

* There is also a free trial available.

ARPA SDKs

Image (multi-)detection and (multi-)tracking, 3-D object rendering in real time, as well as user interaction with 3-D objects (e.g. selection, rotation, scaling) are some of the features that ARPA SDK offers for building AR apps on iOS and Android. ARPA GPS SDK complements ARPA SDK with geolocation-based AR functionality: it allows you to define your own POIs that, when detected, the user can select them and get more information about them or even perform actions on them (e.g. the “take-me-there” action that displays a map with directions to the selected POI). ARPA GLASS SDK and ARPA Unity Plugin offer similar functionality with ARPA SDK for Google Glass and the Unity game engine, respectively. It is worth noting that Arpa Solutions, the company behind these SDKs, have over the years developed their own AR platform, some of the features of which (e.g. face recognition and virtual buttons) might at some point be transferred also to the SDKs.

Update Oct 7, 2015: ARPA website has gone offline – their domain name, i.e. arpa-solutions.net seems to have expired.

ARLab SDKs

With AR Browser SDK you can add and remove POIs independently from the scene in real time, interact with them (e.g. touch them or point the camera to them) and perform actions on them (e.g. send SMS or share on Facebook). Image Matching SDK allows you to create your own local matching pool with thousands of images (loaded both from local resources and remote URLs), and use it to match any image without any connection to the internet, while it also supports QR code and barcode recognition. Except for these two SDKs, ARLab will soon launch Object Tracking, Image Tracking and Virtual Button SDKs. All SDKs are available for both Android and iOS.

DroidAR

DroidAR is an open-source framework that adds location-based AR functionality to Android apps. Gesture (e.g. full turn) detection, support for static and animated 3-D objects (using the model loaders from the libGDX game development framework) that the user can interact with (e.g. click on them), and marker detection are part of the functionality that DroidAR offers and that is only shaded by the poor documentation that exists for the project. There is a section on the project README file on GitHub that gives an overview of a closed-source version of DroidAR, DroidAR 2, which seems to have some interesting enhancements compared to its open-source counterpart (e.g. SLAM tracking and a jMonkeyEngine plugin).

Metaio SDK

Metaio SDK supports among others 2-D image, 3-D object, face, SLAM and location tracking, barcode and QR code scanning, continuous visual search (both offline and online through Metaio CVS), and gesture detection. Metaio has also designed their own AR scripting language, AREL (Augmented Reality Experience Language) that allows you to develop your AR apps using common web technologies (HTML5, XML, Javascript) and deploy them everywhere. Metaio SDK can be used to develop AR apps for Android, iOS, Windows PC, Google Glass, Epson Moverio BT-200 and Vuzix M-100 or using Unity.

Vuforia

Multi-target detection, target tracking, virtual buttons, Smart TerrainTM, and Extended Tracking are some of the features of Vuforia SDK. Vuforia supports the detection of several kinds of targets (e.g. objects, images, English text). Especially for image recognition purposes Vuforia allows apps to use databases that are either local on the device or in the Cloud, The platform is available for Android, iOS and Unity. There is also a version of the SDK for smart glasses (namely Epson Moverio BT-200, Samsung GearVR, and ODG R-6 and R-7) that is currently moving to its beta phase and is open for early access applications from qualified developers.

Wikitude AR SDK

Wikitude AR SDK supports image recognition and tracking, 3-D model rendering and animations (supports only the Wikitude 3-D format), video overlays, location-based tracking and image, text, button, video and HTML augmentations. Wikitude AR SDK is available for Android, iOS, Google Glass, Epson Moverio, Vuzix M-100 and Optinvent ORA1, and as a plugin for PhoneGap, a module for Titanium and a component for Xamarin.

To sum up

There are apps that allow a museum exhibit to tell its own story, that help you decide which furniture looks better in your living room, that bring an elephant you just drew on a piece of paper into life, or that warn you about all the signs you ignored while you were driving. These are examples of already available apps that provide some sort of AR functionality. So, pick one of the AR tools we described above (or one we didn’t, e.g. AndAR, ARmedia SDK, BeyondAR, mixare) and use it to integrate AR in your own apps.

Read more about the differences between AR and VR!

What do you like or hate about these tools? Take the Developer Economics Survey and win new, amazing gear.

Categories
Business Platforms

How to Make More Money with Enterprise Apps

According to our latest developer research, 20% of mobile app developers primarily target enterprise apps. This decision produces a significant boost to their revenues, with 43% making more than $10K per month versus 19% of those who target consumers above the same revenue level. Similarly at the $100K+ per month revenue level we have 18% of developers who target enterprises versus just 7% of those who target consumers. Aside from selling to businesses, government or non-profit organisations rather than consumers, what are these developers doing differently?

profiling-enterprise-app-devs

Custom apps

Although it’s far from the only thing developers are building to sell to enterprises, 64% of enterprise app developers are making enterprise-specific apps. In some cases this will be apps that are common to a particular vertical that are either re-skinned or sold as part of a service offering. In other cases these will be entirely custom apps designed and built for one company. Automating or streamlining parts of business processes that naturally happen away from a desktop computer via mobile apps can enable significant efficiency savings that businesses are very willing to pay for. Allowing developers to do more of their work whilst mobile can also improve productivity and company efficiency. This type of development can also cover apps that are explicitly designed to help make more money, for example, sales aids, such as product visualisation or demonstration solutions.

The second most popular category for enterprise developers, at 52%, is business & productivity tools. This is likely to include typical cross-vertical apps for functions such as human resources, customer relationship management and accounting. Also, 20% are making more general utilities and 17% are developing communications and social networking apps for enterprises. In the latter case we see [tweetable]some of the innovation in the consumer apps space being brought to the business world[/tweetable].

Globo_03

Better revenue models

Enterprise app developers have a very different mix of revenue models to consumer app developers. By far the most popular revenue model, used by 49% of enterprise developers, is contract work. Part of this is the bespoke app development discussed above but even those selling products into enterprises will often have a significant customization component. In general, the larger the company, the more likely they are to have complex integration needs for a new software product. Subscriptions, in the form of Software-as-a-Service is the fastest growing segment of enterprise software spending and 27% of enterprise app developers are already using this model. Moving software to the cloud, where upgrades and maintenance are continuous and shared with other users, makes a lot of sense for most businesses. Once key software a business uses is in the cloud it’s often highly desirable to have it accessible from mobile devices too, giving SaaS providers with a strong mobile offering a major advantage.

It’s not so surprising that we have to wait for 3rd place in the revenue models list to find app store sales, with 21% of enterprise developers using it. Indeed, although Apple has special volume discount programs for businesses and schools, it’s slightly surprising that the percentage is still so high. For some SaaS offerings, the mobile client or extra utilities to interact with the service are paid extras. This will probably reduce as mobile support becomes the norm rather than a differentiator. App stores for businesses and education are probably still working as discovery mechanisms for some too. This is also likely to reduce, just as the consumer app stores became so full that it’s almost impossible for most apps to get noticed, so will enterprise app stores. Also higher than average in terms of preference for enterprise app developers are selling physical goods and royalties & licensing. Having an app as a component of a larger hardware product is increasingly popular. A tablet can be incorporated into all kinds of kiosk or point of sale systems. Developers can then capture some of the value of the software through higher margins on the hardware. Alternatively, high value software is often sold to enterprises on a per-seat or per-device licensing basis – mobile is no exception. For high value software where sales are typically made directly it’s entirely sensible that this is done as a licensing deal rather than sold through an app store with the store owner taking a cut.

More platforms, much more web

Enterprise app developers are more likely than average to support each of the major platforms. The majority of them support Android and iOS. Most also support at least one other platform too, with the mobile browser and Windows Phone being the top candidates for that. When we look at priorities though, the picture is slightly different. [tweetable]Enterprise developers are slightly more likely to prioritise iOS than average[/tweetable] (with 33% doing so versus 31% for all developers) and slightly less likely to prioritise Android (39% versus 42%). When we consider only full-time professional developers though, these differences are not significant. The major differences are further down the platform mindshare list, with enterprise app developers being significantly more likely to target and prioritise the mobile browser. Also, whilst they are slightly more likely than average to target Windows Phone, they are less likely to prioritise it. Overall the platform picture is one where more platforms must be supported to serve enterprise clients and there’s a heavier emphasis on the web.

Heavier tool users

In order to support more platforms, enterprise app developers turn to cross-platform tools much more frequently than their consumer app developing peers. 41% of them are using cross-platform tools to reduce the cost and complexity of supporting multiple platforms. However, it’s not just cross-platform tools that are more frequently used to create enterprise apps. Other important tools are push notifications (28%), crash reporting (28%) and mobile Backend-as-a-Service (18%). User analytics, at 46%, is still the most popular tool amongst enterprise app developers, as it is in the developer population as a whole, although used slightly less than average. Heavy use of user analytics and crash reporting tools suggests a greater emphasis on quality. Push notifications are key workflow and efficiency enablers, providing access to timely updates and the latest info available at a glance. Last, but not least, mobile Backend-as-a-Service lets developers rapidly build out cloud services to accompany their apps. The features of these BaaS solutions for enterprise apps are likely to become increasingly differentiated from those designed for consumer apps. Most legacy backend systems were designed before mobile access was even a consideration and they often aren’t very suitable for direct interfacing. We expect to see significant growth over the next 5 years or so for solutions that can simplify the integration of legacy systems whilst enabling rapid development of mobile apps. Where we’ve seen consolidation in the consumer tools sector giving rise to mega-SDKs for solving multiple needs, it’s not surprising that several enterprise focused tools vendors are already covering most of these developer needs in a unified package.

Enterprise developers clearly have slightly different tools and tactics from consumer app developers for good reasons. Consumer app developers looking to switch their primary audience in search of better revenues should re-evaluate what they build, how they build it and how they sell it.

Categories
Languages Platforms Tools

Comparison of 4 popular JavaScript MV* frameworks (part 1)

Finding a comprehensive comparison between any kind of JavaScript Frameworks, Libraries or Extensions is not hard these days. Especially when it comes to JavaScript MV* Frameworks, which are used to develop single-page applications (SPAs), and their notorious representatives, i.e. AngularJS, Ember, Backbone.js and newcomer React. A simple Google Search offers a plethora of technical comparisons to choose from.

mv-frameworks

Which are your favorite and worst frameworks? Take the survey, let us know and you can win awesome prizes and gear.

What they don’t usually mention, though, is the overall features those frameworks provide and how they compete for different use cases. Moreover, it is sometimes difficult, if not impossible, to find information on the origins of those Frameworks, i.e. how they have developed in time and, most importantly, how they will develop in the future.

This article is part 1 in a 2-part series, and will focus on comparing key features from some of the leading JavaScript MV*frameworks. In part 2, we’ll give you some insight on market-related qualities, followed by a conclusion.

Features Comparison

To get our comparison started, we will focus on the heavy-weight and most promising features you, as a developer, expect from a JavaScript MV* Framework.

Dynamic UI Binding

Dynamic UI Binding is not just passing data to our View or template at page load. You want to automatically have the View update when the data of the underlying Model changes. That being said, you may want to have a look at the following jsfiddle examples to get an idea of the huge improvement provided by dynamic UI binding over traditional server-side static data binding.

Ember.js:

Ember uses Handlebars as the default templating engine. To update a value, which is bound to the UI, you have to use a specific setter method on your Model while Handlebars takes care of rendering your page. Additionally, Ember offers much more binding options, such as its capability to have your Model in either a one or a two-way binding mode between a View or even another Model.

Angular.js:

In contrast with Ember’s approach, Angular.js allows you to use UI binding at plain object or even property level. At the end of every code execution, $scope.$apply() is run to check whether the value has changed and calls $scope.digest() to update your bindings. This may seem like a possible performance issue at first glance, but bear in mind that it allows you to update more than one binding simultaneously without requiring time-consuming DOM updates after each setter call. So the DOM rendering is triggered only once after you updated as many of the Model’s properties as you wish rather than being triggered after every single value change, like in Ember’s setter approach. Having all the magic happen in $scope.$digest() you don’t need to call your UI-Binding-Buddy yourself and even the $scope.apply() call is handled by Angular automatically (e.g. after events, controller init, http callback, etc).

React:

One of React’s rich UI Features is the straightforward linking of states directly to the UI. Since the UI is thought of as the representation of different states of a React Component, you just have to manage your states with the magical #setState(state, callback) method. The state parameter is passed as an object and will be merged into the internal state reference of your React Component. Meanwhile, React takes care of all the updating and re-rendering of your interface using the render method. The callback parameter from setState is optional and can be registered so you are informed after the UI update.

Reusable Components

While all frameworks provide out-of-the-box functionality, you will inevitably end up with a lot of custom code. Assuming you are developing more than one applications, you would like to be able to reuse that code, right?

Ember.js:
Ember is making use of a widget-based approach called Ember Components. It enables you to write your own ‘application-specific HTML tags’ using a Handlebars layout and the power of Ember’s backend infrastructure. Your custom element can be used in any Handlebars template you want. Keep in mind, though, that this is only possible at View level, while Controller level reuse is not supported by the Framework.

Angular.js:
Similar to Ember, Angular.js provides the ability to create custom HTML tags. Reusable components in Angular are called “directives” and are significantly more powerful than Ember Components. In fact, you will be able to create your own semantic and reusable HTML syntax using those directives. On the other hand, you may also make use of Angular’s extend or mixin system like in Backbone.js and React.

Backbone.js and React:
The way Backbone.js and React solve reusable components is not new, yet it is very reliable. They both use the mixin system for code reuse. You may know this feature already from the dojo toolkit and might remember how powerful mixins can be. Both Backbone and React let you use mixins at view or even controller level, so that your components are not forced to be UI-related and may contain just some utilities or even complex program logic.

Routing

The simplest routing infrastructure a MV* JavaScript Framework can offer is mapping functions to URLs, similar to their server-side relatives (e.g. Grails, Spring, ASP.NET, CodeIgniter). For Single Page Applications (SPAs) a URL is whatever follows the hashtag (or might even be full path assuming HTML5 push-state is enabled). This routing functionality is essential for any self-respecting SPA.

Ember.js:

The routing in Ember.js is quite intuitive, since you do not even need to provide a path for your route, as long as you follow the naming convention. You just provide the View and an optional Model to the route and there is no need for any kind of controller (as exhibited in the Fiddle above), unless you are planning to do some advanced stuff in your application.

Angular.js:

In contrast to Ember’s convention-over-configuration routing mechanism, Angular.js requires a template and even a controller to its router configuration. You have to manage your template and controller manually – but you can do that almost without restrictions.

Backbone.js:

Similar to Angular.js you provide a View with a Template for your route. The actual replacement of the DOM is done manually by instantiating the View and updating the DOM in your container node with the rendered view template. At the end of your routing configuration you just have to tell Backbone to listen for URL changes with the command Backbone.history.start().

Pit Stop – Concluding the Feature Comparison

It is quite unfair to compare React with the likes of Ember, Backbone and Angular. First and foremost, React is new, while the latter are already established frameworks in the MV* universe. Secondly, React is not a framework, but rather a View engine – even though it competes extremely well in terms of features. In fact Facebook explains it better: “React is mostly used as the V in MVC”.

Let’s look again at our JavaScript MV* candidates.

Backbone doesn’t provide UI binding and does a really good job at reusable, components but loses some of its fanciness when it comes to Routing. Ember offers a slick routing mechanism, keeping things clean and simple by introducing naming conventions. Its UI Binding concept and use of Handlebars, which provides you with very nice benefits, is flawless. The only thing Ember lacks is the reuse of components at Controller level.

To conclude, Angular is our winner – so far. The approach of extending HTML with custom syntax, the easy-to-use data binding features combined with the power of mixins or extends and a clear routing mechanism makes Angular more than just a swiss JS-Knife. With its high abstraction level and a bunch of features it may be the choice for a full featured CRUD application – client sided.

Stay tuned to find out more about how our rivals compete in market penetration, community support, their estimated future usage and, of course, our final conclusion to help you back the right horse for your SPA.

 

In the meantime, tell us more about what you love or hate for each framework and you might win cool gear. Take the Developer Economics Survey.

Categories
Platforms

App Stores Growth Accelerates in 2014

2014 was quite an eventful year in our industry. Apple finally gave in to the big screen but also teased us with the small screen of the upcoming Apple Watch, and even surprised developers with Swift. Google wasn’t quiet either, revealing their vision for the future of UI with Material design and tackling wearables head-on. To celebrate such a great year, we’ll be taking a look at app store growth in 2014.

In this report we’ll be exploring the growth of each of these stores in 2014, but let’s start by establishing a baseline of how big each of the stores are, in number of apps, and how they got to where they are today.

app-store-growth-1

Looking at the chart above we can see all three stores really expanded their app catalog. It’s the kind of healthy growth you’d expect from an industry that’s still relatively new. The most obvious takeaway here, however, is that Google finally closed the gap and actually jumped ahead of Apple, ending the year with more than 1.43 million apps compared to 1.21 million. Amazon, although a distant third, grew its catalog by nearly 90% to 293k apps.

Google surpassed Apple for number of new apps for the first time in 2014

app-store-growth-2

Looking at the number of app developers who publish apps for the different stores, we see a familiar picture. Google Play’s developer community grew tremendously in 2014, exceeding Apple for the 3rd year in a row. In fact, [tweetable]Google Play is distributing apps from nearly 400k different developers[/tweetable]. This is a much higher number than what we observed in last summer’s report on app developers, meaning the Play store saw rapid growth in the last two quarters of the year.

Google’s developer community continues to grow faster than Apple’s for the 3rd year in a row

More apps than ever!

app-store-growth-3

App development is certainly on the rise and the platform doesn’t seem to matter. [tweetable]In 2014, all three app stores grew by at least 50%[/tweetable] (by the way, when we say growth we mean the percent change from the end of the previous year). What’s interesting is that although Apple continues to grow strongly, it’s really Google Play that’s growing. In 2014, the number of apps distributed through Google Play has doubled. Amazon is also enjoying impressive growth, albeit from a much smaller base.

[tweetable]Google Play more than doubled in number of apps in 2014[/tweetable]

We initially only set out to look at aggregate growth, but with so much data at hand, we just couldn’t stop. So TL;DR Let’s have a look at the top 5 categories with most growth during 2014:

app-store-growth-4

We expected to see Business and Games rank very high as both are fairly mainstream, but Food & Drink, with the second largest growth, was certainly a surprise. Keep in mind, for the comparison to be apples to apples, these charts look at growth and not total size.

More than 128k new Business apps were released in the iOS App Store in 2014

app-store-growth-5

On Google Play, Games are in abundance with the category more than doubling in size. Interestingly enough, although tiny in comparison, the Photography category saw abnormal growth in 2014. Selfie Stick anyone?

Developers. Developers. Developers.

This is surely amazing growth, but are those new apps being published by new developers, or is the catalyst for this massive increase in apps a result of incumbents expanding? You’re about to find out.

app-store-growth-6

More developers joined Google in 2014 than Apple and Amazon combined! With developers flocking to Google Play, the store has reached a new milestone: 388k developers — more developers than Apple (with 282k developers) and Amazon (with 48k developers).

More developers released apps for Google in 2014 than Apple and Amazon combined!

Let’s break this down by categories:

app-store-growth-7

We can see the relationship here between app growth and new developers, with most new Apple developers publishing business apps. What’s interesting is how games started off slow and sped up around March, catching up with the steadily growing lifestyle category. It’s no surprise that Apple developers, much like their Google counterparts, are focusing on mainstream apps.

app-store-growth-8

The amazing growth in games we mentioned earlier correlates directly to developers. The category saw the highest number of new developers, more than the business and entertainment categories that are tied for second place.

Most new Google developers focus on games, Google Play’s fastest growing category

There you have it, a whole year of amazing growth by the numbers.

[tweetable]2014 was certainly the year for Google Play growth[/tweetable]. Kudos to the teams who run the store and help developers! With the most apps and largest developer community, Google Play is starting the new year with a kick. Market fragmentation and varying device capabilities don’t seem to detract developers from making Android apps. But, with the upcoming Apple Watch, Swift, and a larger screen, Apple is giving developers a lot to be excited about.

Categories
Platforms

Cross Platform Apps – Qt vs. HTML5

Although building a separate native app per platform is currently proving to be the most successful approach for mass market consumer apps, there are still a lot of situations where it makes more sense to go cross-platform. In this article we’ll look at the most popular option, hybrid web apps built with HTML5, versus an up-and-coming challenger, Qt.

Cover_2

How do you build web apps? Take the Developer Economics Survey and let us know. Cool prizes await you.

Why Qt?

Those who know the history of Qt may be surprised to see it described as “up and coming”. Qt was originally designed for building cross-platform desktop apps, it’s creators started working on it in 1994! However, Qt became interesting for mobile development after Nokia bought Trolltech, the company developing Qt at the time, and invested heavily into making it the ideal toolkit for building mobile apps. Unfortunately, Nokia was making this strategic decision shortly before the iPhone launched (the acquisition was completed afterwards). This changed the game from building apps for devices with numeric keypads and Qwerty keyboards, to large touch-screen based devices. The former Trolltech engineers recognised that they needed a very different way of creating apps for Nokia’s offering to compete.

When Steve Jobs said that the iPhone was 5 years ahead of the competition at launch, he was not far wrong. Android had managed to close some of that gap, probably due to executives at Google having some advanced warning about the iPhone. Unfortunately, Nokia eventually gave up on it’s own Qt based devices in favour of Windows Phone as the software efforts were taking too long and they were falling a long way behind in the ecosystem wars. They sold Qt to one of their major services company suppliers – Digia – who have recently established a fully-owned separate entity for the product, The Qt Company. Only after being fully disentangled from Nokia has Qt been able to return to its roots as a cross-platform framework and start supporting the major mobile platforms. However, in the mean time, others had seen the great foundation for mobile apps that Nokia’s investment created. As a result the BlackBerry 10, Jolla Sailfish, Ubuntu Mobile and Tizen platforms all have Qt as a core framework.

From a personal perspective, I re-wrote a popular iOS game for Symbian using Qt in early 2011. The UI design and general debugging tools were a bit immature at the time but it was one of the simplest learning curves and most pleasant development experiences I’ve had on any platform (note: I was not paid to say that), even though the core of Qt is using the less than developer friendly but high performance C++. I was able to achieve smooth 60fps performance on some rather low-spec hardware. It was easy enough to learn their new UI technology, Qt Quick, and build the menu screens for the game with it in a couple of days.

Why HTML5, or why not?

HTML5 is the most popular option for developers building cross-platform mobile apps, however, it appears to be falling out of favour a little. Web browsers and web views are available on every platform and web developers are able to transfer their skills from building websites to building mobile apps. Open source frameworks like Cordova (PhoneGap) allow developers using HTML5 to access additional mobile specific functionality and make it easy to package apps in a native format for each platform. The added bonus is that you can usually have a version of your app on the web as well as in the app stores for minimal additional effort. HTML5 is generally more productive for building UI centric applications than native apps. There is also an embarrassment of riches when it comes to libraries and frameworks for building mobile web apps. Hybrid web apps are in the privileged position (on iOS at least) of being able to update their code directly, avoiding the App Store review process for all but major changes.

Slide12

Given its ubiquity and large developer base, why isn’t HTML5 the default cross-platform approach? [tweetable]Despite many advantages, hybrid web app developers have been struggling with performance[/tweetable] (partly due to crippled or outdated webview implementations, an issue which has been fixed in the latest versions of iOS & Android, although this will take a while to penetrate the entire installed base). There is also an issue with varying levels of support for standards across mobile browsers (again, this is something that’s improving but not entirely fixed yet). Web technologies have also not really been designed for the highly animated UIs that are now expected by mobile users. This is something that the much hyped Famo.us framework aims to resolve.

A number of very high profile consumer startups have publicly switched from web hybrid to native mobile app approaches. The most common reason stated for these switches has been lack of adequate tooling. It’s certainly possible to make web apps perform well on mobile devices within their limited memory budgets but with the current state of debugging and profiling tools, that’s still not an easy thing to do compared to producing native apps. This said, not all apps need flawless UI animations and we’re not comparing HTML5 with native, so lets look at how it goes head to head with Qt.

Qt vs. HTML5 – Pros & Cons

Supported platforms:

  • HTML5 is supported almost everywhere.
  • Qt is supported on all major platforms (and minor ones that happen to use it for their UI).

Although in theory you can target more platforms with HTML5, this is not how most developers are using it in the real world. [tweetable]HTML5 developers are increasingly abandoning the browser and building hybrid apps[/tweetable]. Most mobile developers are targeting some subset of Android, iOS, Windows Phone, Windows 8 and BlackBerry 10. Qt supports all of these and more. In fact, in practice our data shows that Qt developers actually target fractionally more platforms on average than HTML5 developers. As a result, this is basically a tie for most developers with a significant advantage to HTML5 for those who really want to run their software everywhere (feature phones, Smart TVs etc.).

Slide24

Learning curve:
This one depends whether you’re already a web developer. If you are, learning to build mobile web apps is probably easier than learning Qt. However, if you’re new to either then Qt has significant advantages in terms of having one framework to learn rather than 10s of them to choose from before you even start. Qt also has great documentation, which isn’t necessarily true for all web frameworks. In a fair contest, this is a clear win for Qt.

Openness:

  • HTML5 is open standards based and there are multiple open source implementations.
  • Qt is open source but dual licensed and effectively controlled by a single vendor.

Clearly HTML5 is more open than Qt. This isn’t always an advantage. The process of creating standards and getting multiple vendors to implement them is slow, Qt can be more agile. If you really need something fixed or a new feature added in open source you can do it yourself or pay someone to do it. If you need to support Internet Explorer and there’s an issue with it, you have to work around or wait for Microsoft. Then again, there’s no vendor lock-in with HTML5 and the web isn’t going anywhere. Someone else could buy Qt and take it in a direction that doesn’t align with your goals. Or they could just put the price up beyond your budget. HTML5 has the edge but it’s not a clear win.

Cost:

  • Building for HTML5 is free. There are some non-essential paid tools that can help.
  • Qt requires a commercial license for most commercial use on mobile.

Qt’s open source licenses are not compatible with distribution on most app stores. Although the iOS port of Qt is developed in open source, you need a commercial license to ship apps in the store. The lowest cost subscription that allows developing mobile apps for the iOS & Android stores with Qt is $25/month. HTML5 wins.

Cross-platform compatibility:

  • HTML5 has multiple independent implementations of a standard.
  • Qt has one vendor implementing the same runtime on multiple platforms.

Multiple implementations, with several in open source and a large community reporting on and working around compatibility issues makes for a very robust platform. Even so, having a single vendor making sure all platforms behave in the same way is almost always better for compatibility of your app. Qt wins.

Performance:

  • HTML5’s DOM was not built for modern mobile apps.
  • Qt Quick’s (QML) scene graph is built directly on top of OpenGL ES.

Both environments use JavaScript. However, with Qt it’s much easier to drop down to native code if you really need native platform functionality or performance. The performance penalties for switching between JavaScript and native code are much lower with Qt. The biggest difference however, is graphics performance. People looking for serious graphics performance with HTML5 resort to complex schemes to avoid touching the DOM as much as possible. Building the entire UI on top of WebGL seems like the most promising path to future performance, now that WebGL has much wider support (Apple adding this in iOS8 is key). Qt has a massive advantage here, it also has more extensive animation options than CSS3 for web app developers.

Native user experience:

  • With HTML5 you rely on either a 3rd party framework like Ionic or building your own clones of native interface elements.
  • With Qt you can use components that clone native interface elements, or use real native UI calls.

Being able to call native APIs in Qt potentially gives it the advantage here but in reality this loses cross-platform compatibility. In practice neither option is really well suited to situations where you need a genuinely native user experience. Both can emulate one adequately for a subset of possible apps. In general it’s best to use a cross-platform approach where a fully custom UI is needed, or a native look and feel is not essential.

Conclusions

Comparing across these metrics, Qt has a slight edge over HTML5. However, there are other metrics you could use that would give the opposite result. In practice the technology needs to be selected to fit the project. Both options have merits and if you’re an HTML5 developer who’s not already familiar with Qt’s offerings, they’re worth a look. I also didn’t mention that Qt apps can display HTML5 content in a webview, meaning that it doesn’t have to be one or the other, it can be both.

 

Which one do you prefer? Take the Developer Economics Survey and let us know.

Categories
Business Platforms

The 3 key Apple Watch features that nobody talks about. Yet.

[If Apple wants to create a new, large product category out of smart watches, they need to create mass-market demand for their new product. What are the 3 most important features that will define the future of the Apple Watch? The ones that enable developers to innovate on top of these devices and create demand for smart watches.]

apple-watch-09

“We believe this product will redefine what people expect from its category. … It is the next chapter in Apple’s story.” With these words, Tim Cook made it very clear that the Apple Watch is more than just an excellent product. As with the iPod, the iPhone and the iPad before it, the Apple Watch aims to shape the future of wearables and create a whole new market reality.

As it stands, the Apple Watch v1 is a nicely designed timepiece, an engineering wonder, but competition will be fierce. Since fashion is about self-expression, by definition, there will be no single winner.

If Apple wants to create something bigger than fashion accessories, the Watch needs to be a functional tool. If it’s a tool, [tweetable]Apple must answer a fundamental question: what is a smart watch for?[/tweetable]

https://twitter.com/brianshall/status/509405381857013760
https://twitter.com/BenedictEvans/status/509431691207659520

Will notifications become the killer app for smart watches? Unlikely. Not only is it unclear that we really want more interruptions, but it’s a bit of a dead-end for innovation. There can only be so many improvements in notifications, and only so many companies making those improvements.

If Apple wants to create a new, large product category out of smart watches, they need to become something much more that a timepiece with notifications and sensors. Something that allows people to do things that were not possible before. How Apple can do this? By following the same path that worked so well for iPhone and iPad: Tap into the limitless innovation power of co-creators to discover new use cases and possibilities we cannot imagine today.

The most important features of the Apple Watch going forward are the ones that enable developers to innovate on top of these devices and create demand for Apple’s smart watches. What are these features?

WatchKit

WatchKit

The straightforward way to expand the functionality of the watch is the WatchKit SDK, which allows developers to create “watch apps”. Other smart watch players like Android Wear, Pebble and Razer have made similar capabilities for developers. Developers are already showing strong interest in smartwatches. For example, the developer program of Pebble boasts 20,000+ developers and thousands of apps,.

HealthKit

The Apple Watch has a strong emphasis on embedded sensors for fitness and wellness. On the launch event, the company dedicated an entire section on it. Tim Cook: “This is a very important area for me and a very important area for Apple.”

But a few sensors and apps do not make a platform. The real potential lies in the HealthKit SDK that Apple launched at its WWDC event earlier this year. While its not technically a feature of the watch itself, it is this SDK that can take the device’s functionality and expand it in a whole new way to monitor activity and other wellness data . Could it be that the category that Apple wants to redefine is not the watch, but wellness and healthcare (in the broadest sense of the word)?

Certainly several other companies seem to go after that opportunity. Among them Google (Google Fit), Validic, Samsung (SAMI), Human API and most recently Jawbone (Jawbone UP API).

Identity

Like the Nymi wristband, the Apple Watch has all the technology in it to identify you personally. Apple has already demonstrated how digital identity combined with the Apple Watch can be used to make payments or even open hotel doors. (The clever integration with the new Apple Pay can drive adoption for both.) However, the possibilities are much broader. Biometric identification can be the end of not only passwords, but other kinds of ID as well. Another product category for Apple to redefine and absorb into its iOS universe?

Digital identity is a key control point for many digital leaders, including the likes of Google, Facebook, Twitter, LinkedIn and Salesforce. They are all actively working to hold your identity information and build your online persona on their platform. For Apple, the importance of identity is also evident in their deepening integration between devices and in their introduction of fingerprint sensors in all new phones.

Users first

What is a smart watch useful for? Beyond fashion and self-expression, a new kind of health monitoring and identity are prime candidates for the title of killer use case. Apple is going at it with their proven recipe for launching digital ecosystems: users-first. Apple starts by releasing a well-designed device for hardcore fans with a lot of value built in by default. Once there is a critical mass of users, Apple connects them with developers, who create real mass-market demand for the product.

It will take the ingenuity of a community of developers to explore all the possibilities and create a category killer, and Apple knows it very well.

Categories
Business Platforms Tools

State of the Developer Nation: The App Economy Consolidates Before the Next Gold Rush

Our 7th Developer Economics survey broke all records again, reaching more than 10,000 app developers from 137 different countries. The full report with the survey findings has just been published and is available for free download!

The view of the app economy that they collectively provide is one of consolidation. Developers are focusing their attention on fewer platforms and app revenues are becoming increasingly concentrated amongst the top publishers. Consolidation in the developers tools sector may also be partly responsible for the decline we see in tools usage. This is also reflected by the platforms, with BlackBerry moving their focus away from consumer smartphones and Microsoft killing their recently acquired Asha and Nokia X platforms to double down on Windows Phone. Fortunately there are several indicators that the next gold rush is just getting started.

Platform Wars in the App Economy

On a global level the platform wars are ending with iOS claiming the majority of the high-end device market and Android winning almost everywhere else. This results in [tweetable]Android leading in developer mindshare at 70% with iOS a clear second with 51% of developers targeting the platform[/tweetable]. However, we’ve been tracking this metric since 2010 and there is a new pattern. [tweetable]Windows Phone was the only platform to gain developer mindshare, rising steadily to 28%[/tweetable], despite failing to gain device market share. Although Android and iOS lost developer mindshare, this was not fewer developers prioritising either platform, rather more developers are now choosing sides. The average number of platforms a developer targets has fallen from 2.9 to 2.2 over the last 12 months, with more than 40% only targeting a single platform.

DE2014Q3_Mindshare

BlackBerry 10 is rapidly leaking developer mindshare, down to 11%, having failed to gain traction with consumers. Meanwhile, it’s now becoming increasingly clear that [tweetable]the future of HTML5 lies beyond the browser[/tweetable]. Although HTML5 is used by 42% of developers as a technology for app development, only 15% still target mobile browsers as a distribution platform.

A surprisingly high 47% of iOS developers and 42% of Android developers are using something other than the native language on their platforms. While hybrid apps are the most popular non-native option for building Android and iOS apps, they’re only used by 13% of developers. Hybrid apps are HTML5 apps with a native wrapper, typically created by tools such as Cordova.

DE2014Q3_NativeMyths

App Revenues

The majority of app businesses are not sustainable at current revenue levels. [tweetable]50% of iOS developers and 64% of Android developers are below the “app poverty line” of $500 per app per month[/tweetable]. 24% of developers interested in making money earn nothing at all. A further 23% make less than $100 per app per month. The overall app economy, including all revenue sources not just the app stores, is still growing but the revenues are highly concentrated. At the top end of the revenue scale there are just 1.6% of developers with apps earning more than $500k per month, collectively they earn multiples of the other 98.4% combined.

DE2014Q3_iOS_vs_Android_Revenues

State of the Game Developer Nation

Games dominate app store revenues, yet most games developers struggle. [tweetable]33% of developers make games but 57% of those games make less than $500 per month[/tweetable]. Experience breeds success in the games market. The more games a developer has shipped the more likely they are to be financially successful. However, 70% of games developers have shipped less than 4 titles.

Games is a multi-platform world with the average games developer targeting 3 platforms versus 1.75 platforms for non-games developers. Multi-platform games benefit from cross-platform game development tools with Unity by far the most popular, used by 47% of developers. The next paid tool, Adobe Air, comes a distant second at 15%. Apple and Google’s latest graphics technologies launch a battle for the richest gaming experiences. Third party game development tools like Unity and the Unreal Engine will be key to developers exploiting these capabilities.

DE2014Q3_Game_Dev_Tools

Tools of the App Developer Trade

Third-party tools are a critical part of successful app businesses. There’s a strong correlation between tool use and revenues, the more tools a developer uses, the more money they make. We successfully predicted the rise of the Mega-SDK, where consolidation amongst tools companies allows developers to integrate multiple tool categories from a single vendor. Despite this, tool use is declining, partly due to the rapid influx of new mobile developers. These new developers are typically not aware of the tools that are available and thus reduce the average usage levels. 26% of developers that are interested in making money don’t use any third party tools, up from 14% just 12 months ago.

DE2014Q3_Tool_Popularity

The most popular category of tool is Ad Networks, with 30% of developers using them. However, this is one of the few tool categories that is not associated with higher than average revenues. More experienced and successful developers show a preference for Cloud Computing platforms, such as Amazon Web Services or Microsoft Azure, with 40% of those with 6+ years experience in mobile apps adopting them.

Enterprise Apps – The Next Gold Rush

[tweetable]Enterprise apps are already the safest bet in the app economy and they’re only just getting started[/tweetable]. 67% of mobile app developers primarily target consumers and 11% target professionals directly. The 16% of developers who target enterprises are twice as likely to be earning over $5k per app per month and almost 3 times as likely to earn more than $25k per app per month.

DE2014Q3_Enterprise_vs_Consumer

Penetration of enterprises with mobile devices and solutions is already broad but not yet deep. Currently iOS appears to be winning the battle for enterprise adoption and revenues. Yet many developers are focusing on the wrong platform with 10% more enterprise developers targeting Android than iOS. Although enterprise apps have been a historical strength for them, Microsoft and BlackBerry are seeing very weak adoption for their new platforms amongst enterprise developers due to lack of demand from enterprises.

This battle is in the very early stages. Microsoft is re-focussing on their core competence in productivity software while Apple and Google move rapidly to embrace enterprises. Google’s integration of Samsung’s Knox platform into the Android platform is a major step forward. Meanwhile Apple’s new partnership with IBM gives them a strong proposition in all the major vertical markets. These moves will undoubtedly drive greater adoption of mobile technology in enterprises and create countless opportunities for developers to help re-think the way we work.

For more information, download the full Developer Economics Q3 2014: State of the Developer Nation report and check out the war between the European and the Asian app economy.

 

Categories
Platforms

Benefits and Challenges of HTML5 App and Game Cross-Platform Development

HTML5 web app development had its ups and downs but it is undeniably one of the most promising technologies for the upcoming years. The best example can be found on desktop systems, where users are spending more time inside a browser than ever before.

HTML5

Hundreds of traditionally native apps are turning into web apps as they provide advantages like interoperability, ubiquity and cross-platform. The features added in the new HTML5 standard allow a much more dynamic web content and the development of applications never before imaginable on the web, such as videogames, one of the most performance and resource demanding type of app. But this cross-platform promise is still in the making and it is key for developers to understand the benefits and challenges before committing to a fully web based approach. In this web Vs native controversy it is important to remember that [tweetable]the adoption of a technology should always be driven by the needs of the project to be developed[/tweetable].

Benefits

In order to provide the most accurate view of the status of web based project development and make the right decision, let’ summarize the benefits of the web first to identify the opportunities it offers.

Cross-platform

This is the main feature why developers have originally turned into web technologies looking to fulfil the promise of coding once and deploy everywhere. As some of the other advantages of the web, cross-platform is in its nature, as it is meant to run on any device (hardware) and operating system (software). The web can be accessed from a PC, Mac, laptop, desktop, mobile device, smart watch, car and even home appliance. We know one thing for sure about any futuristic new device: it will be able to access the web.

Content on demand

Many developers do not identify this feature as a benefit because they take it for granted as, once again, is in the nature of the web. But [tweetable]being able to provide content on user demand is one of the biggest benefits the web puts on the table[/tweetable]. Applications can easily vary and adapt with none or little effort from the developer perspective and new paradigms and user cases can be easily accomplished, like promoting the use of an app or a new feature while communicating with others. The messaging app Kik is a great example of an application that is showing the benefits of on demand web applications as provides its users with the option to run apps and games without having to leave the messaging environment.

Full technology stack

This is a feature that goes hand in hand with cross-platform as its goal is to ease the process of building a product for developers. Web technologies can be used full stack, from client to server, thanks to platforms like Node.js. Many products need a desktop based UI/UX and their mobile versions could be developed using the same technologies and reusing plenty of the same code. Same thing happens in the server side as many data structures and even algorithms can be reused speeding up development cycles, lowering possible mistakes and bugs and increasing maintainability in the long run.

Based on open standards

This is more important than meets the eye. There have been various technologies in the past that made the cross-platform promise but did not completely deliver. Amongst other reasons, they failed because of being closed and tied to a specific company. Open standards allow both vendors and developers to contribute and improve the final product. This is one of the key success factors of the web. There is no head controlling it so it can evolve according to the needs and interests of many.

Supported by big companies

The web is supported by the biggest technology companies in the world like Google, Amazon, Microsoft, Facebook, Samsung or Apple. Most well known and used browsers are developed by some of these companies that also are part of the standardization committee. This support is a good example of why the web is here to stay and why it will continue gaining momentum as a development platform.

Big developer community

The web is also driven by its developer community, one of the biggest as it involves front-end and back-end developers that are always providing new tools and support. Mobile is the frontier to conquer but there is no doubt the web has won on desktop environments. There is no company, product or service that doesn’t have presence on the web both directly or indirectly. This whole ecosystem of applications is developed by a thriving community of developers that not only need to understand the backend side of the equation but also how browsers and client side technologies work.

WebGL

This feature might change the perception of the web for both apps and games. It provides access to high end graphics and to a more interactive web crossing the boundaries of 2D to enter the third dimension (and even improving the 2D experience with hardware accelerated graphics). All the big browsers support it out of the box now as the last two players, Internet Explorer and Safari, have finally committed themselves to promote it too.

The list of the benefits of the web could even be longer. After reading this set of features, the web could be the first (and maybe the only!) option when it comes to implement a project: be everywhere, anytime and with the the option of using the same technology full stack. But the truth is that web technologies are not widely used in many scenarios (specially when it comes to mobile).

Challenges

Let’s review the main challenges that developers need to overcome and some tips on how to do it.

Cross-platform is more than devices and operating systems

It also involves markets, stores, destination sites, … deployment targets in the end.[tweetable] The holy grail of code once and deploy everywhere comes at a price: handling the particularities of each deployment scenario[/tweetable] can be tricky. Developers need to create accounts, understand the packaging details on each platform, install and learn how to use the tools provided, etc. There are some solutions in the market based on cloud services to be able to configure and deploy a product to different targets with simple to use interfaces taking all these burdens out of developers shoulders. Some examples of this kind of services are Intel’s XDK, Adobe’s PhoneGap Build and Ludei’s CocoonJS.

Cross-platform does not really mean same code or user interface/user experience

It is important that developers understand that cross-platform does not mean the same exact app will mandatorily be the one that will end up going to the different markets. Mobile devices have some inherent particularities like the different input method (touch screens) and limited screen resolutions that must be taken into account. Also, users on mobile are used to different set of interaction paradigms especially when it comes to social media integration or access to native features. [tweetable]A good advice is to think on mobile first if mobile is key for the product[/tweetable]. Mobile device memory, performance and feature limitations should also be taken into account. Having good tools for rapid prototyping, testing and debugging is also key. Many HTML5 app development frameworks provide tools for what is called responsive design. However, this challenge is still less of a problem compared to developing an app in different technologies (web for the desktop, Objective-C for iOS, Java for Android, C# for Windows Phone, …).

Browser feature fragmentation

Yes, the web is an open standard and that is a benefit, but the adoption of these standards rely on browser vendors that have their own agendas, as they are private companies in the end. Standardization takes time too and it is important to take that into account if a feature is a must inside a project. This situation leads to an API and feature fragmentation that has hurt the web application development from the origin of the internet (remember Internet Explorer Vs Netscape “browser wars”). Use of prefixes, incomplete or different implementation of some of the APIs, promotion of non standard ways of handling certain situations are just some of the examples of this challenge developers have to face. Vendors are improving their old day practices and the auto update of the browsers has helped a lot in order to allow users to benefit from the latest additions in a daily manner. There are also initiatives to mitigate the negative side-effects of these practices like some open source libraries to ease the handling of supposedly standard features, e.g. Modernizr. Still, this might be a challenge for some developers. On mobile, this problem is magnified as mobile operating systems (specially Android) and browsing technologies are still in their infancy. Technologies like Ludei’s WebView+ or Intel’s Crosswalk help overcoming this problems as they offer a unified execution environment regardless the Android operating system version. One less headache for developers.

Low performance, especially on mobile

Execution speed has been one of the main problems holding HTML5 back as a widely used cross-platform app and game development technology. Mobile has been the platform where this problem has been more notorious as mobile devices have more limited processing power. As hardware has evolved, the performance gap between mobile devices and desktop computers is shrinking. Improvements on browsing technologies has also helped on solving this issue. Still, the biggest problem related to performance is, once again, due to fragmentation. To be able to develop a native web application, the system webview element is used. The issue with the webview is that it’s tied to the OS version, so that the user needs to update the OS for the webview to get new features and updates. Android fragmentation makes the webview a poor choice when it comes to deploying HTML5-native hybrid apps. But there are solutions to this problem. Once again, projects like Crosswalk and Ludei provide a huge improvement in order to solve the performance issue. Actually, Ludei provides multiple options (WebView+ and Canvas+) to help on this matter depending on the type of project (a general purpose app or a canvas based game). The bottom line is that there are solutions for the performance problem that prove that HTML5 can be a good execution environment for cross-platform apps and games.

Access to the native features on each platform

The web, as many other technologies before it, because of its cross-platform nature could be limited in its access to platform-specific features. This is a fact and in many cases, a limitation. Either way, the huge support that the web has over the whole technology community makes it a primary target for the adoption of new products and technologies. Good examples of this are devices like the Leap Motion controller or the Oculus Rift VR Head Mounted Display. Thanks to new APIs like websockets, these completely over the edge technologies are present from day one on the web. A similar situation arise on mobile with an increasing need to access hardware features and many of the interesting APIs only available in the OS/native level. The good news are that browsing technologies are rapidly adopting these important features. Moreover, thanks to hybrid approaches, there are JS to native bindings that allow accessing any native feature from a web app. Cordova is the de facto standard for building these bindings called plugins. Literally, there is no limit on what can be accessed: In-App Payment APIs, Push Notifications, Advertisement SDKs, Social Network SDKs, and a long etcetera.

[tweetable]The benefits of HTML5 and the web are undeniable; the web is here to stay[/tweetable]. The devices of the future might support software languages like C, Java, Swift or a new language we’ve yet to see – but the common denominator will always be the web, a technology that has brought us together and has enabled a much richer communication and access to information. The true strength of the web and HTML5, its most recent standard, lies in its ubiquitousness and its flexibility. HTML5 has advantages and limitations, and knowing how to leverage the former and overcome the latter is what sets apart good from bad engineering teams. It’s just a matter of choosing the right tool for the right job.

Categories
Platforms

Smartphone Market Share And Usage By Country – Apr-May 2014

Worldwide Smartphone Usage Share

My argument was that market share patterns by country could give us a better understanding of these trends. While market share of shipments is certainly a leading indicator for install base (and consequently, usage), it only gives us a part of the story. Contrasting regional market share and usage share (as a proxy for install base) may give us an even better understanding.

As always, I’ve sourced the figures for shipment market share from Kantar while usage share figures are from Statcounter. Usage share (or browsing share) isn’t an ideal proxy for install base as it could be skewed towards higher end devices. However, the trends in usage share could give us a fairly good understanding of the underlying install base. For example, the chart above shows that Android’s usage share has been growing while that for the iPhone has declined slightly. This should be expected as Android’s shipments and install base have been growing much faster than those for the iPhone.

Now, let’s take a look at the trends in each region:

Mature Markets: US, Australia, Japan and Europe

US: Android Gains on iPhone after Unsubsidized Plans Take Hold

US Smartphone Market Share

US Smartphone Usage Share

The market share chart shows that AT&T’s foray into unsubsidized smartphone plans in late-2013 had a measurable impact on the iPhone. As a result, the iPhone has seen steep YoY market share declines. We can see this pattern in the usage share chart as well. Android and iPhone usage patterns were diverging until late-2013, when they began to converge again. Meanwhile, both charts show that Windows Phone has been unable to penetrate the US market.

Australia: Android Usage Grows

Australia Smartphone Market Share

Australia Smartphone Usage Share

Android has held the market share lead in a fairly cyclical market for a few years now. Over this period, it has made steady gains in usage share. Windows Phone’s market share has been hovering around 5-7% for a year now, but it has barely made a dent on usage. This could mean that Windows Phone devices are being used as feature phone replacements.

Japan: iPhone Extends Lead

Japan Smartphone Market Share

Japan Smartphone Usage Share

As I’ve explained before, Japan is one of the only remaining markets in the world that follows a purely opaque pricing structure for smartphones. This pricing model, combined with a distribution partnership with NTT DoCoMo, gave the iPhone a huge market share boost. As we can see, this has had a major impact on iPhone usage as well.

UK: Android Makes Steady Gains

UK Smartphone Market Share

UK Smartphone Usage Share

As I’ve explained before, market share patterns in the UK seem to be stabilizing with lower cyclicality. Usage share patterns have remained stable as well, with Android gradually catching up with the iPhone. Interestingly, Blackberry owned a significant share of usage even after 2012 but Android gradually ate into its base. Windows Phone remains a bit player, but at least its usage share doesn’t scream “feature phone replacement”.

Germany: Android Dominates

Germany Smartphone Market Share

Germany Smartphone Usage Share

Android’s market share in Germany has grown steadily over the past few years. As a result, its usage share overtook that of the iPhone in mid-2012 and now holds a dominant position. This had a significant impact on the iPhone’s performance. Windows Phone’s market share has hovered at around 7%, but it has struggled to make an impact on usage.

France: Android Leads Shipments, Overtakes iPhone in Usage Share

France Smartphone Market Share

France Smartphone Usage Share

Android’s market share has remained stable over the past year, while the iPhone has remained cyclical. Android’s shipment supremacy has led to a direct impact on the install base which caused Android’s usage to overtake the iPhone’s earlier this year. Meanwhile, Windows Phone’s market share seems to have had a meaningful impact on usage.

Italy: Android Leads, Windows Phone Tails Off

Italy Smartphone Market Share

Italy Smartphone Usage Share

As in Germany, Android has made steady gains to become the leading platform in both market share and usage. The iPhone has seen steep declines on both metrics as was also challenged by Windows Phone. However, Windows Phone shipments, and consequently usage, have tailed off over the past few months.

Spain: Android Becomes the Default Platform

Spain Smartphone Market Share

Spain Smartphone Usage Share

This one seems self-explanatory.

Emerging Markets: China and Latin America

China: Android and iPhone Remain Steady

China Smartphone Market Share

China Smartphone Usage Share

Market share patterns in China have stabilized as the market seems to have moved out of hyper growth. Over this period, Android and the iPhone have feasted on legacy platforms like Symbian. As the market matures, we may see more direct competition between these two platforms. Interestingly, the iPhone’s partnership with China Mobile seems to have had no impact on these patterns.

Mexico: Android Replaces Blackberry

Mexico Smartphone Market Share

Mexico Smartphone Usage Share

Mexico is the only market on this list where Blackberry held a market share lead at some point in the last two years. However, this market share lead did not translate into usage which suggests that they were primarily used as feature phones.

Over the past couple of years, Android has taken a dominant position in market share and usage. The iPhone’s share of usage has declined over time, but still seems out-sized compared to its market share. Finally, Windows Phone seems to have a measurable, but not significant, presence on both metrics.

Brazil: Android in the Lead

Brazil Smartphone Market Share

Brazil Smartphone Usage Share

As in Mexico, Android holds a dominating position in both market share and usage while iPhone usage remains far higher than its market share. Windows Phone has a small presence, but it seems muted compared to other Latin American countries.

Argentina: Android Leaves Other Platforms Behind

Argentina Smartphone Market Share

Argentina Smartphone Usage Share

Android’s performance in Argentina seems to be dominant enough to create an oddly stable usage share pattern. Windows Phone is the second leading platform on both metrics, but remains far behind the leader.