Hacker News new | ask | show | jobs
by WorldMaker 3540 days ago
I mentioned "access the platform features it needs". Off the top of my head, big things that still haven't yet quite crossed into the deeper web platform:

- Offline (getting close with things like Service Workers, but not quite there yet)

- Geolocation (also getting close here in browser support, but not quite yet)

- Camera (caniuse suggests we're getting maybe close to browser support, but also not quite yet)

The particular canary in this coal mine (and clear when looking at caniuse stats) is that iOS Safari is still lagging a lot in some of these HTML5 "app platform" features. (I wish I could just ignore iOS altogether, but obviously there are a lot of iOS devices out there.)

1 comments

All theses are supported by any modern browser, you can launch the camera from your IOS browser, HTML5 support offline features without Service Workers and Geolocation works , there is not "not quite yet" for any of these 3 features there are here already.
Offline:

http://caniuse.com/#feat=offline-apps -- Kind of supported everywhere, but deprecated in the standards for Service Workers because it is hard to maintain these manifest files

http://caniuse.com/#feat=serviceworkers -- Not supported hardly anywhere yet

Windows offers the option of offline, server-backed web apps using (among other pieces) the working draft W3C App Manifest standard (proposed by Firefox OS, unrelated to the other HTML5 manifest standard). Caniuse doesn't even track the App Manifest standard yet. ManifoldJS (http://manifoldjs.com/) provides a means to support iOS/Android via that standard, and you know how it works on those platforms? It's a Cordova-based wrapper.

Camera: http://caniuse.com/#feat=stream -- Not supported on iOS Safari, partially supported on Android

You can cheat with an iOS specific trick and fallback to a classic file upload control on Android (which Android and just about only Android turns into a camera/photo picker) and use the standard getUserMedia on Windows 10 (but not 8.1), or you can use the Cordova plugin that provides the same API for all of the platforms. (Not without its own bugs/quirks, but better than implementing four different methods.)

Geolocation: API is standard everywhere, yup, but in testing we've seen that Chrome and several flavors of Android like to use its network IP-based fallback provider when asked from a website even when the platform has location services on/available/permissions for the website; iOS sometimes returns strange or inaccurate results in the browser that you won't see in a native app. From Cordova we don't seem to have quite so many headaches getting seemingly accurate answers directly from platform location services.

All of that is before you get into the fact that there's still a psychological benefit to some of our users that they are installing a "real" .ipa or .apk rather than a shortcut to a website in their browser.