Difference engine

Michael Allan mike at zelea.com
Fri Nov 13 20:54:06 EST 2009


The sketch is now finished and I'm posting it around for comments.
It's still an open project if anyone wants to lead it.

  Full text: http://t.zelea.com/wiki/User:Mike-ZeleaCom/p/de

The difference engine is a text comparison facility that is
specialized for e-democracy.  Functionally, the purpose of the
difference engine is (a) to reveal particular differences among the
positions of voters and candidates, and (b) to dispense precise,
stable reference URLs for embedding in discussions.  Discussions are
rational in a democracy only insofar as they are focused on
differences of position.  By formalizing the focus through embedded
links, the difference engine thereby contributes to the more general
function of *democratic social integration*.

Structurally, the purpose of the difference engine is (c) to bind
together the separate facilities of voting, drafting, and discussion,
and (d) to interconnect the various projects and technical domains in
which they are developed.  Together these interconnections enable a
rationalized architecture in which functionally specialized components
are brought into coordination.  The broader structural purpose is
therefore one of *e-democratic system integration*.

                            (you need a fixed width font, to see this)


             +---------------+         +-------------+
             | Voting        |         | Drafting    |
             | Engines  1..* |         | Media  1..* |
             +---------------+         +-------------+
                   |  |                       |
                   |  | ^ getCandidate        | ^ getText
                   |  | |   (poll, voter)     | |   (positionURL, rev)
                   |  |                       |
     getEligible | |  | ^ getVoters           |
       Voters    v |  | |   (poll, candidate) |
                   |  |                       |
                   |  | ^ getPostionURL       |
                   |  | |   (poll, candidate) |
                   |  |                       |
                   |  |   ##############      |
 +-------------+   |  |   #            #      |
 | Voter       |---+  +---# Difference #------+
 | Register  1 |          # Engine     #
 +-------------+          #          1 #
                          ##############
                              |
                              | ^ listVoterDifferences
                              | |   (poll, candidate)
                  «Web links» |
                              | ^ showDifference
                              | |  (poll, candidate1, rev1,
                              |     candidate2, rev2, frag)
                              |
                         +--------------+
                         | Discussion   |
                         | Media   1..* |
                         +--------------+


The difference engine is compatible, in principle, with any discussion
medium that allows for embedded Web links; any drafting medium that
exposes public URLs for its documents; and any voting engine that can
export a simple API for looking up candidates, voters, and position
URLs.

-- 
Michael Allan

Toronto, 647-436-4521
Skype michael_c_allan
http://zelea.com/



More information about the Votorola mailing list