US20120331393A1 - Method and system for providing themes for software applications - Google Patents
Method and system for providing themes for software applications Download PDFInfo
- Publication number
- US20120331393A1 US20120331393A1 US13/606,653 US201213606653A US2012331393A1 US 20120331393 A1 US20120331393 A1 US 20120331393A1 US 201213606653 A US201213606653 A US 201213606653A US 2012331393 A1 US2012331393 A1 US 2012331393A1
- Authority
- US
- United States
- Prior art keywords
- theme
- user
- navigation
- data
- selection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004590 computer program Methods 0.000 claims description 20
- 230000008520 organization Effects 0.000 claims description 11
- 238000010586 diagram Methods 0.000 description 8
- 238000001914 filtration Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 4
- 230000036962 time dependent Effects 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000009118 appropriate response Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q10/06311—Scheduling, planning or task assignment for a person or group
- G06Q10/063112—Skill-based matching of a person or a group to a task
Definitions
- Services provided by a computing system may include any type of functionality provided by the system and may be implemented at least in part by software applications of the system.
- a particular service may include a business functionality and be implemented by an application which includes business logic to perform the business functionality.
- Some systems may also provide the ability to customize properties of services provided to the user.
- customization of each of the plurality of services may be a burdensome task for the user, especially if there are a relatively large number of services, or if there are a relatively large number of customizable properties.
- FIG. 1 is a schematic diagram depicting one embodiment of a software architecture.
- FIG. 2 is a schematic diagram depicting one embodiment of a computing environment.
- FIG. 3 is a flow chart depicting a schematic representation of one embodiment of a method.
- FIGS. 4A-C are schematic diagrams depicting exemplary embodiments of a selective display of data according to data properties.
- FIG. 5 is a schematic diagram depicting one embodiment of an association between theme parameters, of a plurality of themes, with service parameters of a plurality of services.
- FIGS. 6A-B are schematic diagrams depicting exemplary embodiments of the selective display of messages.
- FIGS. 7A-B are schematic diagrams depicting exemplary embodiments of alternative software navigation paths.
- FIG. 1 depicts one embodiment of a software architecture 100 .
- the depicted exemplary embodiment of the software architecture 100 comprises a plurality of software components 102 , including a first software application 104 , a second software application 108 and a database 110 .
- the first application 104 is capable of receiving input from a user at a graphical user interface 106 , providing output to the user, and communicating with the second application 108 and the database 110 .
- the second application 108 is capable of communicating with the first application 104 and the database 110 .
- Both the first and second applications 104 , 108 are capable of performing a service 506 (shown in FIG. 5 ) requested by the user at the first application 104 .
- the performing of the service 506 includes accessing the database 110 .
- Other embodiments of the software architecture 100 are also possible.
- the architecture 100 may comprise only a single application or other configurations of a plurality of applications.
- the software architecture 100 runs in, and is part of, a computing environment 200 , an exemplary embodiment of which is depicted in FIG. 2 .
- the depicted embodiment of the computing environment 200 comprises an input device 202 , processor 204 , memory 206 , communication line 208 and display 212 .
- the input device 202 comprises at least one of: a keyboard, a mouse, a voice activated controller, an optical controller, an infrared controller, or other suitable input device.
- the memory 206 comprises at least one of: a random access memory, a disk storage memory, or other suitable memory.
- the display 212 comprises at least one of: a monitor, a television, a video projector, or other suitable display device.
- the memory 206 further comprises data 210 and the software components 102 , which are stored in the memory 206 at least at some moment in time.
- the software components 102 comprise computer program instructions which may be accessed and executed by the processor 204 .
- the software components 102 are implemented in any suitable software language such as, for example, Java, ABAP, C, and C++.
- the data 210 optionally comprises data which is accessible by or integral to the database 110 .
- the memory 206 , processor 204 , input device 202 and display 212 are connected together and communicate with each other by means of the communication line 208 .
- the communication line 208 comprises a system bus
- the computing environment 200 comprises a single computer.
- the communication line 208 comprises a network element
- the computing environment 200 comprises a distributed computing environment.
- the memory 206 , processor 204 , input device 202 and display 212 are optionally distributed across different locations.
- the computing environment 200 optionally comprises a plurality of some or all of the memory 206 , processor 204 , input device 202 and display 212 .
- Other embodiments of the computing environment 200 are also possible.
- the software components 102 comprise computer program instructions, which when executed by the processor 204 , enable the performance of a method 300 (shown in FIG. 3 ) of providing themes 502 (shown in FIG. 5 ) for software applications.
- a computer-readable medium comprises the computer program instructions which enable the performance of the method 300 .
- a system comprises means to perform each of the steps of the method 300 .
- the means to perform each of the steps of the method 300 comprise elements of the computing environment 200 .
- FIG. 3 is a flow chart depicting a schematic representation of one embodiment of the method 300 .
- a plurality of services 506 are provided to the user by one of the software components 102 , for example, the first software application 104 .
- Each of the plurality of services 506 are capable of displaying a plurality of unitary pieces of data 402 (shown in FIG. 4 ) to the user.
- a particular service 506 may retrieve or process data 402 from the database 110 and display the retrieved or processed data 402 to the user.
- the possible services 506 are many in type and nature, including any type of functionality useful to an organization such as, for example, a business, educational institution, non-profit, and individual user.
- Exemplary services 506 include payroll processing, employee hiring, and employee termination.
- Such services 506 perform functionality by the software architecture 100 and computing environment 200 which is needed or desired in regards to, for example, the payroll processing, employee hiring and employee terminating by the organization.
- Each piece of data 402 displayed by the services 506 in step 302 has at least one associated data property.
- the at least one associated data property is a plurality of associated data properties.
- the at least one data property comprises at least one of: a data type, or a time scope.
- the at least one data property which is a plurality of data properties comprises the data type and the time scope.
- the data type is a classification of the piece of data 402 according to its meaning within the service 506 or its use within the functionality provided by the service 506 .
- the data type can include various types of information about a person such as the person's address, date of birth, identification numbers, work start date, work end date, etc.
- the data type of each piece of data 402 displayed by the services in step 302 is one of a plurality of different possible data types.
- the time scope of a piece of data 402 displayed in step 302 is a classification of the piece of data 402 according to its time dependence.
- the time scope of each piece of data 402 is the period of time for which the data 402 is valid within the scope of the functionality of the service 506 .
- a particular piece of data 402 may be a portion of an employee profile displayed as part of a particular service 506 provided to a manager of employees.
- the manager may wish to view a collection of employee profiles in some time dependent manner, such as viewing profiles only of current employees, or viewing profiles only of employees of a certain time period.
- the time scope in such an exemplary scenario, is related to and comprises the period of employment of the employee.
- the time scope of each piece of data 402 includes a point in time at which the data 402 originates or begins to be valid within the scope of the functionality of the service 506 .
- the time scope of a particular piece of data 402 of the employee profile may comprise the date at which the employee's employment began.
- the time scope of the each piece of data 402 includes a point in time at which the data 402 ends or ceases to be valid within the scope of the functionality of the service 506 .
- the time scope of a particular piece of data 402 of the employee profile may comprise the date at which the employee's employment ceased.
- Each service 506 provided to the user by the software component 102 in step 302 has a plurality of service parameters 508 (shown in FIG. 5 ).
- Each service parameter 508 controls some aspect of a customization of the service 506 .
- the service parameters 508 determine whether or not certain pieces of data 402 are displayed during a performance of the service 506 . For example, in one embodiment in which the service parameters 508 determine data visibility, the service parameters 508 determine data visibility of a particular piece of data 402 according to the at least one data property associated with that particular piece of data 402 .
- the service parameter 508 determines the display of data 402 according to data type. For example, in one embodiment, there is a service parameter 508 associated with each possible data type the service 506 is capable of displaying, and the service parameter 508 determines whether or not pieces of data 402 having that associated data type are displayed by the service 506 .
- a service parameter 508 can be set in a first state, for example an on state, to control the service 506 to display data 402 of the associated data type, and can be set in a second state, for example an off state, to control the service 506 to not display data 402 of the associated data type.
- a service parameter 508 can be generally associated with the data type data property, and have a value, or values, that determines, or determine, for example, by identifying, which data types are displayed.
- the service parameter 508 determines the display of data 402 according to time scope.
- the service parameter 508 can specify a particular time scope, and thereby determine whether or not data 402 having a time scope indicated by, or matching, the particular time scope specified by the service parameter 508 is displayed by the service 506 .
- the service parameter 508 can optionally be set to specify at least one of: a start time of the time scope, an end time of the time scope, or a time duration of the time scope.
- pieces of data 402 having a time scope matching the at least one of the start time, end time or time duration specified by the service parameter 508 are displayed, and pieces of data 402 having a time scope not matching the at least one of the start time, end time or time duration specified by the service parameter 508 are not displayed.
- FIGS. 4A-C depict exemplary embodiments of the selective display of data 402 according to the data properties.
- the graphical user interface 106 of the first application 104 displays nine specific pieces of data 402 a - i .
- Each of specific pieces of data 402 a - c have a ‘name’ data type
- each of specific pieces of data 402 d - f have an ‘address’ data type
- each of specific pieces of data 402 g - i have a ‘start date’ data type.
- each of specific pieces of data 402 a,d,g have a time scope that begins at the indicated start date Dec.
- each of specific pieces of data 402 b,e,h have a time scope that begins at the indicated start date Apr. 23, 1992; and each of specific pieces of data 402 c,f,i have a time scope that begins at the indicated start date Mar. 1, 2004.
- a particular service parameter 508 has determined that data 402 having the ‘start date’ data type is not to be displayed.
- a particular service parameter 508 has determined that data 402 having a time scope including a beginning time having a value of later than Apr. 23, 1992 is not to be displayed.
- the method 300 proceeds to step 304 after step 302 .
- the order of steps 302 and 304 can vary.
- Step 304 can occur before, after or concurrently with step 302 .
- the user is provided with the opportunity to select a data theme 502 a (shown in FIG. 5 ) from among a plurality of available data themes 502 a.
- Providing the data theme selection to the user results in the user selecting a specific data theme 502 a from among the plurality of available data themes 502 a.
- the data theme 502 a associates the setting of a plurality of service parameters 508 with a relatively smaller number of associated data theme parameters 504 a (shown in FIG. 5 ).
- the user By selecting the data theme 502 a from among the plurality of available data themes 502 a , the user is able to determine the setting of the plurality of associated service parameters 508 , and thus determine the display properties of a plurality of pieces of data 402 controlled by the service parameters 508 , with a single selection.
- One benefit of controlling the display properties of a plurality of pieces of data 402 with a single selection is that the potential burden on the user of individually setting the plurality of service parameters 508 is alleviated.
- Each data theme 502 a of the plurality of available data themes 502 a has at least one data theme parameter 504 a .
- each data theme 502 a has a plurality of data theme parameters 504 a .
- the data theme parameter 504 a is a meta parameter that determines the setting of a plurality of associated service parameters 508 when a data theme 502 a is selected. That is, the state or value of the plurality of associated service parameters 508 is dependent on the state or value of the corresponding data theme parameter 504 a on which they depend. Because each data theme parameter 504 a is associated with a plurality of different service parameters 508 , the user is given access to control of many different service parameters 508 from a relatively smaller number of data theme parameters 504 a.
- Each data theme 502 a defines how its data theme parameters 504 a are associated with service parameters 508 .
- each of the plurality of data themes 502 a has a different association of data theme parameters 504 a with service parameters 508 .
- the selection of a particular data theme 502 a from among the plurality of available data themes 502 a thus allows the user to select from among different data display characteristics for the plurality of services 506 .
- a particular data theme 502 a may be organized, in terms of its association of data theme parameters 504 a with service parameters 508 , to provide a display of only data 402 having a certain data property, such as a certain data type or time scope, to the user by the plurality of services 506 .
- the manager may use one service 506 that provides an employee profile viewing functionality, and another service 506 that provides an employee task assignment functionality.
- the manager can select a data theme 502 a that determines that only employees who are engineers will be shown by both the profile viewing service 506 and the task assignment service 506 .
- the selected data theme 502 a may also further limit the data 402 displayed by the services 506 to include only engineers having experience with the particular technology.
- the selected data theme 502 a may also further limit the data 402 displayed by the services 506 to only include data 402 related to the engineer's technical skills, and not other information potentially unrelated to the manager's task, such as the engineer's home addresses or birthday.
- the manager may be provided with a selection from among a plurality of data themes 502 a , each of which effectively groups employees into different categories that provides the manager with quick access to data 402 in a way that aids him or her in making management decisions.
- the manager can use the data themes 502 a to selectively view either experienced or inexperienced employees.
- Numerous other examples of data display characteristics provided by data themes 502 a are possible.
- the data theme 502 a can also provide data display characteristics according to other data properties such as, for example, the data time scope.
- Other examples of data display characteristics provided by data themes 502 a also exist in which a particular data theme 502 a provides selective data display based not on only a single data property, but instead based on a plurality of different data properties.
- one of the software components 102 for example, the first application 104 , provides a dialog to the user to accomplish the providing of the data theme section of step 304 . The user can then respond to the presented dialog to select the data theme 502 a.
- At least one data theme parameter 504 a of the selected data theme 502 a is associated with service parameters 508 from a plurality of different services 506 .
- Associating a data theme parameter 504 a with service parameters 508 from a plurality of different services 506 allows the data theme 502 a having the data theme parameter 504 a to achieve widespread control of data display characteristics over the plurality of services 506 with a single data theme selection.
- the plurality of services 506 represents the bulk of computer usage undertaken by the user on a daily basis
- the ability to control the data display characteristics of the plurality of different services 506 with a single data theme selection provides the user with a tool to quickly and efficiently change the data display characteristics of the bulk of his or her typical computer usage.
- FIG. 5 depicts an exemplary embodiment of an association between data theme parameters 504 a and service parameters 508 of an exemplary plurality of available data themes 502 a and plurality of services 506 .
- a first exemplary available data theme 502 a has three data theme parameters 504 a that are associated with service parameters 508 from a plurality of different services 506 , that is, a first exemplary service 506 and a second exemplary service 506 .
- a second exemplary available data theme 502 a has two data theme parameters 504 a which are associated, in a different manner than for the first exemplary available data theme 502 a , with service parameters 508 from the plurality of different services 506 including the first exemplary service 506 and the second exemplary service 506 .
- each of the plurality of services 506 provided to the user in step 302 provides a different business functionality to the user.
- the providing of each of the plurality of services 506 comprises executing, for each of the plurality of services 506 , computer program instructions by the processor 204 , the computer program instructions of each service 506 being at least partially different than the computer program instructions executed by the processor 204 in the providing of the other services 506 of the plurality of services 506 .
- each of the plurality of services 506 provided to the user may have different natures.
- each of the plurality of services 506 provided to the user is provided by executing a completely different set of computer program instructions than is executed by the providing of the other services 506 of the plurality of different services 506 .
- the first service 506 depicted in FIG. 5 is provided by the first application 104
- the second service 506 depicted in FIG. 6 is provided by the second application 108
- the first and second applications 104 , 108 comprise completely different sets of computer program instructions.
- the providing the data theme selection of step 304 selects from among already-defined data themes 502 a .
- a defined data theme 502 a indicates the association and relationship between data theme parameters 504 a and service parameters 508 .
- FIG. 5 depicts one embodiment of an association between data theme parameters 504 a and service parameters 508 .
- the relationship between the data theme parameter 504 a and the associated service parameters 508 is also defined by the data theme 502 a .
- the relationship between the data theme parameter 504 a and the service parameters 508 defines how a setting of the data theme parameter 504 a affects settings of the associated service parameters 508 . In one embodiment, the relationship transfers the setting or value of the data theme parameter 504 a to that of the associated service parameters 508 .
- the data theme parameter 504 a is set to one of a plurality of different states, for example, on and off states, and the relationship between the data theme parameter 504 a and the associated service parameters 508 transfers the state of the data theme parameter 504 a to the associated service parameters 508 .
- This type of relationship may be appropriate for data theme parameters 504 a associated with service parameters 508 determining data display according to data type data properties.
- the data theme parameter 504 a is set to a value or a range of values, for example, a time value or a range of time values, and the relationship between the data theme parameter 504 a and the associated service parameters 508 transfers the value or the range of values of the data theme parameter 504 a to the associated service parameters 508 .
- This type of relationship may be appropriate for data theme parameters 504 a associated with service parameters 508 determining data display based on time scope data properties.
- step 306 for each data theme parameter 504 a of the selected data theme 502 a , the service parameters 508 associated with that data theme parameter 504 a are set according to their relationship with that data theme parameter 504 a .
- the setting of step 306 is triggered by the selecting of the data theme 502 a in response to the providing of the selection of step 304 .
- the setting of step 306 can be triggered by other actions after the selecting of the data theme 502 a in response to the providing of the selection of step 304 .
- the method 300 proceeds to step 308 after step 306 .
- step 308 for each of the plurality of services 506 , the display of the plurality of pieces of data 402 by that service 506 is filtered by associated data properties according to the service parameters 508 of that service 506 .
- the pieces of data 402 which are to be displayed, and the pieces of data 402 which are not to be displayed, will be determined by the selected data theme 502 a , which determines how the associated service parameters 508 have been set in step 306 .
- the filtering of the display of the data 402 means that only data 402 which has been determined to be displayed is displayed by the display 212 .
- the filtering of the display of the data 402 comprises transmitting a display signal corresponding to the data 402 which is determined to be displayed to the display 212 , and not transmitting a display signal corresponding to the data which has been determined not to be displayed to the display 212 .
- each available data theme 502 a including the data theme parameters 504 a and their associations and relationships to service parameters 508 , are provided in at least one data file which is capable of being accessed by at least one of the software components 102 , for example, the first application 104 .
- the at least one data file is optionally stored in the memory 206 of the computing environment 200 .
- each specific service parameter 508 of a specific service 506 is associated with a specific piece of data 402 displayed by that specific service 506 , and the filtering according to the specific service parameter 508 , of step 308 , filters that specific piece of data 402 .
- other data properties instead of, or in addition to, data type and time scope can be used in the steps of the method 300 .
- the service parameters 508 can determine the display visibility of a piece of data 402 according to the other data properties, and the filtering of step 308 can be by the other data properties.
- additional data properties include at least one of: data size, or display size.
- the data size is a measure of the memory size required to store the unitary piece of data 402 .
- the data size is optionally measured in terms of at least one of: bytes, kilobytes, megabytes, gigabytes, terabytes or any other suitable data size unit of measure.
- the display size is a measure of the physical dimensions needed to display the unitary piece of data 402 on the display 212 .
- the display size is optionally measured in terms of at least one of: inches, feet, centimeters, meters, pixels, or any other suitable display size unit of measure.
- the at least one data property associated with each data comprises a plurality of data properties comprising at least two different of: the data type, the time scope, the data size or the display size.
- the method 300 comprises executing computer program instructions of the first application 104 by a first processor 204 which is located at least partially in a computer workstation being used by the user who is provided with the data theme selection of step 304 , and the providing the plurality of services 506 of step 302 further comprises accessing the database 110 , the database 110 comprising data stored in a portion of the memory 206 and computer program instructions executed by a second processor 204 , the portion of the memory 206 and the second processor 204 being located at least partially not in the computer workstation the user is using.
- Such an embodiment may be beneficial to the performance of the method 300 in a scenario involving a relatively large organization in which the computing environment 200 is a distributed computing environment 200 .
- the method 300 provides a usability theme selection to the user.
- the usability theme selection results in selecting a usability theme 502 b from among a plurality of available usability themes 502 b.
- the usability theme 502 b is similar to the data theme 502 a , but instead of determining the setting of service parameters 508 that determine the visibility of pieces of data 402 , the usability theme 504 b determines the setting of service parameters 508 that determine the visibility of a plurality of messages 602 (shown in FIG. 6 ) provided to the user.
- the service may provide a plurality of different messages 602 to the user during the performance of the service 506 .
- the messages provided by the service optionally include at least one of: help messages 602 that provide help information concerning the usage of the service 506 by the user, information messages 602 that provide information concerning the status of the performance of the service 506 , or error messages 602 that provide information concerning errors encountered during the performance of the service 506 .
- the messages 602 provided by the service comprise the help messages 602 that provide help information concerning the usage of the service 506 by the user.
- usability themes 502 b each have at least one usability theme parameter 504 b .
- each usability theme 502 b has a plurality of usability theme parameters 504 b .
- Each usability theme parameter 504 b is associated with a plurality of service parameters 508 .
- each service 506 provided to the user has a plurality of service parameters 508 , and each service parameter 508 controls some aspect of customization of the service 506 .
- the service parameters 508 determine whether or not certain pieces of data 402 are displayed during a performance of the service 506 ; whereas, in embodiments involving usability themes 502 b , the service parameters 508 determine whether or not certain messages 602 are displayed during a performance of the service 506 .
- each service 506 is capable of displaying a plurality of different messages 602 to the user. Additionally, each unique message 602 may be displayed to the user in a plurality of different circumstances. The circumstance of the display of a particular message 602 optionally includes the occurrence of certain events that trigger the display of that particular message 602 . In one embodiment, the service parameters 508 determine visibility of a particular message 602 according to at least one of: the message content, or the message triggering circumstance.
- the service parameter 508 determines the display of messages 602 according to message content
- the service parameter 508 determines the display of the message 602 according to triggering circumstance
- the service parameter 508 can specify a particular triggering circumstance, and thereby determine whether or not messages 602 normally triggered by the circumstance specified by the service parameter 508 are displayed by the service 506 .
- FIGS. 6A-B are schematic diagrams that depict exemplary embodiments of the selective display of messages 602 according to service parameters 508 .
- the graphical user interface 106 of the first application 104 displays a help message 602 which provides information to the user concerning the appropriate response of the user to the displayed configuration of the graphical user interface 106 .
- a service parameter 508 associated with the displayed help message 602 has been set in a manner which determines that the help message 602 is displayed by the service 506 .
- FIG. 6A the graphical user interface 106 of the first application 104 displays a help message 602 which provides information to the user concerning the appropriate response of the user to the displayed configuration of the graphical user interface 106 .
- a service parameter 508 associated with the displayed help message 602 has been set in a manner which determines that the help message 602 is displayed by the service 506 .
- FIGS. 6A-B only depict the selective display of a single message 602 at a particular moment in time, in one embodiment the usability theme parameters 504 b of the selected usability theme 502 b determine the selective display of a plurality of messages 602 , for example, at a plurality of different moments in time during the performance of the service 506 .
- Each aspect of the method 300 can be adapted to be performed involving usability themes 502 b instead of, or in addition to, data themes 502 a .
- the user can be provided with a usability theme selection instead of a data theme selection.
- the associated service parameters 508 can be set according to that usability theme parameter 504 b .
- the definition of the usability theme 502 b defines the association and relationship between usability theme parameters 504 b and service parameters 508 .
- the relationship between the usability theme parameter 504 b and the associated service parameters 508 transfers the setting of the usability theme parameter 504 b to the associated service parameters 508 .
- a usability theme parameter 504 b can be set to a plurality of different states, such as on and off states, which can be transferred to the associated service parameters 508 , to determine the display of messages 602 controlled by those service parameters 508 , for example displaying messages 602 (on state) or not displaying messages 602 (off state).
- the display of messages 602 is filtered according to the service parameters 508 of that service 506 .
- a specific usability theme 502 b determines that all help messages 602 are turned off. In another exemplary embodiment, a specific usability theme 502 b determines that all help messages 602 are turned on. In another exemplary embodiment, a specific usability theme 502 b determine that some specific help messages 602 are turned on and some specific help messages 602 are turned off.
- FIG. 5 in addition to depicting an exemplary embodiment of an association between data theme parameters 504 a and service parameters 508 , also depicts an exemplary embodiment of an association between usability theme parameters 504 b and service parameters 508 of an exemplary plurality of available usability themes 502 b and plurality of services 506 .
- the method 300 provides a navigation theme selection to the user.
- the navigation theme selection results in selecting a navigation theme 502 c from among a plurality of available navigation themes 502 c.
- the navigation theme 502 c is similar to data and usability themes 502 a,b, but instead of determining the setting of service parameters 508 that determine the visibility of pieces of data 402 , in the case of data themes 502 a , or the visibility of messages 602 , in the case of usability themes 502 b , the navigation theme 502 c determines the setting of service parameters 508 that determine which of a plurality of alternative navigation paths 702 the software component 102 , for example, the first application 104 , presents to the user.
- a navigation path 702 is a particular set of states 704 of the user interface, e.g., configurations of the graphical user interface 106 , presented to the user in the travel from a first state 704 to a second state 704 , i.e., from a first graphical user interface configuration to a second graphical user interface configuration.
- the service 506 provides a plurality of different possible navigation paths 702 to the user, the provided path 702 determined by an associated service parameter 508 .
- navigation themes 502 c each have at least one navigation theme parameter 504 c.
- each navigation theme 502 c has a plurality of navigation theme parameters 504 c .
- Each navigation theme parameter 504 c is associated with a plurality of service parameters 508 .
- each service 506 provided to the user has a plurality of service parameters 508 , and each service parameter 508 controls some aspect of customization of the service 506 .
- the service parameters 508 determine whether or not certain pieces of data 402 are displayed during a performance of the service 506 ; in embodiments involving usability themes 502 b , the service parameters 508 determine whether or not certain messages 602 are displayed during a performance of the service 506 ; whereas, in embodiments involving navigation themes 502 c , the service parameters 508 determine which of alternative navigation paths 702 are presented for travel by the user.
- each service 506 is capable of providing at least one plurality of alternative navigation paths 702 between two states 704 of the service 506 .
- a particular state 704 of the service 506 is the particular configuration of the user interface of one of the software components 102 , for example, a particular configuration of the graphical user interface 106 of the first application 104 .
- the navigation path 702 is the particular sequence of states 704 encountered by the user in traveling from a first state 704 to a second state 704 .
- FIGS. 7A-B are schematic diagrams depicting exemplary embodiments of alternative navigation paths 702 .
- FIG. 7A depicts one embodiment of a first navigation path 702 , traveling from the first state 704 to the second state 704 , which includes plurality of intermediate states 704 between the first state 704 and the second state 704 .
- a navigation path 702 is able to, for example, carefully and slowly present each aspect of some task to the user, and as such may be appropriate for an inexperienced user.
- FIG. 7B depicts one embodiment of a second navigation path 702 , also traveling between the first state 704 and the second state 704 , but which does not present any intermediate states 704 to the user.
- second navigation path 702 may present, instead of no intermediate states 704 , a smaller number of intermediate states 704 than the number of intermediate states 704 presented in the first navigation path 702 .
- the second navigation path 702 may be appropriate for a relatively more experienced user.
- a service parameter 508 can determine which path 702 is traveled by the user.
- the service parameter 508 can have a value that identifies which of the alternative paths 702 is traveled.
- Each aspect of the method 300 can be adapted to be performed involving navigation themes 502 c instead of, or in addition to, data themes 502 a .
- the user can be provided with a navigation theme selection instead of a data theme selection.
- the associated service parameters 508 can be set according to that navigation theme parameter 504 c .
- the definition of the navigation theme 502 c defines the association and relationship between navigation theme parameters 504 c and service parameters 508 .
- the relationship between the navigation theme parameter 504 c and the service parameter 508 transfers the setting of the navigation theme parameter 504 c to the associated service parameters 508 .
- a navigation theme parameter 504 c can be set to one of a plurality of different values which each identify one of a plurality of alternative navigation paths 702 for traveling between two states 704 , which can be transferred to the associated service parameters 508 , to determine the navigation path 702 presented to the user in traveling between the two states 704 .
- the navigation paths 702 provided to the user are filtered according to the service parameters 508 of that service 506 . That is, the navigation path 702 presented to the user passes through the filtering, whereas the navigation paths 702 not presented to the user are blocked by the filtering.
- a specific navigation theme 502 c determines that all presented navigation paths 702 are navigation paths 702 suitable for inexperienced users. In another exemplary embodiment, a specific navigation theme 502 c determines that all navigation paths 702 are navigation paths 702 suitable for experienced users. In another exemplary embodiment, a navigation theme 502 c determines that some navigation paths 702 are suitable for experienced users and some are suitable for inexperienced users.
- FIG. 5 in addition to depicting exemplary embodiments of an association between data theme parameters 504 a , or usability parameters 504 b , and service parameters 508 , also depicts an exemplary embodiment of an association between navigation theme parameters 504 c and service parameters 508 of an exemplary plurality of available navigation themes 502 c and plurality of services 506 .
- the method 300 can be performed with each step involving all of data, usability and navigation themes, or some subset thereof.
- the user can be provided with a data theme selection, a usability theme selection, and a navigation theme selection.
- the user can be provided with some subset of a data theme selection, a usability theme selection, and a navigation theme selection.
- the method 300 involves only data themes 502 a .
- the method 300 involves only navigation themes 502 b .
- the method 300 involves only usability themes 502 c.
- the plurality of services 506 whose customization is determined by themes 502 are provided by different software components 102 , such as the first and second applications 104 , 108 .
- the method 300 comprises providing a role selection to the user.
- the providing of the role selection results in the user selecting a role from among a plurality of available roles.
- the role selection determines which plurality of services 506 , from among a pool of available services 506 , are provided to the user.
- the role selection identifies to the software component 102 , for example, the first application 104 , the general role that the user has within the organization, and as such which plurality of services 506 are appropriate to be provided to the user.
- the role selection also optionally assigns a predetermined theme selection for the user.
- the role selection assigns at least one of a predetermined data theme 502 a , predetermined usability theme 502 b , or predetermined navigation theme 502 c to the user.
- the assignment of the predetermined theme selection can be in addition to or instead of the providing the theme selection of step 304 .
- the predetermined theme assignment can occur at a moment in time before the providing the theme selection of step 304 .
- the plurality of available roles optionally includes at least one of: employee, manager, or system administrator.
- the theme 502 can be customized. That is, the particular association of theme parameters 504 with service parameters 508 , and their relationship, can be changed according to a preference.
- the preference is that of the user, and the method 300 comprises providing a user theme customization to the user, comprising providing the ability to the user to associate particular theme parameters 504 with particular service parameters 508 , and define their relationship.
- the method 300 comprises providing a vendor theme customization, an administrator theme customization, and the user theme customization.
- the vendor theme customization comprises providing the ability to associate theme parameters 504 with service parameters 508 , and define their relationship, to a vendor of the software components 102 , for example, the first application 104 .
- the administrator theme customization comprises providing the ability to associate theme parameters 504 with service parameters 508 , and define their relationship, to a system administrator of the software component 102 , the system administrator being employed by an organization having purchased a license for using the software component 102 .
- the vendor theme customization occurs before the administrator theme customization, and the administrator theme customization occurs before the user theme customization.
- one of the software components 102 for example, the first application 104 , provides a dialog to the user, administrator or vendor to accomplish the providing of the theme customization. The user, administrator or vendor can then respond to the presented dialog to customize the theme 502 .
Abstract
A method includes separately executing a plurality of different applications, each application executing a corresponding query to at least one database to generate results of its query; storing, for each application, a plurality of service parameters that control a makeup of a navigation sequence provided to the user to execute the database query; and receiving a selection of one of a plurality of navigation themes by the user, wherein the selection of each navigation theme changes the value of at least one of the stored service parameters for each of the plurality of applications to at least one value corresponding to the selected navigation theme, the selection of different navigation themes selecting different numbers of user interface states of the navigation sequence provided to execute the database query than the advanced navigation theme.
Description
- This application is a continuation of and claims priority to U.S. patent application Ser. No. 11/641,429, filed on Dec. 18, 2006, which is herein incorporated by reference in its entirety.
- Services provided by a computing system may include any type of functionality provided by the system and may be implemented at least in part by software applications of the system. For example, a particular service may include a business functionality and be implemented by an application which includes business logic to perform the business functionality. Some systems may also provide the ability to customize properties of services provided to the user. However, in a system which provides a plurality of services to the user, customization of each of the plurality of services may be a burdensome task for the user, especially if there are a relatively large number of services, or if there are a relatively large number of customizable properties.
- So that features of the present invention can be understood in detail, a description of the invention can be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrate only particular embodiments of the invention and are therefore not to be considered limiting of its scope, for the invention may admit to other equally effective embodiments.
-
FIG. 1 is a schematic diagram depicting one embodiment of a software architecture. -
FIG. 2 is a schematic diagram depicting one embodiment of a computing environment. -
FIG. 3 is a flow chart depicting a schematic representation of one embodiment of a method. -
FIGS. 4A-C are schematic diagrams depicting exemplary embodiments of a selective display of data according to data properties. -
FIG. 5 is a schematic diagram depicting one embodiment of an association between theme parameters, of a plurality of themes, with service parameters of a plurality of services. -
FIGS. 6A-B are schematic diagrams depicting exemplary embodiments of the selective display of messages. -
FIGS. 7A-B are schematic diagrams depicting exemplary embodiments of alternative software navigation paths. -
FIG. 1 depicts one embodiment of asoftware architecture 100. The depicted exemplary embodiment of thesoftware architecture 100 comprises a plurality ofsoftware components 102, including afirst software application 104, asecond software application 108 and adatabase 110. Thefirst application 104 is capable of receiving input from a user at agraphical user interface 106, providing output to the user, and communicating with thesecond application 108 and thedatabase 110. Thesecond application 108 is capable of communicating with thefirst application 104 and thedatabase 110. Both the first andsecond applications FIG. 5 ) requested by the user at thefirst application 104. In one embodiment, the performing of theservice 506 includes accessing thedatabase 110. Other embodiments of thesoftware architecture 100 are also possible. For example, thearchitecture 100 may comprise only a single application or other configurations of a plurality of applications. - The
software architecture 100 runs in, and is part of, acomputing environment 200, an exemplary embodiment of which is depicted inFIG. 2 . The depicted embodiment of thecomputing environment 200 comprises aninput device 202,processor 204,memory 206,communication line 208 anddisplay 212. Theinput device 202 comprises at least one of: a keyboard, a mouse, a voice activated controller, an optical controller, an infrared controller, or other suitable input device. Thememory 206 comprises at least one of: a random access memory, a disk storage memory, or other suitable memory. Thedisplay 212 comprises at least one of: a monitor, a television, a video projector, or other suitable display device. Thememory 206 further comprisesdata 210 and thesoftware components 102, which are stored in thememory 206 at least at some moment in time. Thesoftware components 102 comprise computer program instructions which may be accessed and executed by theprocessor 204. Thesoftware components 102 are implemented in any suitable software language such as, for example, Java, ABAP, C, and C++. Thedata 210 optionally comprises data which is accessible by or integral to thedatabase 110. - The
memory 206,processor 204,input device 202 anddisplay 212 are connected together and communicate with each other by means of thecommunication line 208. In one embodiment, thecommunication line 208 comprises a system bus, and thecomputing environment 200 comprises a single computer. In another embodiment, thecommunication line 208 comprises a network element, and thecomputing environment 200 comprises a distributed computing environment. In one embodiment in which thecomputing environment 200 is distributed, thememory 206,processor 204,input device 202 anddisplay 212 are optionally distributed across different locations. In one embodiment in which thecomputing environment 200 is distributed, thecomputing environment 200 optionally comprises a plurality of some or all of thememory 206,processor 204,input device 202 anddisplay 212. Other embodiments of thecomputing environment 200 are also possible. - The
software components 102 comprise computer program instructions, which when executed by theprocessor 204, enable the performance of a method 300 (shown inFIG. 3 ) of providing themes 502 (shown inFIG. 5 ) for software applications. In one embodiment, a computer-readable medium comprises the computer program instructions which enable the performance of themethod 300. In one embodiment, a system comprises means to perform each of the steps of themethod 300. For example, in one embodiment, the means to perform each of the steps of themethod 300 comprise elements of thecomputing environment 200. -
FIG. 3 is a flow chart depicting a schematic representation of one embodiment of themethod 300. In the depicted embodiment, at step 302 a plurality ofservices 506 are provided to the user by one of thesoftware components 102, for example, thefirst software application 104. Each of the plurality ofservices 506 are capable of displaying a plurality of unitary pieces of data 402 (shown inFIG. 4 ) to the user. For example, aparticular service 506 may retrieve or process data 402 from thedatabase 110 and display the retrieved or processed data 402 to the user. Thepossible services 506 are many in type and nature, including any type of functionality useful to an organization such as, for example, a business, educational institution, non-profit, and individual user.Exemplary services 506 include payroll processing, employee hiring, and employee termination.Such services 506 perform functionality by thesoftware architecture 100 andcomputing environment 200 which is needed or desired in regards to, for example, the payroll processing, employee hiring and employee terminating by the organization. - Each piece of data 402 displayed by the
services 506 instep 302 has at least one associated data property. In one embodiment, the at least one associated data property is a plurality of associated data properties. In one embodiment, the at least one data property comprises at least one of: a data type, or a time scope. In one embodiment, the at least one data property which is a plurality of data properties comprises the data type and the time scope. - The data type is a classification of the piece of data 402 according to its meaning within the
service 506 or its use within the functionality provided by theservice 506. For example, for aservice 506 related to a human resources business functionality dealing with employees of an organization, or people otherwise associated with the organization, the data type can include various types of information about a person such as the person's address, date of birth, identification numbers, work start date, work end date, etc. In one embodiment, the data type of each piece of data 402 displayed by the services instep 302 is one of a plurality of different possible data types. - The time scope of a piece of data 402 displayed in
step 302 is a classification of the piece of data 402 according to its time dependence. In one embodiment, the time scope of each piece of data 402 is the period of time for which the data 402 is valid within the scope of the functionality of theservice 506. For example, a particular piece of data 402 may be a portion of an employee profile displayed as part of aparticular service 506 provided to a manager of employees. In such anexemplary service 506, the manager may wish to view a collection of employee profiles in some time dependent manner, such as viewing profiles only of current employees, or viewing profiles only of employees of a certain time period. The time scope, in such an exemplary scenario, is related to and comprises the period of employment of the employee. In one embodiment, the time scope of each piece of data 402 includes a point in time at which the data 402 originates or begins to be valid within the scope of the functionality of theservice 506. For example, in theexemplary service 506 in which the manager views a collection of employee profiles based on some time-dependent criteria, the time scope of a particular piece of data 402 of the employee profile may comprise the date at which the employee's employment began. In one embodiment, the time scope of the each piece of data 402 includes a point in time at which the data 402 ends or ceases to be valid within the scope of the functionality of theservice 506. For example, in theexemplary service 506 in which the manager views a collection of employee profiles based on some time-dependent criteria, the time scope of a particular piece of data 402 of the employee profile may comprise the date at which the employee's employment ceased. - Each
service 506 provided to the user by thesoftware component 102 instep 302 has a plurality of service parameters 508 (shown inFIG. 5 ). Eachservice parameter 508 controls some aspect of a customization of theservice 506. In one embodiment, theservice parameters 508 determine whether or not certain pieces of data 402 are displayed during a performance of theservice 506. For example, in one embodiment in which theservice parameters 508 determine data visibility, theservice parameters 508 determine data visibility of a particular piece of data 402 according to the at least one data property associated with that particular piece of data 402. - In one embodiment, the
service parameter 508 determines the display of data 402 according to data type. For example, in one embodiment, there is aservice parameter 508 associated with each possible data type theservice 506 is capable of displaying, and theservice parameter 508 determines whether or not pieces of data 402 having that associated data type are displayed by theservice 506. Such aservice parameter 508 can be set in a first state, for example an on state, to control theservice 506 to display data 402 of the associated data type, and can be set in a second state, for example an off state, to control theservice 506 to not display data 402 of the associated data type. In an alternative embodiment, aservice parameter 508 can be generally associated with the data type data property, and have a value, or values, that determines, or determine, for example, by identifying, which data types are displayed. - In one embodiment, the
service parameter 508 determines the display of data 402 according to time scope. Theservice parameter 508 can specify a particular time scope, and thereby determine whether or not data 402 having a time scope indicated by, or matching, the particular time scope specified by theservice parameter 508 is displayed by theservice 506. In an exemplary embodiment, theservice parameter 508 can optionally be set to specify at least one of: a start time of the time scope, an end time of the time scope, or a time duration of the time scope. In the exemplary embodiment, pieces of data 402 having a time scope matching the at least one of the start time, end time or time duration specified by theservice parameter 508 are displayed, and pieces of data 402 having a time scope not matching the at least one of the start time, end time or time duration specified by theservice parameter 508 are not displayed. -
FIGS. 4A-C depict exemplary embodiments of the selective display of data 402 according to the data properties. InFIG. 4A , thegraphical user interface 106 of thefirst application 104 displays nine specific pieces of data 402 a-i. Each of specific pieces of data 402 a-c have a ‘name’ data type, each of specific pieces ofdata 402 d-f have an ‘address’ data type, and each of specific pieces ofdata 402 g-i have a ‘start date’ data type. Additionally, each of specific pieces ofdata 402 a,d,g have a time scope that begins at the indicated start date Dec. 19, 1986; each of specific pieces ofdata 402 b,e,h have a time scope that begins at the indicated start date Apr. 23, 1992; and each of specific pieces ofdata 402 c,f,i have a time scope that begins at the indicated start date Mar. 1, 2004. InFIG. 4B , aparticular service parameter 508 has determined that data 402 having the ‘start date’ data type is not to be displayed. InFIG. 4C , aparticular service parameter 508 has determined that data 402 having a time scope including a beginning time having a value of later than Apr. 23, 1992 is not to be displayed. - In the embodiment depicted in
FIG. 3 , themethod 300 proceeds to step 304 afterstep 302. However, the order ofsteps step 302. Atstep 304, the user is provided with the opportunity to select adata theme 502 a (shown inFIG. 5 ) from among a plurality ofavailable data themes 502 a. Providing the data theme selection to the user results in the user selecting aspecific data theme 502 a from among the plurality ofavailable data themes 502 a. Thedata theme 502 a associates the setting of a plurality ofservice parameters 508 with a relatively smaller number of associateddata theme parameters 504 a (shown inFIG. 5 ). By selecting thedata theme 502 a from among the plurality ofavailable data themes 502 a, the user is able to determine the setting of the plurality of associatedservice parameters 508, and thus determine the display properties of a plurality of pieces of data 402 controlled by theservice parameters 508, with a single selection. One benefit of controlling the display properties of a plurality of pieces of data 402 with a single selection is that the potential burden on the user of individually setting the plurality ofservice parameters 508 is alleviated. - Each
data theme 502 a of the plurality ofavailable data themes 502 a has at least onedata theme parameter 504 a. In one embodiment, eachdata theme 502 a has a plurality ofdata theme parameters 504 a. Thedata theme parameter 504 a is a meta parameter that determines the setting of a plurality of associatedservice parameters 508 when adata theme 502 a is selected. That is, the state or value of the plurality of associatedservice parameters 508 is dependent on the state or value of the correspondingdata theme parameter 504 a on which they depend. Because eachdata theme parameter 504 a is associated with a plurality ofdifferent service parameters 508, the user is given access to control of manydifferent service parameters 508 from a relatively smaller number ofdata theme parameters 504 a. - Each
data theme 502 a defines how itsdata theme parameters 504 a are associated withservice parameters 508. In one embodiment, each of the plurality ofdata themes 502 a has a different association ofdata theme parameters 504 a withservice parameters 508. The selection of aparticular data theme 502 a from among the plurality ofavailable data themes 502 a thus allows the user to select from among different data display characteristics for the plurality ofservices 506. Aparticular data theme 502 a may be organized, in terms of its association ofdata theme parameters 504 a withservice parameters 508, to provide a display of only data 402 having a certain data property, such as a certain data type or time scope, to the user by the plurality ofservices 506. In one exemplary scenario, if a manager at a company is reviewing his or her engineering staff to determine a team of engineers suitable for developing a particular product involving a particular technology, the manager may use oneservice 506 that provides an employee profile viewing functionality, and anotherservice 506 that provides an employee task assignment functionality. In this exemplary scenario, the manager can select adata theme 502 a that determines that only employees who are engineers will be shown by both theprofile viewing service 506 and thetask assignment service 506. The selecteddata theme 502 a may also further limit the data 402 displayed by theservices 506 to include only engineers having experience with the particular technology. The selecteddata theme 502 a may also further limit the data 402 displayed by theservices 506 to only include data 402 related to the engineer's technical skills, and not other information potentially unrelated to the manager's task, such as the engineer's home addresses or birthday. - In another exemplary scenario, it may be useful for the manager to be provided with a selection from among a plurality of
data themes 502 a, each of which effectively groups employees into different categories that provides the manager with quick access to data 402 in a way that aids him or her in making management decisions. For example, the manager can use thedata themes 502 a to selectively view either experienced or inexperienced employees. Numerous other examples of data display characteristics provided bydata themes 502 a are possible. Moreover, even though the above example may emphasize the use of the data type data property, thedata theme 502 a can also provide data display characteristics according to other data properties such as, for example, the data time scope. Other examples of data display characteristics provided bydata themes 502 a also exist in which aparticular data theme 502 a provides selective data display based not on only a single data property, but instead based on a plurality of different data properties. - In one embodiment, one of the
software components 102, for example, thefirst application 104, provides a dialog to the user to accomplish the providing of the data theme section ofstep 304. The user can then respond to the presented dialog to select thedata theme 502 a. - In one embodiment, at least one
data theme parameter 504 a of the selecteddata theme 502 a is associated withservice parameters 508 from a plurality ofdifferent services 506. Associating adata theme parameter 504 a withservice parameters 508 from a plurality ofdifferent services 506 allows thedata theme 502 a having thedata theme parameter 504 a to achieve widespread control of data display characteristics over the plurality ofservices 506 with a single data theme selection. In an exemplary scenario in which the plurality ofservices 506 represents the bulk of computer usage undertaken by the user on a daily basis, the ability to control the data display characteristics of the plurality ofdifferent services 506 with a single data theme selection provides the user with a tool to quickly and efficiently change the data display characteristics of the bulk of his or her typical computer usage. -
FIG. 5 depicts an exemplary embodiment of an association betweendata theme parameters 504 a andservice parameters 508 of an exemplary plurality ofavailable data themes 502 a and plurality ofservices 506. In the depicted embodiment, a first exemplaryavailable data theme 502 a has threedata theme parameters 504 a that are associated withservice parameters 508 from a plurality ofdifferent services 506, that is, a firstexemplary service 506 and a secondexemplary service 506. Similarly, in the depicted embodiment, a second exemplaryavailable data theme 502 a has twodata theme parameters 504 a which are associated, in a different manner than for the first exemplaryavailable data theme 502 a, withservice parameters 508 from the plurality ofdifferent services 506 including the firstexemplary service 506 and the secondexemplary service 506. - In one embodiment, each of the plurality of
services 506 provided to the user instep 302 provides a different business functionality to the user. In one example of such an embodiment, the providing of each of the plurality ofservices 506 comprises executing, for each of the plurality ofservices 506, computer program instructions by theprocessor 204, the computer program instructions of eachservice 506 being at least partially different than the computer program instructions executed by theprocessor 204 in the providing of theother services 506 of the plurality ofservices 506. Thus, each of the plurality ofservices 506 provided to the user may have different natures. Additionally, in one embodiment, each of the plurality ofservices 506 provided to the user is provided by executing a completely different set of computer program instructions than is executed by the providing of theother services 506 of the plurality ofdifferent services 506. In an exemplary embodiment, thefirst service 506 depicted inFIG. 5 is provided by thefirst application 104, thesecond service 506 depicted inFIG. 6 is provided by thesecond application 108, and the first andsecond applications - The providing the data theme selection of
step 304 selects from among already-defineddata themes 502 a. A defineddata theme 502 a indicates the association and relationship betweendata theme parameters 504 a andservice parameters 508.FIG. 5 , as already discussed, depicts one embodiment of an association betweendata theme parameters 504 a andservice parameters 508. Additionally, the relationship between thedata theme parameter 504 a and the associatedservice parameters 508 is also defined by thedata theme 502 a. The relationship between thedata theme parameter 504 a and theservice parameters 508 defines how a setting of thedata theme parameter 504 a affects settings of the associatedservice parameters 508. In one embodiment, the relationship transfers the setting or value of thedata theme parameter 504 a to that of the associatedservice parameters 508. For example, in one embodiment, thedata theme parameter 504 a is set to one of a plurality of different states, for example, on and off states, and the relationship between thedata theme parameter 504 a and the associatedservice parameters 508 transfers the state of thedata theme parameter 504 a to the associatedservice parameters 508. This type of relationship may be appropriate fordata theme parameters 504 a associated withservice parameters 508 determining data display according to data type data properties. In another embodiment, thedata theme parameter 504 a is set to a value or a range of values, for example, a time value or a range of time values, and the relationship between thedata theme parameter 504 a and the associatedservice parameters 508 transfers the value or the range of values of thedata theme parameter 504 a to the associatedservice parameters 508. This type of relationship may be appropriate fordata theme parameters 504 a associated withservice parameters 508 determining data display based on time scope data properties. - In the embodiment depicted in
FIG. 3 , the method proceeds to step 306 afterstep 304. Atstep 306, for eachdata theme parameter 504 a of the selecteddata theme 502 a, theservice parameters 508 associated with thatdata theme parameter 504 a are set according to their relationship with thatdata theme parameter 504 a. In one embodiment, the setting ofstep 306 is triggered by the selecting of thedata theme 502 a in response to the providing of the selection ofstep 304. In other embodiments, the setting ofstep 306 can be triggered by other actions after the selecting of thedata theme 502 a in response to the providing of the selection ofstep 304. - In the embodiment depicted in
FIG. 3 , themethod 300 proceeds to step 308 afterstep 306. Atstep 308, for each of the plurality ofservices 506, the display of the plurality of pieces of data 402 by thatservice 506 is filtered by associated data properties according to theservice parameters 508 of thatservice 506. In the depicted embodiment, the pieces of data 402 which are to be displayed, and the pieces of data 402 which are not to be displayed, will be determined by the selecteddata theme 502 a, which determines how the associatedservice parameters 508 have been set instep 306. The filtering of the display of the data 402 means that only data 402 which has been determined to be displayed is displayed by thedisplay 212. In one embodiment, the filtering of the display of the data 402 comprises transmitting a display signal corresponding to the data 402 which is determined to be displayed to thedisplay 212, and not transmitting a display signal corresponding to the data which has been determined not to be displayed to thedisplay 212. - In one embodiment, the definition of each
available data theme 502 a, including thedata theme parameters 504 a and their associations and relationships to serviceparameters 508, are provided in at least one data file which is capable of being accessed by at least one of thesoftware components 102, for example, thefirst application 104. The at least one data file is optionally stored in thememory 206 of thecomputing environment 200. - In one embodiment, each
specific service parameter 508 of aspecific service 506 is associated with a specific piece of data 402 displayed by thatspecific service 506, and the filtering according to thespecific service parameter 508, ofstep 308, filters that specific piece of data 402. - In one embodiment, other data properties instead of, or in addition to, data type and time scope can be used in the steps of the
method 300. For example, theservice parameters 508 can determine the display visibility of a piece of data 402 according to the other data properties, and the filtering ofstep 308 can be by the other data properties. In one embodiment, additional data properties include at least one of: data size, or display size. The data size is a measure of the memory size required to store the unitary piece of data 402. The data size is optionally measured in terms of at least one of: bytes, kilobytes, megabytes, gigabytes, terabytes or any other suitable data size unit of measure. The display size is a measure of the physical dimensions needed to display the unitary piece of data 402 on thedisplay 212. The display size is optionally measured in terms of at least one of: inches, feet, centimeters, meters, pixels, or any other suitable display size unit of measure. In one embodiment, the at least one data property associated with each data comprises a plurality of data properties comprising at least two different of: the data type, the time scope, the data size or the display size. - In one embodiment, the
method 300 comprises executing computer program instructions of thefirst application 104 by afirst processor 204 which is located at least partially in a computer workstation being used by the user who is provided with the data theme selection ofstep 304, and the providing the plurality ofservices 506 ofstep 302 further comprises accessing thedatabase 110, thedatabase 110 comprising data stored in a portion of thememory 206 and computer program instructions executed by asecond processor 204, the portion of thememory 206 and thesecond processor 204 being located at least partially not in the computer workstation the user is using. Such an embodiment may be beneficial to the performance of themethod 300 in a scenario involving a relatively large organization in which thecomputing environment 200 is a distributedcomputing environment 200. - In addition to, or instead of, providing a data theme selection to the user, one embodiment the
method 300 provides a usability theme selection to the user. The usability theme selection results in selecting a usability theme 502 b from among a plurality of available usability themes 502 b. The usability theme 502 b is similar to thedata theme 502 a, but instead of determining the setting ofservice parameters 508 that determine the visibility of pieces of data 402, the usability theme 504 b determines the setting ofservice parameters 508 that determine the visibility of a plurality of messages 602 (shown inFIG. 6 ) provided to the user. The service may provide a plurality ofdifferent messages 602 to the user during the performance of theservice 506. The messages provided by the service optionally include at least one of: helpmessages 602 that provide help information concerning the usage of theservice 506 by the user,information messages 602 that provide information concerning the status of the performance of theservice 506, orerror messages 602 that provide information concerning errors encountered during the performance of theservice 506. In one embodiment, themessages 602 provided by the service comprise thehelp messages 602 that provide help information concerning the usage of theservice 506 by the user. - In a manner similar to
data themes 502 a, usability themes 502 b each have at least one usability theme parameter 504 b. In one embodiment, each usability theme 502 b has a plurality of usability theme parameters 504 b. Each usability theme parameter 504 b, as withdata theme parameters 504 a, is associated with a plurality ofservice parameters 508. As already discussed, eachservice 506 provided to the user has a plurality ofservice parameters 508, and eachservice parameter 508 controls some aspect of customization of theservice 506. In embodiments involvingdata themes 502 a, theservice parameters 508 determine whether or not certain pieces of data 402 are displayed during a performance of theservice 506; whereas, in embodiments involving usability themes 502 b, theservice parameters 508 determine whether or notcertain messages 602 are displayed during a performance of theservice 506. - For example, in one embodiment, each
service 506 is capable of displaying a plurality ofdifferent messages 602 to the user. Additionally, eachunique message 602 may be displayed to the user in a plurality of different circumstances. The circumstance of the display of aparticular message 602 optionally includes the occurrence of certain events that trigger the display of thatparticular message 602. In one embodiment, theservice parameters 508 determine visibility of aparticular message 602 according to at least one of: the message content, or the message triggering circumstance. In embodiments in which theservice parameter 508 determines the display ofmessages 602 according to message content, there can be aservice parameter 508 associated with each possible message content that theservice 506 is capable of displaying, and theservice parameter 508 determines whether ormessages 602 having the associated message content are displayed by theservice 506. In embodiments in which theservice parameter 508 determines the display of themessage 602 according to triggering circumstance, theservice parameter 508 can specify a particular triggering circumstance, and thereby determine whether or notmessages 602 normally triggered by the circumstance specified by theservice parameter 508 are displayed by theservice 506. -
FIGS. 6A-B are schematic diagrams that depict exemplary embodiments of the selective display ofmessages 602 according toservice parameters 508. For example, inFIG. 6A , thegraphical user interface 106 of thefirst application 104 displays ahelp message 602 which provides information to the user concerning the appropriate response of the user to the displayed configuration of thegraphical user interface 106. InFIG. 6A , aservice parameter 508 associated with the displayedhelp message 602 has been set in a manner which determines that thehelp message 602 is displayed by theservice 506. By contrast, inFIG. 6B , thegraphical user interface 106 of thefirst application 104 does not display thehelp message 602, and theservice parameter 508 associated with thatparticular help message 602 has been set in a manner which determines that thathelp message 602 is not displayed by theservice 506. AlthoughFIGS. 6A-B only depict the selective display of asingle message 602 at a particular moment in time, in one embodiment the usability theme parameters 504 b of the selected usability theme 502 b determine the selective display of a plurality ofmessages 602, for example, at a plurality of different moments in time during the performance of theservice 506. - Each aspect of the
method 300, as described above in terms of involvingdata themes 502 a, can be adapted to be performed involving usability themes 502 b instead of, or in addition to,data themes 502 a. For example, instep 304, the user can be provided with a usability theme selection instead of a data theme selection. Similarly, instep 306, for each usability theme parameter 504 b, the associatedservice parameters 508 can be set according to that usability theme parameter 504 b. For example, the definition of the usability theme 502 b, as with thedata theme 502 a, defines the association and relationship between usability theme parameters 504 b andservice parameters 508. For usability themes 502 b, in one embodiment the relationship between the usability theme parameter 504 b and the associatedservice parameters 508 transfers the setting of the usability theme parameter 504 b to the associatedservice parameters 508. For example, a usability theme parameter 504 b can be set to a plurality of different states, such as on and off states, which can be transferred to the associatedservice parameters 508, to determine the display ofmessages 602 controlled by thoseservice parameters 508, for example displaying messages 602 (on state) or not displaying messages 602 (off state). Instep 308, for each of the plurality ofservices 506, the display ofmessages 602 is filtered according to theservice parameters 508 of thatservice 506. - In an exemplary embodiment, a specific usability theme 502 b determines that all help
messages 602 are turned off. In another exemplary embodiment, a specific usability theme 502 b determines that all helpmessages 602 are turned on. In another exemplary embodiment, a specific usability theme 502 b determine that somespecific help messages 602 are turned on and somespecific help messages 602 are turned off. -
FIG. 5 , in addition to depicting an exemplary embodiment of an association betweendata theme parameters 504 a andservice parameters 508, also depicts an exemplary embodiment of an association between usability theme parameters 504 b andservice parameters 508 of an exemplary plurality of available usability themes 502 b and plurality ofservices 506. - In addition to providing data theme and usability theme selection to the user, one embodiment the
method 300 provides a navigation theme selection to the user. The navigation theme selection results in selecting a navigation theme 502 c from among a plurality of available navigation themes 502 c. The navigation theme 502 c is similar to data andusability themes 502 a,b, but instead of determining the setting ofservice parameters 508 that determine the visibility of pieces of data 402, in the case ofdata themes 502 a, or the visibility ofmessages 602, in the case of usability themes 502 b, the navigation theme 502 c determines the setting ofservice parameters 508 that determine which of a plurality ofalternative navigation paths 702 thesoftware component 102, for example, thefirst application 104, presents to the user. Anavigation path 702 is a particular set ofstates 704 of the user interface, e.g., configurations of thegraphical user interface 106, presented to the user in the travel from afirst state 704 to asecond state 704, i.e., from a first graphical user interface configuration to a second graphical user interface configuration. In the travel betweencertain states 704, theservice 506 provides a plurality of differentpossible navigation paths 702 to the user, the providedpath 702 determined by an associatedservice parameter 508. - In a manner similar to
data themes 502 a and usability themes 502 b, navigation themes 502 c each have at least one navigation theme parameter 504 c. In one embodiment, each navigation theme 502 c has a plurality of navigation theme parameters 504 c. Each navigation theme parameter 504 c, as withdata theme parameters 504 a and usability theme parameters 504 b, is associated with a plurality ofservice parameters 508. As already discussed, eachservice 506 provided to the user has a plurality ofservice parameters 508, and eachservice parameter 508 controls some aspect of customization of theservice 506. In embodiments involvingdata themes 502 a, theservice parameters 508 determine whether or not certain pieces of data 402 are displayed during a performance of theservice 506; in embodiments involving usability themes 502 b, theservice parameters 508 determine whether or notcertain messages 602 are displayed during a performance of theservice 506; whereas, in embodiments involving navigation themes 502 c, theservice parameters 508 determine which ofalternative navigation paths 702 are presented for travel by the user. - For example, in one embodiment, each
service 506 is capable of providing at least one plurality ofalternative navigation paths 702 between twostates 704 of theservice 506. Aparticular state 704 of theservice 506 is the particular configuration of the user interface of one of thesoftware components 102, for example, a particular configuration of thegraphical user interface 106 of thefirst application 104. Thenavigation path 702 is the particular sequence ofstates 704 encountered by the user in traveling from afirst state 704 to asecond state 704.FIGS. 7A-B are schematic diagrams depicting exemplary embodiments ofalternative navigation paths 702.FIG. 7A depicts one embodiment of afirst navigation path 702, traveling from thefirst state 704 to thesecond state 704, which includes plurality ofintermediate states 704 between thefirst state 704 and thesecond state 704. Such anavigation path 702 is able to, for example, carefully and slowly present each aspect of some task to the user, and as such may be appropriate for an inexperienced user. By contrast,FIG. 7B depicts one embodiment of asecond navigation path 702, also traveling between thefirst state 704 and thesecond state 704, but which does not present anyintermediate states 704 to the user. Other embodiments of thesecond navigation path 702 may present, instead of nointermediate states 704, a smaller number ofintermediate states 704 than the number ofintermediate states 704 presented in thefirst navigation path 702. Thesecond navigation path 702 may be appropriate for a relatively more experienced user. In embodiments in which there existalternative navigation paths 702 between twostates 704, aservice parameter 508 can determine whichpath 702 is traveled by the user. For example, theservice parameter 508 can have a value that identifies which of thealternative paths 702 is traveled. - Each aspect of the
method 300, as described above interms data themes 502 a, can be adapted to be performed involving navigation themes 502 c instead of, or in addition to,data themes 502 a. For example, instep 304, the user can be provided with a navigation theme selection instead of a data theme selection. Similarly, instep 306, for each navigation theme parameter 504 c, the associatedservice parameters 508 can be set according to that navigation theme parameter 504 c. For example, the definition of the navigation theme 502 c, as with thedata theme 502 a, defines the association and relationship between navigation theme parameters 504 c andservice parameters 508. For navigation themes 502 c, in one embodiment the relationship between the navigation theme parameter 504 c and theservice parameter 508 transfers the setting of the navigation theme parameter 504 c to the associatedservice parameters 508. For example, a navigation theme parameter 504 c can be set to one of a plurality of different values which each identify one of a plurality ofalternative navigation paths 702 for traveling between twostates 704, which can be transferred to the associatedservice parameters 508, to determine thenavigation path 702 presented to the user in traveling between the twostates 704. Instep 308, for each of the plurality ofservices 506, thenavigation paths 702 provided to the user are filtered according to theservice parameters 508 of thatservice 506. That is, thenavigation path 702 presented to the user passes through the filtering, whereas thenavigation paths 702 not presented to the user are blocked by the filtering. - In an exemplary embodiment, a specific navigation theme 502 c determines that all presented
navigation paths 702 arenavigation paths 702 suitable for inexperienced users. In another exemplary embodiment, a specific navigation theme 502 c determines that allnavigation paths 702 arenavigation paths 702 suitable for experienced users. In another exemplary embodiment, a navigation theme 502 c determines that somenavigation paths 702 are suitable for experienced users and some are suitable for inexperienced users. -
FIG. 5 , in addition to depicting exemplary embodiments of an association betweendata theme parameters 504 a, or usability parameters 504 b, andservice parameters 508, also depicts an exemplary embodiment of an association between navigation theme parameters 504 c andservice parameters 508 of an exemplary plurality of available navigation themes 502 c and plurality ofservices 506. - In one embodiment, the
method 300 can be performed with each step involving all of data, usability and navigation themes, or some subset thereof. For example, instep 304, the user can be provided with a data theme selection, a usability theme selection, and a navigation theme selection. Similarly, instep 304, the user can be provided with some subset of a data theme selection, a usability theme selection, and a navigation theme selection. Alternatively, in one embodiment, themethod 300 involves onlydata themes 502 a. Alternatively, in one embodiment, themethod 300 involves only navigation themes 502 b. Alternatively, in one embodiment, themethod 300 involves only usability themes 502 c. - In one embodiment, the plurality of
services 506 whose customization is determined by themes 502 are provided bydifferent software components 102, such as the first andsecond applications - In one embodiment, the
method 300 comprises providing a role selection to the user. The providing of the role selection results in the user selecting a role from among a plurality of available roles. The role selection determines which plurality ofservices 506, from among a pool ofavailable services 506, are provided to the user. The role selection identifies to thesoftware component 102, for example, thefirst application 104, the general role that the user has within the organization, and as such which plurality ofservices 506 are appropriate to be provided to the user. The role selection also optionally assigns a predetermined theme selection for the user. That is, the role selection assigns at least one of apredetermined data theme 502 a, predetermined usability theme 502 b, or predetermined navigation theme 502 c to the user. The assignment of the predetermined theme selection can be in addition to or instead of the providing the theme selection ofstep 304. For example, the predetermined theme assignment can occur at a moment in time before the providing the theme selection ofstep 304. In one embodiment, the plurality of available roles optionally includes at least one of: employee, manager, or system administrator. - In one embodiment, the theme 502 can be customized. That is, the particular association of theme parameters 504 with
service parameters 508, and their relationship, can be changed according to a preference. In one embodiment, the preference is that of the user, and themethod 300 comprises providing a user theme customization to the user, comprising providing the ability to the user to associate particular theme parameters 504 withparticular service parameters 508, and define their relationship. - In one embodiment, the
method 300 comprises providing a vendor theme customization, an administrator theme customization, and the user theme customization. The vendor theme customization comprises providing the ability to associate theme parameters 504 withservice parameters 508, and define their relationship, to a vendor of thesoftware components 102, for example, thefirst application 104. The administrator theme customization comprises providing the ability to associate theme parameters 504 withservice parameters 508, and define their relationship, to a system administrator of thesoftware component 102, the system administrator being employed by an organization having purchased a license for using thesoftware component 102. In one embodiment, the vendor theme customization occurs before the administrator theme customization, and the administrator theme customization occurs before the user theme customization. - In one embodiment, one of the
software components 102, for example, thefirst application 104, provides a dialog to the user, administrator or vendor to accomplish the providing of the theme customization. The user, administrator or vendor can then respond to the presented dialog to customize the theme 502. - Further embodiments are also possible, which are the result of variously combining steps, elements or embodiments described herein. For example, further embodiments may comprise an altered order of the steps of the
method 300 described herein, the result of which may be an embodiment particularly suited to a specific purpose or implementation. In another example, embodiments of themethod 300 may include or exclude optional steps described herein. In yet another example, different embodiments of themethod 300 may be combined to create further embodiments. Additional embodiments, which would be discernable based on the description herein, are also possible.
Claims (21)
1-20. (canceled)
21. A method, comprising:
separately executing a plurality of different applications, each application executing a corresponding query to at least one database;
storing, for each application, a plurality of service parameters that control a makeup of a corresponding navigation sequence provided to the user to execute the corresponding query; and
receiving a selection of one of a plurality of navigation themes by the user, wherein the selection of each navigation theme changes the value of at least one of the stored service parameters for each of the plurality of applications to at least one value corresponding to the selected navigation theme, the selection of different navigation themes resulting in different user interface states of the navigation sequences provided to execute the database queries of the plurality of applications.
22. The method of claim 21 , wherein the navigation themes include a beginner navigation theme and an advanced navigation theme, selection of the beginner navigation theme selecting a greater number of user interface states of the navigation sequences than selection of the advanced navigation theme.
23. The method of claim 21 , wherein the stored parameters for each application further control display of corresponding query results, including the selection of a subset of the query results to display and an ordering of the display of the selected subset;
the method further comprising receiving a selection of one of a plurality of data themes by the user, wherein the selection of each of the data themes changes the value of at least one of the stored service parameters of each of the plurality of applications to at least one value corresponding to the selected data theme to control the query result subset selection and display ordering for the plurality of applications.
24. The method of claim 21 , wherein the stored plurality of service parameters for each application also control a number and type of messages displayed to the user by the application;
the method further comprising receiving a selection of one of a plurality of usability themes by the user, wherein the selection of each usability theme changes the value of at least one of the stored service parameters for each of the plurality of applications to at least one value corresponding to the selected usability theme to control the number and type of messages displayed to the user by the plurality of applications.
25. The method of claim 21 , wherein each of the plurality of applications provides a different business functionality to the user, and the executing of the plurality of applications includes executing, for each of the plurality of applications, computer program instructions by a processor, the computer program instructions of each application being at least partially different than the computer program instructions of the other applications.
26. The method of claim 21 , further comprising executing computer program instructions of the plurality of applications by a first processor, wherein executing the plurality of applications includes accessing the at least one database, the database including data stored in a memory and computer program instructions executed by a second processor.
27. The method of claim 21 , wherein the corresponding query of at least one of the plurality of applications is related to employees of an organization.
28. The method of claim 21 , further comprising providing a role selection to the user, the role selection comprising selecting a role from among a plurality of available roles, the role selection determining which of a plurality of services are provided to the user by the plurality of applications and a predetermined data or navigation theme selection for the user, the plurality of available roles being roles of people associated with an organization, the plurality of available roles including at least one of: employee, manager, or system administrator.
29. The method of claim 21 , further comprising:
providing an vendor theme customization to a vendor of the plurality of applications, the vendor theme customization comprising associating data and navigation themes with service parameters by the vendor;
providing an administrator theme customization to a system administrator of the plurality of applications, the administrator customization comprising associating data and navigation themes with service parameters by the system administrator; and
providing a user theme customization to the user, the user theme customization comprising associating data and navigation themes with service parameters by the user.
30. The method of claim 29 , wherein the vendor theme customization occurs before the administrator theme customization, and the administrator theme customization occurs before the user theme customization.
31. A computer-readable storage medium having program instructions that, when executed by a processor, perform a method, the method comprising:
separately executing a plurality of different applications, each application executing a corresponding query to at least one database,
storing, for each application, a plurality of service parameters that control a makeup of a corresponding navigation sequence provided to the user to execute the corresponding query; and
receiving a selection of one of a plurality of navigation themes by the user, wherein the selection of each navigation theme changes the value of at least one of the stored service parameters for each of the plurality of applications to at least one value corresponding to the selected navigation theme, the selection of different navigation themes resulting in different user interface states of the navigation sequences provided to execute the database queries of the plurality of applications.
32. The computer-readable storage medium of claim 31 , wherein the navigation themes include a beginner navigation theme and an advanced navigation theme, selection of the beginner navigation theme selecting a greater number of user interface states of the navigation sequences than selection of the advanced navigation theme.
33. The computer-readable storage medium of claim 31 , wherein the stored service parameters for each application further control display of corresponding query results, including the selection of a subset of the query results to display and an ordering of the display of the selected subset;
the method further comprising receiving a selection of one of a plurality of data themes by the user, wherein the selection of each of the data themes changes the value of at least one of the stored service parameters of each of the plurality of applications to at least one value corresponding to the selected data theme to control the query result subset selection and display ordering for the plurality of applications.
34. The computer-readable storage medium of claim 31 , wherein the stored plurality of service parameters for each application also control a number and type of messages displayed to the user by the application;
the method further comprising receiving a selection of one of a plurality of usability themes by the user, wherein the selection of each usability theme changes the value of at least one of the stored service parameters for each of the plurality of applications to at least one value corresponding to the selected usability theme to control the number and type of messages displayed to the user by the plurality of applications.
35. The computer-readable storage medium of claim 31 , wherein each of the plurality of applications provides a different business functionality to the user, and the executing of the plurality of applications includes executing, for each of the plurality of applications, computer program instructions by a processor, the computer program instructions of each application being at least partially different than the computer program instructions of the other applications.
36. The computer-readable storage medium of claim 31 , the method further comprising executing computer program instructions of the plurality of applications by a first processor, wherein executing the plurality of applications includes accessing the at least one database, the database including data stored in a memory and computer program instructions executed by a second processor.
37. The computer-readable storage medium of claim 31 , wherein the corresponding query of at least one of the plurality of applications is related to employees of an organization.
38. The computer-readable storage medium of claim 31 , the method further comprising providing a role selection to the user, the role selection comprising selecting a role from among a plurality of available roles, the role selection determining which of a plurality of services are provided to the user by the plurality of applications and a predetermined data or navigation theme selection for the user, the plurality of available roles being roles of people associated with an organization, the plurality of available roles including at least one of: employee, manager, or system administrator.
39. The computer-readable storage medium of claim 31 , the method further comprising:
providing an vendor theme customization to a vendor of the plurality of applications, the vendor theme customization comprising associating data and navigation themes with service parameters by the vendor;
providing an administrator theme customization to a system administrator of the plurality of applications, the administrator customization comprising associating data and navigation themes with service parameters by the system administrator; and
providing a user theme customization to the user, the user theme customization comprising associating data and navigation themes with service parameters by the user.
40. The computer-readable storage medium of claim 39 , wherein the vendor theme customization occurs before the administrator theme customization, and the administrator theme customization occurs before the user theme customization.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/606,653 US20120331393A1 (en) | 2006-12-18 | 2012-09-07 | Method and system for providing themes for software applications |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/641,429 US8285732B2 (en) | 2006-12-18 | 2006-12-18 | Method and system for providing themes for software applications |
US13/606,653 US20120331393A1 (en) | 2006-12-18 | 2012-09-07 | Method and system for providing themes for software applications |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/641,429 Continuation US8285732B2 (en) | 2006-12-18 | 2006-12-18 | Method and system for providing themes for software applications |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120331393A1 true US20120331393A1 (en) | 2012-12-27 |
Family
ID=39529131
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/641,429 Active 2027-08-29 US8285732B2 (en) | 2006-12-18 | 2006-12-18 | Method and system for providing themes for software applications |
US13/606,653 Abandoned US20120331393A1 (en) | 2006-12-18 | 2012-09-07 | Method and system for providing themes for software applications |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/641,429 Active 2027-08-29 US8285732B2 (en) | 2006-12-18 | 2006-12-18 | Method and system for providing themes for software applications |
Country Status (1)
Country | Link |
---|---|
US (2) | US8285732B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150149891A1 (en) * | 2013-11-26 | 2015-05-28 | Yahoo! Inc. | Web application theme preview based on live previews |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8314789B2 (en) | 2007-09-26 | 2012-11-20 | Autodesk, Inc. | Navigation system for a 3D virtual scene |
US8799811B2 (en) * | 2008-08-22 | 2014-08-05 | Siemens Aktiengesellschaft | Method and apparatus for displaying medical thumbnail objects in a browsing component |
US9361132B2 (en) * | 2011-02-08 | 2016-06-07 | Qualcomm Incorporated | System and method for providing application-based user interface features on a computing device |
US20130191882A1 (en) | 2012-01-19 | 2013-07-25 | Sap Ag | Access control of remote communication interfaces based on system-specific keys |
CN110737519A (en) * | 2019-09-11 | 2020-01-31 | 视联动力信息技术股份有限公司 | theme switching method and device |
Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104391A (en) * | 1994-05-16 | 2000-08-15 | Apple Computer, Inc. | System and method for customizing appearance and behavior of graphical user interfaces |
US6188399B1 (en) * | 1998-05-08 | 2001-02-13 | Apple Computer, Inc. | Multiple theme engine graphical user interface architecture |
US6262730B1 (en) * | 1996-07-19 | 2001-07-17 | Microsoft Corp | Intelligent user assistance facility |
US20030046401A1 (en) * | 2000-10-16 | 2003-03-06 | Abbott Kenneth H. | Dynamically determing appropriate computer user interfaces |
US20040113930A1 (en) * | 2000-04-11 | 2004-06-17 | David Hawley | Method and computer program for rendering assemblies objects on user-interface to present data of application |
US6772167B1 (en) * | 2000-09-07 | 2004-08-03 | International Business Machines Corporation | System and method for providing a role table GUI via company group |
US20050085272A1 (en) * | 2003-10-17 | 2005-04-21 | Sony Ericsson Mobile Communications Ab | System method and computer program product for managing themes in a mobile phone |
US20050120313A1 (en) * | 2001-10-09 | 2005-06-02 | Rudd Michael L. | System and method for personalizing an electrical device interface |
US20060010051A1 (en) * | 2004-07-07 | 2006-01-12 | Sap Aktiengeseilschaft | Method and system for time sheet reporting |
US20060139312A1 (en) * | 2004-12-23 | 2006-06-29 | Microsoft Corporation | Personalization of user accessibility options |
US20060224967A1 (en) * | 2005-03-31 | 2006-10-05 | David Marmaros | Method and system for transferring web browser data between web browsers |
US20060253586A1 (en) * | 2005-05-04 | 2006-11-09 | Woods Michael E | System, Method, and Computer Program Product for Internet Tool |
US20070005576A1 (en) * | 2005-06-29 | 2007-01-04 | Microsoft Corporation | Search engine user interface |
US20070078905A1 (en) * | 2005-10-05 | 2007-04-05 | International Business Machines Corporation | Apparatus and Methods for a Do Not Disturb Feature on a Computer System |
US20070100882A1 (en) * | 2005-10-31 | 2007-05-03 | Christian Hochwarth | Content control of a user interface |
US20070157093A1 (en) * | 2005-12-30 | 2007-07-05 | Patrick Karcher | Systems and methods for adaptive help mechanisms for a user |
US20070174307A1 (en) * | 2005-09-13 | 2007-07-26 | Microsoft Corporation | Graphic object themes |
US20070203956A1 (en) * | 2006-02-28 | 2007-08-30 | Microsoft Corporation | Metadata Customization Using Diffgrams |
US20070271505A1 (en) * | 2006-05-18 | 2007-11-22 | Dandekar Shree A | Central internet browser control for multiple browsers enabled system |
US20080148150A1 (en) * | 2006-12-18 | 2008-06-19 | Sanjeet Mall | User interface experiemce system |
US8150962B1 (en) * | 2005-01-28 | 2012-04-03 | Sprint Spectrum L.P. | Method and system for delivery of user-interface skins, applications and services for wireless devices |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69525249T2 (en) | 1994-05-16 | 2002-10-02 | Apple Computer | SWITCHING BETWEEN DISPLAY / BEHAVIOR IN GRAPHIC USER INTERFACES |
US5862325A (en) | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5905492A (en) | 1996-12-06 | 1999-05-18 | Microsoft Corporation | Dynamically updating themes for an operating system shell |
US6016394A (en) | 1997-09-17 | 2000-01-18 | Tenfold Corporation | Method and system for database application software creation requiring minimal programming |
US6751776B1 (en) | 1999-08-06 | 2004-06-15 | Nec Corporation | Method and apparatus for personalized multimedia summarization based upon user specified theme |
US6865574B1 (en) | 2000-06-02 | 2005-03-08 | Vignette Corporation | Method for client-side personalization |
US6986030B2 (en) | 2000-10-27 | 2006-01-10 | M-Systems Flash Disk Pioneers Ltd. | Portable memory device includes software program for interacting with host computing device to provide a customized configuration for the program |
US7028262B2 (en) | 2000-12-29 | 2006-04-11 | International Business Machines Corporation | Method and system for designing a theme and associating it with a collaboration space user interface |
US7093009B2 (en) | 2001-07-05 | 2006-08-15 | Intel Corporation | Uploading personal agents to personalize network services |
US6986107B2 (en) | 2002-06-18 | 2006-01-10 | Microsoft Corporation | Dynamic generation of visual style variants for a graphical user interface |
US20040100490A1 (en) * | 2002-11-21 | 2004-05-27 | International Business Machines Corporation | Skin button enhancements for remote control |
-
2006
- 2006-12-18 US US11/641,429 patent/US8285732B2/en active Active
-
2012
- 2012-09-07 US US13/606,653 patent/US20120331393A1/en not_active Abandoned
Patent Citations (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6104391A (en) * | 1994-05-16 | 2000-08-15 | Apple Computer, Inc. | System and method for customizing appearance and behavior of graphical user interfaces |
US6262730B1 (en) * | 1996-07-19 | 2001-07-17 | Microsoft Corp | Intelligent user assistance facility |
US6188399B1 (en) * | 1998-05-08 | 2001-02-13 | Apple Computer, Inc. | Multiple theme engine graphical user interface architecture |
US20040113930A1 (en) * | 2000-04-11 | 2004-06-17 | David Hawley | Method and computer program for rendering assemblies objects on user-interface to present data of application |
US6772167B1 (en) * | 2000-09-07 | 2004-08-03 | International Business Machines Corporation | System and method for providing a role table GUI via company group |
US20030046401A1 (en) * | 2000-10-16 | 2003-03-06 | Abbott Kenneth H. | Dynamically determing appropriate computer user interfaces |
US20050120313A1 (en) * | 2001-10-09 | 2005-06-02 | Rudd Michael L. | System and method for personalizing an electrical device interface |
US20050085272A1 (en) * | 2003-10-17 | 2005-04-21 | Sony Ericsson Mobile Communications Ab | System method and computer program product for managing themes in a mobile phone |
US20060010051A1 (en) * | 2004-07-07 | 2006-01-12 | Sap Aktiengeseilschaft | Method and system for time sheet reporting |
US20060139312A1 (en) * | 2004-12-23 | 2006-06-29 | Microsoft Corporation | Personalization of user accessibility options |
US8150962B1 (en) * | 2005-01-28 | 2012-04-03 | Sprint Spectrum L.P. | Method and system for delivery of user-interface skins, applications and services for wireless devices |
US20060224967A1 (en) * | 2005-03-31 | 2006-10-05 | David Marmaros | Method and system for transferring web browser data between web browsers |
US20060253586A1 (en) * | 2005-05-04 | 2006-11-09 | Woods Michael E | System, Method, and Computer Program Product for Internet Tool |
US20070005576A1 (en) * | 2005-06-29 | 2007-01-04 | Microsoft Corporation | Search engine user interface |
US20070174307A1 (en) * | 2005-09-13 | 2007-07-26 | Microsoft Corporation | Graphic object themes |
US20070078905A1 (en) * | 2005-10-05 | 2007-04-05 | International Business Machines Corporation | Apparatus and Methods for a Do Not Disturb Feature on a Computer System |
US20070100882A1 (en) * | 2005-10-31 | 2007-05-03 | Christian Hochwarth | Content control of a user interface |
US20070157093A1 (en) * | 2005-12-30 | 2007-07-05 | Patrick Karcher | Systems and methods for adaptive help mechanisms for a user |
US20070203956A1 (en) * | 2006-02-28 | 2007-08-30 | Microsoft Corporation | Metadata Customization Using Diffgrams |
US20070271505A1 (en) * | 2006-05-18 | 2007-11-22 | Dandekar Shree A | Central internet browser control for multiple browsers enabled system |
US20080148150A1 (en) * | 2006-12-18 | 2008-06-19 | Sanjeet Mall | User interface experiemce system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150149891A1 (en) * | 2013-11-26 | 2015-05-28 | Yahoo! Inc. | Web application theme preview based on live previews |
US9361280B2 (en) * | 2013-11-26 | 2016-06-07 | Yahoo! Inc. | Web application theme preview based on live previews |
US9529783B2 (en) | 2013-11-26 | 2016-12-27 | Yahoo! Inc. | Live previews for multitasking and state management |
Also Published As
Publication number | Publication date |
---|---|
US8285732B2 (en) | 2012-10-09 |
US20080148183A1 (en) | 2008-06-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120331393A1 (en) | Method and system for providing themes for software applications | |
US9939995B2 (en) | Preview related action list | |
CA2966388C (en) | Method and system for generating dynamic user experience | |
US20080046862A1 (en) | Business task management | |
US20120159359A1 (en) | System and method for generating graphical dashboards with drill down navigation | |
US20050160033A1 (en) | System and method for aiding commercial property assessment | |
US20090319951A1 (en) | Aggregating Service Components | |
US20150058056A1 (en) | Systems and methods for streamlining scheduling | |
US8028205B2 (en) | System for providing performance testing information to users | |
US20090150779A1 (en) | Method and apparatus for displaying help information | |
US20120096385A1 (en) | Managing the scheduling of events | |
US11599372B2 (en) | Controlling permissions for access to user interface features | |
US20170199859A1 (en) | Dynamic user experience workflow | |
US10025460B1 (en) | Systems and methods for displaying menu items | |
US20060074933A1 (en) | Workflow interaction | |
US20100268566A1 (en) | Improved Calendaring System for Managing Follow-Up Appointments | |
AU2018267674A1 (en) | Method and system for organized user experience workflow | |
US11328362B2 (en) | Dynamic modeling and benchmarking for benefits plans | |
US9262035B1 (en) | Display for embedded intelligence | |
US20100094815A1 (en) | Method and apparatus for performing type-aware change tracking in a document | |
US11093897B1 (en) | Enterprise risk management | |
US8788305B2 (en) | Method for processing concurrent personnel assignments | |
US8655991B2 (en) | Automated rapid registration of applications | |
US8484646B1 (en) | System and method for managing process flows within a computing device based on user behavior | |
US20180268374A1 (en) | Electronic change planning manager |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SAP SE, GERMANY Free format text: CHANGE OF NAME;ASSIGNOR:SAP AG;REEL/FRAME:033625/0223 Effective date: 20140707 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |