Object based browsing suitable for use in applications

A method, system and computer program product for object based browsing suitable for use in various applications is provided. The method includes receiving one or more working lists. Thereafter, one or more rules corresponding to the one or more working lists are checked. One or more context menus for the one or more working lists are then dynamically generated based on the checking.

BACKGROUND

1. Technical Field

Embodiments of the invention relate generally to the field of browsing in applications and more particularly to a method, system, and computer program product for object based browsing suitable for use in the applications.

2. Prior Art

Various applications such as computer applications have a user interface to enable users to browse through these applications. The user interface aims to improve the efficiency, effectiveness, and naturalness of interaction between a user and an application. The design of the user interface affects the amount of effort the user needs to expend to provide input to the application and to interpret the output of the application. Therefore, efficient and easy to use user interfaces are required.

Currently, there are various user interfaces available. However, these user interfaces follow a command-oriented approach and require the user to follow a navigation sequence of the application. For example, to add an object to a workspace in the application and then to send a document to the object from the workspace, the user needs to search for the workspace and then use the wizard steps to add the object to the workspace. Further, the user needs to follow another set of steps to send the document to the object. The user is allowed to do only one operation at a time. Moreover, learning the navigation sequence of the application consumes time. The user has to be trained whenever a new feature is added to the application.

In light of the foregoing discussion, a method, system, and computer program product for efficient browsing is needed. Further, a browsing technique that does not require the user to learn navigation sequence of the application is needed. Moreover, addition of new features in the application should be easy without the need to train the user.

SUMMARY

An object of the invention is to provide efficient browsing in various applications.

Embodiments of the invention described herein provide a method, system, and computer program product for browsing in various applications. In an embodiment of the invention, the method includes checking one or more rules for one or more working lists. Thereafter, one or more context menus for the one or more working lists are dynamically generated based on the checking.

In another embodiment of the invention, a system for browsing in various applications is provided. The system includes a checking module for checking one or more rules for one or more working lists. A generating module is then used to dynamically generate one or more context menus for the one or more working lists based on the checking.

In yet another embodiment of the invention, a computer program product for browsing in various applications is provided. The computer program product includes a computer readable program code. The computer readable program code performs checking one or more rules for one or more working lists. Thereafter, one or more context menus for the one or more working lists are dynamically generated based on the checking.

The dynamic generation of the one or more context menus provides efficient browsing in the applications. Further, one or more users are not required to learn navigation sequences of the applications. Moreover, addition of new features in the one or more context menus does not require training the one or more users.

This summary is not intended to describe each embodiment of the invention. The Detailed description and Figures that follow provide additional aspects of embodiments of the invention.

DETAILED DESCRIPTION OF THE EMBODIMENTS

Various embodiments of the invention provide a method, system, and computer program product for object based browsing in various applications. The method includes receiving one or more working lists for one or more users. The one or more users select one or more objects, which constitute one or more working lists of the one or more users. Upon receipt of the one or more working lists, one or more rules for the one or more working lists are checked. One or more context menus corresponding to the one or more working lists are then dynamically generated based on the checking.

FIG. 1is a schematic representation of an environment100in which various embodiments of the invention may be practiced. Environment100includes one or more devices102and a server104. One or more devices102run applications and are connected to server104. Server104runs software providing access to data stored in a database.

Examples of one or more devices102include but are not limited to data processing units, computers, laptops, personal digital assistants (PDAs), and cell phones. Examples of server104include but are not limited to application servers and middleware business applications. Server104may be present on one or more devices102. Server104may support a data oriented servlet for providing data to one or more devices102.

Examples of the applications include but are not limited to business applications, web applications, collaboration suites, and enterprise applications. The applications running on one or more devices102include one or more user interfaces. The one or more user interfaces enable one or more users to browse through the applications. A system includes various modules for efficient browsing through the applications. The system including these modules has been explained in details in conjunction withFIG. 2.

FIG. 2is a schematic representation of a system200for object based browsing in applications in accordance with an embodiment of the invention. System200includes a type module202, a subscription module204, a checking module206, including a mapping module208, a generating module210and a user interface module212. Type module202determines types of one or more objects. Subscription module204then provides one or more subscriptions for the one or more objects. The one or more objects constitute one or more working lists. Checking module206checks one or more rules for the one or more working lists. Mapping module208maps the one or more subscriptions of the one or more objects. Generating module210then dynamically generates one or more context menus for the one or more working lists based on the checking. User interface module212then provides one or more user interfaces for displaying the one or more context menus.

Examples of the one or more objects include but are not limited to calendar entries, users, groups, documents and emails. Examples of the types of the one or more objects include but are not limited to user types, document types, meeting types, email types, service types and workspace types.

