« The many lives of javax.swing.Action | Main | IBM Move Fills in Eclipse Hole »

Weblog Polling

Just last week I got this month's issue of the ACM's Queue Magazine. This month's focus is Instant Messaging and one of the articles was an op-ed/advert for IBM's Community Tools. One of the most interesting tools I though was PollCast, which is basically IM polling. Reading the use scenarios was fascinating, but then I got to thinking... (dangerous, I know) could something like this be done for Weblogging? Quickly I came to the conclusion that yes it could.

Adding polls and responses to polls is something that could totally be done within weblogging, and in fact could be considered an extension to popular syndication formats such as Atom and embedded in weblog software and possibly readers. At a low level there would be some extra elements in the entry element of a weblog post in Atom or via other entry characteristics that tell the user agent that a poll is part of the weblog entry. In these would be essential items such as the question, the allowed set of answers (along with a current summary of the results), possubly extra data such as the allowed timeframe to vote within, and (most importantly) URIs for an API call to do trackback/backtalk like pings to the poll. The last piece is what I believe is the most novel part of this concept: To vote in the poll you would have to have a weblog entry of your own voting for an answer in the poll. Another URI could be to list the specific votes like a trackback list, so users can explain their votes if they fell the need. And this adds something totally missing from current web polls: transparent accounting and traceability. Anyone with a polling enhanced aggregator can examine the poll results themselves and even tally the votes themselves.

The poll sponsor side could be as simple as a typical weblog entry with two added features. For the HTML rendering of the entry the normal entry would be followed or prefaced by a nice rendering of the poll question and progress, along with links to the votes themselves like a "comments" page. An auto-discovery link would also be present for polling enabled clients or smart JavaScript bookmarks like Moveable Type creates. This is so the viewer can vote immediately if they have a ballot/blog. For the syndication feed there would need to be the aforementioned elements describing the poll in addition to the other elements that are part of a normal entry.

The real complexity of this comes in the sponsor implementation itself. The sponsor would need to be aware of the voting trackback links and would need to store the information and know to update the syndication and html pages. For blog systems where everything is dynamically generated then this isn't quite the same issue, bot for static hybrids they would need to trip some re-generation codes, however clever use of IFrames could fix that.

As for the poll ballot sites, this is where more flexibility exists. But for the transparency to work there would need to be some indication of how they voted. One possible HTML rendering could show the poll as it would appear on the sponsor site except highlighting the particular ballot entries vote. The could also including a href to the of the poll. Perhaps the same auto-discovery links the sponsor may also be present to allow the viewer to vote themselves without ever having to visit the sponsor site. Similarly the syndication feed would need to include an element indicating what the vote for that ballot was and perhaps the same links back to allow second or third generation voting.

The more I think about this the more complex it gets on the server side, and the more seamless it could seem to the user with the right tools, but there enters the network effect. And I don't have enough exposure to any of the blogging systems or clients to effectively code a proof of concept (not to mention lack of time). But in a perfect world where this existed it could actually be usefull. Perhaps in addition to JDJ, JavaPro, Jolt, and JavaWorld offering awards at JavaOne perhaps there could be the java.net WebLog awards awards, the advantage being that no accusations of secret ballot box stuffing or editorialized awarding occuring snice everyone can see fot themselves the ballots with the haning chads!


This page contains a single entry from the blog posted on November 17, 2003 7:11 AM.

The previous post in this blog was The many lives of javax.swing.Action.

The next post in this blog is IBM Move Fills in Eclipse Hole.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.33