SMART CARD PRESENTATION OF TABULAR DATA FROM COLLABORATION DATABASE

- Microsoft

Smart cards are used to provide a consolidated summary of tabular data from a collaboration database. Card layouts may be responsive to table schema and present data consistently across different devices and platforms. Cards may have pre-set layouts designed to present content in a user-friendly manner enhancing user experience and enabling interactivity. Card layouts may be determined by a set of pre-defined rules, which may be based on a type of data in a first column of an underlying table and types of data in other columns (such as images, communications, and other forms of rich data).

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
CROSS-REFERENCE TO RELATED APPLICATION

This application is a non-provisional application under 35 U.S.C §119(e) of U.S. Provisional Application No. 62/255,515 filed on Nov. 15, 2015. The U.S. Provisional Application is herein incorporated by reference in its entirety.

BACKGROUND

The nature of a database is unlike any other content in a productivity environment. It is a collection of custom entities, where rather than using formatting to conveying meaning, the user can configure the actual semantics of the content. Databases are typically not approachable to the average end user. Databases tend not to be optimized for editing and sharing structured data at an end user level.

SUMMARY

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 exclusively identify key features or essential features of the claimed subject matter, nor is it intended as an aid in determining the scope of the claimed subject matter.

Embodiments are directed to smart card visualization of data from a collaboration database. An action to display a smart card visualization of tabular data may be received and a selection of a subset of the tabular data to be displayed in a smart card may be detected. A layout of the smart card may be determined based on one or more of a preset rule, an order of columns of an underlying table, data types in other columns of the underlying table, a device type, and a user context. The smart card may then be generated with fields within the layout of the smart card containing corresponding cells of data from the underlying table.

These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings. It is to be understood that both the foregoing general description and the following detailed description are explanatory and do not restrict aspects as claimed.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 includes an example network environment where a collaboration database service in conjunction with productivity applications may be implemented to present data in smart card form;

FIG. 2 includes an example infrastructure implemented for a collaboration database service in conjunction with productivity applications in presenting data in smart card form;

FIG. 3 includes an example table presentation of collaboration database data and smart card presentation of data from a selected row;

FIG. 4 through FIG. 6 include example user experiences illustrating various data presentations on smart cards by a collaboration database service;

FIGS. 7A-C include example user experiences displayed by a mobile device illustrating table and smart card form presentation of data associated with a collaboration database service;

FIG. 8 is a networked environment, where a system according to embodiments may be implemented;

FIG. 9 is a block diagram of an example general purpose computing device, which may be used to present tabular data in smart card form by a collaboration database service; and

FIG. 10 illustrates a logic flow diagram of a method to present tabular data in smart card form by a collaboration database service, according to embodiments.

DETAILED DESCRIPTION

As briefly described above, smart cards may be used to provide a consolidated summary of tabular data from a collaboration database. Card layouts may be responsive to table schema and present data consistently across different devices and platforms. Cards may have pre-set layouts designed to present content in a user-friendly manner enhancing user experience and enabling interactivity. Card layouts may be determined by a set of pre-defined rules, which may be based on a type of data in a first column of an underlying table and types of data in other columns (such as images, communications, and other forms of rich data).

In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations, specific embodiments, or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the spirit or scope of the present disclosure. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.

While some embodiments will be described in the general context of program modules that execute in conjunction with an application program that runs on an operating system on a personal computer, those skilled in the art will recognize that aspects may also be implemented in combination with other program modules.

Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that embodiments may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and comparable computing devices. Embodiments may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

Some embodiments may be implemented as a computer-implemented process (method), a computing system, or as an article of manufacture, such as a computer program product or computer readable media. The computer program product may be a computer storage medium readable by a computer system and encoding a computer program that comprises instructions for causing a computer or computing system to perform example process(es). The computer-readable storage medium is a computer-readable memory device. The computer-readable storage medium can for example be implemented via one or more of a volatile computer memory, a non-volatile memory, a hard drive, a flash drive, a floppy disk, or a compact disk, and comparable hardware media.

Throughout this specification, the term “platform” may be a combination of software and hardware components for a collaboration database service. Examples of platforms include, but are not limited to, a hosted service executed over a plurality of servers, an application executed on a single computing device, and comparable systems. The term “server” generally refers to a computing device executing one or more software programs typically in a networked environment. However, a server may also be implemented as a virtual server (software programs) executed on one or more computing devices viewed as a server on the network. More detail on these technologies and example operations is provided below.

The technical advantages of providing smart cards to present a consolidated summary of tabular data from a collaboration database may include, among others, increased efficiency in user interaction and data management, reduced processing and network bandwidth usage, and improved user interaction by allowing users to create, edit, and view richer, faster, and more secure data without having to learn or work with complex database systems in addition to other aspects described herein.

