technology

Roadmap for a Drupal-based progressive community blog platform

Last week I wrote a brief series on developing a Drupal-based progressive community blog platform. As a bit of background, Drupal is a leading open source content management system; at work, most of the websites I build use Drupal. In light of the vulnerabilities of the Soapblox platform, which hosts many local and some nationwide progressive blogs, it's become apparent that an open-source software packages, specifically tuned to the needs of progressive bloggers, would be a valuable asset.

The initial series last weekend got a fair amount of interest, but there was one theme that was fairly strong among the comments: Drupal is a great platform, but it's not user-friendly enough for most bloggers. There is, to be sure, some kernel of truth in that critique - Drupal is not that easy to use out-of-the-box. On the other hand, a savvy developer can turn Drupal into one of the most easy-to-use, powerful platforms for blogging around. If you have any doubts, I'd suggest you visit OnSugar and create a free account - the system is a hosted, Drupal-based blogging platform, and in my opinion it is at least as user-friendly as Wordpress, if not more so.

While I don't know if I'll ever be able to put together something as nice as OnSugar, I'd like to give it a shot. In the next few weeks, I hope to release a simple Drupal-based community blogging platform, which will include some (but not quite all) of the features many of us are already familiar with in most progressive community blogs. The platform will be released on drupal.org under the GNU General Public License, like all other Drupal contributions, so that others can download it and try it out. The hope is that this platform will improve over time, with the help of other progressive Drupal developers, progressive bloggers, readers, and anyone else who is interested. Below, I've outlined a prospective, best-case-scenario roadmap for this platform. I'd love to get feedback on this, so if you have critiques for the roadmap, if you'd like to help out - or if you're already working on a similar Drupal-based platform - please let me know!

Stage 1. Basic community platform

In this stage, we will develop a Drupal installation profile which contains the basic features needed for a progressive community blog. In particular, readers will be allowed to create new user accounts, and to comment and post their own blog posts using those accounts. Recent user blog posts will appear in a sidebar. Users will also be able to vote on one another's comments, and administrators will be allowed to front-page a diary or promote users to be front-pagers. One thing we might not include in this release is the ability to recommend diaries, and for recommended diaries to appear in their own sidebar block.

Stage 2. Platform enhancements

