Lastly, we asked respondents about what sorts of factors -both strategic and technical-they considered important in determining which platforms they targetted. From a strategic perspective we asked
When choosing a platform to develop for (e.g, Android) how important are the following factors?
|feature||not important||important||very important|
|number of potential users of your app||6.45%||10.97%||68.55%|
|ease of development||6.05%||21.37%||58.55%|
|assistance in marketing your app||34.12%||28.23%||23.40%|
|worldwide reach of marketplace||22.33%||23.47%||40.02%|
Developers are less concerned about marketing assistance, and more about the platform’s capabilities, and its market share. Currently, a number of platform owners are expending considerable effort to win developers over to their platforms on the basis of the sort of assistance they can give those developers marketing their apps. That effort might be better placed at least in part in making life easier for developers, though documentation, and tools, than co-marketing efforts.
From a technical perspective, we asked which platform features developers consider important.
Which of the following, in your opinion, are the 5 key features web apps need to compete with native apps on devices?
|Audio Player control||186||13.62%|
|Camera Image Capture||434||31.77%|
|Support for sending SMS, MMS, emails within an app||349||25.55%|
|Read write access to Address Book/Contacts||275||20.13%|
|Device Interaction (beep, vibrate etc)||406||29.72%|
|Video Player Control||196||14.35%|
|Camera Video Capture||208||15.23%|
|Device Orientation (i.e. Compass)||277||20.28%|
|Read/Write access to system calendars and tasks||374||27.38%|
|Read/Write access to device file system||414||30.31%|
|Device status (battery, signal, screen, other parameters on the device)||152||11.13%|
|Native control look and feel||680||49.78%|
|Ability to launch other apps (e.g media player) from the app||398||29.14% |
Interestingly, no factor, not even support for native look and feel tops 50%, while of the most desired features, a number are currently widely supported on mobile platforms (geo location, file access, accelerometer), while others are part of the W3C’s Device API standard, currently under development.
So, by and large, the pieces developers most want from web technologies are already available on most mobile platforms, either directly in the browser, or via PhoneGap, Appcelerator, or a similar technology.
Native versus web technologies for app development
Yet controversy reigns around the question of native versus HTML5 based apps. Is this just a storm in a teacup? Or do developers have genuine concerns about the viability of web technologies for developing applications. In our final questions, we asked developers what they felt the strengths and weaknesses of each approach – native and web technologies were. Rather than enumerate a list of answers, we simply asked developers to tell us in their own words.
The strengths of native development, or the reasons cited for developing using native technologies included
- ability to access app stores
- client/decision maker expectations (“because our CEO has an iPad”)
- performance or responsiveness to user input
- access to device APIs
- needs to be usable offline
- platform limitations (e.g. Windows Phone 6)
- desire to create a native user experience
The sort of limitations of native technologies respondents typically cited included
- learning curve of development environments, and languages
- lack of cross platform deployment, need to develop multiple versions
- long development time
- challenges in getting upgrades into app stores, and getting users to upgrade
- App store restrictions
Most of these can be addressed via the use of a technology like PhoneGap, or Appcelerator, and a number even directly in the browser. The particular challenges that remain are native look and feel (though many “native” apps emulate these, or use non standard look and feel), and performance, certainly in more demanding circumstances.
The particular strengths of web technologies developers cited included
- ease of cross platform development (though some concerns were raised about the reality of this)
- ease of development generally
- ease of application maintenance
- instant upgrades
- Not constrained by App Store policies
while not surprisingly the drawbacks were largely the obverse of the strengths of native apps, including
- challenges creating native user experience
- lower performance
- lack of device API access
At least among these developers, there appears to be considerable consensus about the strengths and weakness of each approach to developing for platforms like iOS. It’s clear too that at least some respondents were comparing pure web apps with native apps, as a number of the concerns which respondents raised about using web technologies to develop native apps, for example access to device APIs, and app stores can be eliminated by using approaches such as PhoneGap.
What’s left are two underlying concerns, which are expressed commonly in online discussions about the contrasts between web technologies and native technologies.
First, that web technologies have lower performance than native approaches like Objective-C. And secondly, that using native technologies gives rise to better, more native user experiences than using web technologies, even with frameworks like SenchaTouch.
Overall though, it’s clear that, again among this cohort of developers, there’s considerable interest in developing native app using web technologies. We’ve also seen that a sizeable percentage of the respondents are considering developing native apps in the coming year, and it’s a fair guess that a significant percentage of these, perhaps even a significant majority will use web technologies, coupled with a solution like Appcelerator, or PhoneGap.
Finally, we’ll wrap up this mobile focused state of web development report with some general thoughts.