A blog by the Brick Factory The Brick Factory

Habit Formation and Web Development


There was a pretty terrific piece in the New York Times a few days ago about how marketers use consumer data to help sell their products.  The whole piece is worth a read, and much of it is relevant to our work in building websites and creating CRM solutions.  I found this portion about habit formation particularly interesting:

Luckily, simply understanding how habits work makes them easier to control. Take, for instance, a series of studies conducted a few years ago at Columbia University and the University of Alberta. Researchers wanted to understand how exercise habits emerge. In one project, 256 members of a health-insurance plan were invited to classes stressing the importance of exercise. Half the participants received an extra lesson on the theories of habit formation (the structure of the habit loop) and were asked to identify cues and rewards that might help them develop exercise routines.

The results were dramatic. Over the next four months, those participants who deliberately identified cues and rewards spent twice as much time exercising as their peers. Other studies have yielded similar results. According to another recent paper, if you want to start running in the morning, it’s essential that you choose a simple cue (like always putting on your sneakers before breakfast or leaving your running clothes next to your bed) and a clear reward (like a midday treat or even the sense of accomplishment that comes from ritually recording your miles in a log book). After a while, your brain will start anticipating that reward — craving the treat or the feeling of accomplishment — and there will be a measurable neurological impulse to lace up your jogging shoes each morning.

I think the most addictive web services are the ones that exploit this habit loop. 


When you check in to a  location on Foursquare, you are immediately rewarded points and shown where you stand on a leaderboard.  If you use the service religiously, you have the opportunity to earn mayorships and badges. 

Facebook and Twitter

While Facebook and Twitter don’t have leaderboards, both services have a rich understanding of how rewards motivate.  When you post updates to theses services, you are rewarded with interaction.  On Twitter this takes the form of replies, favorites and retweets.  On Facebook it takes the form of likes and comments.  In addition to these rewards for each update, both services offer larger, longer term rewards in the form of followers (Twitter) and friends (Facebook).  While it isn’t as overt as Foursquare, the use of rewards is critical to the success of these services.

Presidential Candidates

Political campaigns use rewards to encourage donations.  Indeed, it is rare that campaigns just ask for money without offering either a tangible or psychological reward.

Currently, the Obama campaign is running a promotion where users donate in exchange for the chance to win a dinner with the President. 

A few weeks ago the Romney campaign launched a money bomb called the One Term Fund, which aimed to raise a million dollars in a few days to ensure one Obama term.  A day later the Obama campaign launched the Two Term Fund, with a goal of raising two million dollars to ensure a second term.  Both efforts worked.  In addition to the larger reward of helping the candidate reach the overall goal, these efforts also reward donors immediately by tracking the amount raised in real time and having the numbers increase as users give. 

As you build websites or web applications whose aim is participation, you would be well served to think through how you can use the habit loop to make your product a part of people’s routines.

Five Nifty Drupal Modules

We have used Drupal as our primary platform to build web sites since 2007.  It is a robust content management system that allows us to develop powerful websites.  While it has a lot of capability out of the box, one of the most attractive things about Drupal is the wide variety of modules available that add functionality to the system.  Below are five nifty modules that we have used.

1. Draggable Views

We commonly use the Views component of Drupal to display a collection of a certain type of content in an organized fashion.  There are various ways to sort content: alphabetically, publication date, popularity (as dictated by the comments, page views, etc.), and other criteria.  However, we had a client for who such sorting was not helpful.  Further, there are several pages on their site in which they had to manually dictate the order of content in the view.  With a little research we came across the Draggable Views module that allows site admins to use their mouse to drag and drop content where it should be.  It is very handy.

2. IP Login

For another client, we had to place downloadable files into a secure folder – meaning that only users with member roles could access the files.  That in itself is not too complicated, but in addition to the client’s members, we also had to provide access to these files for people at certain organizations.  The client provided ip address ranges for the organizations.  To meet this need, we created a role that only granted access to the applicable files.  Then we created user accounts for each ip address range.  The IP Login module allowed us to automatically log users in coming from those ip ranges for seamless access.

3. Hide Submit Button

