I have users that spend nearly all of their free time on my site. One recently asked me to ban them so they could kick the habit. I asked him what part of the site was addictive and he said, "Basically everything."
One of the key things, I think, is having lots of little things to do that you can get immediate feedback from. e.g. Check the forum for new replies, rate new content, see what kind of response their content is getting, etc.
Having strict moderation keeps the general quality high, which means it's usually worth checking back to see what's new. There are also multiple tracks of achievement, like hitting 500 comments, etc. so there is always a new badge within striking distance.
You don't even need to have permanent badges. I have a list on the front page of the people who have submitted the most ratings that day. You don't get anything from being on the list, but people try to get to the top anyway. People like seeing their own names.
Having a friendly community is also a big help, since it means that other users are a direct source of positive feedback. That's a bit harder to develop, though.
- WOW: experience
- T61: karma for hearting songs you like
- Every forum ever: titles for number of posts
- HN: karma for comments / submissions others like
- StackOverflow: practically everything
Last summer, I had the privilege of attending a talk by Mark Pincus at Startup2Startup. One of the tips he gave that really resonated with me was to "gamify everything."
For example, if users have to enter information to make your service more usable, give them a progress bar. In general, let the user "grind" - give them small, repetitive, mindless actions that are easy to accomplish and give instant, positive feedback. Above all, make the experience simplistic enough that they know what to focus on but interesting enough that they don't leave.
Reputation systems that have an effect in a community can also make people come back. Just look at HackerNews ;)
- Set the difficulty level correctly. In an app, it should be ridiculously easy to do stuff. In a game, the challenge should be scaled appropriately so the game is neither boring nor frustrating, and so that players continue to develop and use new skills as the game goes on.
- data, stats, and awards. People like to see how many posts they've made, how much karma they've accumulated, how many songs they've listened to, or how many zombies they've killed. They like to be given titles or trophies for passing milestones.
- feedback from friends. Even better than getting that 10,000 zombie trophy or that new forum rank is getting congratulations from your friends on your accomplishment.
- tickle the senses. Pretty graphics or sounds make for a neat experience in games or certain social apps. (The game "Auditorium", at playauditorium.com, is fantastic for this!)
- replayability. The experience should remain fun time after time. In a game, the challenge should have some variability. In any app, the "rewards" -- karma, titles, pretty graphics, or what have you -- should update often enough that users are consistently reminded of them. For socially-focused sites, it should be easy for users to generate good content for each other so that each visit seems rewarding. (Example: Grandma finds it rewarding to see new pictures of my baby. Facebook makes it easy for me to upload new pictures, and easy for her to view them, so she gets new pictures fairly often. Therefore, Grandma is addicted.)
The single most important factor is one I'd take from gaming, a medium where addiction is a frequently sought-after element: Playability. Do things flow in a pleasing way? Do your actions feel like they have weight? Is the environment responsive? Do you feel like you can explore?
Strive for a "playable" UX and addictiveness will come naturally.
Supposedly, if the rewards are randomly reinforced, they will be more addictive. Ie., if the same action sometimes creates positive feedback and sometimes negative, people will keep coming back because they are looking forward to the positive ones and can't predict when they will happen.
I read an article on Gamasutra a long time ago about this kind of experiment with mice (sadly, my google-fu was weak.) The researchers compared how much effort mice would put into pushing a lever N times to get food vs. pushing a lever that had a 1/N chance of giving food. What they saw was that, if they had a fixed goal, their "motivation" would follow a seesaw pattern: right after they got their prize, they would ignore the lever for a while, but when they were a few pushs from getting food, they would go nuts on it. The random lever got constant attention at a higher average.
The author translated this to Diablo: the player has leveling up, which is a fixed, visible goal that the player can strive for, and random equipment drops, that keep him hooked even when other incentives are one or two hours away.
Another game to consider: Civilization. I know you all experienced the just-one-more-turn, why-are-birds-chirping-outside effect. It does it by interleaving minor and major goals in different areas, so you don't have motivation valleys, only peak after peak.
Download Peggle for Mac. You will find your owner, though I am unsure of it's relevancy. I guess the takeaway is offer instant visual gratification. Divvyshot does a great job with this in a more subtle manner.
Tell people exactly how to proceed to a next step.
At that next step, reward them beyond what they could have expected.
Accessibility, ease of use, satisfaction, and pleasing aesthetics.
I use Google Calendar instead of iCal because it's integrated with my browser through Google Toolbar. I can add add an event by highlighting some text and clicking in the toolbar twice. Bringing up my calendar takes one click.
1) Content needs to be an look interesting for the target audience.
2) Content needs to be fresh and look fresh.
3) Users need to be able to add and enrich the content, in natural way.
One of the key things, I think, is having lots of little things to do that you can get immediate feedback from. e.g. Check the forum for new replies, rate new content, see what kind of response their content is getting, etc.
Kathy Sierra has a great article on this kind of thing: http://headrush.typepad.com/creating_passionate_users/2005/0...
Having strict moderation keeps the general quality high, which means it's usually worth checking back to see what's new. There are also multiple tracks of achievement, like hitting 500 comments, etc. so there is always a new badge within striking distance.
You don't even need to have permanent badges. I have a list on the front page of the people who have submitted the most ratings that day. You don't get anything from being on the list, but people try to get to the top anyway. People like seeing their own names.
Having a friendly community is also a big help, since it means that other users are a direct source of positive feedback. That's a bit harder to develop, though.