App

From Smoke Academy Wiki

The Smoke App is currently available on Android (iOS coming soon). It allows users to read recent articles from The QH and Smoke Mag, tune into Smoke Radio live and see the schedule for the current and next day.

The app's main view as of July 2017.

Code is here

How it works

The app is built on AngularJS and Cordova, and gets its content by consuming the Wordpress API (for articles), and Marconi data API (for now playing and schedule metadata). It is a hybrid app, meaning that it is written in web languages like Javascript, HTML and CSS, rather than native Java or Swift code. This means that the app is cross-platform, and is theoretically compatible with both iOS and Android.

Because it relies on web APIs for its content, the app doesn't work well offline. However, it will cache the last data it downloaded to local memory, so offline users should still be able to access the text (and possibly some images) from recent articles.

Relying on the Wordpress API for content means that there is no need to copy an article across to somewhere else in order to publish it in the app, so the overall process of publishing is much simpler.

Known issues

Because it is a hybrid app, the way the app responds to gestures (eg. dragging, swiping) needs to be coded from scratch. At the moment, this is not quite an accurate reproduction of the way native apps behave. That said, many users don't notice.

Hybrid apps are by their nature slower than native apps. The differences are slight on newer and higher-end devices, but can become pronounced on older phones. The current, hybrid app should be considered a proof-of-concept for a future native version.

Syndicator

Syndicator is the bridge between the Smoke website and the app. It exposes additional information through the wordpress API, such as category names and the URLs of featured images, and it allows editors to control the publishing destination of their content - app, website, or both. Disable it and the app will not function correctly.

Syndicator will deliberately only hide content on the homepage and category pages of the website. It will not affect website searches or prevent direct permalinks to the article.