In an embodiment of the invention, the working list may include the one or more objects along with the types of the one or more objects. For example, an administrator selects two service requests SR1and SR2, and two users U1and U2for assigning SR1and SR2then the working list of the administrator may include two service type objects SR1and SR2, and two user type objects U1and U2.

In an embodiment of the invention, subscription module204provides the one or more subscriptions for the one or more objects based on one or more login details. The one or more login details are received when the one or more users login to the applications running on one or more devices102. For example, if an object that is selected is a user and login details are of an administrator then subscription for the user may include “add the user” and “delete the user”, while if the login details are of a normal user then the subscription for the user may include “send a request to the administrator to add the user” and “send a request to the administrator to delete the user”.

In an embodiment of the invention, the one or more rules may be defined by the one or more users. The one or more rules defined by the one or more users may then be saved for future use. In another embodiment of the invention, the one or more rules may be predefined. For example, if a working list includes three object types Oa, Ob and Oc then an exemplary rule R may be Oa (1), Ob (>2), and Oc (0|1)=>M. Rule R may be read as if one instance of type Oa, greater than two instances of type Ob and zero or one instance of type Oc is present then include operation M in context menu for the working list.

In an embodiment of the invention, the one or more rules may be a sequence of the one or more objects with cardinality.

In an embodiment of the invention, the one or more objects may be identical with respect to their capabilities to participate in an operation.

In an embodiment of the invention, the one or more context menus may include one or more operations. Examples of the one or more operations include but are not limited to “add user to a workspace”, “send a document to the user” and “remove the document from the workspace”.

Examples of the one or more user interfaces include but are not limited to pull down menus, drop down menus, menu of commands, menu of options, display screens, keyboard shortcuts, illuminated characters, and help messages. In an embodiment of the invention, the one or more user interfaces may be customized based on preferences of the one or more users.

System200described above may include a greater or a fewer number of modules than those included inFIG. 2. An exemplary representation of the one or more user interfaces has been explained in details in conjunction withFIG. 3.

FIG. 3is an exemplary representation of one or more user interfaces in accordance with an embodiment of the invention.FIG. 3includes a plurality of tables including a table302and a table302b, and one or more user interfaces including a user interface304a, a user interface304band a user interface304c. Table302aand table302binclude one or more objects. One or more users select one or more objects to create one or more working lists. One or more user interfaces display one or more working lists, for example, user interface304bdisplays a working list including S. No. 3 and RV, and one or more context menus, for example, user interface304cdisplays send mail menu. User interface304cis provided when a user clicks on “ASSIGN S. No. 3 to USER” of user interface304b.

In an embodiment of the invention, user interface304a, user interface304band user interface304cmay be provided automatically. In another embodiment of the invention, user interface304a, user interface304band user interface304cmay be provided based on inputs from the one or more users.

FIG. 4is a flowchart illustrating a method for object based browsing in applications in accordance with an embodiment of the invention. One or more devices, for example, one or more devices102, include one or more applications running on them. One or more users working on the one or more devices select one or more objects. In an embodiment of the invention, before selecting the one or more objects, the one or more users may input their login details. The one or more objects constitute one or more working lists for the one or more users. At step402, the one or more working lists are received. Thereafter at step404, types of the one or more objects of the one or more working lists are determined.

At step406, one or more subscriptions of the one or more objects are then provided. In an embodiment of the invention, the one or more subscriptions are provided based on the login details of the one or more users.

In an embodiment of the invention, at step408, the one or more subscriptions of the one or more objects may then be mapped to find all the possible combinations formed by the subscriptions. For example, if a working list includes six objects OU1, OU2, OW, OD1and OD2, OM with OU1and OU2being user type objects (OU), OW being a workspace type object (OW), OD1and OD2being document type objects (OD), and OM being a meeting type object (OM), then subscriptions for OU may include add the user object, delete the user object, and rename the user object. The subscriptions for the OW may include add to the workspace and remove from the workspace. The subscriptions for the OD may include send the document, edit the document and remove the document. The subscriptions for the OM may include send meeting request. The mapping may then result in the possible combinations including add users to the workspace, send the documents to the users, send meeting request to the users, remove the documents from the workspace, remove the users from the workspace, and the like.

In an embodiment of the invention, the one or more subscriptions may be mapped by using Extensible Markup Language (XML).

In an embodiment of the invention, at step410, one or more rules for the one or more working lists are checked. The one or more rules are checked to include one or more operations in one or more context menus. For example, an exemplary rule R1may be OU (>=2), OW (1), OD (>1) and OM (>=1)=>M1. Rule R1may be read as if at least two instances of type OU, one instance of type OW, at least two instances of object O3, and at least one instance of OM are present then include operation M1in context menu for the working list.

