Apphil - Mobile revolution coming
Addresshunter – Fun game to improve OSM address database

As you might know, we at skobbler share the belief that the OpenStreetMap is the future of digital maps. With its more than 400,000 registered members, OSM positively seems on its way there. In several regions, its detail has already surpassed the commercial map suppliers.
As with any great project, there are certain pressure points that do need some particular attention. Improving them can lead to great enhancements to the overall quality of the project. With OpenStreetMap, one of these areas is house numbers. Approaches that try to augment existing streets in OpenStreetMap using algorithms and automated methodologies often fail, due to the mostly non-linear, non-symmetric nature of urban architecture. And who would want to walk down streets that already exist on the map on a large scale, actively trying to scan for holes in OSM’s house number data?
For this reason, we have thought of a way that tries to take bore and lack of methodology out of house number collection. In essence, it is supposed to be both fun and meaningful for the project. We call it AddressHunter.

AddressHunter - start screen

The game is very straightforward. Players are battling for points. Points can be collected by physically going to target locations lacking house number information. In order to collect the points, a picture of the actual house number has to be taken in the vicinity of the respective spots. Obviously, each house number only leads to one score: so yes, it’s also about speed. Who gets there first, gets the point.

The target locations are dynamically calculated at the start of each game, making sure that only spots lacking house number data at this very moment are included.
Naturally, each player needs to log in at OSM (btw: an API allowing a more elegant way to sign-in would be much appreciated, guys).

While playing, each player will see the map and an indication about the whereabouts of the target location.

AddressHunter - game screen

When a player reaches the actual location a snapshot of the actual house number is taken and uploaded. These snapshots can be checked after the game, making sure that no mock uploads taint OSM’s house number data.

AddressHunter - take an image

In the end, every player sees his result and how many points have been gathered. Each player does gradually get promoted to higher ranks (starting as “drifter”) based on his all-time total score.

On the technology side of things, the entire app is realized in HTML5 with a PhoneGap wrapper. So it can run cross-device. We have tested mostly on iOS devices up to now, but Android support and other platforms are under way. For the tiles we used the great MapQuest open project.
The first trial happened at WhereCampEU with ~30 geogeeks engaged in an address hunt in Berlin. The feedback I received was overwhelmingly positive. Based on that, we are looking forward to finalize this app and hopefully have it live and available for everyone in time for StateOfTheMap 2011 in Denver in September.

We hope it will encourage people to add house numbers  . Be it at events like WhereCamp EU or StateOfTheMap, or just during spare time at week-ends.

For further perspectives also see also Martijns post on OSM usability which also mentioned addresshunter and the article in the openstreetmap blog (in German)

Let the hunt begin.

HTML5: Apps’ future

HTML5 is a hotly debated topic these days. Opinions range from “it will never beat native on mobile” to “it’s the future of all app development”. Techcrunch is very skeptical towards HTML5 and claims: “HTML5 Is An Oncoming Train, But Native App Development Is An Oncoming Rocket Ship”. The renowned VC Fred Wilson muses that HTML5 will soon replace native apps and Google’s Eric Schmidt proclaims that HTML5 will eventually dominate almost all apps. Based on my experience as CTO of skobbler, I think that HTML5 is a fantastic technology for mobile and it can be used immediately, but developers need to make smart decisions and be aware of its limitations. Especially when combined with native code, HTML5 can be used to achieve a fantastic user experience. In the end, that’s what really matters and what will make apps successful or fail.

I will to focus on three things in this post:

  • Explain why HTML5 is great for mobile and can save lots of development costs
  • Detail when it should and shouldn’t be used
  • Take a look at future developments for HTML5 (especially with regards to platform support)

Definition / Preface:

When speaking about HTML5, I will refer to a set of technologies incl. HTML5, JavaScript, CSS and SVG -  as it was summarized by the W3C with the HTML5 logo

HTML5 in action – practical examples

