Discourse as Android Application


(Bcguy) #11

Folks - can someone comment on this?

It seems like a Native application that works via the REST API is going to be much faster than the Mobile Web implementation on Android - is that corrrect, from your understanding of the Android Browser issue?


(Khoa Nguyen) #12

Yes. A native application is much better than web browser.


(Michael Downey) #13

Interesting logic. I think a lot of software projects have found otherwise (especially with respect to maintenance and sustainable growth) which is why you see things like .NET becoming open source despite the investments of the projects’ progenitors.

I hope the investment pays off for you; it will be interesting to see how your project goes. I’m not sure you’ll find a lot of sub-licencees for a proprietary interface to an open source webapp, but it could work.

Good luck! :smiley:


#14

Works for Reddit / Mobile reddit clients, I guess. But yeah, Discourse is really really small in comparison still.


#15

That sounds interesting and optimistic, given the fact that, as you said: “Discourse doesn’t really have a firm/fully documented and supported REST API”.

With a bit of Java/Android knowledge anyone can do it easily :slight_smile: but as mentioned before, this is just a web browser packed in an application. It’s fine for me though :smiley:


(Bcguy) #16

Well - it sounds like the REST API might be usable - but we’ll see how optimistic it is. You can read the responses on this topic from the Discourse Team here:


(Jeff Atwood) #17

There is some movement on the underlying Chrome/Android V8 bugs that cause the 3x-5x perf penalty, and the Ember.js team is also looking at it in some detail for future versions. I’m optimistic a year from now the picture will be more in line with iOS perf which is amazing, near-desktop.

But yes, the native app is most defensible on Android today, particularly if you have an older device (2012 or earlier).

The problem is that the functionality will diverge as we build more features into the webapp that are not reflected in the forked native version. There’s already one legacy Android Discourse app out there in the play store and I’m not sure it even works today? But to be fair that was developed about a year ago before we even hit V1.


(Michael Downey) #18

The obvious solution to that divergence problem is making such an Android app open source, in hopes that the Discourse community can rally around making one great client code base, and keep it more or less up to date. Unfortunately it sounds like so far no one is interested in doing the right thing. :wink:


(Jeff Atwood) #19

It’d still be two totally different code bases, one in Java, one in Ruby/JavaScript. The only thing they would have in common is the API calls. It is a massive effort. If we had millions in funding, sure, we could perhaps hire a few devs and have them go at it.

Wood needs to go behind one arrowhead.


(Michael Downey) #20

Agreed; which is all the more rationale for a community volunteer-maintained app, if one exists at all. :wink:


(Bcguy) #21

Jeff - I totally understand and agree with the need of a startup to focus. So - I have no problem with that.

Just so I understand this better as I try to move forward with an app development effort for Android that I fund - Can you give me an estimate in hours that you think it would take to develop a first cut Android application that works reasonably well that implements the major features (e.g. oneboxing, liking, flagging), but doesn’t attempt to achieve feature full parity with the web version of Discourse?

And - Michael, I can imagine a scenario where I would release the code to the public domain for the app after a certain period of exclusivity for my own site (e.g. a year or so).


(Blake Erickson) #22

I’m not really for building a native mobile client for Discourse, but if you are thinking about building a mobile app, I would look into using Xamarin and writing the app in C# that way you can deploy to Android, iOS, and Windows.


(Alessio Fattorini) #23

I read a lot of topics about an app for discourse. I know, discourse is web-only, I know, slack guys have only zip their website into an app ;-)and I know discourse is awesome on mobile…
I’m an huge fan of Discourse, really… I’m not a great poster buy I have read a lot and I’m building my community (shifting from FB) on this fantastic platform.
@codinghorror I get your opinions and your doubts about it could be right but please, really please, rethink to the possibility to have an app!
One reason: notifications. From this point of view slack wins, notification matter! But I don’t want Slack I prefer Discourse. This is my man :wink:
Email notifications aren’t the same, seriously.
Please put some effort to build good API to permit this easily


(Jeff Atwood) #24
  1. There is already a full API, the JavaScript in your browser uses it.

  2. There is already an Android Discourse app https://play.google.com/store/apps/details?id=org.goodev.discourse


(Kane York) #25

I feel obligated to point out that there are a few holes in the API, some things that are only ever returned in the PreloadStore in the HTML. Most prominent is site settings.


(Tomo Vukasović) #26

Our application loads too long, but that could be something on our part. We pretty much dropped this idea. That said I don’t feel that Discourse is obligated to create app. It is the forum software for the web and it works nicely in any browser. No reason to go further.


(Sam Saffron) #27

Well nothing is stopping no-one from sending in PRs to improve this.


(Kane York) #28

Yeah, I wrote some stuff, just haven’t sent any of it. Will clean it up & submit tomorrow.


(mountain) #29

Agreed. I would rather the site perform in a browser.

However, I like the idea of push notifications. That would give the feel of a native app and I can see it be of great use for mobile users to interface with the OS itself (eg: view notifs for Discourse-built communities on my lock screen).


(Jeff Atwood) #30

You have push notifications. We call it email.