Many computer users enjoy using the Internet as a platform for social networking. Personal Internet services, implemented in software, allow users to access relationships, information, and interests through a web space. In general, a user creates and customizes his or her web space with content personal to the user. For example, a user may create a web log, or “blog” (a series of entries written in chronological order and displayed in reverse chronological order) to express thoughts or ideas; create lists of favorite songs, books, web spaces or movies; keep up with friends and family; meet new people; publish photos online through the web space; and the like. Additionally, some web spaces interface with instant messaging utilities (a form of real-time communication between two or more people based on typed text) and other utilities that allow a visitor to the web space to interact with the web space (i.e., sign a guest book or leave comments).
Embodiments of the invention overcome one or more vulnerabilities associated with navigating a web space. Aspects of the invention identify a type of user accessing the web space and determine a control setting of the web space. A navigation bar in connection with the web space is generated based on the type of user and the control setting of the web space and includes one or more controls for navigating the web space. A client accessing the web space receives and renders the generated navigation bar. The navigation bar is responsive to an input device of the client and accepts a selection of at least one of the controls from the navigation bar via the input device. The selected control navigates to a predetermined portion of the web space. The navigation bar provides a uniform experience for both users and visitors to the web space even though the controls with the navigation bar are customizable.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Other features will be in part apparent and in part pointed out hereinafter.
Corresponding reference characters indicate corresponding parts throughout the drawings.
Referring now to the drawings, aspects of the invention implement a navigation model for use with a personal web site, i.e., a “space.” Through a web space, a user can publish text, photos, and other information for sharing and interacting with others. Because web spaces are, by their very nature, shared with others, the ability to easily navigate a web space is important.
Additionally, the server 102 determines a control setting 108 of web space 104. In an embodiment, the control setting 108 is specified by an owner of web space 104 and the control setting 108 specifies a format of the web space 104. In an embodiment, the control setting 108 indicates a preference of the owner of web space 104 regarding permissions or formatting. For example, the control setting 108 may indicate that visitors to the web space 104 may leave comments or sign a guest book. In another example, control setting 108 specifies that a music list appears in the web space 104 in a green font.
The server 102 generates a navigation bar 110 in connection with the web space 104 based on the type of user and the control setting 108 of web space 104. The navigation bar 110 includes one or more controls for navigating the web space 104. For example, the navigation bar 110 is contextually based on who accesses the web space (visitor or owner) and the control setting of the page. Alternatively, the navigation bar 110 is contextually based on the owner's market (e.g., geographic location) or based on the login status of the user (e.g., signed in or signed out).
For example, a visitor may access one or more controls for photo sharing if the web space 104 of the owner includes photos. Furthermore, the control is configurable according to context. For example, the visitor to the web space 104 has the option of viewing the posted photos in a large photo viewer or a small photo viewer, but the visitor is not permitted to add photos to the owner's web space 104. Thus, only controls for viewing photos are included in the visitor's navigation bar 110. On the other hand, the owner of web space 104 can add photos to his or her own web space 104. Thus, the owner's navigation bar 100 includes a control for adding photos in the navigation bar 110.
In another embodiment, the navigation bar 110 includes controls for one or more of the following if the user is the owner of the web space 104: adding content to web space 104, deleting content to web space 104, updating content to web space 104, and formatting content to web space 104. Alternatively, if the user is the visitor to the web space 104, the navigation bar 110 includes controls for one or more of the following: adding feedback to the web space 104, signing a guestbook of the web space 104, and displaying content of the web space 104. These various controls may be in addition to or instead of the controls described above. Those skilled in the art will appreciate that the list of controls described herein is not exhaustive as other controls are contemplated according to the context in which the web space is being used.
In another embodiment, the navigation bar 110 includes one or more of the following sections: a secondary navigation section between web space 104 modules; a tertiary navigation section within a web space 104 module; a utility section for tools and customization of the web space 104; and a help section for help pages for the web space 104.
The sections of navigation bar 110 are rendered on the client 106 in the order in which they are added to the navigation bar 110. Alternatively, the navigation bar 110 comprises a secondary navigation section including a default set of navigation links 202 for navigating the web space 104.
Referring again to
The client 106 receives, via the data communication network, the navigation bar 110 generated by the server 102. And the navigation bar 110 is responsive to an input device of the client 106. Those skilled in the art are familiar with numerous method of entering user input. For example, the user may enter commands and information into client 106 through input devices or user interface selection devices such as a keyboard and a pointing device (e.g., a mouse, trackball, pen, or touch pad). Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like. A monitor or other type of display device is also connected to the client 106 via an interface, such as a video interface. In addition to the monitor, computers often include other peripheral output devices such as a printer and speakers, which may be connected through an output peripheral interface.
The client 106 accepts a selection of at least one of the controls from the navigation bar 110 by the user via the input device of the client 106. The selected control navigates to a predetermined portion of the web space 104. In an embodiment, the navigation bar 110 is implemented in one or more of the following: HTML (Hypertext Markup Language) and CSS (Cascading Style Sheets).
Referring again to
While described above in the context of web space 104, aspects of the navigation bar 110 are useful in navigating other types of sites such as an email site, an event site, and a group site. Furthermore, the navigation bar 110 in one embodiment in configured to pivot (or change) based on site type. The navigation bar 110 is dynamically updated to display a status.
At 404, the client 106 renders navigation bar 110 in connection with web space 104 accessed at client 106. The navigation bar 110 is generated by server 102 based on an identified type of user accessing the web space 104 and a determined control setting 108 of web space 104. In an embodiment, the type of user includes one or more of the following: an owner of the web space 104 and a visitor to the web space 104.
The navigation bar 110 includes one or more navigation links 202 for navigating the web space 104 in response to user input. At 406, the user selects at least one navigation link 202 from the navigation bar 110 via user input received at the client 106. And at 408, the client 106 sends information representative of the selected navigation link 202 to server 102 via the data communication network. The server 102 executes a control to generate the view of web space 104 based on the selected navigation link 202. In an embodiment, the navigation links 202 are constructed from a prioritized list of services, which are compared against the services present on the current web space 104.
At 410, the client 106 receives a view of web space 104 from the server 102. And. at 412, the client renders the received view of web space 104 to the user on the client 106. In an embodiment, the process repeats steps 404-412 until the user navigates away from the web space 104.
Although described in connection with an exemplary computing system environment, including client 106, embodiments of the invention are operational with numerous other general purpose or special purpose computing system environments or configurations. The computing system environment is not intended to suggest any limitation as to the scope of use or functionality of any aspect of the invention. Moreover, the computing system environment should not be interpreted as having any dependency or requirement relating to any one or combination of components illustrated in the exemplary operating environment. Examples of well known computing systems, environments, and/or configurations that may be suitable for use with aspects of the invention include, but are not limited to, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, and the like.
At 504, the server determines a control setting 108 of the web space 104. And. at 506, the server generates a navigation bar 110 based on the type of user and the control setting 108 of the web space 104. The navigation bar 110 includes one or more navigation links 202 for navigating the web space 104.
At 508, the server 102 sends the navigation bar 110 to the client 106 via the data communication network. The client 106 renders the received navigation bar 110 in connection with the web space 104 and the navigation bar 110 is responsive to user input received at the client 106.
At 510, the server 102 receives a selection of at least one navigation link 202 from client 106. The navigation link 202 is selected from the navigation bar 110 by a user via user input at the client 106. At 512, the server 102 executes a control for generating a view of the web space 104 based on the received selection. And at 514, the server 102 sends the generated view of the web space 104 to the client 106 for rendering to the user. In an embodiment, steps 502-514 repeat until the client navigates away from the web space 104.
In another embodiment, the server 102 a script in response to the received selection and sending the initialized script to the client 106 for execution. The execution of the script causes the generated view of the web space 104 to be rendered on the client 106.
Referring again to
Communication media typically embody computer readable instructions, data structures, program modules, or other data in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media. Those skilled in the art are familiar with the modulated data signal, which has one or more of its characteristics set or changed in such a manner as to encode information in the signal. Wired media, such as a wired network or direct-wired connection, and wireless media, such as acoustic, RF, infrared, and other wireless media, are examples of communication media. Combinations of any of the above are also included within the scope of computer readable media.
Embodiments of the invention may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Aspects of the invention may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
In operation, computer (e.g., server 102, client 106) executes computer-executable instructions such as those illustrated in the figures to implement aspects of the invention.
The order of execution or performance of the operations in embodiments of the invention illustrated and described herein is not essential, unless otherwise specified. That is, the operations may be performed in any order, unless otherwise specified, and embodiments of the invention may include additional or fewer operations than those disclosed herein. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the invention.
Embodiments of the invention may be implemented with computer-executable instructions. The computer-executable instructions may be organized into one or more computer-executable components or modules. Aspects of the invention may be implemented with any number and organization of such components or modules. For example, aspects of the invention are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other embodiments of the invention may include different computer-executable instructions or components having more or less functionality than illustrated and described herein.
When introducing elements of aspects of the invention or the embodiments thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements.
Having described aspects of the invention in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects of the invention as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of aspects of the invention, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.