Before I continue to go on in much detail explaining the benefits of HTML5, let me give you some practical examples where it is used properly right now. Most likely, you haven’t even noticed that you were in fact using an HTML based app because there is still a pre-conception that the user experience for HTML apps sucks (it surely does, if not executed right).

Netflix

Netflix is a great example because they handle their UI across devices in HTML (mobile, web and even the Playstation 3 version), but use native technology for some core components like video playback and DRM. Netflix is definitely setting a standard on smart HTML5 usage.

Mafia Wars by Zynga
Zynga is one of the Social gaming powerhouses and launched one of their games exclusively powered by HTML5.

Ars Technica iPad Reader
Ars Technica has a great user experience in its reader. It absolutely feels like a native app, but is fully built in HTML5 (using PhoneGap).

skobbler Help & Idealog
At skobbler, we use HTML5 to display our help pages, to get customer feedback as well as to allow our users to suggest improvements.

jqTouch demos
Although it is only a demo site, it gives an extensive overview of what can be achieved and done with HTML5 on mobile.

What are the benefits of HTML5?

The major benefits are:

  • Development cost / speed: Developing an HTML5 app takes roughly half or less of the time compared to a native app (even more so, if the native app had to be developed for more than one platform).  Generally, web development skillsets are also much easier available compared to native platform development skills. So costs will be much lower in total.
  • Cross platform compatibility: If it is done well, the app will be usable across a range of devices such as Blackberry, Nokia / Symbian, Android, iOS as well as a desktop web-browser and some more exotic options as the PS3 or the Wii.
  • Dynamic content / layout: It’s possible to change content and layouts on the fly without waiting for app updates or Apple’s approval. This greatly increases the ability for a dev to work based on agile development principles and also experiment with beta versions for inclined users.
  • Optional installation: HTML5 apps can be distributed regularly via an App Store or can be made available via the browser. Users aren’t forced to install anything before using it.
  • Linking: It’s possible to deep-link a specific part of an app (e.g. useful for promotion e-mails). This is not easily possible for native apps. This sounds trivial, but it should be remembered that links are a core-foundation of the web and this concept has almost vanished inside apps on mobile.
  • Search engine inclusion: Google does not yet crawl any content within apps, so if you want to make your content visible and potentially drive lots of additional traffic to your site, you must have a HTML version of your content. Google on mobile favors sites which are optimized for mobile experiences. Therefore, this will do much better than your regular webpage.

Limitations of HTML 5

  • Performance: Despite advances in hardware-accelerated HTML5 rendering (especially on iOS 4), HTML will always be slower compared to native code. If you have a complex UI with many effects, a native UI will be better. Also keep in mind that low-end smartphones are on the rise
  • 3D: Although a lot is possible in HTML, one of the core setbacks is the missing OpenGL / WebGL support. This has just come very recently to desktop browsers such as Chrome, so it might take a while until it is available on mobile browsers.
  • Full native integration: APIs such as GameCenter, in-app-purchase or peer-to-peer networking aren’t available on HTML5 (there are some workarounds, but they aren’t easily available). If you rely on these APIs, you can still develop a hybrid app which uses some native code, but relies on HTML5 for the user interface.

How to use HTML5 to gain maximum impact

  • Hybrid HTML: HTML vs. native is not an “either/or” decision. Follow principles set by Netflix to use HTML as far as it is reasonable and do the rest as native app.
  • Package it as an app: Use frameworks such as PhoneGap to package your code as an app, so that you can make it available to App Stores in the way that your users expect and demand it.
  • Cache data: HTML5 comes with great support for local storage. Don’t assume your user is online all the time and make your app (or parts) available without a data connection.
  • Native look and feel: Don’t force the user to learn your UI concepts (they won’t) and be aware that UI concepts vary a lot between platforms. It’s mandatory for a great app that it feels like a regular platform app. Make customizations to your app to fit native UI paradigms (e.g. offer a top bar with a back-button on iOS, support the native hardware back-key on Android, etc.). This is a key feature of any great cross-platform HTML framework.

