I am a mobile developer that has worked on android mostly but my company is considering a product that would be cross platform or even tablet based. The initial design meetings centered around providing rich native apps for each platform but after seeing how much code would have to be duplicated, our design has turned to a webservice with the clients on each of the mobile platforms (android, iphone, RIM, Symbian) being a dumb html/javascript ui. It will still be marketed as an app through Itunes/android market or whatever the native delivery mechanism is, but the the app will do not more that fire a series of webservice calls and load the content into a local webpage that we load from the local app resource folders (so we don't have to download the page from the internet). This kind of vendor lockin might prompt more developers to do the same. Imagine if all the apps you downloaded were basically mobile safari/chrome running a locally served html file. Its not bad, it just doesn't encourage developers to really take advantage of the more powerful features of the frameworks/languages. I think this approach could actually lower the quality of cross-platform apps as developers look for the simplest way to deliver a consistent look and feel.