# Beta testing the iOS mobile app

**URL:** https://meta.discourse.org/t/beta-testing-the-ios-mobile-app/49662
**Category:** Development
**Tags:** feedback
**Created:** [3 בספטמבר,‏ 2016,‏ 4:13am UTC](https://meta.discourse.org/t/beta-testing-the-ios-mobile-app/49662 "2016-09-03T04:13:10Z")
**Posts on this page:** 1
**Showing post:** 1

<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: [3 בספטמבר,‏ 2016,‏ 4:13am UTC](https://meta.discourse.org/t/beta-testing-the-ios-mobile-app/49662/1 "2016-09-03T04:13:11Z")

</div>

I have been hacking away at a simple notifier app for iOS.

**What about Android?** ~~Once I get this out I would like to also port the native parts to Android, it should not take too long there are only a few minor tweaks needed. (in particular a native RSA pub/private key library and some internal reorg). The app is built in react native which has been quite fun. It is mostly cross platform with the exception of some minor native components.~~ The Android beta is [now live over here](https://meta.discourse.org/t/beta-testing-the-android-mobile-app/50165)!

 ![](https://global.discourse-cdn.com/meta/original/3X/5/c/5c1cb6c4a3bab2e3308eaf42711a6c681e1a1c14.PNG)

I created it mainly to help resolve a few personal pains I have had.

- I track lots of Discourse sites, I forget to visit quite a few

- My email box is out of control, push notification are far less obtrusive to me cause I don’t need to delete them, they simply go away when the app badge hits 0 (which is by design for all iOS apps).

- I am mobile … all the time … especially this year.

- I like having all my sites together in one app, I like the iOS badges that show how many notifications I have unread across sites.

The source for the app is at: [GitHub - discourse/DiscourseMobile: Discourse Mobile · GitHub](https://github.com/samsaffron/discoursemobile) and I got a bunch of UI help from [jjaffeux (Joffrey JAFFEUX) · GitHub](https://github.com/jjaffeux)

The app keeps track of flags, unread counts and alerts across multiple sites. It also allows you to quickly browse any site using Safari View Controller (which is the exact same Safari you use anyway)

It takes advantage [of the user API](https://meta.discourse.org/t/user-api-keys-specification/48536), this ensures that the app behaves, if it misbehaves it will be throttled by Discourse.

I have reached far enough into my dev process to warrant some beta testing. So here are some notes:

- I did the majority of my dev on iPhone, on iPad there is tons of white space, but it does work.

- Apple Background Fetch is an odd beast, in theory it should regularly fetch from our sites, in practice it is very finicky. I have a workaround I will get going next week, but in the meantime if you wake up in the morning and the badge is not updated, it is cause background fetch is … weird… I left a “dev panel” at the bottom of the app so you can quickly tell what has been going on. see also: this [500 point bounty](http://stackoverflow.com/questions/39197933/how-to-troubleshoot-ios-background-app-fetch-not-working/39269456) I have going.

- You can not reorder sites yet, that is on the list and should be implemented soon

- Sites we do not host **do not** get “push notifications” we have to whitelist every site for push notifications and give them a magic URL to push to. They get “fake” push notifications on background fetch, but no real ones.

- App was designed for minimum networking. When looking at the site list every 15 seconds the app hits message\_bus, when looking at a site it hits every minute. This route is super duper cheap and designed for huge amounts of hits. All updates for the app after it loads are handled via the bus.

App is at the moment undergoing approval for beta and should be ready soon.

If you would like to help beta test reply here and I will invite you.

---

_[View the full topic](https://meta.discourse.org/t/beta-testing-the-ios-mobile-app/49662)._