In this stage, we will make incremental improvements to the platform, in order to develop features which are similar to (or slightly better than) those of the basic Soapblox platform. These features will include recommended diaries (if they didn't make it into the first stage), user profiles and WYSIWYG editing. We will also include features that give administrators some options for tweaking the look-and-feel of their site, including specifying a color scheme, easily trying out new themes, and managing their sidebar blocks. At this stage, we may also consider adding functionality to allow bloggers to import their blog posts and comments from other platforms - like Blogspot, Soapblox, and Wordress - without much effort.

Stage 3. Hosted platform

Assuming that the platform has gained a toe-hold among progressive bloggers, we will begin to explore deploying the software on a hosted platform. The challenge at this point will be more of a business model challenge than a technical one - the question is how to finance hosting and software maintenance at a cost acceptable to most bloggers. One option is monthly fees, but it's possible that the fees required to maintain the system would be too high to be acceptable. Another option is dedicated advertising space, a percentage of merchandising sales, or some other shared-revenue approach, as I discussed last week. This stage will likely be a crucial one, in terms of making the platform widely accessible, as it will provide bloggers with a turnkey solution that lets them get a Drupal-based progressive community blog up and running with minimal effort.

Stage 4. Turbocharged community

At this stage, it will finally be possible to begin taking advantage of some of Drupal's more powerful community features. These include Open ID login; community calendars; lightweight intranet features that facilitate the work of committees or project teams; libraries of appropriately-licensed embeddable images and videos; polls and anonymized survey/data gathering tools. It would even be possible to add some e-activism features, similar to those at FireDogLake, and, if the appropriate state-level data is available, to create state-based e-activism tools. This stage would likely have several sub-stages; many of these features are uncharted waters for local blogs, and would require careful requirements gathering and testing before rollout.

Stage 5. Built-in financial stability

There are a number of ways in which Drupal can help bloggers earn more money, and this stage would focus on that problem. A DailyKos-like "advertising-free" subscription module would help bloggers earn dedicated revenue from a loyal customer base. Modules which automatically display "buy now" links on book reviews and similar posts could help bloggers earn more commissions from merchandising sales. More exotic possibilities are also available. For example, bloggers could write e-books and sell them directly from their site using Drupal's Ubercart module. Or, the system could integrate with Mochila, and allow bloggers to profit by reselling their work and even (with appropriate permission, profit-sharing, and so forth) their readers' diaries.

Again, if you have thoughts and suggested improvements for this roadmap, please drop a line in the comments! I'd also be interested to hear from developers who might be willing to help out, or who have already started building something similar.

Total time spend: 01:06:48

A Drupal-based DailyKos

Yesterday's post on the next steps forward, in light of Soapblox's near-meltdown, generated some very interesting suggestions and questions, and even a bit of a good old-fashioned programming language holy war, in the comment thread.  Alert reader Jon Pincus also pointed me to Pam Spaulding's very insightful thoughts about Soapblox.  Pam gets right to the heart of the matter in pointing out that the issue underlying this meltdown is money, or lack thereof.  Progressive bloggers aren't wealthy, and some of them failed to pay even Soapblox's reasonable monthly fees.

I do not think there will ever be a single, ideal blogging platform for all progressive bloggers, for the simple reason that each blogger will make her own decisions about where and when to post.  Soapblox may grow and thrive for a long time to come; I hope it does.  But I would also like to see the development of an alternative system that is every bit as easy to work with, and every bit as cheap, as Soapblox, but with a stronger technological foundation.  Ideally, I would like to see an alternative system that is more feature-rich, and capable of supporting the next wave of progressive organizing that is already beginning.

In particular, I believe that progressive Drupal developers will need to produce a "Dailykos-lite" version of Drupal, which makes it easy and cheap for progressive bloggers to start new blogs whose functionality imitates that of Dailykos.  Moreover, I think we will need to provide a turnkey solution for starting and hosting a Drupal-based Dailykos-lite blog with a reasonable monthly fee, similar to wordpress.com.  Using such a hypothetical solution, a progressive blogger would be able to do the following, at minimum: give front-page access to multiple bloggers, allow readers to post and recommend diaries in a sidebar, promote user diaries on a case-by-case basis, allow readers to rate one anothers comments, ban trolls, and add special sidebar features from time to time.  Such a system should be easy-to-use, and should require no more than a few minutes' setup time in order to get up and running.

The big question is, how will we pay for the development of such a system; even more tricky, how will we pay for the maintenance of the system?  Setting the development question aside, I think the maintenance question is one where there is some room to innovate.  Instead of using the monthly-fees model - reasonable though it may be - it might make sense to develop a hosted system in which a certain portion of advertising space is set aside for the hosting provider, and all revenue from that space is given to the hosting provider.  Other revenue-sharing models - e.g., some percentage of all affiliate or merchandising sales - are also possible, but this kind of model would ensure that, as long as people using the blogging platform, there is a steady stream of revenue available for keeping the platform afloat.

There are, incidentally, other opportunities lurking in the shadows of such agreements.  The hosting system could also provide help for bloggers who meed legal protection, it could develop a library of licensed artwork available for bloggers to use in their graphic designs and individual blog posts.  Or it might be possible for the hosting system to become a full-fledged support agency for bloggers, capable of licensing bloggers' writing for republication; arranging speaking engagements and book deals for popular bloggers; helping bloggers land consulting engagements; providing health insurance and other typical job benefits; and more.  Some of these ideas are a bit exotic or, to be honest, entirely unrealistic, given how little money is available to support blogging.  But I think it's important to remember that creating new opportunities for bloggers means more than just developing fancy software.

I'd love to hear more from progressive bloggers about what kinds of things they want or need out of a blogging platform.  Starting with the very basics, what kind of features - in addition to those listed above - do you need to go about day-to-day blogging?  How much are you willing to pay for those features, or, if you'd rather not pay, what kinds of blog platform business models are palatable to you?  What other forms of support could a robust platform provide?

Total time spend: 00:31:40

SoapBlox meltdown and Drupal

This week Soapblox, the content management system and hosting platform of choice for many, many local progressive blogs, had a serious meltdown due to a massive hacker attack, and nearly collapsed. The attack on Soapblox immediately took down a huge chunk of the progressive blogosphere's infrastructure, and threatened catastrophe for the progressive movement, just as a new session of Congress and a new administration was getting started. The story was already covered ably at DailyKos, Open Left, and many other progressive blogs. The consensus that appears to have emerged after a fairly short but very wide-ranging discussion is: it may make sense to transition to another system eventually; for now there is no readily available alternative; Soapblox is a shoestring operation run by a good progressive; so progressives should chip in to save Soapblox.

My career is web development, so I naturally have a very keen interest in this story. If the progressive blogosphere was a single organization, if it could have anticipated its current needs a few years ago, and if it had asked me for an ideal platform to meet those needs, I almost certainly would have suggested a system based in Drupal, or perhaps multi-user Wordpress. Both are software packages that are more than capable of handling all of the sundry needs of most progressive bloggers, and actually quite a few more. Of course, the progressive blogosphere isn't a single organization, and even if it was it certainly couldn't have anticipated its current needs a few years ago, so I never had a chance to propose that kind of solution.

Instead of that scenario, Soapblox emerged, through an organic process that ranged over the past several years, as the platform of choice for many leading progressive blogs. Soapblox is a reasonably good technological platform, but I think the key to its success, until this week, was its low barrier to entry. For a low monthly fee and with very little technological expertise, a blogger could launch a full-featured blog that was felt, to readers, a lot like DailyKos. In contrast, Drupal and multi-user Wordpress would require an awful lot of tinkering and monkey-wrenching in order to simulate the Dailykos experience.

With Soapblox hanging by a thread, it's important to develop a new and stronger alternative to the old system. There's very little question, in my mind, that the best foundation for this kind of hosted blogging system will be Drupal, for a wide variety of reasons. First, Drupal's out-of-the-box features include user-specific diaries, moderated comments, and the capability to front-page a diary - those are all key features of Soapblox. What Drupal lacks is the ease-of-use of Soapblox, but as OnSugar demonstrated late last year, it's entirely possible to run a hosted, easy-to-use blogging platform on Drupal. Second, Drupal is one of the most popular content management systems in the world, which means it has an enormous user, developer, and support community; there is no single point of failure in the Drupal community, meaning that a near-meltdown like Soapblox's is nearly unthinkable. Finally, there is already a considerable degree of cooperation between the Drupal and progressive communities. Many local Dean organizing groups, and later DFA chapters, developed websites based in Drupal, thanks largely to the release of a Drupal distribution called Deanspace, (which later changed its name to Civic Space Labs). Today, there are a variety of progressive Drupal development firms, including Development Seed, Chapter Three, Prometheus Labor, ZivTech, and my own company, Lightbulb First Consulting, LLC. Drupal is a community which is strongly based in a number of open source values, including meritocracy, transparency and accountability - the same values that drive the progressive blogosphere.

As with all crises, this one holds an opportunity to rebuild something which is not just as good as, but actually much better than, the old Soapblox platform. Drupal has, for a very long time, had extensions which provide robust, automated search engine automization (via the Pathauto and Global redirect modules); anonymous survey tools (via the Webform module); ecommerce tools (via the Ecommerce or Ubercart module, take your pick); calendaring features (via the Date and Calendar modules); and lightweight intranet features (via the Organic groups module). As of about a year ago, Drupal includes support for OpenID integration, meaning that a Drupal-based progressive blogging platform will lower the barriers of cross-blog cooperation, since it will be possible to allow readers of one blog to comment and post on another blog without creating a new account. Drupal will soon include support for semantic integration, meaning that progressive bloggers will be able to gather data sets and share them with one another easily. In short, the creation of a new Drupal-based blogging platform will make it possible to extend and expand the range of functionality available in progressive blogs in ways that are essentially unimaginable with Soapblox.

Primarily, I think it is the responsibility of the progressive Drupal community (which I count myself a part of), to answer this call-to-arms. We must develop a stronger, better alternative to the Soapblox platform, and we must properly productize and market that solution in order to make it palatable to progressive bloggers. These are busy days for me, and it's not entirely clear that I'll have time to develop such a product on my own, or to organize a larger effort. But I think we need to get the ball rolling very soon, because the days when it made sense to run the progressive blogosphere on a shoestring are long gone.

Full disclosure: My company offers Drupal-based web development services, and therefore is a competitor to Soapblox. We also worked on a small design project for Open Left about a year ago, and we submitted a business plan to the Blogpac entrepreneurship contest.

Total time spend: 01:12:19

Crowdsourcing platforms for distributed progressive pressure campaigns

Earlier this week, Chris Bowers fired up the 2008 Use It or Lose It campaign.  For those who are new to the campaign, the idea is simple but powerful: get Democratic Representatives and Senators who are in non-competitive races to pay all of their dues (which can be quite substantial) to the DCCC and DSCC, respectively.  These kinds of transfers are a legal, quick way to raise a lot of cash for the committees, and thereby to make a lot of new races competitive.  Chris estimates that we can raise as much as $6.5 million this way, and the campaign was very effective in 2006.

I think this is a brilliant idea, but I'm intrigued by the crowdsourcing (that is, distributed data collection) angle.  Distilled to the basics, this is a fairly straightforward crowdsourcing campaign, a couple of times over: get a group of volunteers to collect data about which Democratic Congresspeople are safe this year and how much money they have; then get volunteers to call those Congresspeople and ask them to pay their dues.  The key to success of the campaign is putting together a database which volunteers can use collaboratively to post updates and track progress in a systematic way.  Chris is using Google Spreadsheets for this purpose; that's a great tool and it's a great way to get the job done in a pinch.

However, it occurs to me that this kind of crowdsourcing task will only become more important in the future, and I think there's a way to streamline these kinds of campaigns and to make them even more powerful and robust.  Below, I propose the creation of a general-purpose crowdsourcing platform which can be used to fire up a distributed progressive pressure campaign on a variety of public institutions - Congress, the media, state legislatures.  The platform would make the lives of crowdsourcing organizers a little easier; it would enable our crowdsourcing campaigns to be more broadly distributed; and it would enable those campaigns to carry second-order effects which could help the progressive movement accrue and organize power over the long run. 

There are a variety of campaigns where we could use improved crowdsourcing capabilities.  To begin with, there are cases where we want to whip a Congressional vote or subcommittee vote on a key bill, like FISA or the bankruptcy bill.  Along similar lines, there are cases where state-level blogs will want to whip their state legislature on a high-profile vote.  These will likely be the most common uses, but there will also be cases where we want to pressure media outlets to take some step - like pressuring Ron Fournier to recuse himself from stories about the 2008 campaign, asking newspapers to carry more progressive syndicated columnists, or asking TV stations not to air Republican propaganda.  There's also potential for other kinds of commercial campaigns, like asking pharmacy chains to require pharmacists to fill emergency contraception (or fighting the next War on Christmas, I guess).  I imagine unions might make good use of such a platform for nationwide organizing drives, as well.

A typical crowdsourcing campaign is fairly simple, if labor-intensive; it usually requires the following steps (more or less):

  1. "Casing" a campaign, i.e. doing some high-level investigation to ensure that there is potential for massive distributed pressure to be successful
  2. Gathering data about who to contact, what their contact information is, and what specific "asks" to make of them
  3. Narrowing the list of all possible contacts into a universe of "probably-persuadable"s
  4. Making contacts and collecting responses from public officials / media outlets
  5. Reviewing data and checking the progress of the campaign

A crowdsourcing platform would allow progressive activists to fire up a crowdsourcing campaign, and would minimize the work necessary in each of these steps.  Here are a few of the features I think would be necessary:

  • A ready-made database with contact information for all Congressional offices, state legislative offices, and media outlets in the country, searchable by zip code or by state;
  • The ability to collect and append campaign-specific data to this database, and to narrow the list of officials or media outlets into to target a "persuadable" universe;
  • A general-purpose form and phone-script creation tool, capable of creating a form similar to the one which Obama's Neighbor-to-Neighbor program displays to volunteer phonebankers
  • An easy-to-use data input tool, whereby volunteers could easily find their public official or media outlet, get the script needed to make the call, and enter the results of that call
  • Reporting features, capable of quickly creating lists of public officials/media outlets who have been persuaded or are persuadable, and a link to a contact form for that public official; these lists should be embeddable, so that blogs participating in the campaign can display campaign updates easily
  • A blogging / anecdotal reporting feature, capable of capturing success stories and campaign updates; and similarly, a microblogging feature; the feeds from these blogs should be available for easy aggregation into existing blogs
  • "Evangelizing" features, including widgets, buttons and social networking "sharing" tools which campaign evangelists can use to distribute the campaign on blogs, Facebook profiles, etc. 

The tools necessary to develop a crowdsourcing platform like this are not out of reach.  Using an extensible content management system like Drupal, it would be fairly easy to throw together a prototype within a week or two.  The database of contact information should be relatively easy to obtain, if a bit irritating to maintain.

Down the line, it's easy to imagine a system like this being used to build power for the progressive movement, beyond the first-order impacts of a succesful campaign.  For example, if the system tracked the number of volunteers recruited by each campaign evangelist, then individual activists and organizations could wield the system's tracking reports as proof of their influence, in order to create further pressure in the future.  Additionally, the crowdsourcing platform could be integrated with ActBlue, allowing campaign volunteers to "reward good behavior", and, in tiny steps, to build a campaign war chest for progressive incumbents in off-years.  This kind of war chest development could also help good progressives at the local level rise to state or federal level on the strength of their good behavior.

Eventually, I imagine that a crowdsourcing platform would be the logical counterpart to the online electoral machine that progressives have built over recent years.  If we are going to have online voter registration toolsphonebanking tools, and general-purpose political social networking tools, then we should follow up on our election-year campaign activism with off-year lobbying activism.

I'd like to hear what your thoughts or on such a platform - particularly from folks who have worked on crowdsourcing campaigns in the past, and have some perspective on the kinds of features which would be useful to have in a platform like this.  I'd also certainly love to hear from technologists interested in putting together some kind of pilot, as I think this project would be a fun task for a BarCamp or developer jam session.  Finally, what are your thoughts on the larger role of crowdsourcing, or other lobbying tools, in the ecosystem of progressive online tools?  What else could we use, and what more could we do to be more effective?  Fire away below!

Disclosure: My company worked on a small design project for Chris and OpenLeft last year.

Total time spend: 01:34:08
Syndicate content