One of the most interesting things I have seen from our clients over the past few months is the myriad of ways in which they use Comet technology. We had a very specific problem in mind when we build WebSync, namely real-time updates in a browser with ASP.NET and IIS, and it solves that problem admirably. Even as I realized some of the other uses-cases for WebSync (such as bypassing firewall restrictions for Windows-based applications), I don’t think I quite realized the huge number of possibilities that were really available with a standards-based Comet server.
What is Comet, really?
When I think of Comet, my mind immediately jumps to the idea of the “real-time web”, which is probably what the majority of Comet developers think about as well. Live updates in a web browser, awesome! But recently, I’ve seen more and more people using WebSync to solve other problems, and for many applications that are not strictly web-based. These applications may be *partially* web-based, but often times they have other components as well - desktop, mobile devices, you name it.
Comet is, in my opinion, much more than just a way to push data to a web browser. It’s a complete platform for real-time communication, built on top of HTTP, for all languages and purposes, not just the web.
A multitude of devices
When I was at the University, my design project was an application for managing equipment within a nano-fabrication lab on campus. It had a web front-end for managing users and devices, a Windows CE component to send signals to the switch, and an ethernet-enabled relay switch for actually controlling the various pieces of equipment. This was, overall, a very small project. But it already had 3 separate components and required programming in 2 software languages and some hardware design as well.
Comet can actually become the foundation on which your entire application is built, tying all these pieces together into one seamless unit!
A communication platform
To me, this is all rather amazing, really. When we started building WebSync, we were building a solution to a problem we needed to get past ourselves - pushing data to a web browser in real time using ASP.NET and IIS. By solving that problem, we’ve actually created a whole communication platform, with all kinds of integration points and incredible extensibility. What are your thoughts on using Comet as more than just a simple browser-push solution?