Put very simply, there are three major reasons that people will visit your website, stay engaged with it for a long period of time, talk about it to their friends, and return for another visit. It is worth noting that under ideal circumstances all three of these aspects should be present and balanced in a site.

The site contains interesting, relevant information; it is rewarding or fun.
Well-made interesting content is the primary reason that people come to sites. There are sites that are simply massive, canonical collections of valuable information created by one person loosely linked together, along with “Web 2.0” sites (such as Metafilter, flickr, and reddit) in which the value is created through user-generated content.

It is important to note that this content should be updated regularly (ideally, at least once a day) and richly linked, to drive visitors deeper into the site and cause them to stay. A site that contains static, unchanging information can still be popular, but the information must be particularly valuable and unique.

The site offers a sense of community.
Most people love to talk about themselves; most people love to talk to each other. A site that allows discussion or organization around a shared topic, interest or theme attracts people.
The site is dynamic.
“Dynamism” is a broad term, with many possible interpretations, but essentially it means that the content of the site should change over time. Obviously, adding fresh new content is a big part of this (and the reason why placing dates on some content is important: if a user sees that a site has interesting content that is regularly updated, they are more likely to return in future), and user-generated content in the form of comments or posts are a part as well, but it may also include features like the following:
  • The appearance or theme changes over time: somewhat subtly, with the season, like this blog, or from hour to hour or day to day.
  • New random or related content is shown to the user with each visit. A good example is Amazon, which shows recommendations of books that are different each time.
  • The site is personalized. Again, Amazon does this with recommended books for you, but personalization could also be showing you content based on your geographical location, or how long it has been since your last visit.

    RSS feeds from different sites or services, aggregating content together, is a cheap and effective method of creating dynamism.

Aside from HTML and CSS, the technologies used to accomplish these goals are largely arbitrary: JavaScript, and are the most popular tools, and therefore are the ones we will be concentrating on. As with most things, it is the principles that are truly important.

Enjoy this piece? I invite you to follow me at twitter.com/dudleystorey to learn more.