FIG. 1 includes an example network environment where a collaboration database service in conjunction with productivity applications may be implemented to present data in smart card form.

As illustrated in diagram 100, an example system may include a datacenter 112 hosting a collaboration database service 114 configured to enable creation and collaboration of content on custom databases. The datacenter 112 may include one or more processing servers 116, of which, at least one may be operable to execute a collaboration database engine 118 of the collaboration database service 114, among other components. The datacenter 112 may also include one or more storage servers 120 configured to manage one or more data stores comprising data associated with the collaboration database engine 118. As described herein, the collaboration database engine 118 may be implemented as software, hardware, or combinations thereof.

In some embodiments, the collaboration database service 114 may be configured to integrate and interoperate with various applications. For example, as illustrated in the diagram 100, a customer 104 may execute a thin (e.g., a web browser) or a thick (e.g., a locally installed client application) version of an application 106 through a device 102 with which the collaboration database service 114 may be configured to integrate and interoperate with over one or more networks, such as network 110. The application 106 may be a productivity application, such as a word-processing application, a spreadsheet application, a presentation application, or a notebook application, for example, such that collaborative content created through the productivity application may be shared, presented, and edited through the collaboration database service 114. Alternatively, the application 106 may be an application hosted by the collaboration database service (a collaboration database application, for example). The device 102 may include a desktop computer, a laptop computer, a tablet computer, a vehicle mount computer, a smart phone, or a wearable computing device, among other similar devices. A communication interface may facilitate communication between the collaboration database service 114 and the application 106 over the network 110.

In one embodiment, the collaboration database engine 118 may be configured to provide selected or relevant data in form of a table through the application 106. In another embodiment, the collaboration database engine 118 may be configured to detect selection of a row of data in the table with the goal of seeing the data in a smart card form through the application 106, where the application 106 may have retrieved the existing table from local storage 108 of the device 102, from the data stores managed by the storage servers 120, and/or from third party storage services. A user may indicate their desire to see the selected row in smart card form or the smart card may be presented automatically upon selection of the row. Smart card data may be presented through a number of user-friendly approaches and interactivity may be provided through use of rich data types. Furthermore, table based or card based data presentation may be maintained consistently across platforms and devices.

According to other embodiments, the collaboration database service 114 may allow end users to create and collaborate on custom databases as any other type of productivity content (presentations, word processing documents, spreadsheets, etc.). The nature of a database is unlike any other content in a productivity environment. It is a collection of custom entities, where rather than using formatting to conveying meaning, the user can configure the actual semantics of the content. Databases are typically not approachable to the average end user. Databases tend not to be optimized for editing and sharing structured data at an end user level. Providing a more data centric experience rather than formatting centric may allow for a desirable experience. The custom entities the user defines may indicate how to best display the data on various devices, what rules should be enforced, and what actions need to be taken on behalf of the user.

In some examples, the collaboration database engine 118 may be configured to retrieve data associated with the fields from other services associated with the collaboration database service 114 through the communication interface in order to automatically populate each cell. The other services may include a database service, a Global Positioning Service (GPS), a scheduling service, and a presence service, for example. In an example scenario, the table and/or smart card(s) may represent travel data associated with employees of a company attending a client conference. The table may include, among other columns associated with accommodations and travel details, a column regarding a status of each employee's flight, where the data may be represented by a set of symbols and associated text including “at starting location,” “in route”, and “at destination location,” for example. The collaboration database engine 118 may be configured to retrieve data from a GPS coupled to each employees' device in order to populate each cell with a status of the respective employee's flight. When smart card view is activated, a row of data may be presented on a smart card with rich data such as an interactive map.

Once the collaboration database engine 118 has provided a table for display and/or following a modification of the table, the table may be stored locally at local storage 108 of the device 102 and/or remotely at the data stores managed by the storage servers 120, or by third party storage services. The collaboration database engine 118 may also be configured to share a copy of the table with other customers 122 who may be collaborating on the content of the table with the customer 104 through various devices 124 associated with the other customers 122.

The collaboration database service according to embodiments may not only provide easy creation and sharing of content across devices, but may also integrate and interoperate with various productivity application workloads such that collaborative content created through the productivity application may be shared, presented, and edited through the collaboration database service. Each productivity application may play a unique role, and those individual strengths may be highlighted in an example service to bring the system together. For example, databases are typically not approachable to an average user, however the average user may already be familiar and comfortable interacting with a productivity application to create, edit, and share data. Therefore, the collaboration database service may improve user interactivity by allowing users to create, edit, and view richer, faster, and more secure data without having to learn or work with complex database systems.

