Internet DRAFT - draft-phillips-uvml

draft-phillips-uvml






Internet Engineering Task Force                         Erin M. Phillips
Internet-Draft                                               Oofoo, LLC.
Intended status: Informational                             July 15, 2013
Expires: January 16, 2014


              The Universal Voting Markup Language (UVML)
                         draft-phillips-uvml-04

Abstract

   This document describes the Universal Voting Markup Language (UVML),
   a syntax for the structured representation of opinion in free text.
   Using UVML, opinions can be encoded in text, image, or video, and
   reliably interpreted by either human readers or automated-agents.
   UVML supports both rating and ranking semantics.  Ratings may be
   scored using symbols associated with the five most commonly used
   opinion dimensions: quality(*), importance(!), outlook($), support-
   opposition(+), and likelihood(%).  In addition, UVML defines a syntax
   for optionally including a demographic signature by which voters can
   publish basic demographic information with their UVML votes.  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 16, 2014.

Copyright Notice

   Copyright (c) 2013 IETF Trust and the persons identified as the
   document authors.  All rights reserved.




Phillips                Expires January 16, 2014                [Page 1]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   This document is subject to BCP 78 and the IETF Trust's Legal
   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 . . . . . . . . . . . . . . . . .  5
     4.1.  Ballot . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     4.2.  Vote . . . . . . . . . . . . . . . . . . . . . . . . . . .  9
     4.3.  Rating . . . . . . . . . . . . . . . . . . . . . . . . . . 10
       4.3.1.  Target . . . . . . . . . . . . . . . . . . . . . . . . 10
       4.3.2.  Score  . . . . . . . . . . . . . . . . . . . . . . . . 10
       4.3.3.  Undecided  . . . . . . . . . . . . . . . . . . . . . . 10
       4.3.4.  Valuation  . . . . . . . . . . . . . . . . . . . . . . 11
         4.3.4.1.  Quality  . . . . . . . . . . . . . . . . . . . . . 11
         4.3.4.2.  Importance . . . . . . . . . . . . . . . . . . . . 11
         4.3.4.3.  Outlook  . . . . . . . . . . . . . . . . . . . . . 11
         4.3.4.4.  Support-Opposition . . . . . . . . . . . . . . . . 12
         4.3.4.5.  Likelihood . . . . . . . . . . . . . . . . . . . . 12
         4.3.4.6.  Emphasis . . . . . . . . . . . . . . . . . . . . . 12
     4.4.  Ranking  . . . . . . . . . . . . . . . . . . . . . . . . . 13
     4.5.  Signature  . . . . . . . . . . . . . . . . . . . . . . . . 13
   5.  UVML Implementation Standards  . . . . . . . . . . . . . . . . 14
     5.1.  No Vote Roll-up  . . . . . . . . . . . . . . . . . . . . . 14
     5.2.  Multiple Votes . . . . . . . . . . . . . . . . . . . . . . 14
     5.3.  Signature Location . . . . . . . . . . . . . . . . . . . . 14
     5.4.  Multiple Signatures  . . . . . . . . . . . . . . . . . . . 14
     5.5.  Forwarded Ballots  . . . . . . . . . . . . . . . . . . . . 14
     5.6.  UVML Video Ballots . . . . . . . . . . . . . . . . . . . . 14
   6.  UVML Rhetorical Guide  . . . . . . . . . . . . . . . . . . . . 15
   7.  UVML Functional Specification  . . . . . . . . . . . . . . . . 15
     7.1.  Usability  . . . . . . . . . . . . . . . . . . . . . . . . 15
       7.1.1.  Completeness . . . . . . . . . . . . . . . . . . . . . 15
       7.1.2.  Clarity  . . . . . . . . . . . . . . . . . . . . . . . 15
       7.1.3.  Compactness  . . . . . . . . . . . . . . . . . . . . . 16
       7.1.4.  Universality . . . . . . . . . . . . . . . . . . . . . 16
     7.2.  Privacy  . . . . . . . . . . . . . . . . . . . . . . . . . 16
     7.3.  Integrity  . . . . . . . . . . . . . . . . . . . . . . . . 16
     7.4.  Verifiability  . . . . . . . . . . . . . . . . . . . . . . 16
     7.5.  Veracity . . . . . . . . . . . . . . . . . . . . . . . . . 16
     7.6.  Robustness . . . . . . . . . . . . . . . . . . . . . . . . 16



