Hello,

I took a look at the Helios server (https://github.com/helios-framework/helios).

It is a Sinatra based "Web UI", on-top of a PostgreSQL Database, which has a RESTful endpoint to accept device registration information/data;

On the (iOS) client, they recommend the usage of the Orbiter client framework (a simple wrapper around AFNetworking);

I am not planing to use the Orbiter client framework, but just to layout the level of data which, MAY be stored for a registered "application installation" on a device

It has nice hooks to provide a "quite time", for disabling message delivery in a certain time interval:
https://github.com/mattt/Orbiter/blob/master/Orbiter/Orbiter.h#L86-87

However, the framework collects a lot of other data as well  :)

For instance... it collects location data (if enabled, on the device), but the API doesn't really tell you that - it's collected by the implementation:
https://github.com/mattt/Orbiter/blob/master/Orbiter/Orbiter.m#L100-101

So I was surprised to see that in the JSON response :-)


Sure... it's useful - for some apps - but I think... If we want to allow our uses to store that kind of data, we should:
- add API hooks (into the client SDK) - may become 'verbose'... after a while
- show how to do that and use a generic API (e.g. NSDictionary)

At a low-level, we really "just" require the device token and the version/variant of the os (e.g. iOS 6.1.3). Any other data is APP specific and really needs to be defined by the application developer that is using our bits. 


Any thoughts ?

--
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf