Learning Programming by Persuasion

Attempting to change or influence attitudes and behaviors through the persuasive design of objects and places is nothing new. In The Hidden Persuaders, first published in 1957, Vance Packard provides countless examples of the use of consumer-focused motivational research and other psychological techniques in the art of advertising and marketing.

Extensive research of human psychology has gone into the design of retail outlets to encourage people to shop more; into the design of consent forms to influence people to donate their organs after death; and into the design of casinos to make people gamble for countless consecutive hours (no visible clocks). A recent article in Wired magazine discusses how the design of schools and classrooms can impact a child’s grades.

Principles of persuasive design from the real world are now being applied to influence buying behaviors on websites such as Amazon and Fab, through features like one-click ordering that simplifies the purchase flow, personalized daily deals that create a sense of urgency, and on social media applications such as Facebook and Twitter that encourage people to share personal information.

In his book Persuasive Technology: Using Computers to Influence what We Think and Do, B.J. Fogg coined the word “Captology,” an amalgam of the phrase “computers as persuasive technologies." Fogg writes: “Captology focuses on the design, research, and analysis of interactive computing products created for the purpose of changing people's attitudes or behaviors. It describes the area where technology and persuasion overlap.”

In describing future trends in Captology, Fogg talks about healthcare and education being persuasive technology domains positioned for imminent growth:

“From the classroom to the workplace, educational designers will create computing applications that deeply motivate people to acquire new knowledge and skills. Persuasive technology can motivate people to initiate a learning process, to stay on task, and then to review material as needed.”

We, at RubyMonk, an interactive tutorial to learn Ruby online, have applied a number of persuasive technology tools in building an interactive learning tutorial. In this article, we will introduce you to the tools as identified by Fogg, and describe how we’ve applied them to RubyMonk’s interface design.

Reduction Technology: Persuaded through Simplifying

Fogg describes Reduction Technology as “the process of simplifying a behavior or activity. Reduction technologies may also increase a person's self-efficacy, or the person's belief in his or her ability to perform a specific behavior. This can help the person to develop a more positive attitude about the behavior, try harder to adopt the behavior, and perform it more frequently.”

Our team is constantly trying to understand the motivations and fears involved with learning programming. We have learned that students hesitate to even get started with learning programming because they are intimidated by its complexity. In RubyMonk, the first lesson is designed to be so simple that all that a student has to do is click on the “Run” button in order to launch into the interactive experience of learning Ruby.

Keeping a student motivated to continue learning is both interesting and rewarding. In RubyMonk, we constantly experiment with design ideas to keep students from quitting when the going gets tough. This is especially important to us as we keep adding challenging problems for our students to solve.

We have found that we can keep our users motivated to continue solving problems on RubyMonk by providing them with instant feedback on the smallest piece of code that they get right. Even if the code that the students has entered does not work in its entirety, the student will be able to see what parts of the code he or she got right. Being able to receive such feedback simplifies the process of learning programming and helps in keeping students from getting frustrated and dropping off.

Tunneling Technology: Guided Persuasion

A piece of feedback that we commonly get from our users is that they could not stop learning Ruby once they got started on RubyMonk. We owe this experience to the application of tunneling technology to the product’s interface design. As described in Fogg’s book, “Using tunneling technology is like a roller coaster at an amusement park; once you board the ride, you are committed to experiencing every twist and turn along the way”.

With RubyMonk, the student is guided through lessons and exercises that gradually progress in difficulty within a content area, pulling them through to completion. This experience of navigating through lessons, chapters and problems gets the student hooked on learning.

Tailoring Technology: Persuasion through Customization

Tailoring technology provides information relevant to individuals for changing their attitudes and behaviors. Here’s an example from Fogg’s book: “A word processing application might suggest that you increase your working vocabulary by learning a word each day (the program has noticed that you use a relatively small set of words). You might be more motivated to follow up on this suggestion if the application provided tailored information showing the limited range of your working vocabulary, as well as a comparison chart that shows that you are well below the vocabulary level of others in your profession.”

The “education status” of a student displayed in RubyMonk is another example of the application of persuasion through tailoring. This feature provides a snapshot of the student’s status against each of the books offered in the product. The student is urged to improve his status by continuing with the lessons and attempting unsolved problems.

Being aware of their education status motivates students to keep improving, and ultimately achieve a zero-unsolved-problems status. The obsession to reach that 100% mark is a powerful tool to motivate students to make progress.

Suggestion Technology: Intervening at the Right Time

RubyMonk applies suggestion technology—“an interactive computing product that suggests a behavior at the most opportune moment”—by suggesting that students who complete their first set of lessons share their experience with the RubyMonk product team. As soon as a student reaches 100% of the first book, the interface pops up a compose email window with the title “I’m awesome” that is addressed to the RubyMonk product team. This makes it really easy for students to share their experience with the product team, and provides the team with feedback that goes into improving the learning experience.

The product also suggests students share content from the site on Twitter. If a student is tickled by something about Ruby language that they find on RubyMonk, there is a trigger to tweet. In the example below, if the student sees something that is just too cool, the “share this on Twitter” button creates a witty little tweet for the user’s followers.

Self-Monitoring Technology: Taking the Tedium out of Tracking

Allowing students to monitor their own progress often influences them to achieve a predetermined goal. The suggestion experiences described in the previous section also help students keep track of their progress. RubyMonk also helps students monitor their progress by showing an indicator against the list of chapters and lessons.

These tools “allow people to monitor themselves to modify their attitudes or behaviors to achieve a predetermined goal or outcome” as Fogg describes it. “The goal is to eliminate the tedium of measuring performance or tracking status. This makes it easier for people to know how well they are performing against target behavior, increasing the likelihood that they will continue to produce the behavior.”

Conclusion

There is tremendous potential for using persuasive design tools and techniques in addressing a huge gap that exists today in the availability and accessibility of good education. At RubyMonk, we’re passionately committed to making online learning a fun and engaging experience. We will continue to research student behaviors to help us in the design of the user interface. If you have suggestions or experiences you want to share with us, we’d love to hear from you.

About the Author(s)

Anu Ramaswamy has over 15 years of experience in interaction design, user research, product management and delivery management of software products for startups and enterprises. She is committed to creating product designs based on customer insights, and considers bringing empathetic product to market as the most important part of the design process.

Aakash has been into software engineering trenches for more than seven years. RubyMonk is his second company, where he is the product manager. He started taking a research driven approach to user experience design after experiencing its merits first hand, while designing the first release of the product.