Phillips                Expires January 16, 2014                [Page 2]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


     7.7.  Intelligence . . . . . . . . . . . . . . . . . . . . . . . 17
   8.  Notes  . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
     8.1.  Accidental Vote Rates  . . . . . . . . . . . . . . . . . . 17
     8.2.  Opinion Semantics  . . . . . . . . . . . . . . . . . . . . 18
     8.3.  Election-Contest Semantics . . . . . . . . . . . . . . . . 18
     8.4.  Right to Left Language Support . . . . . . . . . . . . . . 18
   9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 18
   10. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 18
   11. Security Considerations  . . . . . . . . . . . . . . . . . . . 19
   12. References . . . . . . . . . . . . . . . . . . . . . . . . . . 19
     12.1. Normative References . . . . . . . . . . . . . . . . . . . 19
     12.2. Informative References . . . . . . . . . . . . . . . . . . 19
   Appendix A.  UVML Regular Expressions  . . . . . . . . . . . . . . 19
   Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 20





































Phillips                Expires January 16, 2014                [Page 3]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


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 something (text, image, video, or
   physical object) which includes one or more UVML votes.

   The term "polling station" refers to a service that processes UVML
   ballots and responds to UVML queries.

   The terms "target" and "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.





Phillips                Expires January 16, 2014                [Page 4]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


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 votes ------>-(1)->   / \
     -|-                                         |   |
      |   <--(2)--<--- voting results --< (2)-<   \ /
     / \                                           |
    VOTER >------\                              ---|---
      |      UVML(3)          O                    |
     (4)     votes \------>  -|- >---(3)------>    |
      |                       |                    |
     _v_                     / \                  / \
    |  \| UVML votes        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.  Polling stations tally votes and publish the results in response
       to implementation defined queries.

   3.  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.

   4.  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



Phillips                Expires January 16, 2014                [Page 5]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   ABNF core rules or otherwise in the public domain.

   Any document which contains UVML is a ballot.  Ballots may contain
   free text, one or more votes, and optionally a demographic signature.

   ABNF Rule              Definition
   ballot                 = [text] 1*(vote [text]) [signature] [text]
   vote                   = rating / ranking
   rating                 = HASH target score
   ranking                = 2HASH contest selections
   signature              = 3HASH profile
   ;
   ;; rating
   target                 = name / this
   score                  = [undecided] valuation
   name                   = tag *( PERIOD tag )
   this                   = T H I S
   ;
   ;; ranking
   contest                = name
   selections             = 1*25selection
   selection              = *HWS [rank] HASH name [[undecided]
                          valuation]
   rank                   = DIGIT / "1" DIGIT / "2" ZEROTOFIVE
   ;
   ;; score
   undecided              = QUESTION
   valuation              = quality / importance / outlook
   valuation              =/ support-opposition / likelihood
   ;
   ;; signature
   profile                = [age [HYPHEN]] gender [jurisdiction]
   age                    = 1*3DIGIT
   gender                 = iso-5218-gender
   jurisdiction           = [country] [region] [area-code]
   country                = [HYPHEN] iso-3166-country
   region                 = [HYPHEN] iso-3166-subdivision
   area-code              = [HYPHEN] 3*4DIGIT
   ;
   ;; name
   tag                    = name-begin *70name-inner name-end
   name-begin             = LETTER / UPPER-ASCII / UNICODE
   name-inner             = name-begin / DIGIT
   name-end               = name-inner
   ;
   ;; valuation
   quality                = among-the-very-best / very-good
   quality                =/ good / fair / poor



Phillips                Expires January 16, 2014                [Page 6]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   quality                =/ very-poor / among-the-very-worst
   ;
   importance             = highest-importance / very-important
   importance             =/ important / unimportant / irrelevant
   ;
   outlook                = never-more-optimistic / very-optimistic
   outlook                =/ optimistic / pessimistic
   outlook                =/ very-pessimistic / never-more-pessimistic
   ;
   support-opposition     = strongly-support / support
   support-opposition     =/ somewhat-support / somewhat-oppose
   support-opposition     =/ oppose / strongly-oppose
   ;
   likelihood             = definitely / very-likely / likely
   likelihood             =/ unlikely / very-unlikely / definitely-not
   ;
   ;; ~~ quality ~~
   among-the-very-best    = 5*10STAR
   very-good              = 4STAR
   good                   = 3STAR
   fair                   = 2STAR
   poor                   = 1STAR
   very-poor              = STAR MINUS
   among-the-very-worst   = STAR 2*9MINUS
   ;
   ;; ~~ importance ~~
   highest-importance     = 3*10BANG
   very-important         = 2BANG
   important              = BANG
   unimportant            = BANG MINUS
   irrelevant             = BANG 2*9MINUS
   ;
   ;; ~~ outlook ~~
   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
   ;
   ;; ~~ support ~~
   strongly-support       = 3*10PLUS
   support                = 2PLUS
   somewhat-support       = PLUS
   somewhat-oppose        = MINUS
   oppose                 = 2MINUS
   strongly-oppose        = 3*10MINUS



Phillips                Expires January 16, 2014                [Page 7]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   ;
   ;; ~~ likelihood ~~
   definitely             = 3*10PERCENT
   very-likely            = 2PERCENT
   likely                 = PERCENT
   unlikely               = PERCENT MINUS
   very-unlikely          = PERCENT 2MINUS
   definitely-not         = PERCENT 3*9MINUS
   ;
   ;; ISO code sets
   iso-5218-gender        = male / female
   iso-3166-country       = 2LETTER
   iso-3166-subdivision   = 1*2DIGIT / 2*3LETTER
   male                   = M
   female                 = F
   ;
   ;; symbols
   BANG                   = %x21
   HASH                   = %x23
   DOLLAR                 = %x24
   PERCENT                = %x25
   AMPERSAND              = %x26
   APOSTROPHE             = %x27
   STAR                   = %x2A
   PLUS                   = %x2B
   MINUS                  = %x2D
   HYPHEN                 = %x2D
   PERIOD                 = %x2E
   SLASH                  = %x2F
   QUESTION               = %x3F
   UNDERSCORE             = %x5F
   EURO                   = %x80
   POUND                  = %xA3
   YUAN-YEN               = %xA5
   M                      = "M" / "m"
   F                      = "F" / "f"
   T                      = "T" / "t"
   H                      = "H" / "h"
   I                      = "I" / "i"
   S                      = "S" / "s"
   ;
   ;; symbol groups
   LETTERDIGIT            = LETTER / DIGIT
   LETTER                 = "A" / "B" / "C" / "D" / "E" / "F" / "G"
   LETTER                 =/ "H" / "I" / "J" / "K" / "L" / "M" / "N"
   LETTER                 =/ "O" / "P" / "Q" / "R" / "S" / "T" / "U"
   LETTER                 =/ "V" / "W" / "X" / "Y" / "Z"
   LETTER                 =/ "a" / "b" / "c" / "d" / "e" / "f" / "g"



Phillips                Expires January 16, 2014                [Page 8]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   LETTER                 =/ "h" / "i" / "j" / "k" / "l" / "m" / "n"
   LETTER                 =/ "o" / "p" / "q" / "r" / "s" / "t" / "u"
   LETTER                 =/ "v" / "w" / "x" / "y" / "z"
   ONETONINE              = "1" / "2" / "3" / "4" / "5" / "6" / "7" /
                          "8" / "9"
   ZEROTOFIVE             = "0" / "1" / "2" / "3" / "4" / "5"
   UPPER-ASCII            = %xC0-FF
   UNICODE                = PLANE0
   PLANE0                 = %x0100-D7FF / %xE000-FDCF
   PLANE0                 =/ %xFDF0-FFFD
   ;; NOTE: java/scala
   lack support for
   PLANE1-2
   ;; PLANE1              = %x10000-1FFFD
   ;; PLANE2              = %x20000-2FFFD

                    Table 1: UVML Syntax Specification

