Featuring as guest commentator on Computer Weekly’s Open Source Insider blog is Mícheál Ó Foghlú in his capacity as CTO of open source application development framework company FeedHenry.
This can be used in a simple fashion, or in a much more complex fashion.
In this discussion, Ó Foghlú looks at how a developer might go about connecting one OS to another WITHOUT the aid of a cloud-based platform
How to connect, Ó Foghlú speaks…
The implication that the easiest way to do this kind of connection using the cloud is correct: to link one mobile OS to another one would use the cloud as a gateway – sync data from one mobile device to the cloud, and then sync down to another mobile device.
To do it without the cloud is very difficult, as mobile devices typically do not have open ports that allow them to act as servers in a client-server architecture, and they typically have non-public IP addresses hidden behind layers of NAT offered by the mobile operator (carrier) that makes it much easier for them to consume services from generically hosted servers (typically hosted in the cloud) than to offer such services in a peer-to-peer way.
Therefore, without a platform, typically a developer would be forced to create a custom middleware layer for each such solution (and host it and manage it).
Don’t re-invent the wheel
That is one of the core justifications for a mobile platform, to commoditise the approach and reuse a single mechanism for doing this rather than re-inventing a custom one each time.
Services like Skype and other more open VoIP services using SIP probably come closest to being peer-to-peer directly between mobile devices, albeit usually mediated by some centralised gateways (e.g. where your Skype profile is kept); the actual voice call ideally goes directly from one device to another using the fasted route for IP packets.
However, carriers often restrict these types of VoIP packets, by shaping traffic on their network, as a potential threat to their core voice revenue stream.
In conclusion there are many benefits to using a managed platform to aid development, deployment and management of mobile middleware. Efficiently enabling potential information exchange between devices/users is one of these.
NOTE: The FeedHenry platform provides more than the core code/cache hosting — it includes full lifecycle support; the ability to compile client-side hybrid apps in the cloud in a Build Farm and the ability to monitor and manage a portfolio of apps.