At step412, the one or more context menus for the one or more working lists are dynamically generated based on the checking of the one or more rules. In an embodiment of the invention, the one or more context menus may include list of all allowed one or more operations that may be performed with the one or more objects included in the one or more working lists. In another embodiment of the invention, the number of allowed one or more operations to be included in the one or more context menus may be defined based on preferences of the one or more users. In yet another embodiment of the invention, the number of allowed one or more operations to be included in the one or more context menus may be predefined.

In an embodiment of the invention, the allowed one or more operations included in the one or more context menus may be computed on a server, for example, server104. In another embodiment of the invention, the allowed one or more operations included in the one or more context menus may be computed on the one or more devices by using Javascript, ActiveX, and the like. In yet another embodiment of the invention, the allowed one or more operations included in the one or more context menus may be computed partially on the server and partially on the one or more devices.

In an embodiment of the invention, at step414one or more user interfaces may be provided to display the one or more context menus. In an embodiment of the invention, the one or more user interfaces may be provided at any point of time by using a special control, for example, Control+Y.

In an embodiment of the invention, the one or more user interfaces may include special controls, for example, Control+X, to edit the one or more working lists.

In an embodiment of the invention, the one or more users then select the one or more operations from the one or more context menus. Thereafter at step416, the one or more operations are performed. In an embodiment of the invention, the one or more operations may be performed simultaneously.

In an embodiment of the invention, the one or more operations may be performed on a server side.

The method described above is explained with the help of the following example. An administrator, hereinafter referred to as an admin user, logins to an application and views a list of service requests. The admin user then selects one or more service requests, such as, SR1, SR2, SR3, and SR4based on their priorities. A table including a list of users is then displayed. The admin user then selects the users, such as, U1and U2, for assigning the service requests. The admin user may also select one document D1. SR1, SR2, SR3, SR4, D1, U1, and U2constitute a working list of the admin user. When admin user selects the objects, the types of objects are determined. The subscriptions of the service request type object and user type object, which are accessible to the admin user, based on the login details are then provided. The one or more subscriptions are then mapped to find all possible combinations. Further, one or more rules associated with the working list are also checked. The one or more rules that are checked may be defined by the admin user or they may be predefined. All or some of the possible combinations of the subscriptions are then displayed as context menus through various user interfaces. The context menus include a list of the possible operations that the admin user may perform using the working list.

In an embodiment of the invention, when the admin user selects U1then a context menu including operation T1=“ASSIGN any one service request”, operation T2=“ASSIGN any two service requests” and operation T3=“Send D1” may be displayed. The admin user may then select the operation T2and any two service requests, SR1and SR2may get assigned to U1. Further, a server may then start performing the operation T2and completing the service requests. The admin user may simultaneously also select the operation T3which may then be performed simultaneously with the operation T2by the server.

In an embodiment of the invention, when the admin user after selecting the operation T2selects U2then another context menu including operation T4=“ASSIGN SR3”, T5=“ASSIGN SR4” and T6=“ASSIGN SR3and SR4” may be generated. The admin user may then select the operation T4. The server then starts performing the operation T4simultaneously with the operation T2and the operation T3.

In an embodiment of the invention, when the operations T2, T3and T4are being performed the admin user may select one more user U3. The working list of the admin user may now include SR4, U1, U2, U3and D1. Yet another context menu including operation T7=“ASSIGN SR4” and operation T8=“Send D1” may then be displayed. The admin user may then select the operation T8to send D1to U3.

In an embodiment of the inventions, the user interfaces including the context menus may be displayed automatically or the admin user may use a special control, such as Control+Y, to view them at any point of time. The working list may also be edited by the admin user by using another special control at any point of time.

The method described above includes different steps involved in object based browsing in the applications. The method may include a greater or a fewer number of steps than those included inFIG. 4.

In an embodiment of the invention, the method described inFIG. 4may be implemented using a computer program product. Examples of the computer program product include but are not limited to memory devices, tapes, disks, cassettes, integrated circuits, servers, online softwares, download links, installation links, and online links.

The dynamic generation of the one or more context menus provides efficient object based browsing in the applications. The one or more user interfaces allows the one or more users to view the context menus at any point of time and perform one or more operations. Further, the one or more users are not required to learn navigation sequences of the applications as the one or more context menus are generated based on selection of the one or more objects. Moreover, addition of new features in the one or more context menus does not require training the one or more users.

The foregoing description sets forth numerous specific details to convey a thorough understanding of the invention. However, it will be apparent to one skilled in the art that the invention may be practiced without these specific details. Well-known features are sometimes not described in detail in order to avoid obscuring the invention. Other variations and embodiments are possible in light of above teachings, and it is thus intended that the scope of invention not be limited by this Detailed Description, but only by the following Claims.