Hello Kris,
as already mentioned on the IRC; for "connectivity" we basically have two (totally) different things:
* device push (e.g. Android, iOS and something like the W3C Push-API (if that ever will happen)) to push notifications to devices;
* online/web messaging: connected clients (Android, iOS or JS clients) exchange messages, with also zero latency. The messages can be large - really large, if desired :)
One thing.... Not sure how the NNP (None-Native-Push) wording fits into one of these two categories; For me, a JS push api, that eventually runs on every phone/browser would be in that "native" push category (since the messages are submitted to a PushNetwork, which ensure the messages is, eventually, delivered to a device);
For me, the device is the "native container", that receives the messages and delivers it to the matching app therefore I used the "device push" above.
Client Apps that require a persistent connection, for low-latency "message" exchange, are also both: native: (Android/Java, iOS/ObjC,...) and none-native: JS; However, here it's not the phone that "dispatches" the incoming messages. The app connects and inside of the app, it receives it - the actual OS is not responsible to give the received payload, from a socket, to an actual app.
I wrote a little gist, posted on a different thread ("AeroGear Connectivity") :)
-Matthias