Apps and web apps and the future
inessential.com
inessential.com
Let me try to explain what I mean.
To present a hypothetical assume you have an app with 6 top level functions (aka the functions you want to always be easily accessible). In a multi-platform development environment you'd define those top level functions and rank them by importance. The app would then use the norms of its environment to determine what is appropriate based on those rankings.
So it would...
- Put the 3 most important functions on the bottom of an iPhone screen and put a "More" button as the fourth (since the iPhone's norm is 4 icons at the bottom of the screen)
- Hide the functions on an Android App but then show them when the Menu button is pushed (as in the norm for Android)
- Place the functions in a side bar if the application is in a desktop browser (As is sort of the norm for the web)
I'm not suggesting that rule specifically but hopefully you see my point. Designing an app once and then making rules that adjust it to the optimal state for its environment.
Developing a native application is not preferred because it is compiled into a binary. Nobody cares about that. It is because the APIs are pleasurable to use.
HTML, CSS, DOM – it is all a painful abstraction just to duplicate what the "native" APIs already provide cohesively.
Projects like Cappuccino have gone a long way to hide the pain and provide a nice native-like API, but then you question why bother with the web abstractions at all? Why not just provide a decent API in the browser to begin with?