What is DeanSpace?

(As originally submitted for Extreme Democracy, editted by Jon Lebkowsky and Mitch Ratcliffe, and subsequently updated minimally to reflect developments of CivicSpace)

In the summer of 2003, Dean supporters with an interest in information technology started meeting online and talking about how they could use their skills to help the Dean campaign. Inspired by community-focused sites like Slashdot, IndyMedia, Kuro5hin, and Scoop, they looked for tools they could build or customize that could be used to help promote the Dean candidacy.

They wanted to create a toolkit for people without strong technical skills to use to set up powerful, interoperable websites for of information sharing and community building.

Meeting together through mailing lists, IRC chats, and experimenting with different forums, wikis, and content management systems, they decided that it would be best to build with an open source content management system as a foundation, one that would allow them to deploy distributed sites easily. These sites would be able to share and aggregate content. The sites would be built on software that could easily be extended. To the extent possible, they would use open standards for interconnectivity.

Underlying software
After experimenting with several products, the group decided to use Drupal, an open source content management system written in PHP, a widely-used server-side scripting language. Drupal works with several different databases and can run either on Apache or Microsoft IIS servers. While there were some test sites set up using IIS with Microsoft’s SQL Server, ultimately almost all of the sites were built using Apache with MySQL.

Another key goal of the project was to synchronize with its Drupal foundation and avoid forking off from the main Drupal development. When the project first started, Drupal was at release 4.1. Over the following months, release 4.2 and release 4.3 of Drupal came out. In most cases, the extensions to Drupal for DeanSpace were upwardly compatible, but in some cases, extensions required minor code revisions.

How the components fit the goals
Drupal has many modes for creating entries. One such mode creates weblog entries. Weblogs list entries in reverse chronological order on a single page. They often allow other users to write and post comments about any entry. Called “blogs” for short, weblogs are a popular, relatively simple way to publish news or personal journals.

Drupal also allows multiple users to edit the same entries, similar to wikis. Another important aspect of wikis is the ability to use a simpler formatting language than HTML. Drupal has a Wiki module that can be used to facilitate such quick formatting. However, this module did not work as well as hoped and did not interoperate well with HTML formatting.

Drupal also supports forums, however in this context Drupal’s forums didn’t add enough beyond the normal blogging capabilities to be all that useful. On the other hand, Drupal’s ability to both publish and subscribe to RSS feeds has proven to be very useful in supporing information-sharing by DeanSpace sites.

