In 2011, I commissioned a programmer to develop a prototype HTML5 WebSockets Map, as a replacement for a Silverlight mapping product used by one of our clients. The Silverlight map had a lot of potential, but it's future looked bleak in an industry switching to HTML5. I blogged about this back in October when Websockets was only officially supported by Google Chrome.
Websockets allows the browser to make an IP connection back to the server, which can be left open for the entire duration of that site being viewed. Previously, a web developer would have to write their code to poll the server for new data, or use some other hack that was either inefficient or less than instantaneous. We have always wanted our maps, to update instantaneously, and initially chose Silverlight for that reason. With HTML5's Websockets, when the server has a new GPS location of a vehicle, it can now push that straight to the map instantly.
Today, all the major browsers except IE support Websockets, and our prototype map has since become a fully working GPS Tracking front end to our cloud platform. It had been in commercial use for some months now, and I am happy to announce, this will soon become Open Source under the BSD Licence.
More details to follow later, but the main features are:
Uses Mapstraction, thus supporting any map it supports. Google, Bing, Yahoo, OpenLayers (OpenStreetMap).
JSON Websockets Messging
Branding – Logos (login, menu bar, & about box) can be interchanged based on domain name.
Our backend server will remain closed source for now. It is very complex, fragmented, and supports a number of manufacturers tracking equipment. As much as I would love to Open Source it, It would require too much work for us right now, however the JSON messaging format will be fully documented, and if there is interest, I might write a demo server application.
Of course, if your looking for a solid, GPS tracking system, and you want to develop your own front end based on the Websocket map, then contact us. We can also put you in touch with a developer who can work on the Websocket map for you.