Live data from Hacker News

Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

makehybridapps.com

21–30 of 34 posts

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#21
post #12

This "your UI shouldn’t mimick [sic] the native style of the platform" advice reminds me of what we used to hear when using Java and Swing a decade ago. It resulted in a bad user experience then, and I think that still holds true today. Swing apps never felt right on any platform, even when using a native theme. It's probably no different for apps built using Cordova, too.

This advice sounds more like sour grapes disguised as best practices. I believe a similar excuse was trotted out with Swing ("Swing is it's own platform!"). Users didn't care, they hated the non-native, slow, accessibility-unfriendly Swing apps, which they perceived as bloated and low-quality largely due to the feel.

I can't help but chuckle at the fact that we're making literally the same mistakes we made eight years ago while claiming progress.

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#22
post #18

> Secondly, your UI shouldn’t mimick the native style of the platform. hmm..? > After all, it’s another case of copying the looks and the two reasons mentioned earlier apply here too. It still is time-consuming and distracts you from thinking about your user’s actions. From a development perspective this may be true, but from a usability/UX perspective, this definitely isn't. It's not just about copying.

It's one thing if you think about your users' needs and decide that copying native style is helpful. It's different if you just mimic the native style without thinking about whether it's what your users need.

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#23
post #22
post #18

> Secondly, your UI shouldn’t mimick the native style of the platform. hmm..? > After all, it’s another case of copying the looks and the two reasons mentioned earlier apply here too. It still is time-consuming and distracts you from thinking about your user’s actions. From a development perspective this may be true, but from a usability/UX perspective, this definitely isn't. It's not just about copying.

It's one thing if you think about your users' needs and decide that copying native style is helpful. It's different if you just mimic the native style without thinking about whether it's what your users need.

[deleted]

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#24
Hybrid apps aren't production ready due to performance issues. May be weebkit was fixed in the latest build of Android 4.4, but that excludes the majority of users. The adoption of the newer builds in the android market is much slower than iOS.

Only 18% of users right now have 4.4, for comparison 14% are still using 2.3.

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#25
post #24

Hybrid apps aren't production ready due to performance issues. May be weebkit was fixed in the latest build of Android 4.4, but that excludes the majority of users. The adoption of the newer builds in the android market is much slower than iOS. Only 18% of users right now have 4.4, for comparison 14% are still using 2.3.

I would 100% disagree. The average "app" can most definitely be written in cordova / phonegap with jquerymobile / Intel App Framework or another MOBILE framework and run fine.

I've spent the last few months implementing a plain cordova app with Intel App Framework , google maps api v3, some css3 transitions, etc.

I've tested it on everything from Android 2.3.6 to 4.4, all work fine, no performance issues. Same on iOS.

Now if you are taking something you've written for a desktop (and are using desktop frameworks) or something that starts doing crazy DOM manipulation (or adds "shadow dom's", etc) then yes you might see a performance problem...

Additionally, if you are talking a physics enabled HTML5 game, that might be an issue. But a plain old app with some basic functionality will run fine. If it doesn't , YOUR doing it wrong.

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#26
post #5

I found the performance of PhoneGap still lacking. Currently, I develop a very simple app with Impact.js, which is an HTML5 game engine and can be deployed with Ejecta. However, I don't do a game, more like a calendar app. The downside is: You can't use any HTML/CSS elements for building the UI. Because Ejecta supports only the canvas element. The plus side is: If you manage to make a basic UI like in a "game" with c…

So you choose to implement a very simple "calendar" app with a HTML5 Canvas Game Engine!?!?! Not only that you then layer the javascript on top of that with a 3rd party javascript interpreter (Ejecta)....

That doesn't sound simple at all! That sounds super complicated...

Why not use jquerymobile and some css?

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#27
Like every tool, you need to know the pros/cons and be able to apply them to your situation. Unless your goal is to make a super simple app that has 100% coverage across all mobile devices, Phonegap shouldn't be the tool you use.

The market share of phonegap in hybrid apps is depressing to me. It's not hard to learn the Apple/Google sponsored way of doing things and then progressively decide when to bring in html/css in a webview.

I even open sourced a starting point I've used on my apps that I'm hoping will get more people to avoid using phonegap and learn iOS / Android: http://imbed.github.io/

Refs: http://dojo4.com/blog/why-phonegap-sucks http://dojo4.com/blog/imbed-for-android

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#29

Earlier quoted context omitted.

The performance problems are not the fault of Cordova in the newest version which can be configured to use to the newest version of Chrome on android devices. Instead performance issues are the result of inefficiently manipulating DOM. Try famo.us with phonegap and you'll be able to overcome the performance issues you're seeing. disclaimer: I work for famo.us, but trust me here. do a proof of concept of something wit…

Or avoid unnecessary DOM updates and use only opacity and 3D transforms in your animations to get the same performance as famo.us

Basically. Although, any way you slice it you're going to want something (famo.us, some future alternative that uses the same same techniques or your own solution that uses the same techniques), because letting the logic that manages opacity and 3D transforms to be mixed in with your app logic code is poor encapsulation. Honestly, it would be great if the browser makers realized the value of a low level scene graph API to permit people to create solid app-like experiences while also preserving semantic HTML structure within the leaves of the scene graph.

Re: Hybrid apps: Do not copy. Do get inspired. Avoid reimplementing native UI

#30

Like every tool, you need to know the pros/cons and be able to apply them to your situation. Unless your goal is to make a super simple app that has 100% coverage across all mobile devices, Phonegap shouldn't be the tool you use. The market share of phonegap in hybrid apps is depressing to me. It's not hard to learn the Apple/Google sponsored way of doing things and then progressively decide when to bring in html/css…

Please point me to a place where I can understand how to do Objective C in a "not hard to learn" sort of way.

There is way too much going on in XCode that a web developer wouldn't get or understand without having broad strokes glossing over the Interface, file structure, or behaviors included therein.

Post reply on HN