Embodiments, as described herein, address a need that arises from very large scale of operations created by software-based services that cannot be managed by humans. The actions/operations described herein are not a mere use of a computer, but address results of a system that is a direct consequence of software used as a service offered in conjunction with large numbers of applications to enable creating, editing, and sharing content among customers in collaborative environments.

FIG. 2 includes an example infrastructure implemented for a collaboration database service in conjunction with productivity applications in presenting data in smart card form.

As shown in a diagram 200, a collaboration database service 202 may be provided to enable creation and collaboration of content on custom databases. The collaboration database service 202 may also integrate and/or interoperate with a productivity application 214 such that collaborative content created through the productivity application 214 may be shared, presented, and edited through the collaboration database service 202. The integration and/or interoperation between the collaboration database service 202 and the productivity application 214 may be enabled through a client software development kit (SDK) 206. In one example, the client SDK 206 may implement one or more application programming interfaces (APIs) 204 of the collaboration database service 202 to communicate with the productivity application 214 to achieve integration and/or interoperation.

In an example scenario, the collaboration database engine 205 of the collaboration database service 202 may detect creation and/or modification of a table 208 through the productivity application 214. For example, a user may be creating a new table to be shared and/or edited in a collaborative environment or the user may be modifying an already existing table. The table 208 may include one or more columns and rows, where the columns and rows may be configured as entities 210 of the table. The collaboration database engine 205 may also be configured to generate smart cards 212 presenting data from selected rows of the table 208 and enable display of the smart cards 212 through the productivity application 214.

An aspect of databases is that each row in the database may have its own lifecycle, version history, and permissions. In an example scenario, candidates coming through an interview management system may be tracked at a company. The information for each candidate may be accessible to and managed by different groups of people. While the database may contain thousands of candidates who have come through the pipeline, it may be unlikely that anyone would view all of the data at once. Instead, properties like “team” and “interview date” may determine which recruits an individual may want to see when they open the table, and the “status” property may define who should be notified when the “status” changes. For typical users interacting with the database, each row or entity may be of greater meaning to them than the database as a whole. This is not typically the case with cells in a spreadsheet, paragraphs in a document, or even slides in a presentation.

FIG. 3 includes an example table presentation of collaboration database data and smart card presentation of data from a selected row.

As previously discussed, a collaboration database service may be provided to enable creation and collaboration of content on custom databases, where the collaboration database service may include a collaboration database engine. The content may be displayed through an application associated with the collaboration database service that is executed on a user device to enable interactivity with the content. The user device may have one or more input device(s) such that the user may interact with the content through a keyboard input, a mouse input, a pen input, a touch, an optically captured gesture, a voice input, a gyroscopic input, and/or an eye-tracking input, for example.

Diagram 300 shows an application user experience 302 presenting collaboration database data in a table 304. Table 304 may include different types of data such as text, numbers, dates, people, choice data, links, embedded objects, and comparable ones. Depending on the type, each type of data may be presented with a variety of enhanced features such as interactive features for people data, symbols combined with a color or graphic scheme to represent choice data, and so on. According to some embodiments, data in a selected row 306 may be presented in a smart card 308.

The cells of each column within the selected row 306 may be displayed as fields 310 on the smart card 308. The columns of the table 304 may include text, number, date, single person, multi person, choice (e.g., checkbox), link, or other data types. A layout of the smart card 308 may be selected based on a data type of the first column in the table 304.

In the table view, rich data may be used to enhance data presentation, entry, and interaction. For example, a user may select “people” data type for a new column. A system according to embodiments may provide the user with tools to enter the data for the individual cells easily such as pop-up contact cards or lists based on detection of first few letters of names in the cells. In addition, the collaboration database engine may contact local or external sources and retrieve information associated with the people whose names are entered in the cells. Similarly, data presentation, entry, and interaction may be enhanced in the smart card view with comparable tools. The layout of the smart card (location, size, spacing, and presentation of the fields 310) may further be determined depending on space availability, user configuration, inference based prioritization, etc.

FIG. 4 includes example user experiences illustrating data presentations associated with account settings on smart cards by a collaboration database service.

A range of smart visualizations of data may be provided on the smart card to increase readability and user engagement. For example, users may be given a wide range of icons or similar graphics to increase the readability and polish of their data. Symbols may also allow the data to present on small screens, for example. The symbols may be glyphs and/or emojis of varying shapes, sizes, colors, patterns, and types. Images (people or otherwise) may also be used to present data in an efficient manner. The presentation of different types of data may be further enhanced through the layout of the different fields.

Diagram 400 shows an example smart card corresponding to a row, where the first field (column) may represent an account (402), thus be textual data. Because the first field represents an account, a brand image 410 of the company/organization associated with the account may be prominently displayed on the smart card allowing users to immediately understand the context of the smart card. A representatives field 404 containing multi people data may be enhanced with images of the listed people. The smart card may also include textually displayed text and number fields 406 and 408.

