beaucollins
These are exactly the features Simperium provides.
As far as I know, open sourcing the server is something Simperium wishes to do when it's feasible.
Simperium Syncing Protocol: https://github.com/Simperium/simperium-protocol/blob/master/...
In fact, Simperium was originally created to provide the syncing features of Simplenote and then generalized to work as a service for anyone who wants to sync structured data.
It's definitely a very rough work in progress but I have used it successfully to deploy my own simplenote server that works with all the clients.
Simperium Server: https://github.com/beaucollins/node-simperium-server
It's in the proof-of-concept stage so it doesn't persist the data on the server.
Protocol for reference: https://github.com/Simperium/simperium-protocol/blob/master/...
Put a transparent UIView over the status bar and wire it up to call a javascript function on your UIWebView using stringByEvaluatingJavaScriptFromString.