Designing a Voting Advice System

These are the initial ideas for I had for the implementation of a voting advice system. I have since come to believe that filtered Twitter feeds make the best vehicle for giving and receiving advice, but there is much in this article that is worth referring to — especially with regard to what makes it an effective way for an organization (political or otherwise) to reach people.

Originally published 2004

Many thanks to Eugene Kim for his thoughtful review of an early draft of this paper. Thanks also to Chris Yeh for giving me an opportunity to speak on the topic.


The Money Out of Politics series explains why we must remove corporate money from the political process. That action is required if we are ever to enjoy a democracy that acts on behalf of its citizens, rather than one that serves the profit motive to the exclusion of all other considerations.

In a 4 June 2006 interview with George Stephanopoulis, Al Gore said much the same thing on the subject of global warming:

“We must change our political system in order to allow for the kinds of change that need to occur.”

Global warming is arguably the single most imminent threat to mankind’s future. But the problem was preventable. Government’s failure to perceive and act on that threat stands as a severe indictment of the American political system. We do not have the best democracy in the world. We have one that has brought us perilously close to ending the world as we know it — and one that may yet do so.

But global warming is just one of many symptoms. The real problem, the underlying problem, is the fact that corporations, intoxicated by short term profits, have rendered governments incapable of exercising the kind of long-term thinking we need. In short, governments are most successful when they embody knowledge, but the corporate intrusion into politics has made “knowledge” a virtually inoperative part of government.

Responsible corporate leaders welcome such oversight, because it places everyone on an equal footing. Without it, responsible corporations operate at a competitive disadvantage.

The conclusion is simple: We must make money irrelevant to the political process. We have exhausted ourselves blaming each other. But the real culprit behind most of our current dilemmas is the intrusion of corporate money into politics. And the only effective way to make money irrelevant is to go outside the existing political system — to organize ourselves in ways that create powerful political coalitions, without requiring a lot of money to do so.

The Internet gives us that capability.

We can create Voting Advice Networks — coalitions engineered in cyberspace that help people vote effectively. The resulting system is policy-neutral. It can be employed by religious groups as well as environmental groups, by Republicans as well as Democrats. But it’s effect will be dramatic, because it puts people in charge of government. As a result, people will get the government they want, rather than the government that corporations dictate.

This paper describes the Advisory System that allows such networks to form.

For a longer explanation of the issues, read Taking the Money Out of Politics. That work summarizes the conclusions reached in The Politics of Health — an early draft of a book that uses general systems theory to analyze the interplay of American health systems, financial systems, political systems, and corporate legal systems.

The Nature of an Advisory System

An advisory system consists of:

  • users, who get recommendations from a collection of advisors
  • an aggregator, which collects the advice in one place
  • publishing program, which may or may not be part of the aggregator
  • one or more choice providers, who publish the choices that users get advice on

Advisory systems already exist in the real world, of course. Examples abound:

  • Book publishers offer new selections, while reviewers offer advice on which items to read.
  • Music publishers and reviewers do the same.
  • As do movie producers and reviewers.
  • The stock market offers selections of stocks, while financial advisors offer advice on whether to buy, sell, or hold a given stock.
  • The auto industry brings out new models of their cars, while a variety of organizations test-drive them and give them ratings.
  • The video industry brings out new DVDs weekly.

These real-world systems connect choice providers, advisors, and users into a single system. At the moment, however, the connections are fairly ad hoc. For example, you can find Roger Ebert’s review of a particular movie if you go look for it, but nowhere will you find all reviews of a particular movie.

Using Internet technology, we can do that, and more. The system is built on a publish/subscribe model in which:

  • choice providers publish a catalog of choices
  • advisors publish one or more recommendations in an advisory
  • users subscribe to choice providers to get the catalog
  • users subscribe to advisors to get their recommendations
  • the aggregator collects the information and puts it at the user’s fingertips

Note, too, that an advisory system isn’t restricted to large, industry-wide selections Local bookstores and video rental stores could publish the choices they are currently stocking. A gardening store could publish the kinds of seeds and plants it currently has on hand. A local farming organization could even publish the kinds of fruits and vegetables that are currently in season.

At the moment, however most advisory system have no concept of networking — the establishment of consist channels of communication that relate users to one another and to advisors they trust. Instead, communications tend to be ad hoc. A movie reviewer publishes a review in a newspaper or online, for example, where it reaches the subset of the population that happens across it.