4.1.  Ballot

   A UVML ballot consists of one or more UVML votes (rating or ranking)
   and optionally including a UVML voter demographic signature.  Ballots
   can coexist with standard prose in any language.

   A UVML rating vote begins with a hash (#), followed immediately by a
   target and score.

   A UVML ranking vote begins with a double-hash (##), followed
   immediately by a contest list of selections in order preference:
   #first #second ... etc., up to 25 selections.  Selections may be a
   simple hash tag, or a UVML rating vote (#first+++).

   A UVML demographic signature begins with a triple-hash (###),
   followed by age, gender, and location (ideally, voting jurisdiction)
   of the voter.

   Ex.  Lorem ipsum dolor sit #topic*** amet, consectetur adipiscing
   elit.  Nulla sed blandit felis. #topic++ Ut lacinia nunc ##contest1
   #candidateA #candidateB #candidateC venenatis sapien #topic%--
   adipiscing ##contest2 #candidateD+++ #candidateE+ ultrices.  Nulla
   dictum tempus #topic$$$ volutpat. ###35F-USNY

4.2.  Vote

   UVML supports two types of votes: rating, and ranking.  Rating votes
   represent a voters valuation of a specific target.  Ranking votes
   represent a voters preferences among a number of options.




Phillips                Expires January 16, 2014                [Page 9]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   Ex (Opinion). #fluger**** ;; fluger quality is 'very good'

   Ex (Choice). ##president.us #Smith #Jones #Johnson ;; voter
   preferences for president of the United States are Smith, then Jones,
   then Johnson.

   Ex (Choice).  Choice votes may also include Opinion votes, as in:
   ##president.us #Smith+++ #Jones+ #Johnson+ ;; preferences for
   president of the United States are Smith (strongly support), then
   Jones (somewhat support), then Johnson (somewhat support).

4.3.  Rating

   An UVML rating vote consists of a hash (#) followed immediately by a
   target and score.  Optionally, a voter may qualify a rating as
   provisional, or, subject to change, by indicating that he or she is
   undecided.

4.3.1.  Target

   A UVML target is the object of the voter sentiment, optionally
   suffixed by a taxonomy of subgroups from largest to smallest
   separated by a period (.).  UVML also makes provision for a local
   reference, using the special target '#this'.

   Ex. #target***

   Ex. #drivers.subgroup.subsubgroup*****

   Ex. #this!!! ;; a comment on the importance of whatever the comment
   is attached to

4.3.2.  Score

   The score on a UVML rating vote consists of an optional undecided
   indicator followed by a valuation.

4.3.3.  Undecided

   A voter may indicate that he or she is undecided by placing a
   question-mark (?) before the valuation.  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

   Ex. #target?$ ;; unsure, but tending to be optimistic




Phillips                Expires January 16, 2014               [Page 10]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


4.3.4.  Valuation

   UVML supports five of the most commonly used opinion valuation
   dimensions ([Phillips2011]): _quality_, _importance_, _outlook_,
   _support-opposition_, and _likelihood_.

4.3.4.1.  Quality

   Quality: How good or bad someone thinks something is.

   UVML defines quality as the level of "virtue" or "positive effects
   produced" or "positive connotation of".

          Quality                                          Syntax
          ------------------------------------------------ ------
          Among the Very Best                              *****
          Very Good                                        ****
          Good                                             ***
          Fair                                             **
          Bad (or Poor)                                    *
          Very Bad (or Very Poor)                          *-
          Among the Very Worst                             *--

                       Table 2: UVML Quality Syntax

4.3.4.2.  Importance

   Importance: How significant or insignificant someone thinks something
   is compared to other items to be considered.

      Importance                                              Syntax
      ------------------------------------------------------- ------
      Highest Importance                                      !!!
      Very Important                                          !!
      Important                                               !
      Unimportant                                             !-
      Irrelevant                                              !--

                      Table 3: UVML Importance Syntax

4.3.4.3.  Outlook

   Outlook: How expectant of good (optimistic) or bad (pessimistic)
   someone is about something.







Phillips                Expires January 16, 2014               [Page 11]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


      Outlook                                                 Syntax
      ------------------------------------------------------- ------
      Never More Optimistic                                   $$$
      Very Optimistic                                         $$
      Optimistic                                              $
      Pessimistic                                             $-
      Very Pessimistic                                        $--
      Never More Pessimistic                                  $---

                       Table 4: UVML Outlook Syntax

4.3.4.4.  Support-Opposition

   Support-Opposition: 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.3.4.5.  Likelihood

   Likelihood: How certain someone is that something is going to happen.

     Likelihood                                                 Syntax
     ---------------------------------------------------------- ------
     Definitely (100%)                                          %%%
     Very Likely (>90+%)                                        %%
     Likely (>75%)                                              %
     Unlikely (<25%)                                            %-
     Very Unlikely (<10%)                                       %--
     Definitely Not (0%)                                        %---

                      Table 6: UVML Likelihood Syntax

4.3.4.6.  Emphasis

   UVML provides a means of emphasis to give voters freedom to emphasize
   the strength of their opinion, may be done by repeating the final
   symbol of the opinion.  After all, three exclamation points are just
   not enough for some #topics!!!!!!



Phillips                Expires January 16, 2014               [Page 12]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   From a tabulation standpoint, these opinions do not carry more than
   the maximum consideration.

   Ex. #life********* ;; life has never been better

   Ex. #life$$$$$$ ;; never been more optimistic

4.4.  Ranking

   A ranking consists of a contest, and one or more selections.

   A UVML contest vote is a indicated by a double-hash (##), followed by
   the contest name.  Each selection takes the form of a hash tag,
   optionally followed by a valuation.  Voter selections are listed in
   order, beginning with the voter's first selection, optionally
   followed by second, then third, etc., up to 25 selections.

   Ex. ##president.us #Smith #Jones #Johnson

   Ex. ##president.us #Smith+++ #Jones++ #Johnson

   From a contest tabulation standpoint---both of the above examples are
   tabulated the same.  Each candidate receives a 1/CHOICE score for the
   ballot, where CHOICE represents that candidates ordinal position, in
   this case Smith +1.0, Jones +0.5, and Johnson +0.33.

   The second example shows that UVML rating votes can be used as UVML
   contest selections.  In such cases, the rating votes as tabulated as
   well, in this case Smith (strongly support) and Jones (support).

4.5.  Signature

   UVML enables voters to provide a demographic signature, to help
   polling stations do voter segmentation.  A UVML signature is prefixed
   by triple-hashes (###).  The voter signature may appear before,
   after, or between votes within a ballot.

   A UVML demographic signature is composed of three parts: age, gender,
   and location.  Only gender is required.  The location may be a
   country, country-state, or country-areacode.  The country is
   optional, but recommended in cases where the polling station may not
   reliably supply a correct default.

   Ex. ###F ;; female voter

   Ex. ###M ;; male voter

   Ex. ###29F212 ;; 29 year old female voter from New York City



Phillips                Expires January 16, 2014               [Page 13]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   Ex. ###M-CN ;; male voter from China

   Ex. ###75F-USCA ;; 75 year old female voter from California

   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 area code, the state of New York, and the country of the
   Unites States.


5.  UVML Implementation Standards

   The following standards promote consistency in voter experience
   across polling stations.

5.1.  No Vote Roll-up

   For any UVML topic, contest, or selection which includes a subgroup
   delimiter (.), the polling station must roll up a specific topic to a
   more general one.  For example, #drivers.ny**** must not imply
   #drivers****.

5.2.  Multiple Votes

   If multiple votes for the same topic and valuation type are included
   in a single ballot, then a polling station must count the first vote
   only.

5.3.  Signature Location

   Signatures may appear anywhere within a ballot, though the ABNF
   grammar for a ballot indicates that a signature follows after all
   votes.

5.4.  Multiple Signatures

   If multiple demographic signatures are present in a single ballot,
   then a polling station must reference the first signature only.

5.5.  Forwarded Ballots

   Ballots which are obviously forwarded should not be counted.

5.6.  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.



Phillips                Expires January 16, 2014               [Page 14]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


6.  UVML Rhetorical Guide

   A UVML vote can take two rhetorical forms: confirming and inline.

   In the confirming 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.

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.



Phillips                Expires January 16, 2014               [Page 15]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   The syntax for UVML votes and signatures must be defined using an
   ABNF grammar.

   The syntax for UVML votes and signatures 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 must provide inference-free voting tabulation, such that the
   vote cast is the vote recorded.

7.4.  Verifiability

   UVML must enable voters to query voting results and sample ballots.

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.







Phillips                Expires January 16, 2014               [Page 16]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


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 in the design of UVML 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.

   This author examined a blog corpus ([Spinn3r2009]) totaling 62M
   social media documents in .  The accidental vote rate for unique
   targets was 33:1,000,000.  The rate of accidental voting for
   meaningful targets is much lower, perhaps 3-5:1,000,000.  Below are
   some examples of the false positives.  Unicode characters in the
   below examples will appear as &#00000; in the ascii format of this
   specification.

   Ex(s). #BWE08!, #ta!!!!!, #arriba-, #cbaaab+, ##BR#Showing, #top-,
   #user-, #Movies336-, #Caution!, #&#36335;&#20917;&#24066;&#21306;20%,
   #DSNYUK23789BNew!!, #er!, #YUWB7JLUQI%, #Ap+, #cutid1!, #leella!,
   ##BR#Great, #&#65087;&#65284;*, #FNT*, #&#1059;&#1074;&#1086;&#
   1083;&#1100;&#1090;&#1077;!, #g4+, #&#65509;......--*, #FF6021!,
   #trendanalysis-, #&#36755;&#20986;heapdump*, #KSCS25FVSS-, #&#1091;&#
   1081;!, #EL+, #tch!!!, #fwe%, #seoad-, #outros240-, #GOBAMA!, #NR%,
   #&#1076;&#1072;&#1085;&#1091;&#1090;&#1099;&#1093;!, #osleoperd-,
   #&#32780;&#23545;&#20110;c++, #DANUNO-, ##BR#Only, #vouvotar!, ##BR#
   Jacquelyn.

   The language distribution of these accidental votes was more or less
   consistent with each language's representation in the corpus.
   Portuguese was a little higher than expected for some reason, and
   Chinese/Japanese/Korean accidental voting rates were a little lower
   than expected: U -> 382, my -> 1, de -> 89, fr -> 182, pl -> 6, hr ->
   9, uk -> 7, ta -> 4, hi -> 2, io -> 11, ka -> 3, ru -> 178, ko -> 3,
   th -> 6, cjk -> 489, ar -> 18, no -> 9, nl -> 17, et -> 7, pt -> 317,
   ro -> 4, hu -> 1, ja -> 122, vi -> 8, da -> 3, sv -> 19, he -> 21, fa
   -> 4, it -> 20, zh -> 31, es -> 123, en -> 3006.




Phillips                Expires January 16, 2014               [Page 17]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   UVML's current syntax seems to strike a useful balance between
   compactness, differentiation from conventional text, and
   expressiveness power.

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

   At this time, the specification of UVML does not include a hash-right
   convention for right-to-left languages.  To date, social media
   content of users of right-to-left languages have not worked to
   implement such a convention.  If this changes, the UVML specification
   may follow.


9.  Acknowledgements

   This document was constructed using the xml2rfc project.


10.  IANA Considerations

   This memo includes no request to IANA.






Phillips                Expires January 16, 2014               [Page 18]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


11.  Security Considerations

   UVML does not pose a security threat.


12.  References

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, available at http://uvml.org), "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]  <http://framenet.icsi.berkeley.edu>


Appendix A.  UVML Regular Expressions

   The following basic regular expressions (from scala) express the
   above ABNF specification.

   Basic regular expression for the capture of UVML rating votes.

   (?:\x23(?:[A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd][0-9A-Za-
   z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd]{0,70}[0-9A-Za-z\xc0-
   \ud7ff\ue000-\ufdcf\ufdf0-\ufffd](?:\x2e[A-Za-z\xc0-\ud7ff\ue000-
   \ufdcf\ufdf0-\ufffd][0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-
   \ufffd]{0,70}[0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd])*|



Phillips                Expires January 16, 2014               [Page 19]

Internet-Draft   Universal Voting Markup Language (UVML)       July 2013


   [Tt][Hh][Ii][Ss])\x3f?(?:\x2a{5,10}|\x2a{4}|\x2a{3}|\x2a{2}|\x2a|
   \x2a\x2d|\x2a\x2d{2,9}|!{3,10}|!{2}|!|!\x2d|!\x2d{2,9}|
   [\x24\x80\xa3\xa5]{3,10}|[\x24\x80\xa3\xa5]{2}|[\x24\x80\xa3\xa5]|
   [\x24\x80\xa3\xa5]\x2d|[\x24\x80\xa3\xa5]\x2d{2}|
   [\x24\x80\xa3\xa5]\x2d{3,9}|\x2b{3,10}|\x2b{2}|[\x2b\x2d]|\x2d{2}|
   \x2d{3,10}|%{3,10}|%{2}|%|%\x2d|%\x2d{2}|%\x2d{3,9}))(?=\Z|[.;:\s])

   Basic regular expression for the capture of UVML ranking votes.

   (?:\x23{2}[A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd][0-9A-Za-
   z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd]{0,70}[0-9A-Za-z\xc0-
   \ud7ff\ue000-\ufdcf\ufdf0-\ufffd](?:\x2e[A-Za-z\xc0-\ud7ff\ue000-
   \ufdcf\ufdf0-\ufffd][0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-
   \ufffd]{0,70}[0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-
   \ufffd])*(?:[\t\x20]*(?:\d|1\d|
   2[0-5])?\x23[A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd][0-9A-Za-
   z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-\ufffd]{0,70}[0-9A-Za-z\xc0-
   \ud7ff\ue000-\ufdcf\ufdf0-\ufffd](?:\x2e[A-Za-z\xc0-\ud7ff\ue000-
   \ufdcf\ufdf0-\ufffd][0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-
   \ufffd]{0,70}[0-9A-Za-z\xc0-\ud7ff\ue000-\ufdcf\ufdf0-
   \ufffd])*(?:\x3f?(?:\x2a{5,10}|\x2a{4}|\x2a{3}|\x2a{2}|\x2a|\x2a\x2d|
   \x2a\x2d{2,9}|!{3,10}|!{2}|!|!\x2d|!\x2d{2,9}|
   [\x24\x80\xa3\xa5]{3,10}|[\x24\x80\xa3\xa5]{2}|[\x24\x80\xa3\xa5]|
   [\x24\x80\xa3\xa5]\x2d|[\x24\x80\xa3\xa5]\x2d{2}|
   [\x24\x80\xa3\xa5]\x2d{3,9}|\x2b{3,10}|\x2b{2}|[\x2b\x2d]|\x2d{2}|
   \x2d{3,10}|%{3,10}|%{2}|%|%\x2d|%\x2d{2}|%
   \x2d{3,9}))?){1,25})(?=\Z|[.;:\s])

   Basic regular expression for the capture of UVML signatures.

   (?:\x23{3}(?:\d{1,3}\x2d?)?[FMfm](?:(?:\x2d?[A-Za-
   z]{2})?(?:\x2d?(?:\d{1,2}|[A-Za-
   z]{2,3}))?(?:\x2d?\d{3,4})?)?)(?=\Z|[.;:\s])


Author's Address

   Erin Mikel Phillips
   Oofoo, LLC.
   Des Moines, IA
   US

   Phone: +1-515-943-3853
   Email: ep1@uvml.org







Phillips                Expires January 16, 2014               [Page 20]