Hosted realtime services - making the realtime web more accessible

24 Jan 2012

The real-time web started off by just being "cool"; a quirky and fun space to be in with lots of "cool" technology. People weren't sure whether it was just a fad, stimulated by hype. The value it delivers in the form of customer engagement, interaction, collaboration and the opportunities it can provide by being real-time is now much clearer, and consequently the benefits of using real-time technologies are beginning to be understood.

Realtime Web Technology Accessibility

One of the problems with real-time technologies over the past 10+ years has been the accessibility. Comet servers were difficult to install, a pain to maintain and upgrade and generally difficult to use due to numerous configuration options and technology quirks, mainly exposed by different web browsers. There have been a number of very important changes have happened over the past few years that now make real-time technologies much more accessible.

Web Browser Wars

For such a long time Internet Explorer 6 was by far the best web browser available. It's the reason that Microsoft "dropped the ball" and why Firefox and Chrome are where they are today. But now we are in a great position of having a number of actively developed web browsers being driven by real competition to offer the best browsing experience. This has lead to a general improvements in browser speed (JavaScript and rendering engines) but also improvements in web technology available to web browsers and, possibly most important of all, web standardisation. HTML5 does indeed rock!

Cloud Hosted Services

Cloud hosted services, frequently referred to as Infrastructure as a Service (IaaS). These hosted solutions take away the pain of installation, maintenance and scaling, and frequently deliver them at a fraction of the cost possible if you were self-hosting.

Better self hosted solutions

Cloud hosted services are awesome (I would say that, but they are!) but the self hosted realtime web solutions that are available and the ease of installation has massively improved. As an example, you can have a socket.io example page up and running on node.js within minutes. These improvements have been driven by an increased demand for

WebSockets

WebSockets is a standard for continuous bi-directional single-connection communication between client and server. Real-time technologies, and in particular real-time messaging within a web browser, has been possible before but not until WebSockets has there been a standard that is so likely to succeed.

Unfortunately WebSockets don't mean that the pain has completely gone away. The technology, whilst more accessible, still isn't as easy as it could be for developers to use. On some platforms WebSocket server installation can still take too long, maintenance is just something developers don't really want to do, and scaling takes time, effort and lots of configuration. So, we turn to the first important change as a solution to this problem - hosted realtime services.

Hosted realtime services

Hosted realtime services, like Pusher who I work for, make it much faster and easier for developers to start adding real-time functionality (push notifications, activity streams, realtime chat, collaboration, realtime data visualisations, multiplayer games, 2nd screen/Social TV experiences etc.) to their applications within minutes. For bigger organisations, the same solution also means that you know your developers are busy adding value, not installing, configuring and maintaining. This means they are happy and productive.

The web is only around 20 years old and the real-time web is younger still. We don't know exactly where the next few years will take the web but I'm sure that HTML5, WebSockets and real-time messaging will be a key component, and services like Pusher in a great position to help provide the infrastructure that developers need to easily use these technologies.

Where next?