Diagram 410 shows another example “account” card with a different presentation scheme. Account name 412 and brand image 420 are similarly positioned, but the brand image is further emphasized with a background that is distinct from the remainder of the smart card. An identification of the individual fields (414, 416, 418, and 422) may be displayed in a de-emphasized fashion compared to the actual displayed contents of each of the fields. Other color, shading, graphic, and textual schemes may also be used to increase readability and user engagement. For example, some symbols, maps, or comparable data may be animated.

FIG. 5 includes example user experiences illustrating data presentations associated with people on smart cards by a collaboration database service.

Diagrams 500, 520, and 530 show three example smart card layouts that are centered around people. In the example smart card of diagram 500, the first column of the table may include people (single) data, thus, the name of the person is displayed at the top as field 502. In this example scenario, the customer number data from the table may be inferred to have high priority based on the factors discussed herein and thus displayed prominently (e.g., with an emphasizing background) a field 506 at the top corner of the smart card. The person's title field 504 may be enriched with an image of the person. Other fields may include date of last contact (508), status (510), and an issue 512 associated with the person.

In the example smart card of diagram 520, the person herself may be determined to be more important than the customer number and thus, the image of the person 522 may be prominently displayed along one side of the smart card. Other fields locations and sizes may be adjusted to accommodate the change.

In the example smart card of diagram 530, the first column of the underlying table may include multi people data. Thus, the group of people identified in the corresponding field may be named in field 536 of the smart card. Fields 534 and 538 may include specific data associated with multi people data type (e.g., representative, list of members). The image 522 may be that of the representative or any other selected member of the group (e.g., in alphabetical order or the member who had been last contacted, etc.) along with an icon 532 indicating how many people or images are available.

One or more of the fields may be interactive, that is, pop-up or other menus may be provided with additional information or available actions (e.g., initiate a communication with the person) upon selection of a field. Moreover, images or other displayed data types may be animated or provide preview of a slide show or video.

FIG. 6 includes example user experiences illustrating data presentations on smart cards by a collaboration database service, where a layout and/or size of the smart card may be dynamically adjusted.

Smart cards may be dynamically modified in response to user actions. For example, displayed fields, their location, size, presentation may be adjusted based on user selection/addition/removal of specific fields or based on an automatic inference process. For example, if the user is using one or more particular fields more frequently than others (selecting them, viewing additional details, selecting actions associated with those fields, etc.), those fields may be prioritized and emphasized while others may be de-prioritized or removed completely.

Similarly, an overall layout of the smart card may also be modified and adjusted. For example, diagram 600 shows a two-column layout, where the fields 602, 604, and 606 are displayed in one column, fields 610 and 608 are displayed in a second column. Field 606 also displays the use of a graphic symbol 607, where the contained data may be represented by the symbol through the use of a color, shading, or highlighting scheme.

Diagram 620 shows a three-column configuration of a smart card (e.g., the smart card is larger due to display size). The additional space may allow addition of field 622 to the second column and moving of brand image 610 to a new third column. Furthermore, displayed data may also be expanded due to additional available space such as the textual indication in conjunction with the graphic symbol 607.

FIGS. 7A-C include example user experiences displayed by a mobile device illustrating table and card form presentation of data associated with a collaboration database service.

A collaboration database service comprising a collaboration database engine may be provided to enable creation and collaboration of content on custom databases. The content may be displayed through an application associated with the collaboration database service that is executed on a user device, such as a mobile device as shown in diagrams 700A-C, to enable interactivity with the content. The mobile device may have one or more input device(s) such that the user may interact with the content through a pen input, a touch, an optically captured gesture, a voice input, a gyroscopic input, and/or an eye-tracking input, for example.

According to some embodiments, column optimization techniques may be employed to optimize content and size of displayed columns. For example, the customer column 702 may be selected as default to provide the list of customers. The next column to display (status column 704) may be selected based on user or data context (e.g., if the user is looking for summary information or based on user credentials and/or changes in the underlying data the status column 704 may be deemed the appropriate one to display). Other techniques may include data enriching techniques such as use of symbols, coloring or graphics schemes, text shrinking and comparable ones.

As described above, a card format may also be used to display a subset of the data along with a table view. Thus, a control 706 for selecting between table (or grid) view and a card view may be provided. Upon selection of the card view (708) as shown in diagram 700A, the card view of a subset of the data in the table may be displayed as shown in diagram 700B. The subset (or row) may be selected based on a user selection or in order of appearance. The example card view 712 is for the first row of data in the table of diagram 700A. Card views of other rows may be presented in response to a user action such as a swipe action 720. The card view may display individual fields with simple data 714, while fields containing more complex data such as a presentation attachment may be displayed with a preview 716. Yet other fields such as comments 718 may be presented in a list form, where the user may be able to scroll through the data (i.e., comments).

