Drupal

A visual glossary of Drupal field types

A visual glossary of Drupal field types

This post originally appeared on simcentre.ca. We are currently working with Affinity Bridge on a collaborative research project that has us deeply involved in the process of developing a website on the Drupal content management system (CMS) — the same CMS that...
12 things you don’t know about Rob Cottingham

12 things you don’t know about Rob Cottingham

In a few hours I’ll be thankful for a plate of turkey, stuffing and gravy. Meanwhile, there’s nothing like jamming chunks of bread into the cavity of a formerly living creature to make you appreciate what really matters in life. As I stood elbow-deep in turkey, I found myself reflecting on the person who is at the heart of most of what I have to be thankful for this year

Project management and workflow with Basecamp

Project management and workflow with Basecamp

How can online collaboration tools like Basecamp support effective project management? That's one of the questions that came up at the values-based project management session I attended at Web of Change, led by Rob Purdie of Important Projects. I wanted to continue the conversation with Rob himself, and promised to blog our own project management workflow at Social Signal so that he could offer his comments and feedback on how to improve our approach.

Let me begin by saying this is very much a work in progress: we're still searching for the Holy Grail of optimized workflow, and feel like the tools we use now — particularly Basecamp — don't fully meet our needs. I'll address some of those limitations towards the end of this blog post, but let me begin with an overflow of what we use and how we use it.

Our main tools are:

  • Basecamp: for project-related task management and client communications
  • OmniPlan: for prospective project planning and gantt charting
  • Remember the Milk: for internal task tracking
  • iCal: for internal scheduling and time tracking
  • Google spreadsheets: for capacity planning and docket review

This blog post will focus on how we use Basecamp, which is our main tool for managing the ongoing work of individual projects. The fact that we use so many other tools speaks to the issues we have with Basecamp — which is one of the issues I'm particularly keen to hear Rob address. We're also fans of — though not religious adherents to — David Allen's Getting Things Done methodology, which has influenced our approach to task management.

Set up

