The field relates to gesture, text, and shape recognition. More precisely, the field relates to gesture, text, and shape recognition based data visualization.
Data visualization is visual representation of data. The main goal of data visualization is to communicate information clearly and effectively through graphical means. Both aesthetic form and functionality need to go hand in hand, providing insights into a rather sparse and complex data set by communicating its key aspects in a more intuitive way. Designers often fail to achieve a balance between design and function by creating gorgeous data visualizations, which fail to perform their main purpose to communicate information.
Gesture, text, and shape recognition appeared to be among the major techniques facilitating the user experience in the world of constantly evolving computer environment. Gestures are implemented intuitively for performing certain actions in a user interface environment where user intervention is allowed. Text recognition is also widely used. Text recognition is based on character recognition and word recognition. Shape recognition is automatic analysis of geometric shapes. It may be used in many fields such as archeology, architecture, and medical imaging.
Many devices having touchable screens or interactive white boards are used to visually present data. Such devices presume the use of techniques that may provide quickly desired graphical representations of data in a very intuitive user interface.
Various embodiments of systems and methods of gesture, text, and shape recognition based data visualization are described herein. In one embodiment, the method includes receiving a user interaction defining a shape input and transforming the shape input into a chart definition. The method also includes displaying a graphic representation based on the chart definition and receiving a user interaction defining a text input. The method further includes transforming the text input into a query to a database and presenting data retrieved on the query into the graphic representation based on the chart definition.
In other embodiments, the system includes at least one processor for executing program code and memory, a first input device to receive user interaction defining a shape input, and a second input device to receive user interaction defining a text input. The system also includes a repository within the memory to persist a database, a shape recognition module to recognize the shape input and define a chart according to the shape input, and a text recognition module to transform the text input into a query to the database. The system further includes a display to show the chart according to the shape input with data retrieved on the query to the database.
These and other benefits and features of embodiments of the invention will be apparent upon consideration of the following detailed description of preferred embodiments thereof, presented in connection with the following drawings.
The claims set forth the embodiments of the invention with particularity. The invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. The embodiments of the invention, together with its advantages, may be best understood from the following detailed description taken in conjunction with the accompanying drawings.
Embodiments of techniques for gesture, text, and shape recognition based data visualization are described herein. In the following description, numerous specific details are set forth to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, materials, etc. In other instances, well known structures, materials, or operations are not shown or described in detail to avoid obscuring aspects of the invention.
Reference throughout this specification to “one embodiment”, “this embodiment” and similar phrases, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Thus, the appearances of these phrases in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
The user interface framework 110 communicates with the repository 120. The repository 120 includes gestures set 122, shape set 124, and word set 126. The gestures set 122 includes set of gestures that are recognizable by the system 100. Recognized gestures are gestures 112 received by the user interface framework 110 through gestures 112 and matched to the gestures set 122 in the repository 120. Gestures that are present in the gestures set 122 are known to the system 100 and may lead to some actions performed by the system 100. Such actions may be, for example, opening, closing, moving, deleting, rotating, expanding, and contracting elements in the user interface. In more complex user interface environments depending on the data presented in the user interface, gestures 112 may be assigned to changing the data representation, for example turning from 2-dimensional to 3-dimensional image and vice versa. In a business environment when different dimensions of data are presented, gestures 112 could be assigned to drilling-down and drilling-up to different dimensions, opening contextual menus, etc.
The shape set 124 includes shapes that are recognizable by the system 100. Recognized shapes are shapes received by the user interface framework 110 through drawings 114 and matched to the shape set 124 in the repository 120. Shapes that are present in the shape set 124 are known to the system 100 and may be depicted on request. For example, if strokes resembling a circle are received as drawings 114 (see
The export module 130 is intended to connect the system 100 to an external system (not shown). In one embodiment, the system 100 is connected through export module 130 as a plug-in to an external system.
Turning back to
Turning again to
In one embodiment, the graphic representation is updated, when the queried database is changed. This means that if the data residing in the database is changed and this data had been queried and presented as a chart, the graphic representation of the data is updated automatically. In yet another embodiment, the graphic representation is updated, when a new shape input is received, thus defining new chart according to the new shape input.
A shape input device 330 and a text input device 340 are connected to the system 300. In one embodiment, the shape input device 330 is a pointing input device used for drawing strokes resembling shapes. In yet another embodiment, the pointing input device is a mouse, a touch pad or a touch screen. In one embodiment, the text input device 340 is a keyboard or a touch screen display providing opportunity for typing.
The memory 320 also includes a shape recognition module 360 and a text recognition module 370. The shape recognition module is intended to recognize the shape input received by the shape input device 330 and define a chart according to the shape input. In one embodiment, the shape recognition module compares strokes received through the shape input device 330 with predefined charts. For example, if a shape input of columns is received through shape input device 330, the shape recognition module 360 defines the shape as a column and relates the shape input to a column chart having the same shape. The shape input may not be only related directly to a chart having the same shape. In one embodiment, the shape input is, for example, a flag. The shape recognition module 360 recognizes the shape as a flag but defines a map chart. Such matching relationship is predefined and based on intuitive approach. Typically the shape input resembles a chart element or the whole chart performance. In one embodiment, a set of predefined charts is persisted in the database within the repository 350.
The text recognition module 370 is intended to transform text received through the text input device 340 into a query to the database within the repository 350. In one embodiment, the text is a natural text parsed to define text elements necessary for the query to the database within the repository 350. For example, a text input is received through text input device 340. The received text input is parsed to define word elements necessary for creating a query to the database within the repository 350
The system further includes a display 380. The display 380 is intended to show the chart according to the shape input with data retrieved on the query to the database. In one embodiment, the display 380 is a touch screen display. In yet another embodiment, the touch screen display coincides with the shape input device 330 and the text input device 340.
Some embodiments of the invention may include the above-described methods being written as one or more software components. These components, and the functionality associated with each, may be used by client, server, distributed, or peer computer systems. These components may be written in a computer language corresponding to one or more programming languages such as, functional, declarative, procedural, object-oriented, lower level languages and the like. They may be linked to other components via various application programming interfaces and then compiled into one complete application for a server or a client. Alternatively, the components may be implemented in server and client applications. Further, these components may be linked together via various distributed programming protocols. Some example embodiments of the invention may include remote procedure calls being used to implement one or more of these components across a distributed programming environment. For example, a logic level may reside on a first computer system that is remotely located from a second computer system containing an interface level (e.g., a graphical user interface). These first and second computer systems can be configured in a server-client, peer-to-peer, or some other configuration. The clients can vary in complexity from mobile and handheld devices, to thin clients and on to thick clients or even other servers.
The above-illustrated software components are tangibly stored on a computer readable storage medium as instructions. The term “computer readable storage medium” should be taken to include a single medium or multiple media that stores one or more sets of instructions. The term “computer readable storage medium” should be taken to include any physical article that is capable of undergoing a set of physical changes to physically store, encode, or otherwise carry a set of instructions for execution by a computer system which causes the computer system to perform any of the methods or process steps described, represented, or illustrated herein. Examples of computer readable storage media include, but are not limited to: magnetic media, such as hard disks, floppy disks, and magnetic tape; optical media such as CD-ROMs, DVDs and holographic devices; magneto-optical media; and hardware devices that are specially configured to store and execute, such as application-specific integrated circuits (“ASICs”), programmable logic devices (“PLDs”) and ROM and RAM devices. Examples of computer readable instructions include machine code, such as produced by a compiler, and files containing higher-level code that are executed by a computer using an interpreter. For example, an embodiment of the invention may be implemented using Java, C++, or other object-oriented programming language and development tools. Another embodiment of the invention may be implemented in hard-wired circuitry in place of, or in combination with machine readable software instructions.
A data source is an information resource. Data sources include sources of data that enable data storage and retrieval. Data sources may include databases, such as, relational, transactional, hierarchical, multi-dimensional (e.g., OLAP), object oriented databases, and the like. Further data sources include tabular data (e.g., spreadsheets, delimited text files), data tagged with a markup language (e.g., XML data), transactional data, unstructured data (e.g., text files, screen scrapings), hierarchical data (e.g., data in a file system, XML data), files, a plurality of reports, and any other data source accessible through an established protocol, such as, Open DataBase Connectivity (ODBC), produced by an underlying software system (e.g., ERP system), and the like. Data sources may also include a data source where the data is not tangibly stored or otherwise ephemeral such as data streams, broadcast data, and the like. These data sources can include associated data foundations, semantic layers, management systems, security systems and so on.
In the above description, numerous specific details are set forth to provide a thorough understanding of embodiments of the invention. One skilled in the relevant art will recognize, however that the invention can be practiced without one or more of the specific details or with other methods, components, techniques, etc. In other instances, well-known operations or structures are not shown or described in details to avoid obscuring aspects of the invention.
Although the processes illustrated and described herein include series of steps, it will be appreciated that the different embodiments of the present invention are not limited by the illustrated ordering of steps, as some steps may occur in different orders, some concurrently with other steps apart from that shown and described herein. In addition, not all illustrated steps may be required to implement a methodology in accordance with the present invention. Moreover, it will be appreciated that the processes may be implemented in association with the apparatus and systems illustrated and described herein as well as in association with other systems not illustrated.
The above descriptions and illustrations of embodiments of the invention, including what is described in the Abstract, is not intended to be exhaustive or to limit the invention to the precise forms disclosed. While specific embodiments of, and examples for, the invention are described herein for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. These modifications can be made to the invention in light of the above detailed description. Rather, the scope of the invention is to be determined by the following claims, which are to be interpreted in accordance with established doctrines of claim construction.