In some embodiments, certain data types may be presented to be actions on the card view. Some of these may include, but are not limited to, likes 721, comments (shortcut 719 to all comments), phone (to initiate a call), email address (to enable sending email), and share.

Diagram 700C shows another subset of the data in card view corresponding to the second row of the table in diagram 700A in response to the swipe action 720. The card view includes the simple data fields 724, the preview of pitch presentation 726, and the list of comments 728. The preview data field is another example of enriched data. A user may view the slide show directly within the smart card or switch to the associated productivity application.

The examples provided in FIGS. 1 through 7C are illustrated with specific systems, services, applications, engines, and user experience configurations. Embodiments are not limited to environments according to these examples. A collaboration database service providing smart card visualization of tabular data may be implemented in environments employing fewer or additional systems, services, applications, engines, and user experience configurations. Furthermore, the example systems, services, applications, engines, and user experience configurations shown in FIG. 1 through 7C may be implemented in a similar manner with other values using the principles described herein.

FIG. 8 is a networked environment, where a system according to embodiments may be implemented. In addition to locally installed applications (for example, application 106), a collaboration database engine may also be employed in conjunction with hosted applications and services (for example, a productivity or collaboration database application and/or a collaboration database service) that may be implemented via software executed over one or more servers 806 or individual server 808, as illustrated in diagram 800. A hosted service or application may communicate with client applications on individual computing devices such as a handheld computer 801, a desktop computer 802, a laptop computer 803, a smart phone 804, a tablet computer (or slate), 805 (‘client devices’) through network(s) 810 and control a user interface presented to users.

Client devices 801-805 are used to access the functionality provided by the hosted service or application. One or more of the servers 806 or server 808 may be used to provide a variety of services as discussed above. Relevant data may be stored in one or more data stores (e.g. data store 814), which may be managed by any one of the servers 806 or by database server 812.

Network(s) 810 may comprise any topology of servers, clients, Internet service providers, and communication media. A system according to embodiments may have a static or dynamic topology. Network(s) 810 may include a secure network such as an enterprise network, an unsecure network such as a wireless open network, or the Internet. Network(s) 810 may also coordinate communication over other networks such as PSTN or cellular networks. Network(s) 810 provides communication between the nodes described herein. By way of example, and not limitation, network(s) 810 may include wireless media such as acoustic, RF, infrared and other wireless media.

Many other configurations of computing devices, applications, engines, data sources, and data distribution systems may be employed for a collaboration database service providing smart card data visualization. Furthermore, the networked environments discussed in FIG. 8 are for illustration purposes only. Embodiments are not limited to the example applications, engines, or processes.

FIG. 9 is a block diagram of an example general purpose computing device, which may be used to present tabular data in smart card form by a collaboration database service.

For example, computing device 900 may be used as a server, desktop computer, portable computer, smart phone, special purpose computer, or similar device. In an example basic configuration 902, the computing device 900 may include one or more processors 904 and a system memory 906. A memory bus 908 may be used for communicating between the processor 904 and the system memory 906. The basic configuration 902 is illustrated in FIG. 9 by those components within the inner dashed line.

Depending on the desired configuration, the processor 904 may be of any type, including but not limited to a microprocessor (pP), a microcontroller (pC), a digital signal processor (DSP), or any combination thereof. The processor 904 may include one more levels of caching, such as a level cache memory 912, one or more processor cores 914, and registers 916. The example processor cores 914 may (each) include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP Core), or any combination thereof. An example memory controller 918 may also be used with the processor 904, or in some implementations the memory controller 918 may be an internal part of the processor 904.

Depending on the desired configuration, the system memory 906 may be of any type including but not limited to volatile memory (such as RAM), non-volatile memory (such as ROM, flash memory, etc.) or any combination thereof. The system memory 906 may include an operating system 920, a collaboration database service 922, and program data 924. The collaboration database service 922 may include a collaboration database engine 926 and smart card logic 927, which may be integrated modules of the collaboration database service 922. The collaboration database engine 926 in conjunction with the smart card logic 927 may be configured to provide a consolidated summary of tabular data from a collaboration database in smart card form, where card layouts may be responsive to table schema and present data consistently across different devices and platforms. The program data 924 may include, among other data, process data 928, such as the content contained within entities and sub-entities of the table and/or smart cards, as described herein.

