Farmville’s 5 Psychological Hooks

December 10th, 2009

Lately I’ve gotten sucked into playing the Facebook game, Farmville. (Apologies to those on my friends list.) I am seriously impressed by the designers of this game. They managed to take an incredibly simple idea and design it to take advantage of several powerful psychological quirks, thus turning a game about farming (!) into the single most popular Facebook app.

What are some of the clever things that Farmville does?

1. Set Completion — We are driven to complete our collections of things.

This is perhaps the psychological trick that Farmville employs the most. Farmville has so many sets of things to collect: achievement ribbons, buildings, gifts, even different colors of cows. In general, once you possess a partial set, most people are compelled to complete the whole thing. There’s something about a collection that is incomplete; it just doesn’t sit too well with many of us.

Farmville is always introducing players to different types of things we can collect. And of course, once you’ve started a set, you have to finish it…

2. Social reciprocity — We feel compelled to help people who help us.

This is another biggie. The fact is, in order to get ahead in the game, you must receive help. The game offers several ways to help others: you can send them gifts, fertilize their crops, help out on their farm, and make Wall posts that give people access to special bonuses. Many of the ribbons and achievements in the game are dependent on being helped in these ways.

And of course, once you are helped by someone, most people feel a strong compulsion to return the favor. This keeps people engaged because the balance sheet is never quite even, so some type of social obligation is always in effect.

It also encourages players to bring more people into the game; after all, the more ‘neighbors’ you have, the more gifts you can receive and the quicker you will gain a lot of the achievements. I think this ’sharing’ aspect accounts for a large part of Farmville’s rapid rise in popularity.

3. Loss aversion — We hate to lose anything.

In Farmville, you have a certain window of time to harvest your crops, or else they wither and you don’t profit. This is brilliant because, by forcing people to invest in seeds and plowing, Farmville is creating an attachment to those crops. Then, by enforcing a short window of time to take action to avoid the loss of those crops, Farmville forces you to return to the game on a regular basis.

This draws users back to where the other psychological hooks can kick in.

4. Customization — We design spaces to display our own personalities.

The entire basis of Farmville is that you are given a ’space’ that is all your own: your farm. And, along with planting crops and raising animals, you can add buildings and decorative objects to this space, in order to make it more fully ‘yours’. In fact, by my count, about half of the items that you can buy have no effect on the game mechanics at all.

Rationally, why would you allocate scarce resources to such objects? But people do, because we are driven to customize our virtual space, to make it reflect ourselves; and by extension to acquire more resources so that we can perform more customizations.

5. Variable Interval Reinforcement — When we receive rewards at unpredictable intervals, we are compelled to continue.

