Technology is not the question or the answer

My friends Tim Walker and Michael Silberman have been doing some thinking about the long-term problems with many of the approaches to date about social change + technology and have popped out a provocative (and very welcome!) manifesto about the need for “web thinking.”

I was honored to contribute some thoughts on the early drafts, and while I don’t think it’s perfect, the final version is a must-read if you’re serious about changing how change happens.   It’s great to see people engaging in serious, big-picture critical thinking like this.  The conversation’s already going on in the comments.  You should join in.  See you there in five.

Popup Forms for Plone

Shortly before dashing out the door for Pycon 2010, David Glick pushed out a 1.0 release of Popup Forms for Plone, which he and Steve McMahon built on top of Steve’s excellent Pipbox and PloneFormGen products.

Popup Forms for Plone makes it point-and-click easy to create timer-driven javascript popup forms anywhere in your Plone site.   You can see a simple example in action at Washington Conservation Voters.   It’s amazingly simple: just build your form in PloneFormGen.  (If you just want to popup a static HTML page or an image, you can use PloneFormGen’s “Form Prologue” and skip adding any form fields!)  Then, you use Plone’s portlets mechanism to assign the form to a page or folder on your site, and to configure an optional time-delay.  That’s it!  No programming, no javascript, no fuss, no bother.

Popup Forms are great for email capture forms, action alerts, user surveys, and many other calls-to-action.  If that’s what you need in your Plone site, I encourage you to check it out!

Using more tools != better

I think we would all be better off without analyses like this which inventory how many social media tools large advocacy groups are using as if using more tools is somehow indicative of sophistication, effectiveness or having a solid strategy for achieving your organizing goals.

Sigh.  When will consultants stop promoting this kind of shallow, tool-centric thinking?  Probably never, because it’s easy, cheap marketing.

Apple: (still) hostile to nonprofits

Lots of nonprofit technologists are unapologetic Apple fanboys (and girls).  I’ve owned and used Apple products over the years, and while some have been fine, they rarely make me swoon.  I think of Apple as just another mega-corporation that sometimes makes nice computer hardware, not some extension of my personal brand identity.

Apple is hardly a friend to the nonprofit sector.  In addition to being notoriously tight-fisted with hardware and software donations, I just read on ReadWriteWeb that they have no plans to allow charitable donations via the iPhone’s new in-app payments system.  That is incredibly lame.

Though Apple introduced in-application payments last month, the feature is only available to paid apps (Public Radio Player is free) and charitable contributions through the iPhone are strictly prohibited. They can’t even be talked about, Shapiro says, because Apple doesn’t want to deal with the possibility of charity scams, there’s tax complications, the platform’s standard 30% fee for payments isn’t tenable in a non-profit context and Apple has no financial incentive to solve this sticky complex of problems.

Flexible external redirects in Plone: a brainstorm

Sam Dorman of the League of Young Voters just tickled my funnybone with a really nice idea for how to elegantly handle external redirects in Plone.  I think this would be really easy to roll up into a nice user-friendly product that would have tremendous, wide-ranging re-usability.  I’d love your thoughts on it.

The problem

Lots of online activism campaigns (like the League!) use generic content management tools like Plone for their main website and supplement it with more specialized online advocacy tools like Democracy In Action.  It’s a winning combination that takes advantage of inexpensive, easy to use, best-of-breed tools.

The problem is that you can wind up with some messy URLs.  For example, Democracy In Action URLs can look like this:

Ugh.  Not very user friendly to stick into an email, a tweet or a blog post.  What Sam really wants is to have a redirect URL like this:

That will automatically redirect you to the DIA page, with someVariable appended.

“Why not just do this with Apache rewrite rules?” I can hear you asking.  Because Sam’s not an apache administrator, and doesn’t know how to write a regular expression (and neither do I).  We want these to be manageable by people with Plone-user skills, not server-admin skills!

My vision

As Sam was telling me his story, a little vision appeared in my mind’s eye.

I imagine an “external redirects” control panel in Plone, where you would be find a screen that would let you add lightweight “redirects” that would have the following attributes:

  • Redirect name (the “someAction” in the example above)
  • Redirect destination (the external URL you’re redirecting to.  Variables to be allowed with things like $1, $2)
  • Enabled/disabled checkbox

I’d see this as a DataGridWidget or something similarly quick and easy.  A site could have quite a few redirects to manage on a single screen, we’d need to use KSS well to avoid too many page reloads.


Plone’s current “Link” object supports some very basic external redirection, and we could extend that as described at PLIP 126, but I’m not convinced that this is a very ideal approach.  The use case I’m trying to cover is about “placeless” adminstration of lots of links, not administering one-by-one links that are scattered within the content hierarchy.  Also, implementing this functionality with full-fledged content objects creates some problems with viewing vs. editing mode, which I think can be avoided with a centralized, approach based on a utility tha could be overriden or extended.

The other concern that would have to be addressed with this approach is namespace collision.  I think that could be avoided by doing a quick catalog search to make sure your proposed actionName doesn’t conflict with an existing content object (KSS validators to the rescue!).  We might be able to entirely avoid namespace collision by letting you define a subdomain in the control panel (e.g., and if possible push that into VHM.

We’d probably need to sanitize variables so that this doesn’t allow any weird injection attacks.

Contrarian thinking about online organizing

Here’s an idea that’s been tumbling around in my brain for a while, and popped out yesterday during a walk:

A lot of people think online organizing helps build enthusiasm about an issue or campaign, and thus holds tremendous promise for small, obscure campaigns.  I think the promise is oversold, and that the most enthusiastic proponents of “web 2.0” style organizing tend to reverse cause and effect.

The most powerful online campaign efforts — Obama ’08, Dean ’04, some of the early MoveOn antiwar stuff — were successful at tapping into already existing passionate enthusiasm, not in generating energy around issues/campaigns that previously lacked it.

In other words, online organizing can’t create energy, it can only tap the energy that already exists.

That’s bad news for small campaigns that need to “go big” to succeed, and are being told that online organizing offers a free pass to the big leagues, if only they figure out the right tools and tactics.