Developers have been thinking in terms of building websites. The original web browsers were designed to load and display web pages. Now the paradigm has shifted from a website-centric model, where the website was at the center of the interaction, to a user-centric model.
There have been two main ways of getting content to a user: push and pull. Pull is the method in which most interactions have worked—the user clicks a link and the browser pulls the content down from the server. If the server wants to send additional messages to the user after the data has been pulled down, it just waits and queues them up until the client makes another request. The idea behind push technology is that as soon as the server has a new message for the user, it sends it to him immediately. A connection is maintained between the server and the client and new data is sent as needed.
Interacting on the realtime web involves a lot of give and take; it’s more than just removing the need to refresh your web browser and having updates filter in as they happen. Acquiring content from external sources and publishing it back also must happen in realtime. On the Web, this is called syndication, a process in which content is broadcasted from one place to another.
One of the most compelling aspects of creating realtime web applications is the ability to create experiences that were previously available only on the desktop. The syndication example worked as a realtime experience from server to server, and the others have largely been from server to user. Realtime experiences are increasingly happening outside of the browser. Users expect to be able to input data and get it back out not only from an unending array of mobile devices, but also from inside applications that they currently use.
A big part of creating realtime user experiences means delivering messages to a user, whether she is on the website, in a chat window, or via text messages sent to her phone. As a publisher on the Web or a website creator, there is nothing better than writing a new post or launching a new feature and then watching the traffic come rolling in. If a website is interacting with users in realtime, providing constant updates and prompting for responses from the users on any number of different platforms, the analytics package had better be able to keep up. The legacy analytics products allow you to see aggregate counts of hits, visitors, page views, and other statistics over a 24-hour period.
Having these technologies in your application is pretty easy—small steps, but the end result is that users can interact with your application in drastically different ways. As the web increasingly moves away from the desktop computer, it’s important that your application can respond in every way your users expect. Depending on your application, there is a good chance that users would start interacting with your application more frequently, and hang around longer, if you gave them the means to do it on their own terms.