But we can do better that. RSS feeds with structured XML content allow us to create stable, persistent communication channels between advisors and users. Since any user can give advice as well as receive it, it also creates connections between users. Making those connections produces advice networks — interlocking threads of information transmission in which advice (informed knowledge) distributes itself through society at a high rate of speed.

Using an Advice Aggregator

The whimsical example below suggests a possible user interface for an advice aggregator:

The toolbar buttons, from left to right, include back and forward browsing, refresh/reload, stop, send email, print, set display size, make a selection, undo the selection, search, and help. The search button would be used to find advisors on a particular subject. (There are a variety of ways to do that.) Choices on the Action menu then let the user choose to Subscribe, Unsubscribe, and (possibly) Publish Recommendations.


In this model, the folders on the left show collections of choices (selections). This part of the aggregator is populated by the selection provider. The choices you see depend on the address you registered with the selection provider, as shown in the title bar. Clicking the +/- icons for individual items in the tree expands or collapses them. Clicking the +/- icons in the header expands or collapses the entire tree.

Your voting choices are also governed by your address. The folders with red text show races in which you have yet to make a selection. The example shown is the Governor’s race. Clicking on that folder shows you the choices you can make, along with the advisors who recommend that choice. (Like movies, the choices could also be listed in the tree. Selecting one of those choices would then show you the Recommend By column, without the Choices column.)

Under the selections for City, a Mayoral candidate has been chosen. That choice is reflected in green, and the folder of choices has been replaced with a check-marked document, indicating that a choice has been made. If you visiting that choice, you’ll still see the alternative candidates in the content frame, in case you change your mind. But the candidate you selected will have been sorted to the top position, so you can easily see whose recommendations you used when making your choice.

Fully-Trusted and Provisionally-Trusted Advisors

When an advisor is designated as Fully Trusted, their advice is automatically forwarded to anyone who trusts you for advice, along with the link they give. Within that “trust network”, any advice that is given propagates at the speed of light. (Well, electrons actually. But it’s almost the same thing.)

When an advisor is Provisionally Trusted, their advice is forwarded only when you approve it. In general, you will review the reasons for their advice, and forward it if it makes sense, and if the case is made succinctly.

If you don’t happen to agree with their advice, you would then elect not to forward it (and indeed, choose whether or not continue trusting their advice — especially if it is in conflict with others you trust).

On the other hand, if you agree with their advice but think you can make the case more strongly, you may choose to create your own recommendation, giving that advisor’s link and links from any other advisors as references.

Ratings and Relative Rankings

This section was in the original paper, and is retained for historical interest. But leaving it out simplifies the system without impairing its utility.

The Ratings and Rankings part of the aggregator is populated by advice providers (aka advisors, or rating services), each of which provides a rating for one of more of the potential choices. The choices are ordered by their relative ranking, which is derived from the ratings (explained below). Collapsing the tree structure gives you the list choices. Expanding the view for a given candidate lets you see the ratings that led to that ranking. (But when you make a choice, your choice automatically sorts to the top of the list, regardless of where they fall in the rankings.)

In this case, the top candidate has good ratings from a couple of advisors, and a so-so ranking from another. The ratings are cumulative, so good ratings from several advisors count for more than a good rating rating from only one. Here, Tweedier’s mom is someone you generally trust for advice, but her opinion is outweighed by the combined ratings of the other advisors so Tweedier sorts lower in the rankings. (Ties are theoretically possible. They could be indicated by connecting the “+” symbols with a vertical line.)

Rating symbols indicate an advisor’s rating, from a set of possibilities. For example, here is possible collection of rating symbols that covers the set {terrible, bad, ok, good, great}:

Note that the symbols used by the interface will be a matter of choice, but the rating choices will be baked into the data structures, using the schema so that rankings from different advisors will be comparable.

Once aggregated, the ratings turn into a set of relative rankings for the candidates, where the ratings are generally positive (up arrow), generally negative (down arrow), or neutral (side arrows), and where the degree of shading shows the relative strength of the ratings. With two candidates, only two kinds of shading are needed: solid and empty. But with multiple candidates, there could be more subtle degrees of shading.

Reasons and Rationale (Published Advisory)

