Can run on desktop, tablet and mobile clients
Highly responsive, real time results
scalable up to very large audiences (> 1000)
Can be deployed in secure environments, that is, inside firewalls and without access to the Internet
Uses established technologies, albeit state of the art.
All of the above predicates a tool for real-time, collaborative, recall and discussion. The tool should have the ability to customise the group and user experiences to maximise the value of feedback, and should provide multiple feedback mechanisms.
Domain Specific Languages sound rather fearsomely technical, but in fact they are a very good, and simple idea, which most of us are familiar with, but just aren't aware of.
Let's take a concrete example, asking people to vote on poll. There are various ways that we could describe this to a program so that it can create our poll. One is to make a database which has tables for polls, options for polls, etc, etc and then make a set of forms that allow a guide a user through setting them up. Another, not very practical one is just to write a new program in say C++ for each poll you want to run.
What you can do, is create a special little programming language that just knows about polls, and then make a program that can read this language and create the correct data structures from it. Then my pollster can just create an ordinary text file that might look something like this:
Poll: Did you enjoy the Olympics?
Option: Yes, very much
Option: No, it was rubbish
Option: Everything except the Spice Girls.
Timeout: 60 seconds
Well, even without explaining this to you, it's pretty obvious what this means, and that is because you are aware of the Domain, ie: polls, and thus can interpret what you are reading (the Specific Language) in context. Now, obviously, DSL's don't have to look like this, all they have to be is a consistent description of something that is easy for both a person and a computer to understand. For instance, this article is being written in Markdown, which is a simple DSL for writing web pages and can be easily translated to HTML.
Currently, Audience Tools supports three different mechanisms for audience interaction, polls, questions, and topics.
|Polls|Multi-choice voting on defined subjects|
|Questions|Free form questions from the audience about existing presentation subjects or general questions|
|Topics|Discussion threads around presenter defined subjects|