The State of JavaScript on Android in 2015 Is Poor (Jeff Atwood)
meta.discourse.org
meta.discourse.org
Discourse hasn't even worked properly on beefy desktops for years. You reap what you sow when you choose to render your entire application with Javascript. Inefficient software makes for poor performance on weak machines ? What a surprise...
Because it's all rendered client-side, the flow of the application (which is basically a single-page app, but with lots of fly-outs, modals, etc) is very fast and responsive.
The initial startup of the app is a few seconds, but once loaded it is more responsive than a server-side rendered page.
It's very fast and responsive until I want to disable Javascript because I don't want terrible scripts using an entire CPU core to animate your flyout. I don't want to load 20MB of scripts and run them on my machine because the language and platforms you chose are terrible and you needed to fix the shortcomings of Javascript, I don't want your application hitting multiple CDNs telling them where I am (as an example, I do not imply that your application does so).
And most of all, I do not want to have to maintain your javascript based software, only held together by all the libraries you used.
If you wanted to make a responsive application, you'd have written it in a language that compiles to desktop applications (Java/C#/C++/Python/...). Javascript is the easy way out, where you decide to fuck over your users.
But I think the key here is that if you plan to do heavy processing on phones, you're going to lose one way or another. Each new version of Android has introduced more power saving mechanisms, and I'm not surprised if 6.1 or 6.2 introduces something that restricts how much battery power a pageview is allowed to cost, particularly when the battery is half-empty or worse.
Which is unfair on Discourse.