Major platforms and their HTML5 compatibility

  • iOS: Best-in-class HTML5 support incl. access to lots of sensors (e.g. gyroscope, GPS, etc.) and hardware accelerated rendering.
  • Android: Great HTML5 support; especially since Android 2.2, when support for fixed elements was introduced to increase performance a lot.
  • Bada: Samsung’s Smartphone OS will get full HTML5 support in mid-2011 with Bada v2
  • Symbian: Nokia’s Symbian does not offer native HTML5 support and I would not expect it coming soon.
  • Blackberry: Blackberry does not support HTML5 on their phones (yet), but their upcoming Playbook tablet has very decent HTML5 support (and sometime in 2011, Blackberry will definitely switch all new phones to QNX and offer decent HTML5 support across the portfolio)
  • Windows Phone 7: Windows Phone 7 currently lacks HTML5 support.  It will be coming end of 2011 with the “Mango” update 
  • HP / WebOS: Palm / HP was all-in on HTML development early on, so they have the most advanced HTML development environment. Unfortunately, the platform is not really relevant at the moment. With the new push from HP, it might gain more traction though.

Note: All of the platforms above do have support for HTML4. It’s fairly easy to deliver a stripped down version of the app to these platforms for cross-platform support, even if they don’t offer native HTML5 support.
As all major platforms will have full HTML5 support by end of 2011, its adoption breakthrough is only going to be a matter of months.

Game-Changers for HTML5
Beside the aforementioned reasons, there are some potential game-changers that could significantly speed-up the breakthrough process of HTML5.

Facebook-AppStore
Facebook is the definite app development / monetization platform on the web. As detailed in my post about Android, their push into HTML suggests that Facebook will eventually open an HTML-only AppStore. This will mean a huge change for app distribution and will greatly accelerate HTML5 adoption on mobile.
WebGL
Once WebGL is also supported on mobile, this will break down the barrier to allow high-spec graphic applications being based on a mix of HTML and WebGL.
Android / ChromeOS
Google has opened an HTML-only WebStore on the desktop. So I expect Google to allow native HTML apps (without wrappers) on Android rather soon.

Why will HTML5 be the future of mobile development?
I strongly believe that in 2-3 years from now, most apps (incl. games) will be based on HTML5. The technology is progressing very fast and there is a big shift to a multi-platform world, in which at least iOS, Android, Windows Phone 7 and Blackberry / QNX are serious contenders for a significant market share. With this in mind, it will be clear that most companies won’t be able to afford that many parallel development streams. 


Mobile in general is following the desktop world in terms of development. On the desktop, we clearly see that HTML and the web is the major platform. Native development is here to stay in a similar way as native development has not completely vanished on the desktop. Yet, it will not be the dominant form of development in the future.


Note: I believe the concept of apps will remain unchallenged by this. It should be noted that when I talk about a shift to HTML, I refer to it as a way of developing apps - not necessarily as a shift towards the browser.

Summary: 
HTML5 has a lot of immediate practical appeal to reduce development cost and time, especially for cross platform development. With extended platform support coming in 2011, HTML5 will be the future for mobile app development.
However: HTML5 is not a silver bullet. Native development will stay around for a long time. Just like the browser never killed native apps on the desktop.

Let me know your opinions in the comments section.

The age of low performance smartphones

Despite the obsession about high and higher performance in Mobile: The next frontier is true mass market appeal for smartphones. This calls for prices in the range of 150-200€ (unsubsidized), while still delivering a decent user experience. Let nVidia, Qualcomm and others fight like crazy about who can deliver the first quad-core processor for Mobile. In my opinion, the gold-rush for app developers will be in the mid-and low-end segments this year, where volumes will surpass anything we have seen before.


