Any LJ user should be able to use their LJ name as an ID, without operator intervention.
Other people should be able to get IDs too, and be readily distinguishable
from LJ nicks.
Anyone with an identity should be able to make a poll.
Polls should allow distinct access control for:
filling in the poll
seeing summary responses
seeing detailed responses
seeing detailed responses with identities attached
Seeing the poll at all should be equivalent to being able to fill
in the poll. i.e. as a matter of policy if you can see a poll
you can at least enter it even if you can't get any information
about the results.
The poll owner should have total privilege even if access
control superficially disallows it (and will have
other privileges as described below).
The operator has access by the "back door" by dint of direct filesysytem
access to the poll service, not by dint of having a privileged ID.
Poll entry forms should be embeddable into blogs, but also available
directly. Example HTML should be easily copyable for the purposes of
pasting into blogs.
It should be possible to enter a poll more than once, overwriting
previously set answers.
There should be a simple language for describing polls.
A would-be poll owner should be able to feed a file in
this language into the poll web site and have their
poll work (or have the errors in it reported).
An offline validator program should be available.
The owner should be able to edit their polls in the following
ways:
add options to radio buttons, tickyboxes, etc
add entirely new questions
modify question text
Old versions of polls should remain available so that
cheating can be detected, and when a poll has been edited
this should be highly visible in the results.
The owner of a poll should be able to reduce
visibility of answers post-facto, or to delete the poll.
Polls should have informal names, but these need not
stand as unique IDs.
Specify a set of options, the user can choose at most one of them.
Optionally insist that they choose exactly one.
Use either HTML <input type=radio> or <select>.
Specify a question, the user enters a number. Specify range limits,
whether integers or arbitrary decimals are allowed.
Use HTML <input type=text> or possibly some more
visual mechanism?
Pairs of sets of questions should be combinable to show how
answers are related. For instance, a set of radio buttons
to pick country of birth might be compared to a set of tickyboxes
documenting food preferences.
This only needs to work for radio buttons and tickyboxes and
only for pairs of question sets (rather than triples etc) for
the time being.
Layout should be under owner control, up to a sensible point;
or failing that easily extensible by the operator. At the least,
for any acceptable poll layout there should be a computed default
result layout.
Allow for email notification whenever someone fills in a poll.
It should be possible to get a list of all polls that you can
fill in by a given owner.
New polls should be published in a central place. (RSS?)
It should be possible to opt your poll out of this (and
this should be true by default if not everyone can fill
in the poll).
HTML
Allow a known safe subset of HTML for the following things:
questions
options
explanatory text
text input
The subset should be readily modifiable by the operator.