We set up a groups site for a client.  However, we ran into an issue; some of the users are impatient when they hit submit buttons.  Thus, they would hit the submit button.  Before the process finished, they would hit the button again.  This would result in duplicate submissions of comments, in this case.  We used the Hide Submit Button module to display an image indicating to the user that their submission is still being processed.  It further disabled them from hitting submit again until the process completed.  One of the cool things about this module is that the site administrators can designate which pages this behavior occurs.  This module was a quick fix to a problem.

4. Views Bulk Operations (VBO)

VBO may not be a “sexy” module, but it is handy.  It is mainly geared toward development work when it is not uncommon to make the same change to a vast number of pieces of content on a site.  This can be used in many ways.  When a site was deluged by tens of thousands of spam comments, we used VBO create pages with many more items listed on each page.  Instead of deleting 50 comments at one time, we were able to delete tens of thousands all at once.  The process took over an hour to complete, but that beat deleting 50, waiting, and then deleting 50 more.  This is just one use for this time saving and frustration preventing module.  However, be careful, because you can also screw up a lot of content; so be sure that what you’re doing is correct.  (Needless to say, we love CAPTCHA when it comes to web forms.)

5. Search and Replace Scanner

Like VBO, this is not a very sexy module.  However, it has come very useful for us.  We were tasked with porting over thousands of static pages from a site into Drupal.  We had our programmers develop a spider program to pull out the content into a csv file so that we could import it into Drupal.  However, there was still A LOT of clean up to do, and we soon realized that we came across a lot of common fixes.  This is where the scanner came in.  It was very helpful.  Having said that, like VBO, you have to be careful since you can definitely goof up a site badly if you’re not careful.  I remember pestering our systems team to back up the database a lot while using this module.

Note that the availability of these modules for various versions of Drupal (5, 6, 7…) will vary.

Five Inspirational Digital Campaigns

I’m happy to say we’ve been pretty slammed here at the Brick Factory, so there hasn’t been much time for blogging lately.  But I did want to quickly share some cool digital campaigns I’ve come across the last few weeks that inspired me (or more accurately, that I want to rip off in some way).  Here goes.

(1) 2015 Quilt > live project


Developed by One.org, 2015 Quilt let’s visitors add a panel to a virtual quilt as a way of support ending AIDs by 2015.  Executed in a way that really encourages exploration.


Five Common Web Development Pitfalls and How to Avoid Them

As a firm that builds things online, we often talk to potential clients that are unhappy with their current development partner.  Usually the break ups are amicable and there is a logical explanation for the change.  Fresh ideas are needed.  Requirements have evolved.  Personalities just don’t fit.  But sometimes the client is angry and feels let down.  Timelines weren’t met.  Budgets skyrocketed without explanation.  The work product was buggy.

Having worked in digital for 10+ years now, I’ve been on both sides of the situation.  I’ve been the guy poaching the work and I’ve been the guy that let the client down.

The truth is building things is hard and it is inexact.  No matter how talented or hard working or well intentioned you are, you are going to screw up sometimes and piss off a client.  It will happen.  To shed some light on the client-consultant dynamic and how things can go wrong, following is a list of the five most common complaints I hear people make about their web development partners and the steps we are taking at the Brick Factory to avoid having these complaints made about us.

(1) Lack of responsiveness

I can’t tell you how often people come to me complaining that their client representatives simply don’t return their calls or emails in a timely manner.  This just baffles me.

Consultants are in the customer service business.  When a customer calls or emails you, you need to get back to them as quickly as you can.  If a request is simple, just do it right away and be done with it.  If it will take time, acknowledge the request and let the client know you’ll get back to them.  People want to be acknowledged.  Silence is often interpreted as apathy, or even an act of aggression.  Being responsive will preempt a lot of problems.  It is amazing how many firms/people don’t get this. (more…)

Five Fundraising Tips from the charity:water September Campaign

From a fundraising perspective, one of the great successes of the last few years has been charity: water.  In five years the organization has evolved from a lean startup charity into a fundraising juggernaut that has raised millions online and provided potable water to an estimated two million people. 

The organization just rolled out its annual September campaign, which is their big fundraising push each year.  While charity: water clearly has more resources at its disposal than the average non-profit at this point, the fundamental set up of the campaign is something that any organization should be able to replicate. 

(1) Set a goal and a timeline.

The goal of this year’s September campaign is to raise $1,200,000 by the end of September.  On their site they include a real-time counter showing their progress in the campaign.


Setting clear goals like this and showing progress helps to make donors feel invested in the campaign and creates a sense of community.