A true eye-opener for me was a friend of mine having to pick a new phone. His top priorities were browsing and app-compatibility. He clearly did not want to spend the hefty 629€ for an iPhone 4 off-contract in Germany.  Therefore, he went with an Android based Motorola Defy, which sells for 290€ at Amazon Germany (unsubsidized). It’s slightly slower than an iPhone 4 (e.g. 800 MHz vs. 1000MHz processor speed, etc.), but still: For him, it was the best phone he ever had and he is still thrilled about it. I have learned my lesson: I shouldn’t always take my geeky self as benchmark. I would hardly be thrilled by this phone, while somebody who never owned a smartphone before might consider it a tremendous step forward.


I believe that 2011 will be the year of the true mass market smartphones at very reasonable price points.

Low-end smartphone market now

If we look at the low-end smartphone market at the moment (< 250€ retail price without operator subsidy), we mostly see the following in the Android camp:

Apart from these phones, the low-end smartphone segment is still dominated by Nokia with Symbian to a large extent, which quite contrary to popular belief still holds ~38% market share for smartphones in 2010 . Their share is eroding very fast and as Nokia has decided to abandon Symbian, it will erode even faster. Nokia is currently selling cheaper smartphones than Android, starting around 125€ (retail) such as the Nokia C5. However, it’s evident that for developers, Symbian won’t play any major role going forward.

Low-end market in 2011: Largely an Android game

At the Mobile World Congress, many new Android devices were introduced. Despite the big buzz about the high-end, many low-end models took the stage. We have seen announcements galore from established players: Samsung introduced four and HTC three budget models (Salsa, Chacha & Widfire S)
Even more interesting for emerging markets might be the announcements from ZTE to also ship three new Android models. For those who don’t know ZTE: They just surpassed Apple in terms of sheer volume. Similar to HTC, who was a nobody just 3 years ago, ZTE is on a stellar rise. Especially in the developing parts of the world, they could be the ones who bring Android-based smartphones to the masses. And there are also Huawei and other brands that are hardly known outside the emerging markets or Asia.

The big question: Will Apple enter the low-end smartphone market?

The very big open question is, whether Apple will enter the low-end smart phone market. If the rumors were true that Apple will bring a 200$ off-contract iPhone, this would significantly increase Apple’s market share, coinciding with analyst predictions.


I strongly believe that Apple will bring a low-end iPhone in 2011. They are probably quite concerned by the recent rise of Android. I assume, they would only keep three models in the market: iPhone 3GS at a very low price-point off-contract, iPhone 4 as mid-range model and the new iPhone 5 as the new state-of-the art phone for all gadget geeks. I am skeptical about the iPhone nano, but if the rumors are true that they use the iPhone 4 components, it would be fantastic even from a performance point of view.
Just to put a low-end iPhone into perspective: on ebay.de, a used iPhone 3G sells for around 200€ now. If Apple launched a new phone (with much better hardware as the 3 year old iPhone 3G) for the same price, the volume would definitely reach legendary levels.
Absent from the low-end market: Microsoft WP7

Microsoft is completely missing from the low-end segment, as they impose quite strict minimum performance requirements. If they don’t change their stance on this, it’s very unlikely that we’ll see any Windows Phone 7 this year < 250€ (retail price, off-contract). It’ll be very interesting to see how this will change during their Nokia partnership.

Impact for developers

I see three major shifts for developers with the cheaper smartphones and their user segments:

  • Lack of flat rates / data plans
  • Processing power will stagnate
  • Free apps will dominate the market

Lack of flat rates / data plans

I believe we’ll see many smartphone users who will rely on Wi-Fi for connectivity or will be on metered data plans. Therefore, developers will have to integrate a solid hybrid connection stack to ensure that functionalities which don’t strictly require connectivity also work off-line. Data needs to be properly cached on the device, so that the app can at least display existing data on the go.
Most users will still be always-on, but as many of them won’t be on an all-you-can eat data-plan, they will be a lot more sensitive to data usage for apps on the go. Especially video streaming will run into this issue, with AT&T charging over $10 for every GB (approximate size of an HD movie).

Processing power will stagnate

For the high-end smartphones, we’ll see the introduction of many dual-core phones and a huge boost in performance this year. At the low-end, many of the phones will stay around 600MHz and focus on lowering the price instead of increasing the performance.


