Data Displays in a Tile-Based User Interface
A computing device may present a display of tiles to present therein data feeds, analytics, news items and so on. A user may expand a tile to show more additional details of data in a tile. The additional data details in the expanded tile may comprise different detailed data than the data in the original tile.
Latest SAP AG Patents:
- Systems and methods for augmenting physical media from multiple locations
- Compressed representation of a transaction token
- Accessing information content in a database platform using metadata
- Slave side transaction ID buffering for efficient distributed transaction management
- Graph traversal operator and extensible framework inside a column store
The present disclosure relates to commonly owned, concurrently filed U.S. application Ser. No. 13/931,592, filed Jun. 28, 2013, entitled “PINCH GESTURES IN A TILE-BASED USER INTERFACE,” the content of which is incorporated herein by reference in its entirety for all purposes.
BACKGROUNDUnless otherwise indicated herein, the approaches described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Tile-based user interfaces (UIs) are becoming increasingly common in mobile computing devices. A tile-based application may present its UI in a tile that is displayed among several other tiles in the display area of an output device. The amount of information available from a tile is limited because the tile typically occupies only a small portion of the display area. Similarly, the functionality that is available through a tile is limited due to the small size of the tile. Access to the detailed information and full functionality of a tile-based application requires the user to bring up a full-screen view of the application's UI.
In the following description, for purposes of explanation, numerous examples and specific details are set forth in order to provide a thorough understanding of the present disclosure. It will be evident, however, to one skilled in the art that the present disclosure as expressed in the claims may include some or all of the features in these examples alone or in combination with other features described below, and may further include modifications and equivalents of the features and concepts described herein.
Users may access applications 14 running on the backend systems 12 using their computing devices 102. Applications 14 may access services provided by the backend systems 12 using, for example, web interface technology such as the web services description language (WSDL), the simple object access protocol (SOAP), and so on. Typical computing devices 102 include desktop computers, laptop computers, and the like. In accordance with the present disclosure, the backend systems 12 may be accessed using mobile computing devices 102a, 102b, such as computing tablets, smart phones, and the like.
“Tiling” may be used to allow users to have concurrent access to several applications at a time on their computing devices 102. For example, computing device 102a shows a display having several tiles 122 presented in the display area 106 of the display device 104. Tiles 122 are typically displayed in the display area 106 in non-overlapping fashion.
Each tile 122 may be associated with an application 14, for example, to provide feeds, analytics, social networking, news, etc. Some tiles (e.g., tile 122a in computing device 102a) may present data generated by their respective applications in the form of charts. In accordance with the present disclosure, a user may change the size of a tile 122a to view more (or less) information presented by the chart, for example, by presenting a different chart in the re-sized tile 122b.
The backend systems 12 may provide chart data 112 to the computing device 102 that comprises the different data presented by the different charts. In some embodiments, the chart data 112 may be received from the backend systems 12 and cached in local memory in the computing device 102 to provide a fast the response time in presenting the chart in a resized tile. In other embodiments, the chart data 112 may be provided in real time (on the fly) from the backend systems 12 as tiles are re-sized. This aspect of the present disclosure will be discussed in more detail below.
Referring to
The processing unit 212 may comprise a single-processor configuration, or may be a multi-processor architecture. The system memory 214 may include read-only memory
(ROM) and random access memory (RAM). The internal data storage device 216 may be an internal hard disk drive (HDD), a magnetic floppy disk drive (FDD, e.g., to read from or write to a removable diskette), an optical disk drive (e.g., for reading a CD-ROM disk, or to read from or write to other high capacity optical media such as the DVD), and so on. In a configuration where the computing device 102 is a mobile device, the internal data storage 216 may be a flash drive.
The internal data storage device 216 and its associated non-transitory computer-readable storage media provide nonvolatile storage of data, data structures, computer-executable instructions, and so forth. Although the description of computer-readable media above refers to an HDD, a removable magnetic diskette, and a removable optical media such as a CD or DVD, it is noted that other types of media which are readable by a computer, such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like, may also be used, and further, that any such media may contain computer-executable instructions for performing the methods disclosed herein.
The system memory 214 and/or the internal data storage device 216 may store a number of program modules, including an operating system (OS) 232, one or more application programs 234, data 236, and other program/system modules 238. For example, the application programs 234, which when executed, may cause the computing part 202 to perform method steps disclosed herein. The application programs 234 and/or the OS 232 may include a tile manager for managing the display of tiles 122 in the display area 106. In addition, in some embodiments, the data 236 stored in system memory 214 may include chart data 112 provided by the backend systems 12 and cached in the computing device 102.
In some embodiments, access to the computing part 202 may be provided by an input component 244 (e.g., keyboard, mouse, etc.) and an output component 246. In some embodiments, where the computing device 102 is mobile device, the input 244 and output 246 may be components of a touch-sensitive device. In other embodiments, such as in a laptop computer, the input 244 may include a touch pad device and the output 246 may be a display panel.
Though the idea of charts are well known, a brief discussion about charts, nonetheless, will be made to a more complete understanding of the present disclosure. As used herein, the term “chart” will be understood to refer to diagrammatic representations of data. In some embodiments, the data that is represented by a chart is analytics data, which refers to source data that has been subjected to one or more analytics (computations, computed data, etc.). For example, the source data may be sales receipts of a store collected during the week. An example of analytics that may be generated from the source data may include daily receipts, where the analytics involves grouping the receipts by day and then computing the sum of each day's receipts.
Charts may include graphs, bar charts, pie charts, line charts, data tables, and so on. Charts typically include labels to inform the user as to the nature of the data that is being represented by the chart. Some charts may be annotated in addition to the labels to convey additional information about the data.
In accordance with the present disclosure, a tile (e.g., 122a) that is displayed in the display area 106 of the computing device 102 may present a chart that represents data generated from “source data” that is associated with the tile. For example, the application 14 may be a sales forecasting application that uses sales and other data for generating a sales forecast, which is then presented in the tile 122a. The sales and related data would be the source data that is associated with the tile 122a.
When the tile 122a is resized to a larger size (e.g., 122b), the resized tile is still associated with the source data, but may present a chart that represents different data generated from that source data. For example, different computations may be performed for different tile sizes, the source data may be grouped differently, and so on. In some embodiments, the chart presented in the expanded tile 122b may include additional data or information that was not presented in the smaller tile 122a.
Referring to
In some embodiments, the re-sizing may be constrained to pre-defined incremental (step) sizes, where the number of increments can be one or more. Thus, each gesture may change the tile size by one increment. For example, enlargement may occur at 50% size increments, where the next size is changed by 50% from the previous size. Thus, a first horizontal pinch out gesture may expand the width of the tile by 50%, a second horizontal pinch out gesture may expand the tile by another 50%, and so on. Likewise a pinch in gesture may reduce a large tile back to its original size in 50% size increments.
It will be appreciated that the finger gestures need not be two-finger pinch gestures. In other embodiments, any one-, two- or more finger gestures may be used to resize a tile. Referring to
Referring to
The display area 106 shows only a portion of all the tiles in a larger logical “grid” of tiles. Each tile in the grid may be associated with an application 14 (e.g., executing on the backend systems 12) and presents output generated by that application. Other tiles in the grid that are beyond the viewing area of display area 106 may be brought into view by dragging another portion of the grid into the viewing area. When a user moves a tile (e.g., using a drag and drop gesture) to another location, other tiles in the grid may be re-arranged in the grid to accommodate the tile's new location. When a user resizes a tile 502a (
Referring to
In accordance with the present disclosure, if the user reduces a tile, one or more adjacent or neighboring tiles may automatically be resized to a larger size to fill the space left by the reduced sized tile. This may be illustrated, for example, by viewing
In accordance with the present disclosure, when a tile is automatically resized due to the user resizing a nearby tile, the data representation in the automatically resized tile may change in the manner according to the present disclosure as if the user had resized that tile. In other words, if a tile is automatically increased in size, then a more detailed representation of the underlying source data associated with that tile may be presented in that tile. Conversely, if a tile is automatically reduced in size, then a higher level (less detailed) representation of the underlying source data associated with that tile may be presented in that tile.
Referring to FIGS. 6 and 6A-6C, an illustrative example of tile resizing and different data presentations in accordance with the present disclosure will be discussed.
In accordance with the present disclosure, the user may view more detailed information by resizing the tile 602a using a pinch out gesture; e.g., horizontal pinch out, vertical pinch out, diagonal pinch out, etc.
It is noted here that the chart in tile 602b does not constitute a mere scaling of the image of the chart presented in the tile 602a in
Referring to
It is noted here that the tile 602c in
The data that is represented by the chart presented in tile 602a of
The chart data 112 may include additional data such a labels for the chart, labeling of data points, and so on. The chart data 112 may also include meta data which describes how to display the chart, for example the kind of chart (bar chart, pie chart, line graph, etc.), the scale ranges, number of tic marks, number of pie segments, and so on.
If the user horizontally expands the tile (e.g., using a horizontal pinch out gesture), the tile may now present a chart using more detailed data generated from the same employee database.
The data that is represented by the chart in
Yet another example is illustrated in
Referring now to
At a block 902, the computing device 102 may receive from the backend systems 12 one or more sets of pre-computed chart data 112 for a tile to be displayed in the display area 106. The pre-computed chart data 112 may include chart data for a chart to be presented in default-sized tile and chart data for each incremental change in tile size. For example, the incremental tile sizes may be predefined, and the charts to be presented in each tile size increment may likewise be predefined. The chart data may then be pre-computed for each chart. The chart data 112 may be stored (cached) in a local memory of the computing device 102, allowing for a quick response time in the display of a resized tile.
At a block 904, the computing device 102 may display the tile in the display area 106. The initial display of the tile may be the default-size of the tile. At block 906, the computing device 102 may select from local memory the cached chart data 112 that is associated with the present size of the tile being displayed. For example, if the tile is at the default size, then the chart data 112 that corresponds to the default-sized tile is selected. At block 908, the computing device 102 may use the selected chart data 112 to generate and present the chart in the tile.
At block 910, the computing device 102 may receive user input; e.g., a gesture, data input, etc. At block 912, if the user input is not a re-sizing kind of input, then the computing device 102 may process the user input accordingly at block 914. Processing may continue at block 910 to receive the next user input.
If at block 912, the user input is a re-sizing gesture (e.g., horizontal pinch out), then at block 916, the computing device 102 may resize the tile in the display area 106, which may include re-arranging and/or resizing other tiles in the display area. Processing proceeds to block 906, where the chart data 112 associated with the new size of the tile may be selected form among the cached chart data. At block 908, the computing device 102 may generated and present a chart in the tile using the selected chart data 112. Processing may then proceed to block 910 to receive the next user input.
The processing in
At block 904, the tile may be displayed in the display area 106 of the computing device 102. The tile may be initially displayed in its default size. At block 922, the computing device 102 may communicate with the backend systems 12 to obtain suitable chart data 112 from the backend systems; for example, by indicating the size (dimensions) of the tile. The backend systems 12 may obtain the chart data 112 from its local cache (block 932) or generate the chart data on the fly (block 914).
At block 924, the computing device 102 may receive the chart data 112 from the backend systems 12 and present a chart in the tile in accordance with the received chart data. User input may then be received at block 908, and processed in block 914 or block 916 as described above.
In some embodiments, the user may use different gestures to use either locally cached pre-computed chart data 112 or chart data 112 produced by the backend systems 12. This may be suitable where the user desires to view current up-to-date data from the backend systems 12.
Accordingly,
Processing in
In an embodiment, for example, gestures of the first type may include a pinch out gesture to enlarge the tile on which the gesture was made, and a pinch in gesture to reduce the tile. An example of gestures of the second type may include a swiping motion toward the right to enlarge the tile, and a swiping motion toward the left to reduce the tile.
Thus, if the resizing gesture is of the first kind, then at block 946 chart data 112 associated with the size of the tile indicated by the gesture may be selected form among the cached chart data as explained above. If the resizing gesture is of the second kind, then at block 948 a request may be sent to the backend system 12 to generate pre-determined chart data 112 using the latest data stored in the backend system. In some embodiments, the request may trigger an aggregation, report, and search process to generate chart data 112. The request may include parameters that specify the report or aggregation, or specify the data to be used. Processing may then continue with block 916 as discussed above.
The above description illustrates various embodiments of the present disclosure along with examples of how aspects of the particular embodiments may be implemented. The above examples should not be deemed to be the only embodiments, and are presented to illustrate the flexibility and advantages of the particular embodiments as defined by the following claims. Based on the above disclosure and the following claims, other arrangements, embodiments, implementations and equivalents may be employed without departing from the scope of the present disclosure as defined by the claims.
Claims
1. A computer-implemented method in a computer device comprising:
- displaying a plurality of tiles on a display device; and
- presenting, in a first tile, a data chart representative of data generated from computations performed on source data associated with the first tile, wherein the computations performed depend on a size of the first tile,
- wherein when the first tile is at a first size, the data chart presented in the first tile is representative of first data generated from the source data using first computations,
- wherein when the first tile is at a second size, the data chart presented in the first tile is representative of second data different from the first data and generated from the source data using second computations.
2. The computer-implemented method of claim 1 wherein the first and second computations include groupings the source data that depending on the size of the first tile.
3. The computer-implemented method of claim 1 wherein the data chart is a graph, bar chart, pie chart, line chart, or a data table.
4. The computer-implemented method of claim 1 wherein the data chart is a graphical representation of the data generated from the computations performed on the source data.
5. The computer-implemented method of claim 1 wherein when the first tile is at the first size then a first data chart is presented in the first tile and when the first tile is at the second size then a second data chart different from the first data chart is presented in the first tile.
6. The computer-implemented method of claim 1 further comprising:
- displaying the first tile in the display area at the first size including presenting the first data chart in the first tile;
- receiving user input; and
- in response to the user input, displaying the first tile in the display area at the second size including presenting the second data chart in the first tile.
7. The computer-implemented method of claim 6 wherein the user input is a gesture made on a touch sensitive device using one or more fingers.
8. The computer-implemented method of claim 6 further comprising:
- receiving another user input; and
- in response to the other user input, displaying the first tile in the display area at a third size including presenting a third data chart in the first tile representative of data generated from the source data using third computations different from the first computations and the second computations.
9. The computer-implemented method of claim 1 wherein data generated from the source data using the first computations and data generated from the source data using the second computations are cached in a memory of the computer device.
10. The computer-implemented method of claim 1 further comprising storing in the computer device first data generated from the source data using the first computations and storing in the computer device second data generated from the source data using the second computations,
- wherein when the first tile is at the first size, the data chart presented in the first tile is generated using the first data stored in the computer device,
- wherein when the first tile is at the second size, the data chart presented in the first tile is generated using the second data stored in the computer device.
11. The computer-implemented method of claim 1 wherein the first data generated using the first computations and the second data generated using the second computations are received from a server system different from the computer device.
12. A computing device comprising:
- a processor;
- a display device; and
- a data storage device having stored thereon program code, which, when executed by the processor, causes the processor to: display a plurality of tiles on the display device; present, in a first tile, a first chart representative of first data generated from source data associated with the first tile; receive user input; in response to the user input, redisplay the first tile at a different size; and present, in the first tile at the different size, a second chart representative of second data generated from the source data different from the first data.
13. The computing device of claim 12 wherein the data storage device includes first chart data for producing the first chart and second chart data for producing the second chart.
14. The computing device of claim 12 wherein the processor accesses first chart data stored in the data storage device to generate and present the first chart, wherein the processor accesses second chart data stored in the data storage device to generate and present the second chart.
15. The computing device of claim 12 wherein the first data is generated from the source data using first computations and the second data is generated from the source data using second computations different from the first computations.
16. The computing device of claim 12 wherein the first data is generated by performing computations on first groupings of the source data and the second data is generated by performing the computations on second groupings of the source data that are different from the first groupings.
17. The computing device of claim 12 wherein the first chart is labeled differently than the second chart.
18. The computing device of claim 12 wherein the display device includes a touch sensitive layer.
19. A nonvolatile computer-readable storage medium having stored thereon computer program code, which, when executed by a data processor, causes the data processor to perform steps of:
- displaying a plurality of tiles on a display device; and
- presenting, in a first tile, a data chart representative of data generated from computations performed on source data associated with the first tile, wherein the computations performed depend on a size of the first tile,
- wherein when the first tile is at a first size, the data chart presented in the first tile is representative of first data generated from the source data using first computations,
- wherein when the first tile is at a second size, the data chart presented in the first tile is representative of second data different from the first data and generated from the source data using second computations.
20. The nonvolatile computer-readable storage medium of claim 19 wherein the computer program code, which, when executed by a data processor, further causes the data processor to perform steps of:
- displaying the first tile in the display area at the first size including presenting the first data chart in the first tile;
- receiving user input; and
- in response to the user input, displaying the first tile in the display area at the second size including presenting the second data chart in the first tile.
Type: Application
Filed: Jun 28, 2013
Publication Date: Jan 1, 2015
Applicant: SAP AG (Walldorf)
Inventors: Xiaojun Feng (Palo Alto, CA), Yang-cheng Fan (San Jose, CA), Harish Tyagi (Palo Alto, CA)
Application Number: 13/931,559
International Classification: G06F 3/0484 (20060101);