This document discusses Spine.js and creating non-blocking user interfaces. It provides an overview of Spine.js, including how it compares to Backbone.js in its use of controllers instead of views and models instead of collections. It also discusses how Spine.js enables asynchronous user interfaces through its handling of events like save callbacks before ajax calls. Finally, it addresses some limitations of Spine.js for transactions and situations requiring server-side validation.