The computing device 900 may have additional features or functionality, and additional interfaces to facilitate communications between the basic configuration 902 and any desired devices and interfaces. For example, a bus/interface controller 930 may be used to facilitate communications between the basic configuration 902 and one or more data storage devices 932 via a storage interface bus 934. The data storage devices 932 may be one or more removable storage devices 936, one or more non-removable storage devices 938, or a combination thereof. Examples of the removable storage and the non-removable storage devices include magnetic disk devices such as flexible disk drives and hard-disk drives (HDDs), optical disk drives such as compact disk (CD) drives or digital versatile disk (DVD) drives, solid state drives (SSD), and tape drives to name a few. Example computer storage media may include 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.

The system memory 906, the removable storage devices 936 and the non-removable storage devices 938 are examples of computer storage media. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVDs), solid state drives, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which may be used to store the desired information and which may be accessed by the computing device 900. Any such computer storage media may be part of the computing device 900.

The computing device 900 may also include an interface bus 940 for facilitating communication from various interface devices (for example, one or more output devices 942, one or more peripheral interfaces 944, and one or more communication devices 946) to the basic configuration 902 via the bus/interface controller 930. Some of the example output devices 942 include a graphics processing unit 948 and an audio processing unit 950, which may be configured to communicate to various external devices such as a display or speakers via one or more A/V ports 952. One or more example peripheral interfaces 944 may include a serial interface controller 954 or a parallel interface controller 956, which may be configured to communicate with external devices such as input devices (for example, keyboard, mouse, pen, voice input device, touch input device, etc.) or other peripheral devices (for example, printer, scanner, etc.) via one or more I/O ports 958. An example communication device 946 includes a network controller 960, which may be arranged to facilitate communications with one or more other computing devices 962 over a network communication link via one or more communication ports 964. The one or more other computing devices 962 may include servers, computing devices, and comparable devices.

The network communication link may be one example of a communication media. Communication media may typically be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and may include any information delivery media. A “modulated data signal” may be 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 may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media. The term computer readable media as used herein may include both storage media and communication media.

The computing device 900 may be implemented as a part of a general purpose or specialized server, mainframe, or similar computer that includes any of the above functions. The computing device 900 may also be implemented as a personal computer including both laptop computer and non-laptop computer configurations.

Example embodiments may also include methods to provide a collaboration database service capable of providing smart card visualization of tabular data. These methods can be implemented in any number of ways, including the structures described herein. One such way may be by machine operations, of devices of the type described in the present disclosure. Another optional way may be for one or more of the individual operations of the methods to be performed in conjunction with one or more human operators performing some of the operations while other operations may be performed by machines. These human operators need not be collocated with each other, but each can be only with a machine that performs a portion of the program. In other embodiments, the human interaction can be automated such as by pre-selected criteria that may be machine automated.

FIG. 10 illustrates a logic flow diagram of a method to present tabular data in smart card form by a collaboration database service, according to embodiments.

Process 1000 may be implemented on a computing device, server, or other system. An example system may include a server configured to execute a collaboration database service provided to enable creation and collaboration of content on custom databases. The server may include, among other components, one or more processors configured to execute a collaboration database engine of the collaboration database service. The collaboration database service may also integrate and/or interoperate with a productivity application that is being executed on a device associated with a customer such that the customer may create collaborative content through the productivity application that may be shared and edited through the collaboration database service.

Process 1000 begins with operation 1010, where a user action to display a subset of data in a table associated with a collaboration database service in form of a smart card may be detected. At operation 1020, a selection of the subset of data (i.e., a row of the table) may be detected for card content. A card layout may be determined based on preset rules, an order of columns (e.g., type of data in the first column), data types in other columns, a device type, a user context, and similar parameters at operation 1030. At operation 1040, the card may be prepared with fields from the selected row to provide an enhanced and interactive user experience.

The operations included in process 1000 are for illustration purposes. A collaboration database service capable of providing smart card data visualization may be implemented by similar processes with fewer or additional steps, as well as in different order of operations using the principles described herein. The operations described herein may be executed by one or more processors operated on one or more computing devices, one or more processor cores, specialized processing devices, and/or general purpose processors, among other examples.

According to examples, a means for providing smart card visualization of data from a collaboration database is described. The means may include a means for receiving an action to display a smart card visualization of tabular data; a means for detecting a selection of a subset of the tabular data to be displayed in a smart card; a means for determining a layout of the smart card based on one or more of a preset rule, a data type in a first column of an underlying table, an order of columns of the underlying table, data types in other columns of the underlying table, a device type, and a user context; and a means for generating the smart card with fields within the layout of the smart card containing corresponding cells of data from the underlying table.

According to some examples, a method to provide smart card visualization of data from a collaboration database is described. The method may include receiving an action to display a smart card visualization of tabular data; detecting a selection of a subset of the tabular data to be displayed in a smart card; determining a layout of the smart card based on one or more of a preset rule, a data type in a first column of an underlying table, an order of columns of the underlying table, data types in other columns of the underlying table, a device type, and a user context; and generating the smart card with fields within the layout of the smart card containing corresponding cells of data from the underlying table.