When you select one of the advisors, the aggregator visits the page in which the advisor gives the reasons for their recommendation, displaying it in the bottom portion of the content frame. That capacity is useful when your hand-picked advisors are coming down on different sides of the same issue.

The “Net Effect” of Aggregation

The big advantage for the user is convenience. The aggregator:

  • Collects all recommendations for a given choice in one place
  • Collects recommendations for all possible choices in a given category
  • Collects them for all categories of interest.
  • Lets you restrict the categories and choices to things you care about
  • Let’s you restrict the list of advisors to those you want to hear from (i.e. those you trust)

For something like movies, of course, “trust” isn’t such a big issue. But when it comes to voting advice, it’s important. One person may want to hear any advice offered by the Progressive Party for Social Reform, while another would want advice from the Unified Coalition of Religious Zealots. But a user who wants advice from one organization probably doesn’t want advice from the other, unless it’s to vote against their recommendation.

For advisors, the benefit is convenience and low cost. A published recommendation automatically goes to every subscribed user. There is no need to advertise, in hopes of reaching people. No money is wasted on advertising that goes to people who aren’t interested. Advertising will still be desirable to increase listenership, but it will not be necessary to reach people with recommendations.

Advertising Reach

For society, the benefit derives from the advice networks that are created by aggregation. As information travels through those networks, the electorate begins to make virtually effortless, but highly informed decisions. For example, here is a pictorial representation of the situation today, where advertising dominates the equation:

The competing candidates are shown as the “house” icons in the lower left and lower right corners. Individuals are shown as small dots. For the sake of argument, assume they are independents that need to be persuaded to win an election. The color of the dot shows which way they are likely to lean but, unless reached, they may not be persuaded to vote.

The advertising outreach is shown as an arc. The size of the arc depends on the amount of money spent, which determines how many people the candidate can reach and convince. The candidate who spends more clearly has a better chance of winning.

Of course, much of the money is spent reaching people who just aren’t buying the story, so that money is wasted. There are also some influential organizations (shown as larger dots) who do some outreach of their own. Some money is wasted in the process because of overlap, while other money is wasted because it’s reaching the wrong people.

Here, in contrast, is the picture that results when one of the organizations takes advantage of an advisory network. In this case, the money spent on advertising is negligible, but the outreach is 100%. Every independent voter who is willing to listen is connected to the network (an ideal, but realistically achievable scenario). As a result, the message reaches them all.

Network Reach

The resulting “network effect” works as a positive antidote to the problem of money in politics. When only one organization takes advantage of the network effect, it has a clear advantage. When both of them do, money becomes effectively irrelevant to the political process.

A couple of the nodes have grown slightly larger in this diagram. Those are individuals who have people depending on them for recommendations. Those circles represent people whose influence has grown has a result of their reputation for insightful analysis. (That is a significant development, because it means that thoughtful people begin to acquire a bigger voice.)

The diagram doesn’t show that a individual may well hear from more than one organization or advisor. That kind of overlapping coverage will generally be the case, but of course no money is wasted in the process. But showing a more a realistic “lattice” network would complicate the diagram, detracting from the major point: That coverage is complete, without any money spent on advertising.

Publishing Models

A similar interface can be used for publishers, only rather than listing choices that pertain to a specific address, an advisor will be able to make recommendations on any of the possible choices. The differences in the data structures are shown in the next section.

Note: Under movies, local cinemas could be listed. Clicking on one could take you to Fandango to buy a ticket. Similarly for DVDs: Clicking one could reserve a rental or let you make an online purchase, depending on who provides the list of choices. Similar functions exist at sites like Rotten Tomatoes, but instead of having to look for cinemas in your local area, they would already be listed for you.

One interesting publishing model to consider allows for collaboration and feedback. For example, an organization like Greenpeace (or the NRA) may well investigate and make recommendations on national issues and congressional races. They may even have something to say about state offices. But it’s unlikely that they could afford to investigate and make recommendations on every local and regional election in the country. Even if they could figure out who to recommend, the cost of advertising would be prohibitive.

But suppose that members of Greenpeace could choose to send their voting choices to the organization. Some sort of username/password protection would be required to restrict that capability to bona fide members, but in return for the added complexity, participating organizations get an additional benefit: influence at the local, grass roots level.

With a two-way relationship established, you (the voter) would be able to send your choices back to the organization as recommendations. The organization would then aggregate those numbers and rebroadcast the resulting selections to the community at large.

