# Discourse as Android Application

**URL:** https://meta.discourse.org/t/discourse-as-android-application/22919
**Category:** Feature
**Created:** [December 6, 2014, 1:03pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919 "2014-12-06T13:03:49Z")
**Posts on this page:** 20
**Page:** 1

<div class="post-metadata">

### Author: ![Webinsane](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/webinsane/32/160268_2.png) [@Webinsane](https://meta.discourse.org/u/Webinsane)
#### Post date: [December 6, 2014, 1:03pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/1 "2014-12-06T13:03:49Z")

</div>

Continuing the discussion from [What can Discourse learn from Slack?](https://meta.discourse.org/t/what-can-discourse-learn-from-slack/22816):

> [@BCHK](#):
>
> It might be helpful if the Discourse team hired/contracted with a good behavioral psychologist to help them implement some of the design ideas and approaches (if possible) that are making SLACK so popular and sticky.

@BCHK was extremely enthusiastic about discourse app so I mentioned it to my friend. In half an hour he created application just for him 😄

It loads browser with discourse in it with all basic android functions. It has no connection with android through the notification system, but it lets you use Discourse as app. If you have an idea how to connect notifications please share. Google Cloud Messaging?

[http://revolucionar.com/uploads/default/\_optimized/551/d0d/5c8d6eafb3\_300x500.png](http://revolucionar.com/uploads/default/_optimized/551/d0d/5c8d6eafb3_300x500.png)

[http://revolucionar.com/uploads/default/\_optimized/3f5/8a2/34adb994cb\_300x500.png](http://revolucionar.com/uploads/default/_optimized/3f5/8a2/34adb994cb_300x500.png)

* * *

Test it here:

[http://revolucionar.com/uploads/default/466/d0a2976b423a6d01.png](http://revolucionar.com/uploads/default/466/d0a2976b423a6d01.png)

---

<div class="post-metadata">

### Author: ![Moter8](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moter8/32/120941_2.png) [@Moter8](https://meta.discourse.org/u/Moter8)
#### Post date: [December 6, 2014, 1:50pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/2 "2014-12-06T13:50:59Z")

</div>

[Decoded](http://zxing.org/w/decode?u=http%3A%2F%2Frevolucionar.com%2Fuploads%2Fdefault%2F466%2Fd0a2976b423a6d01.png) URL: [http://goo.gl/NQjHw3](http://goo.gl/NQjHw3)

Tried it on my S3. Doesn’t run bad, but it’s just that, a down-sized browser. No native app feeling at all.

---

<div class="post-metadata">

### Author: ![thangngoc89](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thangngoc89/32/115436_2.png) [@thangngoc89](https://meta.discourse.org/u/thangngoc89)
#### Post date: [December 6, 2014, 1:54pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/3 "2014-12-06T13:54:54Z")

</div>

You can use API to read notification.

---

<div class="post-metadata">

### Author: ![Webinsane](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/webinsane/32/160268_2.png) [@Webinsane](https://meta.discourse.org/u/Webinsane)
#### Post date: [December 6, 2014, 2:58pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/4 "2014-12-06T14:58:22Z")

</div>

> [@Moter8](#):
>
> Tried it on my S3. Doesn’t run bad, but it’s just that, a down-sized browser. No native app feeling at all.

It is just that, app for all browser haters 😄

Please don’t take this seriously. As I said it was build in 30 minutes. Discourse runs like app in browser. I am not sure why there is need for more ❓

@thangngoc89 Will look into it. If its possible with too much headache I see no reason why not.

---

<div class="post-metadata">

### Author: ![Avram](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/avram/32/36990_2.png) [@Avram](https://meta.discourse.org/u/Avram)
#### Post date: [December 6, 2014, 3:37pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/5 "2014-12-06T15:37:59Z")

</div>

> [@thangngoc89](#):
>
> You can use API to read notification.

That is not the way to go. Server polling drains phone battery, because the application (or it’s service) must always be running in memory (now imagine 10 such services polling servers 24/7). Discourse should notify application instead of application checking Discourse every now and then. Google Cloud Messaging sounds like it’s made for that, so 3rd party servers can notify application users through Google servers.

> [@Moter8](#):
>
> Tried it on my S3. Doesn’t run bad, but it’s just that, a down-sized browser. No native app feeling at all.

Yep, it’s nothing but that. But it isn’t meant to be anything but that (at least for now). This is just a proof of concept and will most likely be used only by myself as I don’t have a habit to use browser on my phone (I prefer applications).

Of course no one will use an application for each forum they visit, but I don’t see any harm providing even an application like this. Listing it on Google Play store may only bring new visitors to your forum 🙂

---

<div class="post-metadata">

### Author: ![sam](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/sam/32/102149_2.png) [@sam](https://meta.discourse.org/u/sam)
#### Post date: [December 6, 2014, 9:42pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/6 "2014-12-06T21:42:39Z")

</div>

The correct solution is a plugin that “pushes” notifications to google cloud, it is doable but not trivial. Perhaps long term we should add all sorts of web hooks. (eg. this endpoint is called when condition X is met)

---

<div class="post-metadata">

### Author: ![thangngoc89](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thangngoc89/32/115436_2.png) [@thangngoc89](https://meta.discourse.org/u/thangngoc89)
#### Post date: [December 7, 2014, 2:55pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/7 "2014-12-07T14:55:18Z")

</div>

Take a look at this.  
I have some solutions for push notification

> [@Sending push notifications to Android devices](https://meta.discourse.org/t/sending-push-notifications-to-android-devices/22565/2):
>
> I used to do that with Pushbullet ([http://pushbullet.com](http://pushbullet.com)) with my PHP app. PushBullet support send notification to android, iOS, Chrome/firefox browser and Windows Phone (unoffically support) by create HTTP request . But I’m a noob with ruby so… But I think make a hook when new notification arrive …

---

<div class="post-metadata">

### Author: ![Avram](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/avram/32/36990_2.png) [@Avram](https://meta.discourse.org/u/Avram)
#### Post date: [December 7, 2014, 4:21pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/8 "2014-12-07T16:21:27Z")

</div>

> [@sam](#):
>
> The correct solution is a plugin that “pushes” notifications to google cloud

Something like that would be awesome! If anyone is interested in implementing this, here’s where they should start: [https://developer.android.com/google/gcm/index.html](https://developer.android.com/google/gcm/index.html)

Unfortunately I have zero experience with Ruby and almost none with Discourse ☹

---

<div class="post-metadata">

### Author: ![Devanil](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/devanil/32/37608_2.png) [@Devanil](https://meta.discourse.org/u/Devanil)
#### Post date: [December 7, 2014, 9:22pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/9 "2014-12-07T21:22:56Z")

</div>

This is FANTASTIC

How can I make one for me?

---

<div class="post-metadata">

### Author: ![BCHK](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bchk/32/3268_2.png) [@BCHK](https://meta.discourse.org/u/BCHK)
#### Post date: [December 8, 2014, 6:25pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/10 "2014-12-08T18:25:38Z")

</div>

I’m going to be hiring a developer to write an Android app for me - that will make my discussion forum accessible from an app. I’m also interested in working from an implementation that has already been created - as I know that a number of different people on the META forum have mentioned that they’ve developed an Android Discourse APP (and IOS app) already - but they don’t seem to be supported or maintained at any reasonable level and currently don’t seem to work.

My quick estimate from one developer was $10K for a professionally done new implementation.

I’m thinking that I’ll probably go fully Native Android - not WebView - which is more of a hassle technically since Discourse doesn’t really have a firm/fully documented and supported REST API.

My solution will be that I’ll have to freeze my Discourse server code at a given release level - and then do independent compatibility testing on a different server before I upgrade my production Discourse server.

Because this investment is coming out of my own pocket - unfortunately I won’t be able to share the code freely with the community. But - if a few other people want to kick in a few thousand dollars towards the development effort (of course I’m also open to ongoing input regarding design considerations) - I would be willing to sublicense the App code to those few other people who want to put some significant money up towards the app.

---

<div class="post-metadata">

### Author: ![BCHK](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bchk/32/3268_2.png) [@BCHK](https://meta.discourse.org/u/BCHK)
#### Post date: [December 8, 2014, 6:34pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/11 "2014-12-08T18:34:34Z")

</div>

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?

[https://meta.discourse.org/t/why-is-discourse-so-slow-on-android/8823/](https://meta.discourse.org/t/why-is-discourse-so-slow-on-android/8823/)

---

<div class="post-metadata">

### Author: ![thangngoc89](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/thangngoc89/32/115436_2.png) [@thangngoc89](https://meta.discourse.org/u/thangngoc89)
#### Post date: [December 8, 2014, 6:36pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/12 "2014-12-08T18:36:22Z")

</div>

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

---

<div class="post-metadata">

### Author: ![downey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/downey/32/166878_2.png) [@downey](https://meta.discourse.org/u/downey)
#### Post date: [December 8, 2014, 6:42pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/13 "2014-12-08T18:42:04Z")

</div>

> [@BCHK](#):
>
> Because this investment is coming out of my own pocket - unfortunately I won’t be able to share the code freely with the community.

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! 😃

---

<div class="post-metadata">

### Author: ![Moter8](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/moter8/32/120941_2.png) [@Moter8](https://meta.discourse.org/u/Moter8)
#### Post date: [December 8, 2014, 6:44pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/14 "2014-12-08T18:44:10Z")

</div>

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

---

<div class="post-metadata">

### Author: ![Avram](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/avram/32/36990_2.png) [@Avram](https://meta.discourse.org/u/Avram)
#### Post date: [December 8, 2014, 8:19pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/15 "2014-12-08T20:19:20Z")

</div>

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”.

> [@Devanil](#):
>
> How can I make one for me?

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

---

<div class="post-metadata">

### Author: ![BCHK](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/bchk/32/3268_2.png) [@BCHK](https://meta.discourse.org/u/BCHK)
#### Post date: [December 8, 2014, 8:32pm UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/16 "2014-12-08T20:32:38Z")

</div>

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:

> [@What is the Timing of Formal Discourse REST API?](https://meta.discourse.org/t/what-is-the-timing-of-formal-discourse-rest-api/22329):
>
> Hi, I want to contract with a developer to develop an app for my web site (android and iphone) that will include integrated access to my forums (with inapp message notifications). One developer I’m talking to has conveyed this “There’s currently no official REST api for Discourse. It looks like it is still under development and there is poor or no documentation at all. As a consequence, the API might be buggy and lacking at this stage.” Can anyone update me on the status, timing and plan for …

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [December 9, 2014, 12:39am UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/17 "2014-12-09T00:39:42Z")

</div>

> [@BCHK](#):
>
> Native application that works via the REST API is going to be much faster than the Mobile Web implementation on Android

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.

---

<div class="post-metadata">

### Author: ![downey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/downey/32/166878_2.png) [@downey](https://meta.discourse.org/u/downey)
#### Post date: [December 10, 2014, 9:10am UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/18 "2014-12-10T09:10:42Z")

</div>

> [@codinghorror](#):
>
> 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.

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. 😉

---

<div class="post-metadata">

### Author: ![codinghorror](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/codinghorror/32/110067_2.png) [@codinghorror](https://meta.discourse.org/u/codinghorror)
#### Post date: [December 10, 2014, 9:24am UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/19 "2014-12-10T09:24:22Z")

</div>

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.

---

<div class="post-metadata">

### Author: ![downey](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/downey/32/166878_2.png) [@downey](https://meta.discourse.org/u/downey)
#### Post date: [December 10, 2014, 9:25am UTC](https://meta.discourse.org/t/discourse-as-android-application/22919/20 "2014-12-10T09:25:42Z")

</div>

> [@codinghorror](#):
>
> Wood needs to go behind one arrowhead.

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

[Next page](https://meta.discourse.org/t/discourse-as-android-application/22919.md?page=2)
