The countdown has begun for the real time web. The technology is out on iPhones, Androids and desktop users having Firefox or Google Chrome. Now we are holding our breaths for Internet Explorer 10, the final piece of the puzzle. What I’m talking about, of course, is WebSockets. Putting the technological details aside, WebSockets means that the dead pages of the web can come alive.
Stock price pages can have the number changing like it does on the Bloomberg terminals. Maps can have taxi cars moving on them. Your line-of-business application can have all its logic on the server as the old ‘submit form’ button can be passed away as a history parenthesis (we won’t miss it). For database application developers this means that things as calculating the price in shopping carts when you change quantity or other such business rules can be truly moved out of the browser and into the business logic.
The overhead of browser/server interaction is gone. When you hit the ‘OK’ button in the form, the data can already be on the server. And combined with Starcounter, users will never experience response times higher than a fraction of a second no matter what they do. From a technical point of view, WebSockets lets your client and server communicate without the heavyweight http request. And although we tried keep-alive to overcome this, WebSockets gets rid of the long-polling problem all together.
This enables many small messages instead of big and slow requests and responses. A connection can be held for hours or days instead of for a few seconds. Messages can be as small as a few bytes and they can be initiated by the server.