Such a system has many significant benefits. In effect, an organization would be continually polling its members without spending any significant amount of time or money to do so. Membership would carry the additional benefit of helping to determine electoral outcomes. The organizations would be empowering individual citizens by helping them to connect to each other. And the organization would gain the capacity to influence local, grass roots elections — which could make a huge difference, in the long run.

Data Structures

Other than the interface, the only technically interesting part of an advisory system is the data structures. Everything else is ASMOP (As Simple Matter Of Programming.) This section outlines the data structures and shows how they work together.

RSS feeds (Real Simple Syndication) are XML structures that are used to transmit web logs. They look something like this:

<rss version="2.0">
<title>...Title of the RSS Feed...</title>
<link>...Home page providing the feed...</link>
...information about the feed provider...
<language>...Language the feed is in...</language>
<copyright>...Copyright notice...</copyright>
<managingEditor>...Email address...</managingEditor>
<webMaster>...Email address...</webMaster>
...graphic or alternate text...
  <title>...Article Title...</title>
  <link>...URL of the full article...</link>
  ...Article summary...

A file like that is posted to a web site with a name like rss.xml. When a new article is ready, the XML file is updated and posted to the web. The standard feed typically contains the last 10 articles published at the site, while an archive feed will contain a list of all articles, or possibly all of the articles published in a given year (or month, in some cases).

The rss.xml file simply sits there, waiting for an aggregator to access it. That’s how weblogs work. When you subscribe to a weblog, you’re actually telling your aggregator to access that file once an hour or so, and let you know when anything changes.

The same delivery mechanism can be used for advisories. Only instead of pointing to HTML pages in the links shown above, the RSS feed to link to additional XML structures that list an advisor’s recommendations. Alternatively, the RSS structure could be extended to incorporate the XML data directly. (According to Eugene Kim, XML microformats could be useful to nail down that part of the design.)

The XML structure that encodes the universe of possible choices contains <category> , <ballot>, and <choice> elements. It looks something like this (closing XML tags are left off to make the outline more easily visible):

  <category type="national">
    <ballot name="president">
      <choice party="democrat">...candidate names...
      <choice party="republican">...candidate names...
    <category type="state" name="AL">
      <category type="county" name="Middlesex">
        <category type="city" name="Metropolis">
        <category type="municipality" name="Gotham">
    <category type="state" name="AR">

When the user connects to a choice provider and provides an address, the list of choices reduces to a set the defines the user’s domain of choices. So a given user might receive a choice list that looks like this:

  <category type="national">
    <ballot name="president">
      <choice party="democrat">...candidate names...
      <choice party="republican">...candidate names...
      <category type="state" name="AL">
      <category type="county" name="Middlesex">
        <category type="city" name="Metropolis">

In that list, the list of choices has been narrowed to those that the user is eligible to vote on, by virtue of their residence address.

When an advisor (recommendation provider) publishes an advisory, it will consist of a subset of the full XML structure containing as many or as few choices as they recommend:

<advisory from="A Favorite Organization">
    <category type="national">
      <ballot name="president">
        <choice party="...">...candidate names...
        <link>...URL of explanation...
      <category type="state" name="CA">

In this case, the advisor’s recommendations don’t overlap with the user’s choices, except at the national level. There, the advisor has published the choice they recommendation contains an extra element that links to the explanation page.

The aggregator matches the data structures to produce the results the user sees. The result of the merge will looks something like this:

  <category type="national">
    <ballot name="president">
      <choice party="democrat">...candidate names...
        <recommendedBy>A Favorite Organization
        <link>...URL of explanation...
    <choice party="republican">...candidate names...
    <category type="state" name="AL">

In that structure, the <recommendedBy> and <link> elements have been extracted from the advisory feed and merged into the user’s data structure.

One data structure that isn’t shown is the identity structure. That structure also needs to be determined, but at a minimum it will include the information that web sites use to identify unique visitors — a concatenation of system type, OS, and other information provided by the browser. On the publishing side of the equation, that information will be used to tell an advisor how many subscribers they have. Additionally:

  • The statistics can and should be gathered by the search service, to provide popularity rankings for advisors who meet other search criteria.
  • An optional authentication mechanism is needed when a subscriber registers with a publisher that sells their advice (as, for example, financial analysts).

Open Questions

