BF on CF
It's All Very Personal
It's All Very Personal
Apr. 26, 2000 12:00 AM
Personalization is the hottest trend in Web application development and for CF developers implementing basic personalization isn't difficult at all. In this month's column I'd like to explain what personalization is, why you should implement it and how to go about doing so.
Why Personalize?
To understand why personalization is so important, let me throw some statistics at you:
By January 1998 2.5 million domain names had been registered worldwide, a total that more than doubled to 6 million by January 1999, and then more than doubled again to over 13 million by January 2000.
By the end of 1998 there were over 800 million pages available on the public Internet - more than double the number that was available one year earlier.
Contrary to popular belief, the Web is not used primarily for entertainment; in fact, 83% of Web sites are business related.
There are an estimated 25,000 megasites - category-killer Web sites that attract most of the traffic and users.
What all this means is that sticking out from the crowd is becoming very difficult. But attracting an audience is only part of the problem; a bigger problem is keeping the users you worked so hard to attract. There is little loyalty on the Web. Users switch search engines and online stores all the time, primarily because it's so easy to do so. And that's dangerous: after all, the key to a successful Web site is traffic - in particular, repeat traffic.
So how do you retain users? The answer is to make their experience such a memorable and important one that your site becomes an integral part of their online life - something they can't live without (or at least don't want to). And that's where personalization comes in.
What Is Personalization?
As the word suggests, personalization is a mechanism by which users' online experience can be customized and tailored specifically to their personal needs. It allows you to provide users with an online experience that's uniquely theirs. In this way you can ensure they derive real value from their visit, a value proposition that translates into repeat visits.
Personalization is used in many ways (you've probably used it yourself without paying much attention to it):
Portal sites allow you to specify what type of news interests you.
E-commerce sites track buying patterns and make recommendations based on them.
Financial sites let you track your own portfolio.
Travel and weather sites let you specify your location so as to provide useful information.
The common thread in these examples is that the same site looks and behaves differently based on who's looking at it. That's personalization.
Explicit Personalization
The simplest form of personalization is explicit personalization. This usually involves prompting users for what they want to see or know. Typically, users create a profile of themselves by filling in a questionnaire of some kind that lists all available options. (Users also expect to be able to update those selections subsequently as needed). The profile is stored in a database and can be subsequently used to filter generated pages.
This form of personalization works well for:
Areas of interest (for example, products or services)
Color, menu and interface customization
Language and locale customization (just over 50% of the estimated global online population is English-speaking; Japanese, Spanish, Chinese and German each account for over 5% of the non-English-speaking population).
Explicit personalization is highly accurate. After all, users state what they want and they get it. It's also easily implemented (you could use simple databases and ColdFusion queries), easily updated and maintained, and is very inexpensive (no special software needed).
It's also terribly unintelligent. Users will see only what they selected and not what they might be interested in (even though they were unaware of it).
Implicit Personalization
Implicit personalization happens without users even being aware of it. They go about their business as usual - meantime, their activities are tracked in the background. Exactly what's tracked, and at what level of granularity, is up to you. You might decide to track only actual purchases or you might also want to track products looked at but not purchased. You determine what information is valuable and what that value is. Once collected, the data is stored in a database and special software can use it to perform analysis and return results.
This form of personalization works well for:
Suggestions and recommendations (the "you liked book A: 9,000 other people who liked that book also liked book B, so you might like it too" model)
Predictions of which products and services will be popular and which ones won't
Targeted advertising campaigns
Implicit personalization is inherently inaccurate, although statistically the accuracy improves as the volume of collected data grows. Obviously, if you only have data on a dozen users you have a margin of error far greater than if you had data on hundreds of thousands (or millions) of users. It's also highly intelligent, and presents incredible opportunities that would be impossible without it.
The big downside is cost. You'll need to buy special software to perform the analysis and make suggestions and predictions. There are several vendors with offerings in this space (and no, I am not going to make any recommendations) - none of which are cheap. Nor is writing the code that interacts with it.
Summary
It's a big Web out there...and it keeps getting bigger. To survive and thrive, you need to keep your users happy. Personalization can help foster customer loyalty, which in turn translates into happy users, which in turn translates into repeat users.
Explicit personalization is easy, so start there. Implicit personalization is more complex and expensive but (for the right site) is well worth the investment. And ColdFusion can be used for both. (Spectra users are luckier as Spectra comes with the building blocks for implementing personalization right out of the box.)
The bottom line is: personalization is here, it's hot, and it's changing users' expectations. Don't fight it, give it a try - and let your users take it all very personally.
About Ben FortaBen Forta is Adobe's Senior Technical Evangelist. In that capacity he spends a considerable amount of time talking and writing about Adobe products (with an emphasis on ColdFusion and Flex), and providing feedback to help shape the future direction of the products. By the way, if you are not yet a ColdFusion user, you should be. It is an incredible product, and is truly deserving of all the praise it has been receiving. In a prior life he was a ColdFusion customer (he wrote one of the first large high visibility web sites using the product) and was so impressed he ended up working for the company that created it (Allaire). Ben is also the author of books on ColdFusion, SQL, Windows 2000, JSP, WAP, Regular Expressions, and more. Before joining Adobe (well, Allaire actually, and then Macromedia and Allaire merged, and then Adobe bought Macromedia) he helped found a company called Car.com which provides automotive services (buy a car, sell a car, etc) over the Web. Car.com (including Stoneage) is one of the largest automotive web sites out there, was written entirely in ColdFusion, and is now owned by Auto-By-Tel.