Computer systems are currently in wide use. In fact, they are in use in many different types of environments.
Some such computer systems include business computer systems. Business systems include, for example, customer relations management (CRM) systems, enterprise resource planning (ERP) systems, line-of-business (LOB) systems, etc. These types of systems often include business data that is stored as entities or other business data records. Such business data records (or entities) often include records that are used to describe various aspects of a business. For instance, they can include customer entities that describe and identify customers, vendor entities that describe and identify vendors, sales entities that describe particular sales, quote entities, order entities, inventory entities, etc. The business systems also commonly include process functionality that facilitates performing various business processes or tasks on the data. Users log into the business system in order to perform business tasks for conducting the business.
Such business systems also currently include roles. Users are assigned one or more roles, based upon the type of tasks they are to perform for the business. The roles can include security permissions, and they can also provide access to different types of data records (or entities), based on a given role.
Business systems can also be very large. They contain a great number of data records (or entities) that can be displayed or manipulated through the use of thousands of different forms. Therefore, visualizing the data in a meaningful way can be very difficult.
Employees in different roles in an organization may also wish to view different information. That information can be generated using fairly complex analytical processing. For instance, business intelligence systems, and online transaction processing (OLTP) systems, can be employed in order to perform relatively complicated operations or calculations on underlying business data. This can give a manager a desired view of the data or provide the manager with other desired information. The desired information can include, for instance, a variety of different business metrics which can be used to measure the progress or success of the organization, or other items.
The business intelligence and OLTP systems often include relatively complex user interfaces that can be configured to generate the various metrics. It normally takes an individual who is trained in the particular language or techniques used by the business intelligence system or OLTP system in order to configure it to generate the desired information.
The discussion above is merely provided for general background information and is not intended to be used as an aid in determining the scope of the claimed subject matter.
A user interface display has one or more metrics or performance indicator elements. The elements are actuatable to display more detailed information corresponding to each metric or performance indicator. A plurality of different pre-defined display elements can be added to the display.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. The claimed subject matter is not limited to implementations that solve any or all disadvantages noted in the background.
Business system 100 illustratively includes business data store 108, business process component 110, processor 112, visualization component 114, display customization component 116, key performance indicator (KPI) generator component 118, sorting component 120, role switching component 122 and business intelligence component 124. Business data store 108 illustratively includes business data for business system 100. The business data can include entities 126 or other types of business records or data 128. It also includes a set of roles 130 that can be held by various users of the data system 100. Further, business data store 108 illustratively includes various workflows 132. Business process component 110 illustratively executes the workflows 132 on entities 126 or other business data records 120, based upon user inputs from users that each have one or more given roles 122. Business data store 108 is also shown as including chart gallery 134 and KPI gallery 136. Galleries 134 and 136 illustratively store pre-defined user interface display elements that can be selected for display by user 106.
Visualization component 114 illustratively generates various visualizations, or views, of the data and processes (or workflows) stored in business data store 108. The visualizations can include, for example, practice manager homepage display 140, detail pages 142, gallery pages 144, KPI creation page 146, and it can include other displays 148 as well.
Practice manager homepage display 140 is illustratively an overview of the various data and workflows in business system 100 that are relevant to a practice manager. It can surface charts, key performance indicator display elements, and entity display elements. Detail pages 142 illustratively display more details about a particular item that was actuated by the user from the homepage display 140. Gallery pages 144 illustratively display pre-defined display elements that can be added by user 106 to the homepage display 140. KPI creation page 146 illustratively presents a user experience that allows user 106 to create new KPI display elements that can display new or different key performance indicators on homepage 140.
Business intelligence component 124 illustratively performs analytics or other business intelligence operations on the data in business data store 108 in order to generate information that can be used by visualization component 114 and displayed on charts or on key performance indicator display elements. As an example, if a chart is configured to display utilization versus time, business intelligence component 124 illustratively calculates the information needed by visualization component 114 to generate and display that chart. Similarly, if a key performance indicator is actual cost as compared to the cost for a previous month and as compared to a budgeted cost, business intelligence component 124 illustratively performs the calculations needed by visualization component 114 in order to generate that display.
Display customization component 116 illustratively allows user 106 to perform various customization operations on the displays generated by visualization component 114. That is, user 106 can provide inputs on user input mechanisms to customize the various displays.
New KPI generator component 118 illustratively generates user interface displays (e.g, KPI creation page 146) that allow user 106 to configure new KPI display elements that can be displayed on practice manager homepage 114 and reflect desired KPIs. Sorting component 120 illustratively receives inputs from user 106 to sort the information displayed on various displays. Role switching component 122 illustratively allows user 106 to switch roles, if the user is authorized to do so. Component 122 then provides this information to visualization component 114 so that visualization component 114 modifies the role-based information that is displayed, as appropriate.
In response to user 106 logging in to business system 100, visualization component 114 illustratively displays practice manager homepage display 140. The information displayed on display 140 is illustratively filtered or generated based upon the particular role of user 106 (i.e., the practice manager role). Displaying the practice manager homepage is indicated by block 158 in
In one embodiment, section 160 illustratively includes a favorite chart display element 174 that shows a chart that has been selected by user 106 to be displayed in section 160. The charts section 162 illustratively includes a plurality of different chart elements 176, that show charts that have been selected by the user to be displayed in section 162. The charts section 162 also illustratively includes an add indicator 178 that can be actuated to add another chart to section 162 on homepage display 140. The user can also use touch, mouse or other inputs to rearrange the order of the charts in section 162.
KPI display section 164 illustratively includes a plurality of display elements 180, each of which display a key performance indicator. A key performance indicator is a type of performance measurement that can be used by an organization to evaluate its success or to evaluate the success of a particular activity in which it is engaged. Success can be defined in terms of making progress toward strategic goals or the repeated periodic achievement of some operational goal. Section 164 also illustratively includes an add mechanism 182 that can be actuated by user 106 in order to add additional display elements 180 to display section 164. User 106 can also use touch or mouse or other inputs to rearrange the order of KPIs in section 164.
Each of the entity display sections 166 and 168 illustratively include display elements 184 and 186, respectively, that represent different entities 126 from business system 100. .
Display 200 also shows a portion of charts section 162. Charts section 162 includes two different chart display elements 176 showing two underlying charts, one of which plots utilization against time and the other of which plots cost against time. Elements 176 are illustratively active display elements that are updated as the underlying data is updated. If the user pans display 200 to the right as generally indicated by arrow 206, the user will illustratively be able to see KPI display section 164 and entity display sections 166 and 168.
Display element 214 in
Display element 224, shown in
It will be noted that the chart display elements shown in
Referring again to the flow diagram of
Once the user has interacted with the homepage display, visualization component 114 illustratively performs operations or takes various actions, based upon the particular user interaction that was received. This is indicated by block 244. A number of these specific interactions are described below with respect to the flow diagrams of
Before describing those, however, it will be noted that user 106 can also provide a role switching input to switch roles. In response, role switching component 122 controls visualization component 114 to display another homepage display, corresponding to the new role that was input by the user. Switching roles is indicated by block 246 in
The user can provide the role switching input in a variety of different ways.
It will first be assumed that the user has actuated one of the chart display elements 210 and 212. When this happens, visualization component 114 illustratively navigates the user to a more detailed chart display corresponding to the actuated chart display element. For instance, if the user actuates chart display element 210 (such as by clicking on it or tapping on it on a touch sensitive display), then an interactive chart details page is displayed which displays the chart represented by display element 210 in a larger form so that it can be more easily viewed, and interacted with, by user 106. Displaying the chart details page is indicated by block 268 in the flow diagram of
Visualization component 114 can then receive further user interactions on the chart details page. Visualization component 114 performs corresponding actions, based upon the user interactions that are received on the chart details page. Receiving further user interactions on the chart details page and then taking additional action based upon those user inputs is indicated by blocks 270 and 272, respectively.
As examples, if the user touches one of the columns in the chart represented by display element 210 (when it is displayed on the chart details page), then visualization component 114 illustratively navigates the user to a list page showing a list of projects, workers, or other items that make up the data which represents that column If the user then further actuates an item on the list page, the user is illustratively navigated to a details page corresponding to that list items. Thus, the user can drill down to more detailed information, in this way. This is indicated by block 274 in
The user can also illustratively filter the information displayed on the chart using various dimensions (such as project type, worker type, date, etc.). Filtering the information is indicated by block 276. The user can illustratively initiate communication with other individuals, and this is indicated by block 278. For instance, the user 106 can illustratively initiate messaging communication, an electronic mail message, a telephone call, etc., to another user.
In another embodiment, user 106 can navigate to other displays, as indicated by block 280, or perform other interactions that result in visualization component 114 taking other actions as well. This is indicated by block 282 in
If, at block 266, instead of actuating a chart display element 210 or 212, user 106 instead actuates user input mechanism 178 to add a chart display element to the charts section 162, visualization component 114 illustratively accesses business data store 108 and displays a role-based chart gallery. This is indicated by block 284 in
The display of the display elements 288 in the chart gallery can be resorted by actuating sorting mechanism 289. Mechanism 289 is shown as a drop down menu which allows the user to select the various display criteria used to sort and group display elements 288 on the chart gallery. Of course, mechanism 289 can be a wide variety of other use input mechanisms as well, and the drop down menu is shown for the sake of example only. When the user selects the sort criteria, sorting component 120 (shown in
It will also be noted that, in one embodiment, the pre-defined charts represented by display elements 288 are chosen and displayed in the chart gallery based on the user's role. Therefore, if the user is logged in as a practice manager, the display elements 288 in the gallery will be for a first set of corresponding charts. However, if the user logs in as a sales manager or under a different role, then the display elements 288 can correspond to a different set of charts.
In the embodiment shown in
Each display element also illustratively includes a title 292 that is the title of the chart, a chart type 294 that indicates the type of chart (such as bar chart, pie chart, funnel chart, etc.) and a category 296 that indicates a business category into which the chart falls (such as profitability, cost, revenue, cash flow, utilization, customers, opportunities, etc.). User 106 can then interact with the chart gallery shown in
The user can pin one of the charts corresponding to a given display element 288 to the charts section 162 of the user's homepage by selecting the given display element 288 and actuating the add button 298 on display 286. The user can remove a chart from a homepage display by selecting the chart and actuating cancel button 292. Pinning one of the pre-defined charts to the homepage of user 106 is indicated by block 300. Unpinning a chart is indicated by block 302. Resorting display elements 288 by actuating mechanism 289 is indicated by block 304. It will also be noted that the user can perform other operations, such as navigating to other displays using back button 306. This is indicated by block 308 in
It is first assumed that user 106 actuates one of the KPI tiles on section 164 of homepage display 140. In that case, visualization component 114 illustratively displays a KPI details page which displays additional details corresponding to the KPI display element 180 that was actuated. Displaying the details page is indicated by block 324 in
KPI details page 326 also illustratively includes a filter section 330. Filter section 330 illustratively includes one or more user input mechanisms 332 and 334 that allow the user to filter the data upon which the metric represented by the KPI details page is calculated. In the embodiment shown in
Receiving further user interactions with the KPI details page 326 is indicated by block 340 in the flow diagram of
Referring again to the flow diagram of
Each of the KPI display elements 356 in the KPI gallery illustratively includes a title indicator 360, a type 362 and a category indicator 364. The title indicator shows a title for the underlying KPI that is represented by that specific display element. The type indicates the type of KPI that is to be calculated (such as a directional KPI, a performance KPI, or another type of KPI). The category indictor 364 displays a category into which the KPI fits. The categories can include, for instance, profitability, revenue, cash flow, cost, utilization, opportunities, sales, etc.).
The user can then perform a variety of different interactions with the KPI gallery display 354, and visualization component 114 performs various actions based upon those user interactions. This is indicated by block 370 in the flow diagram of
For instance, the user can pin or unpin the KPIs represented by display elements 356 to the user's homepage. The user can illustratively do this by selecting one of the display elements 356 and actuating either the add user input mechanism 372 (which acts to pin the underlying KPI to the user's homepage) or the cancel user input mechanism 374 (which acts to remove it from the user's homepage). Pinning and unpinning are indicated by blocks 376 and 378 in the flow diagram of
The user can change how the elements 356 are displayed on the gallery display 354. This can be done by actuating sort mechanism 358. Sorting is indicated by block 380 in the flow diagram of
The user can also illustratively navigate to other displays, such as by actuating the back user input mechanism 382. Navigating is indicated by block 384 in the flow diagram of
In addition, if the user wishes to see another KPI that is not already pre-defined within business system 100, the user can illustratively actuate the KPI creation user input mechanism 386. Creating a new KPI is indicated by block 388 in the flow diagram of
Display 390 also illustratively shows a preview 400 of the particular KPI display element that will be added to the user's homepage for this particular KPI. Therefore, if the user does not like the preview 400, the user can change the information using the other user input mechanisms on display 290 so that the preview 400 appears the way the user desires. Once the user has finally configured the new KPI, the user can actuate the create user input mechanism 402 to create the new KPI that has just been configured by the user.
Configuring the new KPI based on the user inputs is indicated by block 404 in the flow diagram of
Referring again to the user's homepage display 140 of
One embodiment of the entity display elements 184 in entity section 166 is shown in
The way the particular display elements are displayed can be changed using sort mechanism 412. For instance, in the display shown in
The present discussion has mentioned processors and servers. In one embodiment, the processors and servers include computer processors with associated memory and timing circuitry, not separately shown. They are functional parts of the systems or devices to which they belong and are activated by, and facilitate the functionality of the other components or items in those systems.
Also, a number of user interface displays have been discussed. They can take a wide variety of different forms and can have a wide variety of different user actuatable input mechanisms disposed thereon. For instance, the user actuatable input mechanisms can be text boxes, check boxes, icons, links, drop-down menus, search boxes, etc. They can also be actuated in a wide variety of different ways. For instance, they can be actuated using a point and click device (such as a track ball or mouse). They can be actuated using hardware buttons, switches, a joystick or keyboard, thumb switches or thumb pads, etc. They can also be actuated using a virtual keyboard or other virtual actuators. In addition, where the screen on which they are displayed is a touch sensitive screen, they can be actuated using touch gestures. Also, where the device that displays them has speech recognition components, they can be actuated using speech commands.
A number of data stores have also been discussed. It will be noted they can each be broken into multiple data stores. All can be local to the systems accessing them, all can be remote, or some can be local while others are remote. All of these configurations are contemplated herein.
Also, the figures show a number of blocks with functionality ascribed to each block. It will be noted that fewer blocks can be used so the functionality is performed by fewer components. Also, more blocks can be used with the functionality distributed among more components.
The description is intended to include both public cloud computing and private cloud computing. Cloud computing (both public and private) provides substantially seamless pooling of resources, as well as a reduced need to manage and configure underlying hardware infrastructure.
A public cloud is managed by a vendor and typically supports multiple consumers using the same infrastructure. Also, a public cloud, as opposed to a private cloud, can free up the end users from managing the hardware. A private cloud may be managed by the organization itself and the infrastructure is typically not shared with other organizations. The organization still maintains the hardware to some extent, such as installations and repairs, etc.
In the embodiment shown in
It will also be noted that system 100, or portions of it, can be disposed on a wide variety of different devices. Some of those devices include servers, desktop computers, laptop computers, tablet computers, or other mobile devices, such as palm top computers, cell phones, smart phones, multimedia players, personal digital assistants, etc.
Under other embodiments, applications or systems are received on a removable Secure Digital (SD) card that is connected to a SD card interface 15. SD card interface 15 and communication links 13 communicate with a processor 17 (which can also embody processor 112 from
I/O components 23, in one embodiment, are provided to facilitate input and output operations. I/O components 23 for various embodiments of the device 16 can include input components such as buttons, touch sensors, multi-touch sensors, optical or video sensors, voice sensors, touch screens, proximity sensors, microphones, tilt sensors, and gravity switches and output components such as a display device, a speaker, and or a printer port. Other I/O components 23 can be used as well.
Clock 25 illustratively comprises a real time clock component that outputs a time and date. It can also, illustratively, provide timing functions for processor 17.
Location system 27 illustratively includes a component that outputs a current geographical location of device 16. This can include, for instance, a global positioning system (GPS) receiver, a LORAN system, a dead reckoning system, a cellular triangulation system, or other positioning system. It can also include, for example, mapping software or navigation software that generates desired maps, navigation routes and other geographic functions.
Memory 21 stores operating system 29, network settings 31, applications 33, application configuration settings 35, data store 37, communication drivers 39, and communication configuration settings 41. Memory 21 can include all types of tangible volatile and non-volatile computer-readable memory devices. It can also include computer storage media (described below). Memory 21 stores computer readable instructions that, when executed by processor 17, cause the processor to perform computer-implemented steps or functions according to the instructions. Processor 17 can be activated by other components to facilitate their functionality as well.
Examples of the network settings 31 include things such as proxy information, Internet connection information, and mappings. Application configuration settings 35 include settings that tailor the application for a specific enterprise or user. Communication configuration settings 41 provide parameters for communicating with other computers and include items such as GPRS parameters, SMS parameters, connection user names and passwords.
Applications 33 can be applications that have previously been stored on the device 16 or applications that are installed during use, although these can be part of operating system 29, or hosted external to device 16, as well.
The mobile device of
Note that other forms of the devices 16 are possible.
Computer 810 typically includes a variety of computer readable media. Computer readable media can be any available media that can be accessed by computer 810 and includes both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media is different from, and does not include, a modulated data signal or carrier wave. It includes hardware storage media including both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by computer 810. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
The system memory 830 includes computer storage media in the form of volatile and/or nonvolatile memory such as read only memory (ROM) 831 and random access memory (RAM) 832. A basic input/output system 833 (BIOS), containing the basic routines that help to transfer information between elements within computer 810, such as during start-up, is typically stored in ROM 831. RAM 832 typically contains data and/or program modules that are immediately accessible to and/or presently being operated on by processing unit 820. By way of example, and not limitation,
The computer 810 may also include other removable/non-removable volatile/nonvolatile computer storage media. By way of example only,
Alternatively, or in addition, the functionality described herein can be performed, at least in part, by one or more hardware logic components. For example, and without limitation, illustrative types of hardware logic components that can be used include Field-programmable Gate Arrays (FPGAs), Program-specific Integrated Circuits (ASICs), Program-specific Standard Products (ASSPs), System-on-a-chip systems (SOCs), Complex Programmable Logic Devices (CPLDs), etc.
The drives and their associated computer storage media discussed above and illustrated in
A user may enter commands and information into the computer 810 through input devices such as a keyboard 862, a microphone 863, and a pointing device 861, such as a mouse, trackball or touch pad. Other input devices (not shown) may include a joystick, game pad, satellite dish, scanner, or the like. These and other input devices are often connected to the processing unit 820 through a user input interface 860 that is coupled to the system bus, but may be connected by other interface and bus structures, such as a parallel port, game port or a universal serial bus (USB). A visual display 891 or other type of display device is also connected to the system bus 821 via an interface, such as a video interface 890. In addition to the monitor, computers may also include other peripheral output devices such as speakers 897 and printer 896, which may be connected through an output peripheral interface 895.
The computer 810 is operated in a networked environment using logical connections to one or more remote computers, such as a remote computer 880. The remote computer 880 may be a personal computer, a hand-held device, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the computer 810. The logical connections depicted in
When used in a LAN networking environment, the computer 810 is connected to the LAN 871 through a network interface or adapter 870. When used in a WAN networking environment, the computer 810 typically includes a modem 872 or other means for establishing communications over the WAN 873, such as the Internet. The modem 872, which may be internal or external, may be connected to the system bus 821 via the user input interface 860, or other appropriate mechanism. In a networked environment, program modules depicted relative to the computer 810, or portions thereof, may be stored in the remote memory storage device. By way of example, and not limitation,
It should also be noted that the different embodiments described herein can be combined in different ways. That is, parts of one or more embodiments can be combined with parts of one or more other embodiments. All of this is contemplated herein.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.