Whether its live streaming of status updates, chatting live with friends, or playing games, there has been a significant trend for adding more real-time capabilities to the web, something that has been noticeable since the introduction of instant messaging and microblogging. (ReadWriteWeb has an article from 2009 heralding the realtime web… and a lot of the information there is still relevant)
At one time these would require dedicated, proprietary backend solutions using Flash (and its associated RTSP protocol) or plugins, however there has been a strong push towards providing more web-native capabilities. At low level, the development of Web Sockets, and supporting technologies such as Socket.io and Node.js, has driven experimentation with real-time services for the web. However, this is still fundamentally a client-server technology, albeit with a stream-oriented twist; however there have been developments lately that offer both peer-to-peer and cloud-driven realtime services.
W3C has for some time now been working on standardising Web Real-Time Communications through a dedicated WEBRTC working group. However, its a sign of just how hot this topic is becoming that already Microsoft has submitted a competing RTC specification to the group.
Venture capital interest is also evident with Realtime getting $100m funding. Realtime provides a cloud-based event bus for real-time updates, effectively providing a websocket farm for application developers. Its not the first entrant in this area; for example Pusher, BeaconPush, Echo and PubNub have been around for a while, and gained a reasonable amount of adoption. However it does indicate that technology investors are increasingly confident that real-time is the future of the web.
What this means for app developers and providers of services is a wealth – and burden – of choices for adding a real-time user experience. However, the common denominators are the core web standards such as websockets, which most other realtime technologies build upon. The cloud-based solutions linked above, for example, largely provide a wrapper around a web sockets interface, connecting to their hubs for routing data to each client.
WebRTC, however, provides a rather different set of possibilities: given its ability to support peer-to-peer streaming, it lends itself very well to add-hoc collaboration such as whiteboards and video chat, and could well replace many of the – often expensive – existing solutions widely used in enterprise and education alike.
Looking ahead, its hard to say whether there will be a consolidation of WebRTC around one of the competing protocols, or a face-off between the two camps. Likewise, there may be consolidation among the cloud-based providers, or even more new entrants as investors take notice. One thing is for certain though, and thats that the web is going real time, real fast.