U.S. patent application number 15/198375 was filed with the patent office on 2017-05-18 for smart card presentation of tabular data from collaboration database.
This patent application is currently assigned to MICROSOFT TECHNOLOGY LICENSING, LLC. The applicant listed for this patent is MICROSOFT TECHNOLOGY LICENSING, LLC. Invention is credited to Krista Bendig, Raul Clouse, Caoimhe Grace Dowling, Travis Eby, David Huang, Krunal Sheth, Eugene Y. Suh.
Application Number | 20170139890 15/198375 |
Document ID | / |
Family ID | 58690050 |
Filed Date | 2017-05-18 |
United States Patent
Application |
20170139890 |
Kind Code |
A1 |
Bendig; Krista ; et
al. |
May 18, 2017 |
SMART CARD PRESENTATION OF TABULAR DATA FROM COLLABORATION
DATABASE
Abstract
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).
Inventors: |
Bendig; Krista; (Redmond,
WA) ; Eby; Travis; (Redmond, WA) ; Dowling;
Caoimhe Grace; (Redmond, WA) ; Clouse; Raul;
(Redmond, WA) ; Sheth; Krunal; (Redmond, WA)
; Suh; Eugene Y.; (Redmond, WA) ; Huang;
David; (Seattle, WA) |
|
Applicant: |
Name |
City |
State |
Country |
Type |
MICROSOFT TECHNOLOGY LICENSING, LLC |
Redmond |
WA |
US |
|
|
Assignee: |
MICROSOFT TECHNOLOGY LICENSING,
LLC
Redmond
WA
|
Family ID: |
58690050 |
Appl. No.: |
15/198375 |
Filed: |
June 30, 2016 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
62255515 |
Nov 15, 2015 |
|
|
|
Current U.S.
Class: |
1/1 |
Current CPC
Class: |
G06F 40/18 20200101;
G06Q 10/101 20130101; G06F 16/176 20190101; G06F 3/0482 20130101;
G06F 16/93 20190101; G06F 16/23 20190101; G06F 16/252 20190101;
G06F 16/951 20190101; G06F 40/177 20200101; G06F 16/3322
20190101 |
International
Class: |
G06F 17/24 20060101
G06F017/24; H04L 29/06 20060101 H04L029/06; G06F 17/30 20060101
G06F017/30 |
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.
Description
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a non-provisional application under 35
U.S.C .sctn.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
[0002] 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
[0003] 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.
[0004] 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.
[0005] 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
[0006] 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;
[0007] FIG. 2 includes an example infrastructure implemented for a
collaboration database service in conjunction with productivity
applications in presenting data in smart card form;
[0008] FIG. 3 includes an example table presentation of
collaboration database data and smart card presentation of data
from a selected row;
[0009] FIG. 4 through FIG. 6 include example user experiences
illustrating various data presentations on smart cards by a
collaboration database service;
[0010] 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;
[0011] FIG. 8 is a networked environment, where a system according
to embodiments may be implemented;
[0012] 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
[0013] 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
[0014] 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).
[0015] 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.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] 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.
[0022] 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.
[0023] 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.
[0024] 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.
[0025] 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.
[0026] 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.
[0027] 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.
[0028] 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.
[0029] 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.
[0030] FIG. 2 includes an example infrastructure implemented for a
collaboration database service in conjunction with productivity
applications in presenting data in smart card form.
[0031] 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.
[0032] 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.
[0033] 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.
[0034] FIG. 3 includes an example table presentation of
collaboration database data and smart card presentation of data
from a selected row.
[0035] 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.
[0036] 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.
[0037] 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.
[0038] 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.
[0039] FIG. 4 includes example user experiences illustrating data
presentations associated with account settings on smart cards by a
collaboration database service.
[0040] 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.
[0041] 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.
[0042] 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.
[0043] FIG. 5 includes example user experiences illustrating data
presentations associated with people on smart cards by a
collaboration database service.
[0044] 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.
[0045] 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.
[0046] 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.
[0047] 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.
[0048] 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.
[0049] 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.
[0050] 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.
[0051] 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.
[0052] 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.
[0053] 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.
[0054] 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.
[0055] 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).
[0056] 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.
[0057] 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.
[0058] 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.
[0059] 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.
[0060] 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.
[0061] 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.
[0062] 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.
[0063] 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.
[0064] 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.
[0065] 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.
[0066] 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.
[0067] 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] 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.
[0072] 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.
[0073] 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.
[0074] 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.
[0075] 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.
[0076] 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.
[0077] 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.
[0078] 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.
[0079] 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.
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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.
[0085] 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.
* * * * *