Thanks for doing this research. As you know, I'm trying to find a replacement 
for Firefox OWA on the Windows/Mac/Linux desktop, and migrate my users to that 
before it stops working. I do not need any privileged API access for my apps.

Right now my desktop apps are available as Chrome Desktop Apps and as Firefox 
Open Web Apps. In both cases, I'm using a pretty small shim for the app itself, 
and hosting all the content in S3/Cloudfront buckets. I use appcache to ensure 
it works offline. An example app is here http://m.kaon.com/c/ka/ and you can 
get a feel for how enormous a problem this is for me if you look at this list 
of apps we are supporting right now http://m.kaon.com . We have 45 OWA apps 
spread over 1000 desktops at the moment.

Chrome Desktop Apps are a good solution, except:
0. I have to force the users to install Chrome, which is banned by some 
Enterprise customers.
1. Users have to have a google account to get the software from the chrome 
store. In Enterprises, this can be an issue. I loved that I could set up OWA 
installation without having to deal with a store.
2. Anything google has been a problem in China, although lately the GFW has 
been blocking our Firefox OWA apps and cloud connections, so this seems to be a 
nightmare either way now.
3. There is a bug in Chrome where appcache spontaneously forgets it has 
anything stored. Since our apps MUST be useable offline in some cases, that can 
be a deal breaker.
4. Chrome won't let any single file in the appcache be >32MB, which means we 
have to compress some video content more than our customers would like.

On your suggestion, I looked at Electron. I hate the idea of deploying a 100MB+ 
web browser when the user already has one (probably 3). Plus, that puts me in 
the position of keeping that browser component up to date. And although the 
documentation is pretty much non-existant, it appears that the general idea is 
you are going to wrap your HTML5 content inside the app, which means 
incremental updates are either going to be impossible, or will require a lot of 
very clever engineering on my end. Our content is often a couple GB, and the 
idea that a person in a remote location is going to have to download all of it 
because we updated one little thing...that would be bad.

The candidate solutions I'm looking at right now are:

A. Seeing if maybe I could switch from appcache to service workers in order to 
get better offline reliability in chrome desktop apps (the spontaneous eviction 
of IndexDB data when the user's disk space get's low scares the hell out of me, 
though; I wonder if this is actually the reason appcache is flaky in Chrome)

B. Making a XUL shim, and a small program that runs firefox -app <that shim>. I 
actually got that working, but there are a few details to work out. And I'm 
nervous that firefox -app will spontaneously disappear since XUL apparently 
isn't in fashion any more.

C. Electron as a worst-case-scenario fallback, I suppose.

-Joshua
_______________________________________________
dev-webapps mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-webapps

Reply via email to