Adding real-time web features to Notes
To explore this, we're going to add some real-time web functionality to the Notes application.
To simplify the task, we'll be leaning on the Socket.IO library. This library simplifies two-way communication between the browser and server and can support a variety of protocols with fallback all the way to Internet Explorer 5.5.
A common companion to Socket.IO is Backbone.js, because it supports data models, allowing the programmer to exchange high-level data over Socket.IO connections. Because the data in the Notes application is so simple, we won't use Backbone. It is, however, worth exploring (http://backbonejs.org/).
Another pair of packages worth exploring are DerbyJS (http://derbyjs.com/) and ShareJS (http://sharejs.org/). The latter supports real-time editing between multiple users (it was written by a former Google Wave engineer), while DerbyJS makes it easy to build real-time collaborative applications.