codinghorror: codinghorror: So it’s really about throwing away the JavaScript part of the app, which is challenging since Discourse is a JavaScript app. How do you throw away what you are? You can’t rip out your own skeleton.

Discourse is not a JavaScript app. Sure, that’s what it is built with, but that’s not what it is. Wikipedia is not a “PHP app” any more than Facebook was (and isn’t really anymore).

No site owner chooses Discourse because it is built with JavaScript and Ember and whatever else you use.

They choose Discourse because it’s a forum that tries to solve the real problems that regular forums have. And for the most part, it’s an excellent solution that has definitely changed how people think about forums. We don’t sell saddles here, afterall.

The technology stack doesn’t matter. The user experience (on all devices) does. So make a hybrid solution. Render things server side instead of on the client, so you can instantly send down the entire cached page sans the user icon in the menu, and then load that in afterwards (along with anything else). Once the initial page load is over it seems like Android performance isn’t nearly as bad. I’m not an expert on how things work under the hood, so it’s just my uninformed two cents.

Personally I’ve always thought a true official Discourse mobile app, where users can subscribe to any Discourse forum and get notifications, offline sync, and significantly better compose options, would be a much better solution for actually interacting on a mobile device.

You could also give forum owners the option to use ads in stream, which would give people a real option for monetizing their forum without being too intrusive. And you could provide a Discourse forum directory to help with discovery, or even source really interesting discussion topics across the web, which would be fascinating.

Yeah, it’ll cost money to create the apps, but it would probably be worth it in the long run. And everything works against the Discourse API so you’re just building a front-end.

But even if you have the mobile app it won’t change the fact that initial page load performance on Android isn’t a good experience.