We set up a Basecamp site at the beginning of each client engagement. Some of the best practices on Basecamp set up that we are trying to adopt as our standard include:

  • posting a welcome message to Basecamp that explains how to use the site (see VentureMarketing's Basecamp Welcome PDF, and their Basecamp client jumpstart, for another approach)
  • presenting an overview of Basecamp at an early client meeting
  • when clients e-mail us outside of Basecamp, redirecting them back to the Basecamp site, often by copying-and-pasting their messages into Basecamp

I add all our subcontractors to Basecamp as members of Social Signal, so that we can cover any technical issues without dragging the client into the Drupal abyss. We recognize that our clients don't always benefit from seeing how the sausages are made, and when it gets into some of the intricacies of module development or permissions configuration, we like to keep the excruciating details private so that clients aren't drawn too deeply into technical issues. Unfortunately, Basecamp only allows private communications among members of the same company, so we choose to treat all our subcontractors as members of Social Signal.

Structure and usage

We use messages for communications that require an action or response. This includes:

  • communications with clients and client updates
  • client requests (bug tracking, questions, etc.)
  • internal discussions of how to handle tasks (marking these discussions private so they aren't visible to client)

We use writeboards for communications that are FYI only (though we may use messages to notify each other of a new writeboard).

We use task lists for items that require a "next action" (in GTD terms).

Messages

Social Signal Project> All Messages

We have recently refined our use of messages to keep better track of all open loops. We respond to urgent messages as they come in, and at least once a week (and ideally every 2-3 days) we review all the messages in a given project space, and update status. We find that updating message status on a real-time basis is excessively time consuming and leads to duplication of effort.

Our message categories vary a bit by project but mostly reflect major categories of project activities (see screenshot — some items deleted to protect client privacy).

When we review a message we briefly note our response, action required, or action taken, even if it's already completed, for future reference.

We then edit the title of the original message to note the status of that message:

  • QUEUED: the message requires an action or response. An item is only marked as "queued" when it has been added as a specific task or tasks in a to-do list. An item may be marked as "queued" even if we anticipate that it will prove too low-priority to address; however by adding it to our queue it can be reviewed with the client during our next review of outstanding tasks, and prioritized accordingly.
    Social Signal Project > CLOSED message
  • CLOSED/RESOLVED: the message requested or required an action or response that has now been completed. We switched from marking items "resolved" to marking them "closed" because sometimes messages are closed because the team (including the client) decide that no further action is warranted, because the item is low priority or because the issue is not expected to recur. When an item is closed we ALWAYS leave a final comment noting the action or decision that led us to mark the message closed.
  • NOTED: the message provided information that is needed by the team or client, but does not require direct action. When an item is noted it is usually placed in a writeboard we expect to refer to at a later date, e.g. a "think about for phase 2" writeboard or an "items to review before launch" writeboard.

Editing our message titles to reflect the status of each message gives us an at-a-glance view of which client issues have been addressed, and which need to be reviewed for action items.

To-dos

We have recently shifted from using fewer, generic to-do lists (which we were trying to standardize across projects) to using a lot more to-do lists, each one corresponding to a set of related tasks. This reflects the GTD notion of grouping tasks by "contexts" or as "projects" consisting of multiple tasks.

Social Signal Project> To Do Lists

By grouping related tasks we ensure that:

  • related tasks at the same time, and can therefore consider a solution that might address multiple requirements or bugs at once
  • tasks can be ordered in sequence or priority, so that a team member can quickly see which tasks must be completed in which order
  • a team member can see who else is working on related tasks
  • tasks don't get lost in long (20+ items) lists

When we had fewer categories we found that the very long lists of tasks under each made it hard to identify relationships or priorities; the shorter list of tasks makes this much easier.

We keep our to-do lists organized alphabetically; when we decide to prioritize a specific set of tasks as the next focus for our work, we move that to-do list to the top of the page and mark it "P1: to-do list name" (as in "priority 1").

Writeboards

Writeboards are our long-term storage area and collaboration space. We use writeboards for:

  • to-dos that we are considering (often for a future phase) but haven't prioritized/organized yet
  • reference information (like a description of our e-mail configuration)
  • meeting notes
  • personal notes that we might want to share with other members of the team, but which don't require an action from anyone (we may still use messages to notify the rest of the team that we have created a writeboard for them to look at)

Assessment

Our experience with Basecamp has been shaped equally by the technology itself, and our diligence in using it. Of course, these aren't unrelated issues; if Basecamp really met all our needs, so that we could keep all our tasks organized in one place, I suspect we'd be much more consistent in using it.

We find that Basecamp works well for:

  • collecting client and team correspondence in one place for future reference
  • organizing project tasks, particularly site/softeware development tasks
  • keeping track of our "someday" ideas in writeboards
  • centralizing our project notes as writeboards

We find that Basecamp works poorly for:

  • personal task management; we often transfer our basecamp tasks to Remember the Milk, where we each maintain an integrated personal "to do" list
  • sensitive communications with other team members (due to lack of privacy settings)
  • project planning (we use OmniPlan, then transfer milestones to Basecamp)

What we like about Basecamp:

  • industry standard — most of our partners and subcontractors, and a few of our clients, have extensive experience with Basecamp
  • nice-looking user interface
  • client-friendly/intuitive to use
  • e-mail notifications include full text of the message
  • availability of 3rd party add-ons

What we need that we're not getting from Basecamp:

  • deadlines for specific tasks, not just milestones
  • priorities for tasks
  • ability to assign one task to multiple people (though I recognize that could be a mixed blessing)
  • ability to comment on a task
  • bug tracking (could be addressed by ability to comment on a task)
  • ability to make messages/to dos private when communicating with people outside our own company

Nice-to-haves would include:

  • spreadsheets (as well as writeboards)
  • personal calendaring
  • ability to store project templates so we don't have to recreate all our categories from scratch each time
  • option to automatically alphabetize categories
  • option to keep message categories and to-do lists in sync (i.e. creating a new to-do list would create a new message category with the same name)
  • tags in addition to categories
  • better RSS output and/or an iGoogle widget that lets us interact with our tasks from our Google homepages (as Remember the Milk does)

Basecamp alternatives

One of my favorite compulsive activities these days is looking into Basecamp alternatives. So far my conclusion has been — to paraphrase Winston Churchill — that Basecamp is the worst possible project management tool, except for all the others. Here are some of the "others" I have looked into, or mean to look into; I'll try to come back to this post and annotate the list with the reasons we haven't moved to any of these:

goplan

Lighthouse

Unfuddle — intriguing because it includes subversion and bug tracking

Clocking IT — a free basecamp alternative, but as far as I can see no built-in messaging. Time tracking, though.

Michael Silberman of EchoDitto put me onto Central Desktop as a somewhat pricier Basecamp alternative that includes many of our concerns about Basecamp. We're trying it out, and it looks promising, although I'm a bit disappointed in the look and feel (it's not nearly as pretty as Basecamp) and daunted by the prospect of moving our projects over. However the prospect of being able to assign deadlines to tasks (imagine that!!) probably outweighs every other issue.

Brian Benzinger's roundup of project management tools for developers provides quick takes on some of the above, plus many more.

Other Resources

In the course of my obsessing over Basecamp and project management workflow I've found a number of useful blog posts on other people's use of Basecamp and Basecamp alternatives. For some reason many of the blog posts I've come across are by friends in the non-profit tech sector; I'm not sure if that's because of Google's freaky habit of customizing search results, or because non-profit techies are somehow more obsessed with workflow (comments, anyone?) Here are some of the posts I've found helpful.

Sonny Cloward mapped his workflow, which hinges on Basecamp, Backpack and Mozilla Calendar.

Ruby Sinreich blogged her thoughts on Basecamp plus GTD, which includes creating virtual "people" who represent different contexts, so she can assign her tasks to contexts.

LifeDev reports on using Basecamp with GTD, in this case using to-do LISTS as contexts.

Jon Stahl provided an overview of collaboration practices at ONE/Northwest, which includes using Basecamp.

Next steps

I'm going to take Central Desktop for a serious spin. I'm going to continue praying to the 37Signals gods for true Basecamp-Backpack integration, or to the Remember the Milk guys for Basecamp-RTM integration as an answer to their "how can we start charging for RTM?" quest. I'm going to try out Omni's forthcoming OmniFocus task manager.

And I'm going to resist the temptation to engineer an in-house Drupal solution to our project management wishlist. After all, our needs aren't THAT exotic, and there are an awful lot of people chasing the same vision. I'm trusting that one of them will get us much closer to a solution before long.

Meanwhile, I'm eager to hear from Rob Purdie and others about how we can improve our current Basecamp usage. In particular I'm curious to hear:

  • how people use Basecamp as part of GTD
  • best practices for to-do list structures and message categories
  • best practices for managing privacy and disclosure among staff, clients and contractors
  • advice on how to manage personal to-do lists within/alongside Basecamp
  • how people cope with Basecamp's lack of task due dates
  • experiences with Basecamp alternatives
  • advice on encouraging good Basecamp habits among staff, clients and contractors

And if you've blogged your own project management approach or workflow, please let me know by sending an e-mail to alex [at] socialsignal [dot] com, or posting a comment here.

Supporting non-profit innovation through NetSquared: a Drupal module for Newscloud

Supporting non-profit innovation through NetSquared: a Drupal module for Newscloud

Rob and I are spending the next two days at NetSquared, in the company of 21 outstanding teams working on projects that harness social media tools for social change. We met many of these folks for the first time yesterday, in a pre-conference session that brought the projects together for an afternoon of collaborative idea-sharing and relationship building, and we were incredibly impressed by the commitment and creativity that these folks are bringing to their respective projects. As part of the NetSquared Innovators Support Network we will choose to work with one of these projects on a pro bono basis, providing them with their choice of a customized community participation plan, a recommended community feature set, or complete specifications for a new custom Drupal module.

But one of the themes that emerged in yesterday’s conversation was the desire to foster collaboration not only among the 21 finalist projects here in San Jose, but among the more than 150 projects who participated in this year’s call for Innovation Fund submissions. Like a lot of the folks here, we got really excited about quite a few of the projects that didn’t end up in the top 21, and we started thinking about how we might support their work.

That’s why we’ve decided to extend the same offer of pro bono support to one of the projects that isn’t in the room today. Next month, we’ll start working with Newscloud, an open source media platform that combines news sharing and social networking. Jodie Tonita of ONE/Northwest recently introduced us to Newscloud’s founder and driving force, Jeff Reifman, and we immediately saw Jeff’s work as exactly the kind of technology innovation that non-profits need now.

Using Newscloud, an organization’s members and supporters can identify the news stories that matter to them, annotate those stories with their own reflections, and collaboratively create a window on the day’s issues that reflect their interests and priorities. Individual users may find Newscloud compelling too — quite apart from the social benefits of collaboratively surfacing interesting stories, it’s got a great interface for reading blogs and news sites that displays stories as they appear on the originating site, rather than as plain or reformatted text. The best way to understand Newscloud’s value is to visit the Newscloud site, sign up for an account (it’s very quick!) and take it for a spin yourself.

Our clients and colleagues in the non-profit sector often ask us to help them integrate news into their online communities. They want a way to bring their members and supporters the news that is relevant to their issues and interests, and ideally, they want a way for their audience to interact with those stories and engage in meaningful conversation around the latest news. Newscloud offers that potential, but right now organizations need to either convene on the Newscloud site itself, or install their own version of the Newscloud platform.

We’re going to work with Jeff to make it easier for non-profits to integrate Newscloud’s features directly into their own web sites. Working from our own experience developing non-profit sites on the Drupal platform, we’re going to help Jeff develop a Newscloud Drupal module, so that the thousands of community sites now running Drupal can integrate Newscloud-enabled news sharing directly into their sites. We’ll use our own clients’ needs as the basis for developing the module’s specifications, but we’d love to hear from other organizations about their own needs for news sharing and commenting, so that our specifications can reflect the needs of as many organizations as possible — just leave your comments on this post, or e-mail me directly (alex at socialsignal dot com) to get involved.

We’ll keep the NetSquared community posted on how this experiment evolves. And we hope that other members of the NetSquared community — technology assistance providers, developers, funders, and participating projects — will think about how they might help or collaborate with one or more of the 150 projects that have profiled their needs on the NetSquared sites. The time, advice and support of this community can help each and every one of these projects move forward, and advance the state-of-the-art in using social media for social change.

Tagging for world domination

Tagging for world domination

Tags can help you drive traffic to your website and build engagement in your online community. Here are my secrets to tagging success.

Building online community: Behind the scenes at NetSquared

Building online community: Behind the scenes at NetSquared

As part of the NetSquared remote conference, I'm going to be hosting an online chat conversation on "Building online community: Behind the scenes at NetSquared". Since Social Signal helped to develop the strategy for the NetSquared site, and undertook the Drupal set-up and configuration work on both NetSquared and Net2Learn, we periodically get questions from people who want to know why we set up a certain feature in a particular way, or how we were able to get a page to work a certain way in Drupal. This session is a chance to answer some of those questions in a more structured setting.

Ode to Aggregator2 on WorldChanging

Ode to Aggregator2 on WorldChanging

I have a piece on WorldChanging today about using Drupal's Aggregator2 module as a news tracking tool. The piece was partly inspired by a recent inquiry about why to use Aggregator2 rather than Drupal's default: 

Aggregator2 turns the Drupal platform into a powerful tool for news tracking and republishing by offering options for customizing news feeds, tagging news items, and moderating incoming news. That feature set makes Aggregator2 an exceptionally flexible choice for setting up a nonprofit news tracker that aggregates news from a wide range of blogs, news sites and search engines. Because Aggregator2 saves each individual item as an independent node (like a web page) in Drupal, you can edit or annotate news items after you bring them onto your site. Because Aggregator2 lets you assign different tags to different incoming feeds, you can set up different news pages for different topics, and direct news to show up on the appropriate pages. And Aggregator2 is also a terrific tool for integrating content from multiple related web sites or overlapping organizations.

Read the whole story on WorldChanging

Speed feeding

Speed feeding

Part of the plan with the telecentre.org ecosystem is to bring relevant content into telecentre.org sites using RSS. In the case of event sites — like the Capetown site that is the very first telecentre event site to get up and running — we’ll use...