One of the major new features of ASP.NET 2.0 is Web Parts, which are controls and islands of content that users can move around the page and place where they prefer, enabling users to build a page according to their interests and tastes. Web Parts can be dynamically added and removed by users, customized, closed, minimized, and restored, so that pages can be fully personalized. In this chapter, you'll see how to extend the current site with the addition of new home page customization options thanks to ASP.NET 2.0 Web Parts.
So far you've built a pretty complete web site with membership, content management system, and e-commerce features. You've also added a few personalization features, such as theme selection and the highlighting of events located in the user's city, state, or country. These personalizations are related to appearance — the way that content is presented to the user. Sites such as Windows Live, My MSN, and My Yahoo push this idea further, enabling users to personalize their pages by choosing the actual content they want to have on the page, together with its position and appearance. By default, the home page may contain the weather forecasts on the top, the economics news on the bottom-left corner, and the currency/stock exchange values on the bottom-right corner. However, a user interested in both economics and technology may prefer to move the economics news to the top, and add a new content box on the home page just below that, with technology news; the stock exchange box may be shifted to the bottom-left corner, with the weather forecasts on the bottom-right corner. Another user may not be interested at all in weather forecasts, and may prefer to have that box of content hidden, so that the page results are cleaner and easier to read, with less distractions, and are quicker to load. These are just a few examples of how users can greatly improve their own user experience by having their favorite content at their fingertips, in the place they find most appropriate and easiest to view.
Many portal frameworks, such as Microsoft's Windows SharePoint Services and the open-source DotNetNuke project, enable you to create sites with support and home page personalization, by means of Web Parts. In this chapter, we want to add the same feature to TheBeerHouse site because, besides making it a much cooler site, it's another reason for users to register (because personalization is only available to authenticated users) and provide their personal details (which are precious for marketing purposes). If your users find a place that can be tailor-made on a per-user basis, according to their needs, they'll recognize the advantages of the site and want to visit frequently.