Actually, I was both right and wrong.
I was right in that my goal is, ultimately, achievable. But I was severely off-base in my estimation of what it would take to get there.
Like Alice in Wonderland, I found myself dragged further and further down into a whole, new and unsuspected world of unknown concepts, with its own rich alphabet soup of acronyms and protocols.
You see, it turns out that what I wanted to do is just not that easy — yet. It will be, in time, because among plenty of other things, the upcoming HTML5 standard defines a new javascript API, WebSocket, which is designed to solve just that problem: bidirectional communication between client and server.
This is all still just a draft, however, and is mostly not supported by common, currently available browsers. In the meantime, the usable solutions are — self-admittedly – a hodge-podge of clever hacks and kludges. This mixture has been brewing and evolving behind the scenes since around 2006, and goes by several names. COMET, however, seems to have caught on as the catchy nickname for this field of Web programming, much as AJAX emerged some years ago to sum up the various uses of javascript and XmlHttpRequest to enhance web interfaces.
This is no coincidence, as most COMET techniques rely heavily on AJAX and/or XmlHttpRequest. The name itself is not an acronym, but an AJAX-related pun.
The analogy further extends to the state of the field as a whole, which is strongly reminiscent of how AJAX simmered in the years before it was known by that name and went mainstream: elite, bleeding-edge, black-magic like. Full of obscure jargon and implicit concepts. Sparse, elliptic, scattered documentation. Tutorials with more holes than Swiss cheese. Mutually contradictory HOWTOs on the same page because of rapid API obsolescence and no versioning. Browser incompatibilities … you name it, it’s there.
For the unwary explorer who crosses this kind of New Frontier in his sandals and shorts, hoping for a “quick-in, quick out”, it means long hours of honing Google searches, wandering through a maze of links, cross-referencing, second-guessing, correlating, hoping something will start making sense at some point… like climbing every dune in the Sahara to see what’s behind, hoping it’s an oasis.
Normally I would flee such a state of affairs immediately, and let it mature for some years until it reaches “normal human” levels, like AJAX did. But this itch must have been unusually strong, for somehow I stuck in there, meandered through the swamp again and again, to finally emerge with a couple of trophies.
That’s when I decided that if I succeeded in my project, it would definitely bear the name of a comet :-)