Community building
Community-building was a key DeanSpace goal. There were already some tools for this purpose deployed by the Dean campaign or volunteers, beginning with the first Dean blog, hosted on Blogspot, (http://dean2004.blogspot.com), which came to be known as the unofficial blog. As the campaign progressed, an official blog was set up using a content management system for weblogs called MovableType. Content posted to both the official and the unofficial blog was syndicated via RSS, therefore easily accessible to users with news aggregators. Hundreds of Yahoo Groups with mailing lists were also been created, and these, if set up properly could also provide RSS feeds. Many local groups also set up their own websites.

SIDEBAR: RSS stands for either Rich Site Summary or Really Simple Syndication, depending who you talk to. It’s a standard machine-readable XML format for encoding text according to the relatively simple weblog format, where content items are posted in reverse chronological order. There can be multiple content items for any given date, and each item can have a title. RSS identifies these components of a weblog item with xml tags. RSS items are published as “feeds” that can be interpreted by software packages called “aggregators.” The software allows a user to aggregate RSS feeds from many sites and read them with a single interface. News aggregators provide increasingly popular functionality for tracking and reading weblogs. RSS is also a way to share specific news items with many sites; DeanSpace leveraged this capability.

The campaign was exposed like no other campaign before. Users posted many comments on the blogs, especially the official blog. In fact, it was common for the official blog to receive thousands of comments a day, and there was nothing to prevent those who would disrupt discussions, commonly referred to as trolls, from adding their distracting comments.

Among other tools, Yahoo Groups were particularly popular and effective, however, many people expressed concern about reliance on a commercial service. Yahoo Groups were effective as platforms for mailing lists, but other tools within the Yahoo Groups tool set, such as syndication and databases, were little used.

Local sites supporting Dean were often set up as static pages, and were useful in getting out general information but difficult to update.

Easy to roll out state and constituency group sites.
Perhaps the greatest challenge was to come up with an easy way to set up a site. The DeanSpace team wanted to make the process simple enough for someone’s grandmother to create a site. The first issue in building a site is coming up with a name and registering the relevant domain, fairly straightforward for experienced technical users but potentially difficult and confusing for non-techies, including grandmothers. To help resolve the problem, the DeanSpace team registered the domain “fordean.net” so that anyone could easily set up a subdomain, e.g. “http://california.fordean.net/.” Over a 100 sites were set up this way. This also saved people the expense of registering their own domains.

The next issue was who would host what sites. Many options were considered. What sites could be hosted by the official campaign? What Federal Election laws would apply in such a case? Could a special company be set up? Could people pool money together for this? Would there be requirements about setting up a PAC or a 527, and how would these requirements affect the ability of DeanSpace sites to interact with the Dean campaign?

The Dean campaign, which had been cautious about election law issues, would host only officially sponsored state sites. Forming a PAC or 527 could prohibit communications between the campaign and website volunteers, so that idea was discarded. Ultimately DeanSpace referred volunteer site administrators to hosting services that had worked well with initial sites.

The hosting services selected were limited to those who could support PHP and provide easy access to MySQL. This ruled out quite a few hosting services, and others were ruled out for poor performance or support.

SIDEBAR: PHP is a popular general-purpose server-side scripting language often used by software developers to create applications and systems for the web. Open source software such as the Drupal content management system, which is the core of DeanSpace, is often developed for the “LAMP” platform, i.e. Linux (operating system), Apache (web server), MySQL (database system), and PHP or Perl (scripting languages). Because DeanSpace was built with PHP and designed to work with MySQL, support for both was required.

Drupal allows multiple sites to use the same set of application files on a server by creating a configuration file that specifies different databases for the different sites. One person set up a hosting account that allowed a high volume of throughput, multiple database and multiple domains. Using this account, he was able to host many DeanSpace websites in the fordean.net domain quickly easily and without any additional expense

Easy to get non-computer people adding content.
One of the great advantages of a DeanSpace site is that users with no knowledge of html can easily add pages,. so that state communication directors, for instance, can immediately add content up as soon as a site, as opposed to waiting for some web developer to take the content add it to the website.

However, as it becomes easier to add content, it becomes more difficult and important to determine the best way to organize that content. Drupal has many different forms that contributions can take, so there were many discussions about which forms would be the best.

As noted earlier, forum entries never gained popularity. Unless there is a fairly large population of contributors, forums can fragment the community so that it never achieves critical mass.. If all the contributors to the official blog moved over to a single Drupal space, there would have most likely been enough contributors in each forum to reach critical mass, have enough posts to keep people involved, and maintain a sense of community. However, DeanSpace itself was designed to be a collection of smaller communities, and breaking these smaller communities into even smaller units wouldn’t have been beneficial. Forums would also have required support by hosts or moderators.

The most popular form of content has arguably been the blog entry. Dean Supporters were already comfortable with blogs from their experiences with the official and unofficial Dean blogs, and many Dean supporters were regular blog readers and publishers. The blog format allows users to find easily all the posts by a single poster. Each entry often has a link to all the other entries by the same contributor In the more informal sites, this has been used to give people a sense of who the different contributors are. However, for the official state sites, the emphasis was less on individual contributors in favor of the campaign as a whole. Because of this, the Official State sites used stories instead of Blog entries.

Stories are similar to blog entries, but they’re moderated by default and lack a link to other entries by the author. However, most sites haven’t used moderation, except occasionally for items picked up from other sites via RSS syndication. Users of a site would rank these items, and the most highly ranked items would appear on the front page.

Another type of content is what Drupal calls a ‘static page’. The only notable difference between Static Pages and other entries in Drupal is that Static Pages can be written in PHP. Since they change programmatically, static pages are actually more dynamic than other entries and facilitate having fixed links on the front page.

Events, another form of content, are similar to blog entries and Static pages but have a time associated with them and are used for promoting upcoming events.

Use of Taxonomy.
Once the team determined content types, there was the larger issue of taxonomy – how the content is categorized and organized – to consider.. Anyone could easily add new content, but where should that content go? For some sites, the default is to put everything on the front page, which works only if there is a small amount of content. However more content grows requires more, and better, organization.

Within the taxonomy, a user can set up different vocabularies,. each of which includes a different set of terms. The most common use of the taxonomy is to set up a ‘category’ vocabulary as we see in other blogging software such as Movable Type. There is also a ‘location’ vocabulary. Entries can be in any combination of terms from different vocabularies. For example, an item might be in the category ‘fundraising’ and the location ‘Stamford’.

The ability to aggregate.
One of the most exciting aspects of DeanSpace is its ability to aggregate news, blog entries and other items from various sources online, especially where DeanSpace sites share content. This would form a network of DeanSpace sites. For example, an entry on a city site could percolate up to a state site, an entry on a state site could be propagated out to different city sites, and constituency sites could easily be tied to sites based on location. So far this kind of sharing has not evolved, but the evolution of such a network will take time,

During the Dean campaign, headquarters in Burlington published RSS feeds. DeanSpace sites could subscribe to events scheduled with the ‘Get Local’ tool which at the DeanForAmerica website. Also available via RSS feed from the official site were icons for DeanSpace site administrators to use.

Dean volunteers created around 2,000 Yahoo groups. Since RSS is part of the Yahoo Groups toolkit, Some DeanSpace sites aggregated relevant Yahoo Groups news feeds, and newsfeeds from weblogs of interest to the audience for the specific DeanSpace site.

The ability to develop additional tools
Beyond the simple community building using tools such as blogs and RSS feeds which are core components of Drupal and DeanSpace, Drupal also provides a strong platform for developing and deploying new tools. Issues of screen layout, data access and user authentication are already handled by the core technology, allowing developers to focus on building specific tools or modules. DeanSpace is focuses on campaign-specific contact management tools.

At the simplest level, Drupal can be configured with portable user ids. That is, a user registered at one DeanSpace site can log into any site in the network. For basic authentication this has proven useful. However, this authentication doesn’t provide additional information, such as email address, or full name, and as such is limited in its functionality.

One important part of a campaign is enabling volunteers to find one another. Through FOAF, the Friend Of A Friend protocol, information about supporters from the official campaign site can be retrieved from within DeanSpace. Additional work is being done with FOAF to use it to link other Drupal based sites, and potentially other non-Drupal sites as well.

Beyond this, DeanSpace needed tools for contacting volunteers , including better email handling within Drupal, the ability to send emails to people based on grouping according to criteria such as their user roles in DeanSpace, or (for volunteers not registered with DeanSpace) data entered via a webpage or uploaded from other sources, such as Meetup participant spreadsheets.

DeanSpace developers also built tools to facilitate writing and sending letters to newspaper editors, and technology to support Get Out the Vote activities, including tools to enter voter information gathered through phone banks and door to door canvassing, and by volunteers talking with their friends, family, and neighbors. Such tools have been around for a while, but through DeanSpace tools were adapted for use anywhere over the internet, not just at campaign offices. There were also tools for virtual phone banking, and loading new voters from vCards in a viral marketing approach.

Once voters are identified, it is also necessary to get them to the polls, so developers created. rideboard software with which voters could request rides, and volunteers could offer rides.

Beyond DeanSpace – CivicSpace
DeanSpace grew out of the campaign to elect Howard Dean President. However, the software could be used to support any campaign. Developers continued fixing bugs and enhancing the system after Dean dropped out of the 2004 presidential race, and the DeanSpace Team raised funds to continue development of CivicSpace.

Many of the DeanSpace volunteers have expressed interest in using this software for other campaigns., especially local races; gubernatorial races; congressional races; etc. Already a few such sites are up. The software may also be adapted for use in other countries like the United Kingdom, Austria, Canada and Hungary. CivicSpace is now being used for advocacy and philanthropic sites.

(Categories: )

nice summary of CivicSpace