According to other examples, generating the smart card may include selecting a subset of cells from a selected row of the underlying table as the fields with the layout of the smart card. The method may also include modifying the layout of the smart card based on one or more of a user input and a change to content of the underlying table. Modifying the layout of the smart card may include modifying one or more of a location, a size, a spacing, and a presentation of one or more of the fields. Modifying the layout of the smart card may further include one or more of adding a new field and removing an existing field. The method may further include prioritizing the fields based on one or more of the order of columns of the underlying table, the data types in other columns of the underlying table, and a user input.

According to further examples, the method may also include employing one or more of a color scheme, a shading scheme, a graphic scheme, and a textual scheme to emphasize one or more of the prioritized fields. The method may further include automatically selecting or adjusting a size of the smart card based on a display size; modifying the layout of the smart card between a two-column configuration and a three-column configuration based on the selection or adjustment of the size of the smart card; if the data type of the first column of the underlying table is single person, retrieving an image of a person listed in the first column of a row corresponding to the smart card and displaying the image next to a field displaying a name of the person; and/or if the data type of the first column of the underlying table is single person, retrieving an image of a person listed in the first column of a row corresponding to the smart card and displaying the image along a right edge of the smart card.

According to other examples, a server to provide smart card visualization of data from a collaboration database is described. The server may include a communication interface configured to facilitate communication between the collaboration database service and one or more other services; a memory configured to store instructions; and one or more processors coupled to the memory, the one or more processors configured to execute, in conjunction with the instructions stored in the memory, a collaboration database engine integrated with the collaboration database service. The collaboration database engine may be configured to receive an action to display a smart card visualization of tabular data; detect a selection of a subset of the tabular data to be displayed in a smart card; select a subset of cells from a selected row of an underlying table as fields within the smart card; determine a layout of the smart card based on one or more of a preset rule, a data type in a first column of the table, an order of columns of an underlying table, data types in other columns of the underlying table, a device type, and a user context, where the layout includes one or more of a location, a size, a spacing, and a presentation of one or more of the fields on the smart card; and generate the smart card based on the selected fields and the determined layout of the smart card.

According to yet other examples, the data type of the first column and the data types of the other columns may include text data, number data, date data, single person data, multi person data, choice data, a link, map data, and an attachment. The collaboration database engine may be further configured to provide an interactivity feature associated with at least one of the fields. The interactivity feature may include initiation of a communication session, activation of an application, activation of a selection menu, or display of additional data. The collaboration database engine may also be configured to visualize choice data displayed in one of the fields through one or more symbols in conjunction with one or more of a color scheme, a shading scheme, a graphic scheme, and a textual scheme; and display one or more of a number of members of a group and an image of a representative of the group in conjunction with one of the fields that contains multi person data.

According to further examples, a system to provide smart card visualization of data from a collaboration database in conjunction with a productivity service is described. The system may include a plurality of servers configured to execute one or more productivity applications within the productivity service; and a database management server configured to execute the collaboration database service. The database management server may be configured to receive an action to display a smart card visualization of tabular data; detect a selection of a subset of the tabular data to be displayed in a smart card; select a subset of cells from a selected row of an underlying table as fields within the smart card; determine a layout of the smart card based on one or more of a preset rule, a data type in a first column of the table, an order of columns of an underlying table, data types in other columns of the underlying table, a device type, and a user context, where the layout includes one or more of a location, a size, a spacing, and a presentation of one or more of the fields on the smart card; and generate the smart card based on the selected fields and the determined layout of the smart card.

According to some examples, the database management server may be further configured to display an attachment associated with one of the productivity applications in one of the fields of the smart card. The attachment may be displayed in form of a preview that allows a user to scan through the attachment.

The above specification, examples and data provide a complete description of the manufacture and use of the composition of the embodiments. 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 and embodiments.

Claims

1. A method to provide smart card visualization of data from a collaboration database, the method comprising:

receiving an action to display a smart card visualization of tabular data;
detecting a selection of a subset of the tabular data to be displayed in a smart card;
determining a layout of the smart card based on one or more of a preset rule, a data type in a first column of an underlying table, an order of columns of the underlying table, data types in other columns of the underlying table, a device type, and a user context; and
generating the smart card with fields within the layout of the smart card containing corresponding cells of data from the underlying table.

2. The method of claim 1, wherein generating the smart card comprises:

selecting a subset of cells from a selected row of the underlying table as the fields with the layout of the smart card.

3. The method of claim 1, further comprising:

modifying the layout of the smart card based on one or more of a user input and a change to content of the underlying table.

