Warning: This post may contain some technical jargon, so if you’re unsure about any of the terms be sure to ask in the comments! For some more thoughts on all this stuff, do check out Duane’s post about the future of software development and delivery.
Single page web apps
Because they offer a seamless and slick user interface, this is where things are headed. Websites were created for informational purposes – Wikipedia et al’s primary function is to serve information in a largely “read-only” fashion. The needs of users have changed over the years, but unfortunately the technology has lagged behind.
The typical model of a website is that when you hit a URL in the address bar, or click a link on a website, the browser will send a request off to a server. The server will process the request, formulate the appropriate HTML and send the complete page back to the browser to display to you, which requires a page refresh. While this model works well for the aforementioned Wikipedia style website, it provides distractions and disruptions to the flow of a user trying to manage their accounts with ease. For example, if the user wants to quickly add a new customer to a list, they need to leave the page to do so.
Asynchronous communication with the server
Enter the Single Page App. Data is sent down a proverbial pipe back to the server and to the browser, allowing selected information to be saved/deleted without requiring the user to navigate away from what they’re doing. This is more commonly known as “asynchronous communication with the server”. The result is a much faster experience, a more “app like” feel and a seamless experience that the user wants, and needs.
We are currently integrating BackboneJS into our application, which will facilitate this seamless experience, and we plan to roll it out through the year.
So, without further ado, I have prepared a presentation below (don’t worry, no death by Powerpoint here) which can give you the highlights of our approach and flesh out the points of the above explanation. Just click the image below to check it out!