Using Drupal as a Prototyping Tool

By:

on

August 04, 2010

This article was republished in GovFresh.

I was really happy to have Patrick Lajeunesse present about Agriculture Canada's experience using Drupal as a prototyping tool. As you can see from his presentation, with a small team of communications staff they were able to set up both a Drupal and WordPress prototype to explore their needed functionality.

I wanted to focus a bit more on why this makes so much sense for so many organizations, but especially government agencies. The implementation of web tools has improved significantly over the last decade and it is no longer something that needs to be left to IT to model.

Defining the requirement is hard

Most folks who need a website haven't had recent experience building them. It's relatively easy to visualize what you want, but it's quite different to be able to define it in a generic way that allows a developer to understand the technical functionality that is required. Often the usability/design requirements are barely defined in the initial proposal.

Websites can be very complicated. If you were defining the requirements for a car would you want to have paid for most of it's creation before you could sit behind the wheel and see how it felt to drive around the lot?

Wish lists vs requirements

Without having an experienced project manager who has successfully lead a team through developing for the web, you're likely to end up with a requirements document that largely contains people's wish lists. It's really great to have a list of potentials, but having a list of neat things that people find on other sites isn't going to get your organization what they need.

It's always easier for folks to focus on the glossy design elements that they've seen in other sites. I've seen way too many RFP's where people have talked generally about wanting many of the features that popular sites like Facebook and Youtube have without understanding the costs and complexity of successfully implementing it.

Taking a long time to define the requirements first is problematic

I think that When Failure Is Intolerable is right on when describing a very frustrating form of failure to be "when someone spent a lot of time and money researching something that could only be learned experientially."

Many web projects fit this mold. Successful websites are always ones which are experimental and are reacting to the needs of its users after carefully watching their behaviour. Strangely, most web projects do not allow space for experimentation and adaptation.

Needs change faster than requirements

A good requirements document does take some time to establish, particularly if it is being developed by a team. Even if there are other models to work from, it can take quite a while in any government department to settle on the final requirements. After that it needs to be sent off to procurement officers to manage the contracting before any real work begins on the site.

The Internet is constantly changing. Most people's expectations don't change quite so quickly, but you don't want to be launching a website a website which already looks and feels dated. Accommodating social media sites like Twitter and Facebook is the latest trend, but these sites are changing too.

Prototypes are better than wireframes

Having a rough stage where workflow is defined and broad paths are sketched out is very important for any large project, however there is nothing that can replace a quick, functional prototype for users to determine how they want it to work.

Given the flexibility of Drupal and the range of modules and themes that are already out there for this free software platform, most of a site's functionality can be roughed out quickly to enable people the ability to get some understanding of how the site will work.

Most people need to be able to get a feel for what they are going to build before they commit to do it. In an age where non-architects can download a tool like SketchUp and create a 3D model of their cottage before building it, we can see the value of visualizing a plan.

Creating content is hard!

This won't come as a surprise to communications folks, but producing content is difficult. Understanding how your content will fit within the structure of your site is important. No amount of time whiteboarding your site, developing requirements documents or wireframing your site will help prepare the content.

However, building a solid prototype will allow you to write up, critique and visualize how you want your visitors to actually use your site. You can experiment placement and organization of real content that you will be able to use to help your site go live as quickly as possible. We do know that some people still use Word documents to generate the content of their websites before it's launched, but that's really a waste of everyone's time.

Patrick describes how his team in Agriculture Canada used this approach:

"One of the benefits to prototyping in Drupal for us was that we can put real content in and see how it flows from page to page. It also allowed us to use the prototype to do usability testing on that content. For example, you can have a test subject try to find a piece of information. This tests the whole site - the navigation and IA, link and button labels, and the actual content in the pages as well. That would be very difficult to do without a real representation of what the finished site would be, and while you could do that with static HTML or a dedicated prototyping tool, it's just easier with a CMS like Drupal."

To try to pull in another metaphor, it's real estate agents generally will want to show a house that has furniture in it and art on the walls rather than one that's completely empty. They do this because it's much easier for everyone to understand how a house will function if you don't have to imagine everything. The same idea applies to websites, most people need to see where the content fits and flows when they are navigating a site.

Prototyping doesn't require IT support

Organizations may find that their communications teams have the skills required to set up Drupal or WordPress site to build a prototype before they take it to IT or send it out as an RFP.

Prototypes can be easy to set up. Using tools like Drupal, you can experiment with what you would like and work with your team to define what else you need. Open source tools like Drupal can empower communications teams to define and experiment with technology which is available to them (it can be set up on any desktop and doesn't require special hardware or expensive software to run).

At the end of the prototyping phase a working example can be either handed over to IT to review before it goes live or used as a benchmark for them to develop in whatever technology they prefer. The communications team would also be left with a development environment which allows them to test out future phases or ideas for the site.

This approach would no doubt increase the effectiveness of any large web development projects.

About The Author

Mike Gifford is the founder of OpenConcept Consulting Inc, which he started in 1999. Since then, he has been particularly active in developing and extending open source content management systems to allow people to get closer to their content. Before starting OpenConcept, Mike had worked for a number of national NGOs including Oxfam Canada and Friends of the Earth.