In previous versions of ASP.NET, giving the users the ability to modify their own profiles and storing those profiles in a back-end database was a commonly required activity. It was also tedious and increased the time to market for virtually any product that required it. Developers often created their own reusable user profile APIs and databases to ease the pain of this task. With ASP.NET 2.0, the task of storing and retrieving user profile data is handled automatically, and adding profile properties is as simple as modifying the Web.config file.
The notion of creating themes and skins was often left for the most advanced sites because it required a lot of extra code and often made pages more difficult to read and maintain. With ASP.NET 2.0, theme and skin support is built into every application with very little overhead in a modular, easy-to-use fashion.
Combining the power of user profiles with themes and skins allows the users to choose the way the site looks and feels, giving them control and flexibility over the site and allowing them to feel that they have the ability to customize their own experience.
The next chapter, "Introduction to Web Parts," will take the user's ability to customize his own experience to the next level and uses the application services database discussed in this chapter.