A customized Internet access client user interface is described. A template defines
the basic layout of the user interface, and is typically stored at the local device
and changed only for a major user interface upgrade. The template has various slots
designated for receiving program components, which are made up of program objects
and corresponding program resources. Each time a local device establishes a session
with the server, the server sends the program objects and resources to the local
device with rules assigning the components to appropriate slots within the template.
Both the program objects and the corresponding program resources are selected by
the server based in part upon profile data associated with the local device or
with individual user's of the local device. Some profile data is supplied by the
user, and may include user preferences, demographics, and other personal data.
Other profile data is derived from statistics gathered by the client application
regarding the user's use of the client application. The profile data can be updated
at the beginning of each session, or during, or at the end of the session. By selecting
the program objects and resources based in part upon the profile data which the
client application can supply each time an Internet session is established, the
program objects and resources may be customized for each session of each independent
local device connecting to the server.