Sometimes Farmville will randomly give you gifts, like money or items to be used on your farm. (The game also combines this principle with #2, social reciprocity, by randomly allowing you to give a special gift to other players, such as special eggs and flower bouquets.) This is considered variable interval reinforcement because it reinforces the desired behavior — playing Farmville — with rewards, on an unpredictable basis.

The gifts serve to keep people engaged in the game, because you have to keep checking in to see if you’ve gotten something that you need.

So there you have it: 5 ways that Farmville effectively taps into human psychology.

The things that interests me is, how can we use this in other areas of design?

How can I make my local restaurant listing site more interesting by tapping into set completion behavior? How could a charity fundraising site employ social reciprocity to draw users in? How could a financial site tap into loss aversion?

I think we could all stand to learn a few things from this simple Facebook farming game.


(If anyone has a good link on the psychology of customization, send it over. That’s the only principle for which I couldn’t find a good source.)

Guides Bookmarklet 0.1

December 5th, 2009

I’ve put together a simple bookmarklet to allow you to add Photoshop and Illustrator-style guides to any webpage. This is something that I’ve wanted for awhile, after finding myself feeling ridiculous while holding a sheet of paper up to the screen to check whether things are lined up.

Just drag this link to your bookmarks bar, or right-click on it, or save it however you save a bookmark typically:
Guides Bookmarklet

When you click on the link, grey bars will appear across the top and left side of the page. From these bars, you may drag out as many guides as you need onto the page. Guides can be repositioned once they are on the page as well; just hover until you see the little arrow cursor. Finally, to remove a guide, just drag it off the side of the page. (That last part may not work in IE.)

This is version 0.1, meaning that I worked on it for about 3 hours overall. So tell me: as a web designer or developer, what would make this more wonderful to you? What other features would you totally use?

Also, please let me know about any bugs!

Puzzles

December 2nd, 2009

I. Axiom: Everyone thinks that their own piece of the puzzle is the most important.

“Look, I have George Washington’s face! I am the primary focus of this whole entire thing!”

“I am a corner piece – without me the whole puzzle would fall apart!”

“My puzzle piece is such a beautiful sky blue. Surely a blue this lovely must be the most important part of the whole thing.”

We all need to realize that the person who buys the puzzle only cares about the image on the front, and that all of the pieces fit together in the end.

II. Corollary: The more pieces you have, the longer it will take to assemble the damn thing.

Cynicism

November 23rd, 2009

I am very cynical, except for when I’m not.

cynicism layers

The trick is in maintaining a healthy balance between cynicism and idealism. You need cynicism for protection, and idealism for an energy source.

Too much cynicism will crush your idealism, and then you’ll become dead inside.

Too much idealism will make you too fragile, and then you fall apart.

Keep balancing.

Intuition [and / or / vs.] Data

November 20th, 2009

Data by itself cannot create anything. It can only disprove.

Intuition by itself can create many things, but it stays trapped within the designer’s own experiences and never becomes a conversation.

Both are important.

This is how to design things: Use intuition to create many good solutions, and then use data to narrow it down to the one best.

Intuition and data arrive at a solution

But don’t stop after one iteration; then you lose the ability to let your data shape your intuition.

By repeating this cycle over and over again, your intuition will get better, and you can focus on smaller and smaller problems, gradually approaching (though never attaining) perfection.

Iterating a design

(I can’t decide if this whole post is actually true, or if it’s just attractive because it seems simple and internally consistent.)

Adobe’s plan to take over the world

November 10th, 2009

(Notes from Ryan Stewart’s keynote talk at Philly Flash Camp.)

Contextual Applications:

contextual applications diagram

Adobe’s Product Line:

Adobe products and intended users diagram

Philly Flash Camp slides & code

November 8th, 2009

And my example files:
demo.fla
demo.html

[Edit: I forgot to mention that my html file is using the swfobject.js library to embed the Flash object. It may be acquired here.]

Interfaces: An Essay With Cartoons

November 3rd, 2009

I. An interface is a window between two complex systems.

window

Most of the time, one of those systems is a person.

stick figure

The interface marks a boundary. It is the place where the human meets the machine.

person and machine


II. Most software is incredibly complex. Often, it is so complex that not even one developer who built the system can keep the whole of it in her head at the same time.

Information passes from place to place, is modified, recombines, evolves and mutates in a thousand different ways. An interesting program is a highly choreographed dance of a thousand different pieces of data.

To make it even harder, this happens on many levels at once, from the base electrical impulse guided by physical law, all the way up to conceptual objects that contain, modify, and recreate one another.

The fact is, there’s a lot going on.

pyramid showing different levels of software

Meanwhile, on the other side of that boundary, a person is… a person.

Talk about complex.

person surrounded by emotions


III. An interface is a window. It is also an adapter.

poorly drawn plug adapter

The user wants to get something done. He has in his mind a model of what he is trying to do.

This model comes from his life experiences, psychology, learned behaviors, things he’s observed in other people, and probably 20 million other subtle factors.

person thinking of a task

The system also has a model. This model is built up over time, a slow accretion of 20 million small choices made in every line of code, in every aspect of the system design, during every step of the development process.

The odds that this model matches the user’s model are very, very small.

computer thinking of a task

It’s the job of the interface to translate between the user’s model and the system’s model.

translation between models

It’s the job of the interface to manage and reduce complexity.

(To compliment an interface, call it deceptively simple.)

filtering out complexity

It’s the job of the interface to bridge, not just 2 worlds, but 2 million — the world within the system, and the personal worlds of 1,999,999 different users.

different users

That’s why making interfaces is hard. That’s also why it is worthwhile and necessary.

Because you could make life frustrating and difficult, but instead you get to make it pleasant and simple. Because you get to bring a small bit of order to a whole lot of chaos. And because you get to make things, in some small way, better or easier or more fun than they were before.

Notes from Dev Day DC

October 28th, 2009

This past Monday I got to attend the Dev Days conference in Washington, DC. While it wasn’t the most useful conference I’ve ever attended — that honor would have to go to The Ajax Experience in 2008 — I still learned a couple of new things. Following are some items that I found interesting enough to share.


“Asking users to confirm something that they are not qualified to confirm is useless.” – Joel Spolsky

This quote was referring to security-related alerts and confirmation messages. Joel argued that 99.9% of users have no real understanding of the consequences either way, so asking them to confirm or approve something is meaningless. He asserts that many times, this pattern is a result of the developer or company trying to avoid responsibility.

The implication I take away from this is that the system should pick the “right” thing and just do it, while giving advanced users an option to override and do something else. I thought that this was a very thought-provoking point.


OPower looks like a really awesome company, and it is very cool what they are doing with psychology and design to encourage folks to conserve energy.


Bruce Eckel, who apparently has been programming forever and written books on every language in existence, gave a really interesting history of programming languages (with digressions into Burning Man, the TED Talks, and how 80% of people hate their jobs).

I was already interested in Python, but thanks to his talk I am now convinced that I actually want to learn it. Perhaps this will be a project for next year. (And after that, a purely functional language, like Haskell, because it is completely different from everything I know.)


Joel is a master of shameless self-promotion. I’m not trying to be snarky when I say that I think it’s what he does best. Throughout the conference he was continually promoting himself, his company, and his product.

Being really good at self-promotion can go a long way toward success, I think. I could learn from this, because I’m not necessarily so good at it myself.


Was Dev Days worth it?

I would go back if they had one in Philly. But overall, I don’t think it was worth the cost of the hotel and the drive time to DC. I would say about 25% of the sessions were useful or interesting to me.

I rate it worth attending only if it’s convenient and nearby.

Bermuda

October 28th, 2009

I’ve missed several posts, but I have a good excuse. I’ve been on vacation in Bermuda, and here’s a picture to prove it:

pretty coast

Bermuda is an island full of rich people, with a strange mix of British/Caribbean culture. But I really enjoyed visiting there, got to swim and snorkel, and I didn’t even get sunburnt that badly.