Thus, app developers should focus on testing their apps on these devices to maintain a pleasant user experience. In principle, this should also lead to a further boosts for games like Angry Birds or Doodle Jump, as they don’t rely on powerful 3D chips or high-end processors.

Free apps will dominate the market

As the prices of the phones decrease, I predict the willingness of users to pay for content will go down as well. As a consequence, monetization via advertising or other channels will become even more important. The same trend can be seen in the Urban Airship developer survey 2010, where devs were questioned about the primary way of monetization for their apps:

Developer revenues 1/2

Developer revenues 2/2

Source: Urban airship (PDF)

This clearly illustrates a shift from purchased download revenues to in-app purchases and ads. With the advent of the lower priced smart-phones, this will probably shift even more towards monetization via ads.

Summary:

2011 will be a fantastic year for smartphone app developers, as the market will continue to grow rapidly. However, developers should think about monetization challenges early on and should try to launch apps which are also usable on the upcoming low-end smartphones.

Android might be well on its way to become the next Symbian

It currently seems en vogue to hype Android in the blogosphere. It is without doubt the fastest growing platform at the moment. The somewhat polemic title of this post suggests that next to abundant opportunity, there’s certainly a fair share of palpable risk for Google’s Android platform.

Anybody remotely interested in Mobile and with a reasonable mid-term memory does remember the days, when Symbian was dominating the smartphone market  until 2008. As current Nokia CEO Stephen Elop’s recent memo clearly illustrates, the days of glory for his company’s platform are long gone.

With such a prominent predecessor, one question begs to be asked: Could Android face the same destiny as Symbian in the short term or will it become the ubiquitous OS of the future?

A. Android faces three major self-made problems from a developer’s perspective:

a. Platform fragmentation
b. Lack of monetization opportunities for developers
c. Lack of qualitative (3D) developer tools

A more detailed look at these three issues reveals, why each could potentially sack the currently skyrocketing OS.

a. Platform Fragmentation

Approximately 2 months after Android 2.3 (Gingerbread) was released, it has made its way onto only 0.8%  of the devices in use. Even the uptake of Android 2.2 (Froyo) at 57.6% is alarmingly low, considering that  it was released ~8 months ago. The comparison with iOS reveals, why these figures have to be perceived as startlingly low: 90%+ run on iOS 4.0+, which came about a month later than Android 2.2. And to be clear: It’s not only a problem of the Android handset manufacturers. Google itself did not manage to update its own Google Nexus One to Android 2.3 yet (after two months).

Android Platform Distribution January 2011

Source: http://developer.android.com/resources/dashboard/platform-versions.html

However, the biggest problem for Android is still to come: The current statistics are still relatively good because Android has sold at least 10 times more devices in 2010 than it did in 2009. Therefore, the relatively up-to-date version status is to a large extent due to the fact that many people recently bought devices which already had Android 2.1 or 2.2 installed. For 2011, this huge installed base needs to be addressed. It’s pretty clear that many devices won’t get further updates beyond 2.2.
I’d estimate that by the end of 2011, at least 25% of Android devices will run on an 18-month-old OS (2.2 or below) and probably 50% will be on a 12-month-old 2.3 Gingerbread or below. On the other side of the fence, again 90% of iOS users will run iOS 5.0, which will probably have been in the market for 6 months at this time.

In conclusion, Android users will need to buy new devices every 6-12 months, if they want to benefit from the latest OS level innovations: that’s clearly not a sustainable model.

b.    Lack of monetization opportunities for developers

This is currently still a profound weakness for Android, as Androidthe  Mmarket has some very weird quirks:

1. Developer taxation

As Google does not sell the apps, but just acts as a merchant for the developer, this leads to quite complicated VAT taxation issues for the developers of paid apps (see e.g. this thread on the Android dev forums). Besides, as Apple sells through Luxembourg, their VAT rate in Europe is much more favorable (15%) than Android’s (between 15-25%, depending on country).

