Internet Engineering Task Force Erin M. Phillips Internet-Draft Flamecast, LLC. Intended status: Informational July 6, 2011 Expires: January 7, 2012 The Universal Voting Markup Language (UVML) draft-phillips-uvml-00 Abstract This document describes the Universal Voting Markup Language (UVML), a syntax that augments conventional text communications with a structured representation of opinion. UVML consists of two top-level elements: ballot and query. UVML enables voters to cast ballots (text, image, or video) that can be reliably interpreted by either human readers or automated-agents. In addition to one or more votes, UVML-ballots may also contain the voter's demographic signature. A voter can use UVML-queries to retrieve voting results and audit sample ballots over varying time frames, with the option of these being filtered by voter demographics. The design of UVML leverages cross-cultural sentiment and voting-systems scholarship. Status of this Memo This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. This document may not be modified, and derivative works of it may not be created, and it may not be published except as an Internet-Draft. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet- Drafts is at http://datatracker.ietf.org/drafts/current/. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." This Internet-Draft will expire on January 7, 2012. Copyright Notice Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Phillips Expires January 7, 2012 [Page 1] Internet-Draft Universal Voting Markup Language (UVML) July 2011 Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Table of Contents 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 4 2. Conventions . . . . . . . . . . . . . . . . . . . . . . . . . 4 3. UVML Voting System . . . . . . . . . . . . . . . . . . . . . . 5 4. UVML Technical Specification . . . . . . . . . . . . . . . . . 6 4.1. Ballot . . . . . . . . . . . . . . . . . . . . . . . . . . 10 4.2. Opinion . . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2.1. Topic . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2.1.1. Specific . . . . . . . . . . . . . . . . . . . . . 11 4.2.1.2. Universal . . . . . . . . . . . . . . . . . . . . 11 4.2.2. Undecided . . . . . . . . . . . . . . . . . . . . . . 11 4.2.3. Value . . . . . . . . . . . . . . . . . . . . . . . . 11 4.2.3.1. Quality . . . . . . . . . . . . . . . . . . . . . 11 4.2.3.2. Importance . . . . . . . . . . . . . . . . . . . . 12 4.2.3.3. Outlook . . . . . . . . . . . . . . . . . . . . . 12 4.2.3.4. Support . . . . . . . . . . . . . . . . . . . . . 13 4.2.3.5. Likelihood . . . . . . . . . . . . . . . . . . . . 13 4.2.3.6. Emphasis . . . . . . . . . . . . . . . . . . . . . 13 4.3. Choice . . . . . . . . . . . . . . . . . . . . . . . . . . 13 4.4. Signature . . . . . . . . . . . . . . . . . . . . . . . . 14 4.5. Vote-query . . . . . . . . . . . . . . . . . . . . . . . . 15 4.5.1. Timeframe . . . . . . . . . . . . . . . . . . . . . . 15 4.5.2. Sample votes . . . . . . . . . . . . . . . . . . . . . 15 4.5.3. Voters . . . . . . . . . . . . . . . . . . . . . . . . 15 4.5.4. Rank range . . . . . . . . . . . . . . . . . . . . . . 16 5. UVML Implementation Standards . . . . . . . . . . . . . . . . 16 5.1. Dating Postcast Votes . . . . . . . . . . . . . . . . . . 16 5.2. No Vote Roll-up . . . . . . . . . . . . . . . . . . . . . 16 5.3. Multiple Votes . . . . . . . . . . . . . . . . . . . . . . 16 5.4. Show All Opinion Values . . . . . . . . . . . . . . . . . 16 5.5. UVML Video Ballots . . . . . . . . . . . . . . . . . . . . 17 6. UVML Rhetorical Guide . . . . . . . . . . . . . . . . . . . . 17 7. UVML Functional Specification . . . . . . . . . . . . . . . . 17 7.1. Usability . . . . . . . . . . . . . . . . . . . . . . . . 17 7.1.1. Completeness . . . . . . . . . . . . . . . . . . . . . 18 7.1.2. Clarity . . . . . . . . . . . . . . . . . . . . . . . 18 7.1.3. Compactness . . . . . . . . . . . . . . . . . . . . . 18 7.1.4. Universality . . . . . . . . . . . . . . . . . . . . . 18 7.2. Privacy . . . . . . . . . . . . . . . . . . . . . . . . . 18 7.3. Integrity . . . . . . . . . . . . . . . . . . . . . . . . 18 Phillips Expires January 7, 2012 [Page 2] Internet-Draft Universal Voting Markup Language (UVML) July 2011 7.4. Verifiability . . . . . . . . . . . . . . . . . . . . . . 18 7.5. Veracity . . . . . . . . . . . . . . . . . . . . . . . . . 19 7.6. Robustness . . . . . . . . . . . . . . . . . . . . . . . . 19 7.7. Intelligence . . . . . . . . . . . . . . . . . . . . . . . 19 8. Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 8.1. Accidental Vote Rates . . . . . . . . . . . . . . . . . . 19 8.2. Opinion Semantics . . . . . . . . . . . . . . . . . . . . 20 8.3. Election-Contest Semantics . . . . . . . . . . . . . . . . 20 8.4. Right to Left Language Support . . . . . . . . . . . . . . 20 9. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 20 10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 11. Security Considerations . . . . . . . . . . . . . . . . . . . 20 12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 21 12.1. Normative References . . . . . . . . . . . . . . . . . . . 21 12.2. Informative References . . . . . . . . . . . . . . . . . . 21 Appendix A. Additional Stuff . . . . . . . . . . . . . . . . . . 21 Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 21 Phillips Expires January 7, 2012 [Page 3] Internet-Draft Universal Voting Markup Language (UVML) July 2011 1. Introduction "Let's have a poll that doesn't have a 4 per cent margin of error, where no thought need be given to loaded questions, respondent bias, interviewer cheating, or cross-section accuracy." - Paul Trescott, 1949 The Universal Voting Markup Language (UVML) enables the structured expression of opinions in text, images, or video. The motivation behind UVML is to be found in the above quote, and in "the long tail" of disenfranchised opinion found in society in general and social media in particular. This document contains a UVML Voting System description (Section 3), a UVML Technical Specification (Section 4), a limited set of UVML Implementation Standards (Section 5), a UVML Rhetorical Guide (Section 6), and a UVML Functional Specification (Section 7). Some miscellaneous topics are addressed in Notes (Section 8). 2. Conventions The meanings of the following terms require clarification in this context. Terms quoted ("") in this section will not be quoted afterward. The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119]. All UVML elements are defined using ABNF (Augmented Backus-Naur Form) notation. If you are not familiar with ABNF notation, please see [RFC5234] for a complete description. ABNF rule names are shown as verbatim. The term "ballot" refers to a document, image, or video, which includes one or more UVML votes and an optional demographic signature. The term "polling station" refers to a service that processes UVML ballots and responds to UVML queries. The term "flamecast" refers to a "ballot" sent by a voter to a "polling station." The term "postcast" refers to a "ballot" posted by a voter to a proxy service or website and obtained by a "polling station" through content mining. Phillips Expires January 7, 2012 [Page 4] Internet-Draft Universal Voting Markup Language (UVML) July 2011 The term "topic" refers to the object of an opinion, as defined by FrameNet [1]. The term "contest" refers to a competition between candidates or options for which voters determine the outcome. 3. UVML Voting System UVML is intended to enable a voting system with some deliberative qualities. Figure 1 shows the principle interactions between actors in the system. _ O >--(1)-->--- UVML ballots ---->-(1)-> / \ -|- >--(2)-->--- UVML queries ---->-(2)-> | | | <--(3)--<--- voting results --< (3)-< \ / / \ | VOTER >------\ ---|--- | UVML(4) O | (5) ballot \------> -|- >---(4)------> | | | | _v_ / \ / \ | \| UVML ballots PROXY / \ | | on physical POLLING STATION |___| media Figure 1 The following is a brief explanation of these interactions: 1. Voters write UVML-ballots on topics or contests for which they have an opinion, and send them to a polling station using email, SMS/text, applications, or through a session at a polling station website. 2. Voters send UVML-queries to request voting results and to examine sample ballots. 3. Polling stations tally votes and publish the results in response to UVML queries. 4. Voters write UVML-ballots on a proxy, such as a blog or micro- blog. If the voter has registered the proxy with a polling station, the polling station counts the votes in the ballots. Phillips Expires January 7, 2012 [Page 5] Internet-Draft Universal Voting Markup Language (UVML) July 2011 5. Voters write UVML votes on physical media, such as a personal journal, billboard, clothing, etc., as a form of expression, and not necessarily for aggregation. 4. UVML Technical Specification The UVML specification is shown below in ABNF notation. Additional details are provided in succeeding subsections. ABNF rules referenced below but not defined in this specification are either ABNF core rules or otherwise in the public domain. At the top-level, UVML consists of two primitives: ballot and query. The symbol _T_ is used below to represent standard prose in any language. ABNF Rule Definition uvml = ballot / query ballot = [T] 1*(vote [T]) [signature] [T] vote = SLASH ( opinion / choice ) query = Q [timeframe] [sample] SLASH votes ;; ;; VOTE ;; opinion = topic [ undecided ] value topic = specific / universal specific = name name = *9(subgroup-name PERIOD) target-name universal = SLASH undecided = QUESTION value = quality / importance / outlook value =/ support-opposition / likelihood ;; choice = contest selections contest = name selections = *HWS SLASH first [*HWS SLASH second] [*HWS SLASH third] [*HWS SLASH fourth] [*HWS SLASH fifth] [*HWS SLASH sixth] [*HWS SLASH seventh] [*HWS SLASH eighth] [*HWS SLASH ninth] [*HWS SLASH tenth] first = selection second = selection third = selection Phillips Expires January 7, 2012 [Page 6] Internet-Draft Universal Voting Markup Language (UVML) July 2011 fourth = selection fifth = selection sixth = selection seventh = selection eighth = selection ninth = selection tenth = selection selection = opinion ;; ;; SIGNATURE ;; signature = 3SLASH profile 3SLASH ;; profile = [ birth-year *SEP] gender [ location] birth-year = 4DIGIT gender = iso-5218-gender location = *SEP [ country *SEP] region-code country = iso-3166-country ;; state, areacode, or postal-code region-code = 2*9LETTERDIGIT ;; ;; VOTE QUERY ;; votes = (opinions / choices) timeframe = count granularity sample = HASH count count = 1*2DIGIT granularity = YEAR / QUARTER / MONTH / WEEK / DAY ;; opinions = opinion [voters] voters = population population = 3SLASH [age-range *SEP] [ gender *SEP] [location] 3SLASH age-range = 1*3DIGIT SEP 1*3DIGIT ;; choices = contest [range] [voters] range = HASH [ first-rank HYPHEN] last-rank first-rank = count last-rank = count ;; ;; SHARED ;; ;; ;; names ;; target-name = valid-name subgroup-name = valid-name Phillips Expires January 7, 2012 [Page 7] Internet-Draft Universal Voting Markup Language (UVML) July 2011 valid-name = NAME-EDGE *60NAME-INNER NAME-EDGE NAME-EDGE = LETTERDIGIT / UPPER-ASCII / UNICODE NAME-INNER = NAME-EDGE / WSP / AMPERSAND / APOSTROPHE NAME-INNER =/ HYPHEN / UNDERSCORE ;; ;; values ;; quality = none-better / very-good / good / fair quality =/ poor / very-poor / none-worse importance = life-and-death / very-important / important importance =/ unimportant / irrelevant outlook = never-more-optimistic / very-optimistic / optimistic outlook =/ pessimistic / very-pessimistic / never-more-pessimistic support-opposition = strongly-support / support / somewhat-support support-opposition =/ somewhat-oppose / oppose / strongly-oppose likelihood = almost-certain / very-likely / likely likelihood =/ unlikely / very-unlikely / unimaginable ;; ;; ~~ quality ;; none-better = 5*10STAR very-good = 4STAR good = 3STAR fair = 2STAR poor = 1STAR very-poor = STAR MINUS none-worse = STAR 2*9MINUS ;; ;; ~~ importance ;; life-and-death = 3*10BANG very-important = 2BANG important = BANG unimportant = BANG MINUS irrelevant = BANG 2*9MINUS ;; ;; ~~ outlook values ;; never-more-optimistic = 3*10CURRENCY very-optimistic = 2CURRENCY optimistic = CURRENCY pessimistic = CURRENCY MINUS very-pessimistic = CURRENCY 2MINUS never-more-pessimistic = CURRENCY 3*9MINUS CURRENCY = DOLLAR / EURO / POUND / YUAN-YEN Phillips Expires January 7, 2012 [Page 8] Internet-Draft Universal Voting Markup Language (UVML) July 2011 ;; ;; ~~ support-opposition ;; strongly-support = 3*10PLUS support = 2PLUS somewhat-support = PLUS somewhat-oppose = MINUS oppose = 2MINUS strongly-oppose = 3*10MINUS ;; ;; ~~ likelihood ;; almost-certain = 3*10PERCENT very-likely = 2PERCENT likely = PERCENT unlikely = PERCENT MINUS very-unlikely = PERCENT 2MINUS unimaginable = PERCENT 3*9MINUS ;; ;; ISO codes iso-5218-gender = MALE / FEMALE iso-3166-country = 2LETTER iso-3166-state = 1*3LETTERDIGIT MALE = M FEMALE = F ;; ;; opinion symbols ;; QUESTION = %x3F STAR = %x2A PLUS = %x2B MINUS = %x2D BANG = %x21 PERCENT = %x25 DOLLAR = %x24 EURO = %x80 POUND = %xA3 YUAN-YEN = %xA5 ;; ;; granularity ;; YEAR = Y QUARTER = Q MONTH = M WEEK = W DAY = D ;; Phillips Expires January 7, 2012 [Page 9] Internet-Draft Universal Voting Markup Language (UVML) July 2011 ;; symbol sets ;; Q = "Q" / "q" P = "P" / "p" M = "M" / "m" F = "F" / "f" Y = "Y" / "y" W = "W" / "w" D = "D" / "d" LETTERDIGIT = LETTER / DIGIT LETTER = "A" / "B" / "C" / "D" / "E" / "F" / "G" / "H" / "I" / "J" LETTER =/ "K" / "L" / "M" / "N" / "O" / "P" / "Q" / "R" / "S" / "T" LETTER =/ "U" / "V" / "W" / "X" / "Y" / "Z" LETTER =/ "a" / "b" / "c" / "d" / "e" / "f" / "g" / "h" / "i" / "j" LETTER =/ "k" / "l" / "m" / "n" / "o" / "p" / "q" / "r" / "s" / "t" LETTER =/ "u" / "v" / "w" / "x" / "y" / "z" UPPER-ASCII = %xC0-FF UNICODE = %x100-10FFFF SEP = HWS / HYPHEN ;; ;; symbols ;; EQUAL = %x3D AMPERSAND = %x26 APOSTROPHE = %x27 HYPHEN = %x2D HASH = %x23 UNDERSCORE = %x5F PERIOD = %x2E SLASH = %x2F Table 1: UVML Syntax Specification 4.1. Ballot A UVML ballot consists of one or more UVML votes and an optional UVML signature, and may co-exist with standard prose in any language. Ex. Lorem ipsum dolor sit /topic*** amet, consectetur adipiscing elit. Nulla sed blandit felis. /topic++ Ut lacinia nunc venenatis sapien /topic%-- adipiscing ultrices. Nulla dictum tempus /topic$$$ volutpat. ///1980 F NY/// Phillips Expires January 7, 2012 [Page 10] Internet-Draft Universal Voting Markup Language (UVML) July 2011 4.2. Opinion An opinion consists of a _topic_ and _value_. Optionally, a voter may indicate that he or she is undecided. 4.2.1. Topic A UVML topic is the object of the voter sentiment. There are two types of topics, _specific_ and _universal_. 4.2.1.1. Specific Specific topics include a target name, optionally prefixed by subgroup levels. The item being voted on is in the right-most position, and the subgroup levels qualify which named items are being referred to. Ex. /city.state.drivers**** 4.2.1.2. Universal By convention, an empty UVML topic represents the universe of all topics. Ex. //$$$ (very optimistic about everything) Ex. //***** (everything is the best it has ever been) 4.2.2. Undecided A voter may indicate that he or she is undecided by placing a question-mark (_?_) before the opinion. The connotation is that the voter is not completely convinced of his or her opinion, but the recorded opinion is the voter's current inclination. Ex. /propXYZ?+ (unsure, but tending to support propXYZ) 4.2.3. Value UVML supports five of the most commonly used opinion values ([Phillips2011]): quality, importance, outlook, support, and likelihood. 4.2.3.1. Quality Quality: How good or bad someone thinks something is. UVML defines quality as the level of "virtue" or "positive effects Phillips Expires January 7, 2012 [Page 11] Internet-Draft Universal Voting Markup Language (UVML) July 2011 produced" or "positive connotation of". Quality Syntax ------------------------------------------------ ------ None Better ***** Very Good **** Good *** Fair ** Bad (or Poor) * Very Bad (or Very Poor) *- None Worse *-- Table 2: UVML Quality Syntax 4.2.3.2. Importance Importance: How significant or insignificant someone thinks something is compared to similar items. Importance Syntax ------------------------------------------------------- ------ Life and Death !!! Very Important !! Important ! Unimportant !- Irrelevant !-- Table 3: UVML Importance Syntax 4.2.3.3. Outlook Outlook: How expectant of good (optimistic) or bad (pessimistic) someone is about something. Outlook Syntax ------------------------------------------------------- ------ Never Been More Optimistic $$$ Very Optimistic $$ Optimistic $ Pessimistic $- Very Pessimistic $-- Never Been More Pessimistic $--- Table 4: UVML Outlook Syntax Phillips Expires January 7, 2012 [Page 12] Internet-Draft Universal Voting Markup Language (UVML) July 2011 4.2.3.4. Support Support: How strongly someone's thinking is aligned with a topic. Support Syntax ---------------------------------------------------------- ------ Strongly Agree or Strongly Support +++ Agree or Support ++ Agree, somewhat + Disagree, somewhat - Disagree or Oppose -- Strongly Disagree or Strongly Oppose --- Table 5: UVML Support Syntax 4.2.3.5. Likelihood Likelihood: How certain someone is that something is going to happen. Likelihood Syntax ---------------------------------------------------------- ------ Almost Certain (>99+%) %%% Very Likely (>90+%) %% Likely (>75%) % Unlikely (<25%) %- Very Unlikely (<10%) %-- Unimaginable (<1%) %--- Table 6: UVML Likelihood Syntax 4.2.3.6. Emphasis UVML provides a means of emphasis to give voters freedom to emphasize the strength of their opinion. This may be done by repeating the final symbol of the opinion. After all, three exclamation points are just not enough for some topics!!!!!! From a tabulation standpoint, these opinions do not carry more than the maximum consideration. Ex. /life********* (life has never been better) 4.3. Choice A choice consists of a _contest_, and one or more voter _selections_. A contest is a comparison amongst alternatives. The syntax for a contest is identical to that of a topic. Phillips Expires January 7, 2012 [Page 13] Internet-Draft Universal Voting Markup Language (UVML) July 2011 Each _selection_ takes the form of a separate UVML vote. The opinion types on the selections do not need to match. Voter selections are listed in order, beginning with the voter's first selection, optionally followed by second, then third, etc. Ex. /us.president /Smith***** /Jones++ /Johnson*** From a tabulation standpoint, each candidate receives a 1/CHOICE score for the ballot, where CHOICE represents that candidates ordinal position in the voters vote. A candidate will receive 1 point for a first-choice vote, 1/2 point for a second choice vote, 1/3 point for a third-choice vote, etc. Choice votes also imply secondary votes for each selection. The following votes would also be implied from the above example. Ex. /us.president.Smith***** Ex. /us.president.Jones++ Ex. /us.president.Johnson*** 4.4. Signature UVML enables voters to provide a demographic signature in their ballots. A UVML signature is bounded by triple slashes (///). A UVML demographic signature is composed of three parts: a birth year, a gender, and a location. Only gender is required. The location may be a country, country-state, country-postal-code, or country-areacode. The country is optional, but recommended in cases where the polling station may not reliably supply a correct default. Ex. ///F/// (male voter) Ex. ///M/// (male voter) Ex. ///1992F212/// (female voter from New York City born in 1992) Ex. ///M CN/// (male voter from China) Ex. ///1980F90210/// (female voter from Beverly Hills) Votes are tabulated at each level where the information is provided or can be derived. In the case of ///M212///, votes would be counted for the 212 areacode, the state of New York, and the country of the Unites States. Phillips Expires January 7, 2012 [Page 14] Internet-Draft Universal Voting Markup Language (UVML) July 2011 4.5. Vote-query A vote query enables the voter to obtain vote totals and sample ballots from a polling station. 4.5.1. Timeframe UVML votes may be queried by year, quarter, month, week, or day, always with respect to the current date, with year being the current Gregorian year, and weeks beginning on Monday. If a granularity is not specified, the default is year. If a number of periods is not specified, the default value is 1, or the current period. Ex. q/life* (return /life quality vote counts the current year) Ex. q3m/life* (return /life quality vote counts by month for the last 3 months) Ex. q5y/life* (return /life quality vote counts by year for the last 5 years) 4.5.2. Sample votes A query may request one or more sample ballots from those represented in the query totals. A hash (#) sign is used to indicate that a sample is being requested, and the number that follows indicates the number of sample votes to return, if available. Ex. q#5/life****** (return /life quality vote counts [flamecast and postcast] for the current year and also return 5 sample ballots of voters who voted /life*****) Ex. q3m#10/life*-- (return /life quality vote counts [flamecast] by month for the last 3 months and also return 10 sample ballots of voters who voted /life*--) 4.5.3. Voters The UVML query demographic filter includes an age-range, gender, and/or location parameters. Ex. q/life*///M/// (return /life quality vote counts [flamecast and postcast] the current year for male voters) Ex. q#5/life***///18-30FGB/// (return /life quality vote counts Phillips Expires January 7, 2012 [Page 15] Internet-Draft Universal Voting Markup Language (UVML) July 2011 [flamecast and postcast] for female voters from Great Britain between the ages of 18 and 30, and also return 5 sample ballots of voters who voted /life***) Ex. q3m#10/life*--///US-NM/// (return /life quality vote counts [flamecast] by month for the last 3 months by voters from New Mexico and also return 10 sample ballots of voters who voted /life*--) 4.5.4. Rank range Contest queries may specify the range of the rank to return. Ex. q/us.president#5 (return the /us.president top 5 voter choices for current year) Ex. q3m/us.president#6-10 (return the /us.president candidates 6-10 by month for the last 3 months) 5. UVML Implementation Standards The following standards promote consistency in voter experience across polling stations. 5.1. Dating Postcast Votes To discourage retroactive voting and because of the asynchronous nature of postcasting, votes obtained as postcasts are only to be included in the totals for the current year. Correspondingly, UVML queries that reference timeframes smaller than a year only include flamecast votes. 5.2. No Vote Roll-up For any UVML vote topic which includes a subgroup delimiter ("."), the polling station must not reduce a specific topic to a more general one. 5.3. Multiple Votes If multiple votes for the same topic and opinion type are included in a single ballot, then only the first vote should count. 5.4. Show All Opinion Values The format of a UVML query result is implementation defined; however, if there are any votes that match the query specification, all valid values for the chosen opinion type should be returned, even if the Phillips Expires January 7, 2012 [Page 16] Internet-Draft Universal Voting Markup Language (UVML) July 2011 vote counts for some values are zero. 5.5. UVML Video Ballots UVML in video is treated as UVML in text. Whether on one frame or all frames, multiple UVML votes for the same topic and opinion type are not counted more than once. 6. UVML Rhetorical Guide A UVML vote can take two rhetorical forms: confirmational and inline. In the _confirmational_ form, UVML restates, clarifies, or quantifies an opinion expressed elsewhere in the text. Ex. Came across this cool voting syntax called, UVML. /uvml*****. In the _inline_ form, UVML both embodies the full semantics of opinion and plays a grammatical role in the text. Ex. Check out /uvml*****. 7. UVML Functional Specification This section contains some more theoretical descriptions of the core motivations of the various components of UVML. Future changes to the UVML standard should be supported by these functional specifications. _Author's Note_: While an effort has been made to inform UVML's design goals with concepts from elections systems theory, the field is highly complex and the treatment of related topics in this document should only be considered superficial. The aim of UVML is to enable a high quality ubiquitous voting system capable of processing ballots authored in text, image, or video. The functional requirements for UVML are presented below. The framework for the below requirements benefits from [HospVora2010]. 7.1. Usability UVML must enable voters to express their opinions completely, clearly, and compactly, such that the voter can be confident that a vote cast using UVML accurately reflects his or her intentions. Phillips Expires January 7, 2012 [Page 17] Internet-Draft Universal Voting Markup Language (UVML) July 2011 7.1.1. Completeness UVML must enable voters to express their opinions using the principle elements of opinion semantics (Section 8.2) and rank-order preference semantics (Section 8.3). 7.1.2. Clarity UVML must enable voters to clearly communicate to readers the semantics of their opinions ( Completeness ) to both human and automated-agent readers. The syntax for UVML votes, signatures, and queries must be defined using an ABNF grammar. The syntax for UVML votes, signatures, and queries, should be defined so as to minimize conflicts with established modes of textual or visual communications. 7.1.3. Compactness UVML syntax must include only the minimum number of symbols required to meet semantic requirements. UVML must reconcile conflicts between compactness and clarity in favor of compactness. 7.1.4. Universality UVML syntax must be a universal syntax, requiring no or only minimal localization. 7.2. Privacy UVML must enable voters to sign their ballots with a demographic signature; however, "polling stations" must not require a signature for a ballot to be counted. 7.3. Integrity UVML implementers must provide a voting receipt for flamecasts to demonstrate to the voter that the system has recorded the ballot as cast, unless directed otherwise by the voter. 7.4. Verifiability UVML must enable voters to query votes and sample ballots: Phillips Expires January 7, 2012 [Page 18] Internet-Draft Universal Voting Markup Language (UVML) July 2011 o aggregating and trending by year, quarter, month, week, or day o filtering by age, gender, country, state, area-code, or postal- code 7.5. Veracity UVML syntax must be easy enough to process such that polling stations can render tabulated returns in near-real-time, so that voters can be assured that their votes and the votes of others are being reported as they are counted. 7.6. Robustness UVML must enable a voter to vote again if a previous vote was cast incorrectly or the voter's opinion changes. 7.7. Intelligence UVML must enable a closed-loop voting system, where voters can query the full content of the ballots of other voters and re-vote as they learn more about the things that are important to themselves and other voters. 8. Notes This section includes remarks which didn't seem to fit anywhere else. 8.1. Accidental Vote Rates Some work was done to limit "accidental voting." Accidental votes are votes which are valid UVML, but for which the author did not intend to vote using UVML---his or her text just happened to be valid UVML. I examined an email corpus and two blog corpora ([Spinn3r2009]) totaling 60M documents. The accidental vote rate for meaningful targets was 1 in 100,000. That is, about 1 in 100,000 documents contains something which looks like a UVML vote, but which cannot be because the content itself predates UVML. UVML's current syntax seems to strike a balance between compactness, differentiation from conventional text, and expressiveness. Phillips Expires January 7, 2012 [Page 19] Internet-Draft Universal Voting Markup Language (UVML) July 2011 8.2. Opinion Semantics UVML leverages the definition of opinion semantics provided by FrameNet [1]: "topic", an "aspect", a "constancy" value, a "manner." Topic UVML must enable voters to define their own topics, using taxonomy if desired. Aspect UVML must enable voters to express the most common opinion types : quality, support (or agreement), importance, outlook, and likelihood. Constancy UVML must enable voters to make "provisional" votes, in cases where the voter is undecided. Manner UVML must enable voters to emphasize the strength of their opinions beyond the limits of a conventional Likert-type scale. 8.3. Election-Contest Semantics For Election-Contest semantics, UVML uses the definition of rank- order semantics provided by FrameNet [1]. Specifically, "the {perceived} state of occupying a certain {place} within a hierarchy." 8.4. Right to Left Language Support Some testing with right-to-left languages has both surprised and frustrated this author. I am anticipating a (tiny) expansion of syntax to make directionality more clear, but the design is not clear. ****uvml\ is one possibility, where the \ is the concession. 9. Acknowledgements This document was constructed using the xml2rfc project. 10. IANA Considerations This memo includes no request to IANA. 11. Security Considerations UVML does not pose a security threat. 12. References Phillips Expires January 7, 2012 [Page 20] Internet-Draft Universal Voting Markup Language (UVML) July 2011 12.1. Normative References [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 12.2. Informative References [HospVora2010] Department of Computer Science, George Washington University, "An information-theoretic model of voting systems", October 2008. [Phillips2011] (unpublished), "Multi-language Analysis of Sentiment Types in Blogs", May 2011. [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax Specifications: ABNF", STD 68, RFC 5234, January 2008. [Spinn3r2009] Proceedings of the Third Annual Conference on Weblogs and Social Media (ICWSM 2009, "The icwsm 2009 spinn3r dataset", May 2009. URIs [1] Appendix A. Additional Stuff This becomes an Appendix. Author's Address Erin Mikel Phillips Flamecast, LLC. Des Moines, IA US Phone: +1-515-943-3853 Email: ep1@uvml.org Phillips Expires January 7, 2012 [Page 21]