The interface and data structures described above are highly preliminary. Of the two, the data structures are arguably the more important — once those standards are defined, multiple aggregator interfaces can be developed, each vying for the attention of prospective users. (Competing alternatives is a good thing, because as each provider attempts to capture mind share, the cumulative effect is to raise the public’s consciousness of the paradigm.)

Turning our attention to the data structures, several questions immediately suggest themselves:

  • Is it possible to define data structures that will merge more easily? Or perhaps it is possible to define them in such a way that a merge is not needed at all. (In the above example, the need to translate an advisor’s <choice> element into a user’s <recommendedBy> element suggests that the structures are non-optimal. In an optimal structure, no such translation would be needed.
  • Is there some way to allow for multiple recommendations in a single race? In a three-way race, for example, an organization might choose to recommend both candidates B & C, but not A. (They may be unwise to do so since, in the absence of Instant Runoff Voting, a vote that splits evenly between B & C could well give the election to A. Nevertheless, they should probably have that option — especially in those races where Instant Runoff is in effect.)
  • Are the <ballot> elements needed? An alternative implementation might encode the ballot information as an attribute of a <choice> element. Would that encoding be easier to read or easier to work with?
  • In general, attributes can be something of a pain to work with. Perhaps the whole structure should be encoded using elements only? What does the resulting structure look like, and how easy is it to work with.
  • When an election is over, there should be some way to indicate the winners. For one thing, that would make it easy to find out who your representatives are during the year, so you can send an email address. The trick is make incumbents easily visible in a way that doesn’t confuse them with election-time choices.


There are some open questions to be resolved, but the construction of an automated advisory system is far short of rocket science. It can be done using RSS feeds, fairly simple XML structures, and a rather basic graphical interface (GUI). The result will be unparalleled convenience for the user, as recommendations from all trusted sources are gathered together in one place, and are available right when they’re needed.

When you print the results from a voting advice system, for example, you get a checklist of candidates and ballot measures to vote on. Since it costs virtually nothing to publish recommendations, advisors and advisory groups are highly likely to begin making recommendations for candidates way down at the level of city dog-catcher. The effect could be to begin political careers that might otherwise never have taken off — careers which may lead to much bigger and better things in 10 or 20 years’ time.

The major development tasks at this point are:

  • Nail down the data structures
  • Develop a reference implementation for the GUI program
  • Develop a variant of the user’s GUI for use by advisors
  • Do the hard work of creating the full XML data structure for every race in the country
    • Start with national elections, then work down to state and local levels
    • See about accessing the database compiled by the League of Women Voters,
      which currently compiles the required information
  • Create a server application that delivers an individual voter’s subset, based on their address.
    (This goal could also be achieved by accessing the web site hosted by the League of Women Voters and “scraping” the web page they return. But it would be easier — and nicer — to access their database directly.)

There is a lot of hard work to done, of course, but a very small amount of hard thinking. After defining the basic data structures, most of the problem boils down to execution. The bottom line is this:

Corporations are committed to growth — beyond the boundaries of ecological sustainability. And they are committed to short-term goals. They have to meet their quarterly targets, or they perish. But society needs long term vision. We need to think like the Sioux, planning for the effects on the seventh generation. We cannot achieve that goal until we get the money out of politics. For that, we need voting advice networks.

We can use RSS subscriptions over the Internet to enable voting advice networks. Such networks will be convenient for voters, and they will greatly improve the effectiveness of watchdog organizations, at virtually no cost. As advice propagates through the network, the rapid transmission of information, with zero loss, means that a voters always get all of the information they want — and only the information they want. The resulting “network effect” will empower independent voters, make money irrelevant to elections, end the dominance of special interests, put an end to “sound bite” politics, and enable multi-party politics in cyberspace. It also has the capacity to enable effective corporate governance, which has been lacking for the last 50 years or so.The Design of an Advisory System

Copyright © 2004-2017, TreeLight PenWorks

Please share!

1 Comment

    Trackbacks & Pingbacks

    1. America Needs a Political Overhaul | June 3, 2017 (5:34 pm)

      […] We have the technology to implement such a system today. It’s described in greater detail in Designing a Voting Advice System. In a word, we can make it easy and convenient for a voter to make an informed, intelligent, […]

    Add your thoughts...

    This site uses Akismet to reduce spam. Learn how your comment data is processed.