1. Field of the Invention
The present invention generally relates to software usage and, more specifically, to manual and automatic techniques for finding similar users.
2. Description of the Related Art
A wide variety of software applications are currently available to users, including computer-aided design (CAD) applications, computer graphics applications, animation applications, word processing applications, and computer programming applications, among others. Many of these software applications are provided with a “help” database that provides a user with information related to the usage of the software application. For example, a help database associated with a CAD application may include a tutorial that teaches a user how to construct a simple geometrical shape.
A conventional help database allows a user to search for different help topics by inputting one or more keywords into a query window. Search software searches the help database based on the one or more keywords and returns a list of topics to the user. The user may then view articles associated with each returned topic. For example, the user of the CAD application may search for “shapes” and be provided with a list of topics that includes “drawing triangles,” “drawing squares,” and so forth. Some types of help databases may also automatically provide a user with a list of topics based on an action of the user. Each topic provided by the help database may be associated with an article related to a particular feature of the software application and may thus provide the user with information that enables the user to learn to use that feature of the software application. However, conventional help databases are typically limited in scope and content and may not include information helpful to the user. Additionally, conventional help databases may not always provide a user with relevant or useful information. For example, a conventional database may automatically provide a user with a particular set of help files every time the user performs a certain action. However, the user may perform the action while performing a variety of different tasks. The set of help files provided by the help database may thus be largely irrelevant and unhelpful to the user.
In other prior art approaches to providing help information to a user, the user may access an online forum related to usage of the software application in order to gain information that cannot be found in the help database. The online forum allows participants to communicate with one another by enabling different users of the software application to ask each other questions about the software application, exchange advice, or download data related to the software application, among other things.
A problem with online forums is that participants in the online forum may have vastly different levels of experience using the software application. Accordingly, the participants may not always be able to provide useful advice to other participants and may not be able to obtain the information that they are seeking via the online forum. In order to overcome these issues, an administrator of the online forum may organize the online forum into different groups based on skill level. A user may then join a group that includes others that have an equivalent skill level to the user. However, different users may judge their own skill levels differently, and so a user may join a group that is not appropriate for their skill level. For example, a “novice” user of the software application may overestimate their skill level and place themselves in the “expert” user group. The novice user would very likely fail to gather any useful information from the expert group and, additionally, may not be able to provide any of the “experts” in the expert group with any useful information or advice. Alternatively, a particular user may have expert level experience with a different aspect of the software application than other “expert” users in the same group as the user.
In addition, the online forum may be organized into groups of users with different areas of expertise. A user may then join a group that includes members with a particular area of expertise. However, different users with similar areas of expertise may use the software application differently. For example, a piping design expert may place themselves into a “CAD users” group that only includes professional architects.
As the foregoing illustrates, there is a need in the art for a more effective way to provide users of a software application with information related to usage of the software application.