2. Still no in-app purchases

However, Google finally confirmed that this will be available  just after the Web Store.

3. Editorial process

Google’s editorial process is not as elaborate as the one of the App Store, which features a bunch of different apps every week to provide them with exposure in the very competitive and confusing market.
However, there are also some (rare) success stories on Android: Angry Birds raked in more than 1 Mio. $ per month from advertisement (which should have surpassed their iOS revenues).

Google is clearly aware of the monetization issue and seems to be hard at work to fix it. The web-based-market is a first step in the right direction.

c.    Lack of qualitative (3D) developer tools

I’m aware that I’m bound to draw a lot of criticism from die-hard Android fans on this, but what we do discover at skobbler every day (and we have both iOS and Android teams), is the development on Android being a lot more cumbersome than on iOS. That’s especially true when working close to the metal (e.g. using OpenGL graphics). This goes so far that some of our Android developers take our core library and debug it on iOS, to see if they can catch the bug there, before porting the code back to Android.

Let me be clear: This is only a problem for developers of 3D graphics apps (such as vector based navigation or 3D games). Yet after I spoke with many people from game companies, this positively is a big problem for them and significantly reduces Android’s viability for them. In the end, it’s just a huge cost driver.
Google seems to be well aware of this issue as well. It has partially been addressed in 2.3 Gingerbread (see Gingerbread gaming fixes) and will be pushed further in 3.0 Honeycomb with the introduction of  RenderScript.

B. External risks

Apart from these internal risks, I see two major external risks for Android world domination.

a.    Apple gets the low-end market (200$ non-contract iPhone)

Although I highly doubt that Apple will introduce the iPhone nano (1/3rd smaller as rumored recently), I do believe they will introduce an affordable mass market iPhone (200-300$ off-contract) in 2011. They should clearly be able to do this from a cost perspective: additional manufacturing costs to add a UMTS module to an iPod Touch will be less than 30$ and the iPod Touch sells for 229$. Therefore, 299$ could already be a viable price point. If Apple based the new phone on the iPhone 3GS, they should be able to price it even lower.

My personal impression is that outside the tech hemisphere, where many regard an Android device as more avant-garde than an iPhone, the average users mostly don’t buy iPhones for three reasons:

  1. It’s too expensive (should be solved by the low-end phone).
  2. It’s not available where they want to buy it (with Verizon and other carrier deals, Apple certainly is going to fix this).
  3. They need some differentiated features (e.g. a keyboard, different form factor, etc.).

I believe the third reason to be both the smallest and possibly the only long-term sustainable advantage for Android with its many vendors and different devices.

b.    Facebook pushes HTML5 for apps and Facebook not Android will be the relevant mobile platform

With more and more platforms appearing on the scene (WebOS, Windows Phone 7, Bada, iOS, Android, Linux based phones in Asia, etc.), many developers will have to migrate to HTML5 app development to sustain reasonable development costs. At the same time, the HTML5 support on all major platforms gets better and better (with the notable exception of Windows Phone 7 until end of 2011). Even iOS is pushing hard for HTML5 progress. We experience that iOS is currently more advanced in HTML5 support than Android.


A true game-changer would be Facebook announcing their mobile HTML5 app-store on top of the Facebook platform. This would lead to a major decrease of any phone platform’s significance. If this happened, many developers would flock to the Facebook platform. This would be a true cross-platform approach.

C. Summary

If Android fixed the inherent platform problems (fragmentation, monetization and development tools), it could really become the Mobile equivalent of Windows on the desktop. If this didn’t happen or if Facebook or Apple completely changed the market (again), Android could well become the next Symbian and fade into irrelevance in the mid-term.

For 2011, I am nonetheless pretty bullish on the Android platform. Clearly Google has both the ambition and the development muscle to make Android successful, but that’s what a lot of people thought about Nokia back in 2006. Only one thing seems certain: interesting times are ahead for the mobile industry, as the smartphone OS wars are just about to begin.