Discourse is pretty great:
– works as forum as well as a mailing list
– the mobile version is highly usable, reading threads is a comfortable experience.
– search is powerful and efficient
– designed to facilitate community management and moderation
– on the server side, it's easy to update
However the stack choice: Ember.js Javascript framework client-side, Ruby on Rails server-side with most of the work done client-side has been giving satisfying performance only on desktop and iOS with Safari.
On everything else: Android devices (Chrome and Firefox), Windows Phone, Firefox OS, you name it: the initial page loading time is slow enough so that each time, compared to another website you start to wonder if the website froze, your Internet connection dropped or who knows what.
And there's no loading progress indicating that something is happening.
Once the forum Javascript software and state of things are loaded in your tab things are fast enough.
The software authors have since the beginning take as reference iPhone's Javascript performance for this framework, and speculated that every other smartphone out here would follow the same performance gains with time.
The problem is that Apple's Nitro Javascript VM is the only one able to optimize this framework's code, and that the trend is that the volume of new smartphone owners, especially in the regions where websites are preferred to apps are getting equipped with inexpensive devices with small cores, definitely not running iOS.
Sometimes you don't bet on the right software stack for your need and it's a painful realization.
This thread is a example of that, and you see plenty of denial, blame shifting and other defense mechanisms going on.
They might still get away with it with a work-around making the initial page load and display much faster thanks to server-side rendering tho. And loading all the heavy stuff once the content is already visible.
The State of JavaScript on Android in 2015 is… poor – Discourse Meta
Yeah. We're not NEARLY fast enough for performance issues to go away magically, even on desktop class cpu's if you do "dumb" enough things. When dealing with modern complex javascript apps, you always need to consider the real world performance. I think the discourse co-founders Sam Saffron's comment is quite insightful: https://meta.discourse.org/t/the-state-of-javascript-on-android-in-2015-is-poor/33889/131
+Viljo Viitanen yes like in previous discussions Sam Saffron appears more pragmatic and flexible whereas Jeff Atwood comes off as visionary but kind of opinionated
Both in a good and bad way.
I hope they'll take responsibility, not waiting on the framework people to do it for them, and find a way to make it fast on all platforms because I would really like to use it 😊
And especially for a forum to talk about Android things, it's just a no-go today.
I do not know this particular case, but AngularJS is known to be pretty slow. So slow that it's often early dismissed if the project is going to have any significant size.
That said, a faster JS VM in android would be great…..
+Gaël Beaudoin oops, mistake in my original post (corrected)
Discourse is using Ember.js not Angular.
But both have similar performance issues on non-Apple JS VMs
+François Simond ah that's different indeed. I now understand the "fast once loaded" in your post. Ember is pretty great, last time I checked I think they were trying to improve the size of the initial JS file to load. Not an easy issue.
I am SO glad that Java is obsolete. Great for a developer, but an albatross to the user in so many ways.
+Gaël Beaudoin +François Simond I think "fast once compiled" would be more accurate. The fact that it compiles code at runtime is an obviously flawed/extinct technology.
+Michael Hannigan there's no Java in this project.
It uses Ruby on Rails on the server side however, which built it's reputation as anti-Java framework since the beginning.