4. The method of claim 3, wherein modifying the layout of the smart card comprises:

modifying one or more of a location, a size, a spacing, and a presentation of one or more of the fields.

5. The method of claim 4, wherein modifying the layout of the smart card further comprises:

one or more of adding a new field and removing an existing field.

6. The method of claim 1, further comprising:

prioritizing the fields based on one or more of the order of columns of the underlying table, the data types in other columns of the underlying table, and a user input.

7. The method of claim 6, further comprising:

employing one or more of a color scheme, a shading scheme, a graphic scheme, and a textual scheme to emphasize one or more of the prioritized fields.

8. The method of claim 1, further comprising:

automatically selecting or adjusting a size of the smart card based on a display size.

9. The method of claim 8, further comprising:

modifying the layout of the smart card between a two-column configuration and a three-column configuration based on the selection or adjustment of the size of the smart card.

10. The method of claim 1, further comprising:

if the data type of the first column of the underlying table is single person, retrieving an image of a person listed in the first column of a row corresponding to the smart card and displaying the image next to a field displaying a name of the person.

11. The method of claim 1, further comprising:

if the data type of the first column of the underlying table is single person, retrieving an image of a person listed in the first column of a row corresponding to the smart card and displaying the image along a right edge of the smart card.

12. A server to provide smart card visualization of data from a collaboration database, the server comprising:

a communication interface configured to facilitate communication between the collaboration database service and one or more other services;
a memory configured to store instructions; and
one or more processors coupled to the memory, the one or more processors configured to execute, in conjunction with the instructions stored in the memory, a collaboration database engine integrated with the collaboration database service, wherein the collaboration database engine is configured to: receive an action to display a smart card visualization of tabular data; detect a selection of a subset of the tabular data to be displayed in a smart card; select a subset of cells from a selected row of an underlying table as fields within the smart card; determine a layout of the smart card based on one or more of a preset rule, a data type in a first column of the table, an order of columns of an underlying table, data types in other columns of the underlying table, a device type, and a user context, wherein the layout includes one or more of a location, a size, a spacing, and a presentation of one or more of the fields on the smart card; and generate the smart card based on the selected fields and the determined layout of the smart card.

13. The server of claim 12, wherein the data type of the first column and the data types of the other columns include text data, number data, date data, single person data, multi person data, choice data, a link, map data, and an attachment.

14. The server of claim 12, wherein the collaboration database engine is further configured to:

provide an interactivity feature associated with at least one of the fields.

15. The server of claim 14, wherein the interactivity feature includes one of initiation of a communication session, activation of an application, activation of a selection menu, and display of additional data.

16. The server of claim 12, wherein the collaboration database engine is further configured to:

visualize choice data displayed in one of the fields through one or more symbols in conjunction with one or more of a color scheme, a shading scheme, a graphic scheme, and a textual scheme.

17. The server of claim 12, wherein the collaboration database engine is further configured to:

display one or more of a number of members of a group and an image of a representative of the group in conjunction with one of the fields that contains multi person data.

18. A system to provide smart card visualization of data from a collaboration database in conjunction with a productivity service, the system comprising:

a plurality of servers configured to execute one or more productivity applications within the productivity service; and
a database management server configured to execute the collaboration database service, wherein the database management server is configured to: receive an action to display a smart card visualization of tabular data; detect a selection of a subset of the tabular data to be displayed in a smart card; select a subset of cells from a selected row of an underlying table as fields within the smart card; determine a layout of the smart card based on one or more of a preset rule, a data type in a first column of the table, an order of columns of an underlying table, data types in other columns of the underlying table, a device type, and a user context, wherein the layout includes one or more of a location, a size, a spacing, and a presentation of one or more of the fields on the smart card; and generate the smart card based on the selected fields and the determined layout of the smart card.

19. The system of claim 18, wherein the database management server is further configured to:

display an attachment associated with one of the productivity applications in one of the fields of the smart card.

20. The system of claim 19, wherein the attachment is displayed in form of a preview that allows a user to scan through the attachment.

Patent History
Publication number: 20170139890
Type: Application
Filed: Jun 30, 2016
Publication Date: May 18, 2017
Applicant: MICROSOFT TECHNOLOGY LICENSING, LLC (Redmond, WA)
Inventors: Krista Bendig (Redmond, WA), Travis Eby (Redmond, WA), Caoimhe Grace Dowling (Redmond, WA), Raul Clouse (Redmond, WA), Krunal Sheth (Redmond, WA), Eugene Y. Suh (Redmond, WA), David Huang (Seattle, WA)
Application Number: 15/198,375
Classifications
International Classification: G06F 17/24 (20060101); H04L 29/06 (20060101); G06F 17/30 (20060101);