WO2017083213A1 - Collaboration database service in conjunction with productivity applications - Google Patents

Collaboration database service in conjunction with productivity applications Download PDF

Info

Publication number
WO2017083213A1
WO2017083213A1 PCT/US2016/060761 US2016060761W WO2017083213A1 WO 2017083213 A1 WO2017083213 A1 WO 2017083213A1 US 2016060761 W US2016060761 W US 2016060761W WO 2017083213 A1 WO2017083213 A1 WO 2017083213A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
collaboration database
database service
collaboration
service
Prior art date
Application number
PCT/US2016/060761
Other languages
French (fr)
Inventor
Krista Bendig
Gabriel Hall
James Sturms
Mauricio ORDONEZ
Mark Peterson
Brian Jones
Joseph FILCIK
Travis Eby
Caoimhe Grace DOWLING
Kyle ZHANG
Krunal SHETH
Original Assignee
Microsoft Technology Licensing, Llc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing, Llc filed Critical Microsoft Technology Licensing, Llc
Publication of WO2017083213A1 publication Critical patent/WO2017083213A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/176Support for shared access to files; File sharing support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/252Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/93Document management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/177Editing, e.g. inserting or deleting of tables; using ruled lines
    • G06F40/18Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services

Definitions

  • 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.
  • Embodiments are directed to a collaboration database service that may allow end users to create, edit, and share collaborative content on custom databases.
  • the collaboration database service may receive a request to create or edit data managed by the collaboration database service through a table.
  • a suggestion may be provided to be displayed for entry into the table based on one or more of existing data, a user context, and a device context.
  • the created or edited data may be stored in a collaboration database and shared with one or more applications to be processed and displayed.
  • the collaboration database service may also allow rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
  • FIG. 1 includes an example network environment where a collaboration database service in conjunction with productivity applications may be implemented
  • FIG. 2 includes an example infrastructure implemented for a collaboration database service in conjunction with productivity applications;
  • FIGs. 3 A-C include user experiences illustrating addition of a column to an example table and creation of links to a corresponding data source in a collaboration database service;
  • FIG. 4 includes an example user experience illustrating various data presentations on a table supported by a collaboration database service
  • FIGs. 5A-B include example user experiences for collaboration features through a table presenting data associated with a collaboration database service
  • FIG. 6 includes an example user experience for presenting underlying data in a card form
  • 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
  • FIG. 8 is a networked environment, where a system according to
  • FIG. 9 is a block diagram of an example general purpose computing device, which may be used to provide a collaboration database service.
  • FIG.10 illustrates a logic flow diagram of a method to provide a collaboration database service, according to embodiments.
  • a collaboration database service that may allow end users to create and collaborate on custom databases as any other type of productivity content (presentations, word processing documents, spreadsheets, etc.). Providing a more data centric experience rather than formatting centric may allow for a malleable 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.
  • a collaboration database service according to embodiments may not only provide easy creation and sharing of various databases across devices, but also integrate and interoperate with various productivity application workloads. Each productivity application may play a unique role, and those individual strengths may be highlighted in an example service to bring the system together.
  • program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
  • 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.
  • 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.
  • 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.
  • 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 a collaboration database service may include, among others, increased security and 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.
  • 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 1 12 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.
  • the collaboration database engine 118 may be implemented as software, hardware, or combinations thereof.
  • the collaboration database service 114 may be configured to integrate and interoperate with various applications.
  • 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.
  • 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.
  • the collaboration database engine 118 may be configured to detect creation of a new table through the application 106. In another embodiment, the collaboration database engine 118 may be configured to detect modification of an existing table 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.
  • the table may include one or more rows and columns producing a plurality of cells within the table, where the rows and columns may be entities of the table.
  • the customer 104 may be enabled to easily add new columns (or rows), select data types for the newly created columns, and populate new cells. Table data may be presented through a number of user-friendly approaches and interactivity may be provided through use of rich data types.
  • table based or card based data presentation may be maintained consistently across platforms and devices.
  • Embodiments are not limited to table or card based views.
  • Other views that may be used to present underlying collaboration database data consistently across platforms and devices may include carousel view, map view, and comparable ones.
  • 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 optimally gather, enter, and display the data on various devices, what rules should be enforced, and what actions need to be taken on behalf of the user.
  • the custom entities may further define how the underlying data may relate to other similar entities to allow such things as autofill, suggestions, and
  • 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.
  • GPS Global Positioning Service
  • the table 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.
  • the collaboration database engine 118 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 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.
  • 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.
  • 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.
  • 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 productivity application 214
  • 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.
  • SDK software development kit
  • 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.
  • APIs application programming interfaces
  • 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.
  • 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 share a copy of the table 208 with other customers who may be collaborating on the content of the table 208 with the customer through various devices associated with the other customers.
  • each row in the database may have its own lifecycle, version history, and permissions.
  • 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.
  • 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.
  • One example capability of a collaboration database service may include highlighting the workloads, where the system may allow users to define custom entities, and work with each productivity application on how these entities may integrate with their product to highlight their core strengths. Interoperability may be anchored around these custom entities rather than formatted text (e.g., a list of interview candidates may be a table in a spreadsheet application, but presented as a collection of slides in a presentation application).
  • Another example capability may include joining the workloads. The key to any database is the type of columns one can define, and the capabilities that come with those columns.
  • An example collaboration database service may allow the user to specify column types that are essentially joins or look-ups into other productivity workloads (e.g., a list of candidates with a network storage column to store their resumes, or a calendar column to schedule the interviews).
  • a collaboration database service may allow end users to quickly define and adapt their schemas to match their business process.
  • a client application of the collaboration database service may be available across multiple devices and may include integrated custom forms and logic experiences over that data.
  • the client application, the custom forms, and other productivity integrations may go through publicly documented APIs, and an array of SDKs and open source projects may enable an ecosystem to build other custom applications on top of the collaboration database service.
  • the prioritization around public APIs for interoperability may allow a rich ecosystem, as well as help take advantage of the other productivity workloads.
  • a lightweight form building experience and custom logic may be provided at both the transaction layer as well as the orchestration layer with connections to productivity applications, so that a business analyst, for example, can build custom mobile applications and logic applications on top of that data.
  • Asset Tracking People may want to quickly define a table for what they are tracking, and send it out to one or more people to help fill in the data. It may be like a survey where one designates a group of people to each provide an answer, or it may be longer running, where people are constantly adding new entries and editing existing. Examples: tree inventory; t-shirt sizes of everyone on the team; team hardware tracking; travel preferences; product sign-off for public release, etc.
  • Knowledge base A table to capture interesting information and have discussions around the information. The table may be viewed as a long running collection of content, and discovery is highly valued. Many users may just consume, and not contribute content.
  • Document-centric processes Similar to people centric process, but a document may be the focus.
  • the value of using a table may be that fields common across the collection of documents (like status), can be tracked and used to better organize and route the documents through workflows. Examples: spec library; patent applications; legal case management; drug applications; RFPs; sales proposals; etc.
  • FIGs. 3 A-C include user experiences illustrating addition of a column to an example table and creation of links to a corresponding data source in a collaboration database service.
  • 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.
  • the collaboration database service may allow creation and modification of tables such as table 302 (Sales Leads) with the data being stored and managed by the collaboration database.
  • the original table may include a single column 304 (companies).
  • a user may be enabled to add another column with a single click or gesture by activating the add column control 306.
  • a pop-up menu 308 may be displayed allowing the user to select among available data types such as checkboxes, dates, numbers, text, people, etc.
  • the new column's data types may be provided through other means too such as a radial menu, a drop-down menu, or a fly-out menu etc.
  • the collaboration database service may undertake a number of tasks in preparing enhanced interaction for the user.
  • the user may select "people" data type for the new column 310 as shown in diagram 300B of FIG. 3B.
  • a system may enable use of rich data to enhance data presentation, entry, and interaction.
  • the user may be provided 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.
  • the collaboration database engine may contact local or external sources and retrieve information associated with the people whose names are entered in the cells.
  • images of the people in the cells of the filled out new column 312 may be displayed based on data retrieved by the collaboration database engine.
  • Other information e.g., email addresses, phone numbers, mailing addresses, and comparable ones
  • Data associated with the new column 312 may be retrieved from one or more local and external data stores such as directory server 320.
  • the user may enter the data by typing into the cells (with the aid of autocomplete or suggestion lists) or inputting through other means such as drag and drop operations.
  • Each new column type may also introduce new features around these new semantics, like smarter sorting/filtering, new views, smart layout, automatic logic and workflows, etc.
  • Other types of data such as trends, choices, text, Boolean parameters, etc. may be presented with corresponding functionality for data entry and interactivity.
  • FIG. 4 includes an example user experience illustrating various data presentations on a table supported by a collaboration database service.
  • a range of smart visualizations of data may be provided 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, as illustrated in diagram 400.
  • Diagram 400 includes an example table for sales leads with column 402 listing the customers, column 404 listing the account representatives, column 406 listing the status of each account, column 408 listing a size of each account, column 410 including attachment or a link to sales pitch presentations for each account, and a column listing comments associated with each account.
  • the collaboration database service may interact with and employ different applications for the different data types displayed. For example, the presentations may activate a presentation application upon selection and comments may be retrieved from a communication application.
  • the smart visualizations of data to increase readability and user engagement may include symbols 414 and 416 representing account status and account size data (along with textual qualifiers), images 412 of people in column 404, and similar ones. Various coloring, graphical, shading, and other schemes may be used in conjunction with the symbols. In some embodiments, the symbols may be animated.
  • FIGs. 5A-B include example user experiences for collaboration features through a table presenting data associated with a collaboration database service.
  • users may be able to easily share the database with others either via individual addressing or by addressing to the various people columns in the table.
  • the user may be able to address the table 502 to the people in the Account Rep people column 504.
  • a share user interface 506 may be displayed allowing the user to select among groups (e.g., the Account Rep people column 504, a list of people, or another column), add a message 510, and select options associated with sharing such as sending the sharing invite as an email.
  • Users may also be able to simultaneously edit the database. This may include multiple users being able to edit a single database record at once.
  • the location of each user may be visualized in the database as shown in diagram 500B.
  • An indicator 522 may display how many people are currently editing the database.
  • representations e.g., icons or images
  • hovering on or clicking on the representations may result in displaying information associated with the corresponding people or initiating
  • communication e.g., email, audio/video call, instant messaging, etc.
  • records that are currently being edited may be indicated as such on the table.
  • records 524 are indicated as being currently edited by three different people.
  • past edit information may also be visually provided.
  • the comments record shown as being edited by user Jane Doe includes an indicator 526, which may indicate that there are four other edits on that record (i.e., four other comments). Change highlighting and an activity feed may make it easy to keep track of what has changed since the last time a user viewed the database.
  • Notifications sent to phone and email may make it easy to keep track of updates when the user is not looking at the database.
  • collaboration database service may also enable social interaction through @ mentions of people, hashtags for subjects, and/or conversations about a row.
  • the collaboration database service may leverage a productivity suite's diverse reporting capabilities.
  • Client applications that may access collaboration database service data may include spreadsheet applications, word processing applications, database applications, and presentation applications.
  • Any collaboration database service table may be able to serve as an addressable rich data type in a spreadsheet application, where one can point a column in a spreadsheet to collaboration database service, fill out the name of the collaboration database service item, and then address any of the custom data types through spreadsheet formulas.
  • Smart tags may be used in word processing.
  • Any collaboration database service table may be able to serve as a collection of terms to be recognized using the smart tag technology. Hovering over a term may show a card view for the details of that row in the collaboration database service. Surveys and forms of communication applications may also be supported.
  • a custom survey or a form that is part of a business process where the data is defined and stored in the collaboration database service, and as part of the workflow, may result in people being notified via email. People may also directly fill out the form and submit the results without leaving a communication application.
  • collaboration database service serving as a universal currency across productivity workloads, it may also allow users to bring data from those workloads as custom column types, allowing a "join" across the different productivity datatypes. This may work both for productivity data like mail, calendar, files, and tasks, as well as external data like business, CRM, professional networking data, etc. Following are a few example scenarios.
  • Network storage - Tree Inventory Scenario - Each tree may have a picture uploaded, so the field worker using a collaboration database service mobile app can take a picture of each tree they add.
  • the collaboration database service "image" column type may actually store pictures in the network storage for the user or group.
  • Tasks - Ideation Scenario - Each idea that is deemed worth deeper investigation may be assigned to an owner. That owner may have a task assigned to them that is linked with the row in the collaboration database service representing that idea.
  • Directory Service - University Recruiting - Each candidate has a recruiter assigned to them, which is specified in a "person" column. That column may be tied into a directory and leverage the existing productivity controls to help pick the right user/group to assign to that candidate.
  • Planner - Spec Library The team may want to flip into an experience where they can better manage the various stages each spec goes through.
  • FIG. 6 includes an example user experience for presenting underlying data in a card form.
  • a series of smart visualizations may be provided including a grid that is auto sized to maximize read-ability of content as well as alternatives to grid view such as card layouts, Kanban view, carousel view, map view, and comparable ones. Going beyond just simply linking to related documents, the documents may be shown directly inline in the interface for easy in place viewing and reading. For example, in diagram 600, the user can see the sales pitch presentation 606 associated with the Margie's Travel record 602 while viewing the other details of the record such as simple data fields 604 and comments list 608. Next and previous buttons may allow the user to navigate the presentation 606 directly from the record browser.
  • the card view as shown in diagram 600 may allow user friendly presentation of subsets of underlying data (e.g., rows), where data fields of different data types may be presented accordingly.
  • users may be able to link two tables together as well as automatically roll-up, summarize and visualize data from one table to another. For example, a "Current" column may summarize the score values of the usability tasks table. Records may be correlated based on primary key.
  • the collaboration database service may offer logic in the form of rich column types that handle common logic scenarios such as status column and rules around it. Additional internal capabilities may include logic such as validation rules. Other, flexible and scalable, logic external to the collaboration database service may also be used.
  • Spreadsheet surveys may be expanded into a lightweight, declarative forms story that may run anywhere. Access to diverse external data sources and joining between them may be offered on the client application.
  • data On the collaboration database service, data may surface in a structured format (e.g., Microsoft Graph by Microsoft Corp. of Redmond, WA), allowing relationships to be expressed between it and other content in the graph, including users, files, mail and calendar.
  • capabilities may be offered through a rich set of
  • collaboration database service APIs empowering developers. Both first and third parties may use the same collaboration database service APIs, which may encompass defining tables, reading and updating data, permissions, real-time notifications and more.
  • the collaboration database service APIs may be presented through structured format, which may handle unifying security across productivity workloads and allow expressing relationships between them.
  • a client toolkit may simplify authoring clients that talk to the collaboration database service for non- trivial tasks such as buffering reads and updates in a local view and auto-merging realtime changes into it.
  • a web control may offer the capabilities of the collaboration database service grid for embedding in other web pages.
  • Other controls may be used to implement the client application, such as the People and Files controls, which may be made available for use in other applications and general web development scenarios.
  • Data may be indexed for search. Since the data used by the collaboration database service may have schema with relationships, data analysis applications and services may draw inferences from that data that are not expressed in any other way in a productivity suite, making the analysis services more relevant. Users may further be provided with the ability to roll back their data to previous versions. This may be possible with at the table, record, and field level. Users may be able to undo the changes of others via the activity feed.
  • 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.
  • column optimization techniques may be employed to optimize content and size of displayed columns.
  • 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.
  • a card format may also be used to display a subset of the data along with a table view.
  • a control 706 for selecting between table (or grid) view and a card view may be provided.
  • 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).
  • 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.
  • 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.
  • collaboration database service may be implemented in environments employing fewer or additional systems, services, applications, engines, and user experience configurations.
  • 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
  • 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.
  • network(s) 810 may include wireless media such as acoustic, RF, infrared and other wireless media.
  • FIG. 9 is a block diagram of an example general purpose computing device, which may be used to provide a collaboration database service.
  • computing device 900 may be used as a server, desktop computer, portable computer, smart phone, special purpose computer, or similar device.
  • 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.
  • the processor 904 may be of any type, including but not limited to a microprocessor ( ⁇ ), a microcontroller ( ⁇ ), 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.
  • 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 which may be an integrated module of the
  • the collaboration database engine 926 may be configured to detect creation or modification of a table through an application associated with the collaboration database service 922, where the table may be comprised of columns and rows that may be entities of the table.
  • 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, 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.
  • 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.
  • the removable storage and the nonremovable 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 nonremovable 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
  • 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.
  • 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.
  • RF radio frequency
  • IR infrared
  • 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. 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 provide 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 create or edit data in a table associated with a collaboration database service may be detected.
  • suggestions may be provided for content in the table based on existing data, user context, and/or device context.
  • the updated or created data may be stored in a collaboration database and shared with productivity applications at operation 1030 for further processing and presentation of the underlying data.
  • rich data types may be allowed to be used in columns / rows and associated user interface entities such as card view presentations to provide an enhanced and interactive user experience.
  • process 1000 The operations included in process 1000 are for illustration purposes A collaboration database service 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.
  • a means for providing a collaboration database service may include a means for receiving a request to create or edit data managed by the collaboration database service through a table; a means for providing a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, and a device context; a means for storing the created or edited data in a collaboration database and sharing the created or edited data with one or more applications to be processed and displayed; and a means for enabling rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
  • a method to provide a collaboration database service may include receiving a request to create or edit data managed by the collaboration database service through a table; providing a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, and a device context; storing the created or edited data in a collaboration database and sharing the created or edited data with one or more applications to be processed and displayed; and enabling rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
  • the method may also include one or more of: allowing definition of a custom entity and integration of the custom entity into the one or more applications such that interoperability with the one or more applications is anchored around the custom entity; allowing specification of a column type that joins into a productivity workload; providing a public application programming interface (API) to enable custom applications to be built over the collaboration database service; searching and retrieving data external to the collaboration database for automatic inclusion in the table based on data types; and/or providing an option to present the data in a card or stacked view format instead of the table.
  • API application programming interface
  • the method may also include receiving an input indicating a current column and a target column are related; and automatically stacking the current column and the target column in the stacked view format.
  • the method may further include employing one or more of column size optimization, column selection to present, and visualizations to provide consistent presentation of data across multiple platforms and multiple devices.
  • the method may yet include enabling one or more of linking of two tables, automatic roll-up, and summarization and visualization of data from one table to another table; enabling roll-back of changes to the data to a previous version at one or more of a table level, a record level, and a field level; and/or enabling roll-back of changes made to the data by one or more collaborators to a previous version through an activity feed.
  • a server to provide a collaboration database service 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 a request to create or edit data managed by the collaboration database service through a table; provide a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, a device context, and data retrieved from an external source to a collaboration database; store the created or edited data in the collaboration database such that the stored data is shared with one or more applications to be processed and displayed; enable sharing of the stored data with one or more users through the displayed table; and enable rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
  • the collaboration database engine may be configured to enable sharing of the stored data with the one or more users by allowing selection or input of the one or more users in a sharing user interface, enabling insertion of a message, and enabling selection of one or more limits on the shared data.
  • the collaboration database engine may also be configured to enable simultaneous editing of the stored data by multiple users; provide a visualization of the multiple users editing the stored data through the displayed table; enable initiation of a communication with one or more of the multiple users through the visualization; and/or enable commenting on each record by the multiple users and maintain a threaded conversation.
  • a system to provide a collaboration database service in conjunction with a productivity service 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 a request to create or edit data managed by the collaboration database service through a table presented by one of the one or more productivity applications; provide a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, a device context, and data retrieved from an external source to a
  • collaboration database store the created or edited data in the collaboration database such that the stored data is shared with the one or more productivity applications to be processed and displayed; and enable rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
  • the database management server may be further configured to provide one or more of change highlighting and an activity feed to enable keeping track of changes to the stored date since a last time a user viewed the collaboration database.
  • the one or more productivity applications may include a word- processing application, a spreadsheet application, a presentation application, and a notebook application.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Computational Linguistics (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Information Transfer Between Computers (AREA)
  • Probability & Statistics with Applications (AREA)
  • Fuzzy Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A collaboration database service allows end users to create and collaborate on custom databases as any other type of productivity content (presentations, word processing documents, spreadsheets, etc.). Providing a more data centric experience rather than formatting centric may allow for a malleable 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. A collaboration database service according to embodiments may not only provide easy creation and sharing of various databases across devices, but also integrate and interoperate with various productivity application workloads. Each productivity application may play a unique role, and those individual strengths may be highlighted in an example service to bring the system together.

Description

COLLABORATION DATABASE SERVICE IN CONJUNCTION WITH PRODUCTIVITY APPLICATIONS
BACKGROUND
[0001] 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
[0002] 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.
[0003] Embodiments are directed to a collaboration database service that may allow end users to create, edit, and share collaborative content on custom databases. The collaboration database service may receive a request to create or edit data managed by the collaboration database service through a table. A suggestion may be provided to be displayed for entry into the table based on one or more of existing data, a user context, and a device context. The created or edited data may be stored in a collaboration database and shared with one or more applications to be processed and displayed. The collaboration database service may also allow rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
[0004] 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
[0005] FIG. 1 includes an example network environment where a collaboration database service in conjunction with productivity applications may be implemented;
[0006] FIG. 2 includes an example infrastructure implemented for a collaboration database service in conjunction with productivity applications; [0007] FIGs. 3 A-C include user experiences illustrating addition of a column to an example table and creation of links to a corresponding data source in a collaboration database service;
[0008] FIG. 4 includes an example user experience illustrating various data presentations on a table supported by a collaboration database service;
[0009] FIGs. 5A-B include example user experiences for collaboration features through a table presenting data associated with a collaboration database service;
[0010] FIG. 6 includes an example user experience for presenting underlying data in a card form;
[0011] 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;
[0012] FIG. 8 is a networked environment, where a system according to
embodiments may be implemented;
[0013] FIG. 9 is a block diagram of an example general purpose computing device, which may be used to provide a collaboration database service; and
[0014] FIG.10 illustrates a logic flow diagram of a method to provide a collaboration database service, according to embodiments.
DETAILED DESCRIPTION
[0015] As briefly described above, a collaboration database service that may allow end users to create and collaborate on custom databases as any other type of productivity content (presentations, word processing documents, spreadsheets, etc.). Providing a more data centric experience rather than formatting centric may allow for a malleable 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. A collaboration database service according to embodiments may not only provide easy creation and sharing of various databases across devices, but also integrate and interoperate with various productivity application workloads. Each productivity application may play a unique role, and those individual strengths may be highlighted in an example service to bring the system together.
[0016] 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.
[0017] 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.
[0018] 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.
[0019] 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.
[0020] 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.
[0021] The technical advantages of providing a collaboration database service may include, among others, increased security and 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.
[0022] FIG. 1 includes an example network environment where a collaboration database service in conjunction with productivity applications may be implemented.
[0023] 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 1 12 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.
[0024] 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.
[0025] In one embodiment, the collaboration database engine 118 may be configured to detect creation of a new table through the application 106. In another embodiment, the collaboration database engine 118 may be configured to detect modification of an existing table 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. The table may include one or more rows and columns producing a plurality of cells within the table, where the rows and columns may be entities of the table. The customer 104 may be enabled to easily add new columns (or rows), select data types for the newly created columns, and populate new cells. Table 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. Embodiments are not limited to table or card based views. Other views that may be used to present underlying collaboration database data consistently across platforms and devices may include carousel view, map view, and comparable ones.
[0026] 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 optimally gather, enter, and display the data on various devices, what rules should be enforced, and what actions need to be taken on behalf of the user. The custom entities may further define how the underlying data may relate to other similar entities to allow such things as autofill, suggestions, and
autocomplete.
[0027] 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 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.
[0028] 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.
[0029] 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.
[0030] 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.
[0031] FIG. 2 includes an example infrastructure implemented for a collaboration database service in conjunction with productivity applications.
[0032] 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.
[0033] 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 share a copy of the table 208 with other customers who may be collaborating on the content of the table 208 with the customer through various devices associated with the other customers.
[0034] 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.
[0035] One example capability of a collaboration database service according to embodiments may include highlighting the workloads, where the system may allow users to define custom entities, and work with each productivity application on how these entities may integrate with their product to highlight their core strengths. Interoperability may be anchored around these custom entities rather than formatted text (e.g., a list of interview candidates may be a table in a spreadsheet application, but presented as a collection of slides in a presentation application). Another example capability may include joining the workloads. The key to any database is the type of columns one can define, and the capabilities that come with those columns. An example collaboration database service may allow the user to specify column types that are essentially joins or look-ups into other productivity workloads (e.g., a list of candidates with a network storage column to store their resumes, or a calendar column to schedule the interviews).
[0036] A collaboration database service according to embodiments may allow end users to quickly define and adapt their schemas to match their business process. A client application of the collaboration database service may be available across multiple devices and may include integrated custom forms and logic experiences over that data. The client application, the custom forms, and other productivity integrations may go through publicly documented APIs, and an array of SDKs and open source projects may enable an ecosystem to build other custom applications on top of the collaboration database service.
[0037] The prioritization around public APIs for interoperability may allow a rich ecosystem, as well as help take advantage of the other productivity workloads. A lightweight form building experience and custom logic may be provided at both the transaction layer as well as the orchestration layer with connections to productivity applications, so that a business analyst, for example, can build custom mobile applications and logic applications on top of that data.
[0038] The following scenarios are illustrative examples: (1) Asset Tracking - People may want to quickly define a table for what they are tracking, and send it out to one or more people to help fill in the data. It may be like a survey where one designates a group of people to each provide an answer, or it may be longer running, where people are constantly adding new entries and editing existing. Examples: tree inventory; t-shirt sizes of everyone on the team; team hardware tracking; travel preferences; product sign-off for public release, etc. (2) Knowledge base - A table to capture interesting information and have discussions around the information. The table may be viewed as a long running collection of content, and discovery is highly valued. Many users may just consume, and not contribute content. Social features like commenting and "likes'Vvoting may be highly valuable. "Ownership" and "status" of a row in the table is common, where someone is tasked with completing the fields for that row, and signs off when done. Examples: FAQ; Best Practices; Code Samples; API Documentation; Talking Points; Product Descriptions; places to visit; reading list; conferences to attend; cool tech; compete investigations;
hardware recommendations (laptops; pes; phones); reading lists; favorite authors; great mentors; inspirational quotes, etc. (3) Decision Making - The data may be much more ephemeral. A table to capture interesting information and have discussions around the information. Everyone may be encouraged to participate, at a minimum contributing feedback via social features like commenting and "likes'Vvoting. Examples:
Ideation/product ideas; classroom survey; where do we want to go for lunch; morale event ideas; demo day signup, etc. (4) People Centric Processes - a table centered around people. The people often may not be in the organization (or directory service), but knowledge that they are a person with contact info, etc. may be of value. A status may be assigned to the person depending on where they are in the process, and smart rules may be applied based on updates to the status (notifications, etc.). Examples: university recruiting; managing who goes where for a re-org; performance reviews; team ownership areas; partner contact (who owns which partner relationship); region ownership (who owns which region); patterns & practice owner; etc. (5) Document-centric processes - Similar to people centric process, but a document may be the focus. The value of using a table may be that fields common across the collection of documents (like status), can be tracked and used to better organize and route the documents through workflows. Examples: spec library; patent applications; legal case management; drug applications; RFPs; sales proposals; etc.
[0039] FIGs. 3 A-C include user experiences illustrating addition of a column to an example table and creation of links to a corresponding data source in a collaboration database service.
[0040] 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.
[0041] As shown in diagram 300A of FIG. 3A, the collaboration database service may allow creation and modification of tables such as table 302 (Sales Leads) with the data being stored and managed by the collaboration database. The original table may include a single column 304 (companies). A user may be enabled to add another column with a single click or gesture by activating the add column control 306. Upon activation of the add column control 306, a pop-up menu 308 may be displayed allowing the user to select among available data types such as checkboxes, dates, numbers, text, people, etc. The new column's data types may be provided through other means too such as a radial menu, a drop-down menu, or a fly-out menu etc. By allowing the user to select the data type for the new column, the collaboration database service may undertake a number of tasks in preparing enhanced interaction for the user.
[0042] For example, the user may select "people" data type for the new column 310 as shown in diagram 300B of FIG. 3B. A system according to embodiments may enable use of rich data to enhance data presentation, entry, and interaction. Thus, the user may be provided 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.
[0043] As shown in diagram 300C of FIG. 3C, images of the people in the cells of the filled out new column 312 (Account Representatives) may be displayed based on data retrieved by the collaboration database engine. Other information (e.g., email addresses, phone numbers, mailing addresses, and comparable ones) may also be provided depending on space availability, user configuration, inference based prioritization, etc.
[0044] Data associated with the new column 312 may be retrieved from one or more local and external data stores such as directory server 320. The user may enter the data by typing into the cells (with the aid of autocomplete or suggestion lists) or inputting through other means such as drag and drop operations. Each new column type may also introduce new features around these new semantics, like smarter sorting/filtering, new views, smart layout, automatic logic and workflows, etc. Other types of data such as trends, choices, text, Boolean parameters, etc. may be presented with corresponding functionality for data entry and interactivity. [0045] FIG. 4 includes an example user experience illustrating various data presentations on a table supported by a collaboration database service.
[0046] A range of smart visualizations of data may be provided 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, as illustrated in diagram 400.
[0047] Diagram 400 includes an example table for sales leads with column 402 listing the customers, column 404 listing the account representatives, column 406 listing the status of each account, column 408 listing a size of each account, column 410 including attachment or a link to sales pitch presentations for each account, and a column listing comments associated with each account. The collaboration database service may interact with and employ different applications for the different data types displayed. For example, the presentations may activate a presentation application upon selection and comments may be retrieved from a communication application. The smart visualizations of data to increase readability and user engagement may include symbols 414 and 416 representing account status and account size data (along with textual qualifiers), images 412 of people in column 404, and similar ones. Various coloring, graphical, shading, and other schemes may be used in conjunction with the symbols. In some embodiments, the symbols may be animated.
[0048] FIGs. 5A-B include example user experiences for collaboration features through a table presenting data associated with a collaboration database service.
[0049] In a system according to embodiments, users may be able to easily share the database with others either via individual addressing or by addressing to the various people columns in the table. For example, in diagram 500A, the user may be able to address the table 502 to the people in the Account Rep people column 504. By activating a share or collaboration control (that may be part of the user interface or a particular touch/gesture action), a share user interface 506 may be displayed allowing the user to select among groups (e.g., the Account Rep people column 504, a list of people, or another column), add a message 510, and select options associated with sharing such as sending the sharing invite as an email.
[0050] Users may also be able to simultaneously edit the database. This may include multiple users being able to edit a single database record at once. The location of each user may be visualized in the database as shown in diagram 500B. An indicator 522 may display how many people are currently editing the database. In some examples, representations (e.g., icons or images) of the people editing the database may be interactive. For example, hovering on or clicking on the representations may result in displaying information associated with the corresponding people or initiating
communication (e.g., email, audio/video call, instant messaging, etc.) with them.
[0051] In addition, records that are currently being edited may be indicated as such on the table. For example, records 524 are indicated as being currently edited by three different people. In yet other examples, past edit information may also be visually provided. For example, the comments record shown as being edited by user Jane Doe includes an indicator 526, which may indicate that there are four other edits on that record (i.e., four other comments). Change highlighting and an activity feed may make it easy to keep track of what has changed since the last time a user viewed the database.
Notifications sent to phone and email may make it easy to keep track of updates when the user is not looking at the database.
[0052] Moreover, users may be able to comment on each record individually and have threaded conversations. Presence of comments may be visualized in the top level of the table. In addition to offering real-time collaboration, the collaboration database service may also enable social interaction through @ mentions of people, hashtags for subjects, and/or conversations about a row. The collaboration database service may leverage a productivity suite's diverse reporting capabilities. Client applications that may access collaboration database service data may include spreadsheet applications, word processing applications, database applications, and presentation applications.
[0053] Other aspects of a collaboration database service may include richer data types in spreadsheets. Any collaboration database service table may be able to serve as an addressable rich data type in a spreadsheet application, where one can point a column in a spreadsheet to collaboration database service, fill out the name of the collaboration database service item, and then address any of the custom data types through spreadsheet formulas. Smart tags may be used in word processing. Any collaboration database service table may be able to serve as a collection of terms to be recognized using the smart tag technology. Hovering over a term may show a card view for the details of that row in the collaboration database service. Surveys and forms of communication applications may also be supported. A custom survey or a form that is part of a business process where the data is defined and stored in the collaboration database service, and as part of the workflow, may result in people being notified via email. People may also directly fill out the form and submit the results without leaving a communication application.
[0054] In addition to the collaboration database service serving as a universal currency across productivity workloads, it may also allow users to bring data from those workloads as custom column types, allowing a "join" across the different productivity datatypes. This may work both for productivity data like mail, calendar, files, and tasks, as well as external data like business, CRM, professional networking data, etc. Following are a few example scenarios.
[0055] Network storage - Tree Inventory Scenario - Each tree may have a picture uploaded, so the field worker using a collaboration database service mobile app can take a picture of each tree they add. The collaboration database service "image" column type may actually store pictures in the network storage for the user or group. Tasks - Ideation Scenario - Each idea that is deemed worth deeper investigation may be assigned to an owner. That owner may have a task assigned to them that is linked with the row in the collaboration database service representing that idea. Directory Service - University Recruiting - Each candidate has a recruiter assigned to them, which is specified in a "person" column. That column may be tied into a directory and leverage the existing productivity controls to help pick the right user/group to assign to that candidate. Planner - Spec Library - The team may want to flip into an experience where they can better manage the various stages each spec goes through.
[0056] FIG. 6 includes an example user experience for presenting underlying data in a card form.
[0057] A series of smart visualizations may be provided including a grid that is auto sized to maximize read-ability of content as well as alternatives to grid view such as card layouts, Kanban view, carousel view, map view, and comparable ones. Going beyond just simply linking to related documents, the documents may be shown directly inline in the interface for easy in place viewing and reading. For example, in diagram 600, the user can see the sales pitch presentation 606 associated with the Margie's Travel record 602 while viewing the other details of the record such as simple data fields 604 and comments list 608. Next and previous buttons may allow the user to navigate the presentation 606 directly from the record browser. Thus, the card view as shown in diagram 600 may allow user friendly presentation of subsets of underlying data (e.g., rows), where data fields of different data types may be presented accordingly. [0058] According to some embodiments, users may be able to link two tables together as well as automatically roll-up, summarize and visualize data from one table to another. For example, a "Current" column may summarize the score values of the usability tasks table. Records may be correlated based on primary key.
[0059] Internally, the collaboration database service may offer logic in the form of rich column types that handle common logic scenarios such as status column and rules around it. Additional internal capabilities may include logic such as validation rules. Other, flexible and scalable, logic external to the collaboration database service may also be used. Spreadsheet surveys may be expanded into a lightweight, declarative forms story that may run anywhere. Access to diverse external data sources and joining between them may be offered on the client application. On the collaboration database service, data may surface in a structured format (e.g., Microsoft Graph by Microsoft Corp. of Redmond, WA), allowing relationships to be expressed between it and other content in the graph, including users, files, mail and calendar.
[0060] In further embodiments, capabilities may be offered through a rich set of
APIs, empowering developers. Both first and third parties may use the same collaboration database service APIs, which may encompass defining tables, reading and updating data, permissions, real-time notifications and more. The collaboration database service APIs may be presented through structured format, which may handle unifying security across productivity workloads and allow expressing relationships between them. A client toolkit may simplify authoring clients that talk to the collaboration database service for non- trivial tasks such as buffering reads and updates in a local view and auto-merging realtime changes into it.
[0061] In yet other embodiments, a web control may offer the capabilities of the collaboration database service grid for embedding in other web pages. Other controls may be used to implement the client application, such as the People and Files controls, which may be made available for use in other applications and general web development scenarios. Data may be indexed for search. Since the data used by the collaboration database service may have schema with relationships, data analysis applications and services may draw inferences from that data that are not expressed in any other way in a productivity suite, making the analysis services more relevant. Users may further be provided with the ability to roll back their data to previous versions. This may be possible with at the table, record, and field level. Users may be able to undo the changes of others via the activity feed. [0062] 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.
[0063] 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.
[0064] 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.
[0065] 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).
[0066] 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. [0067] 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 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.
[0068] 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.
[0069] 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.
[0070] 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.
[0071] Many other configurations of computing devices, applications, engines, data sources, and data distribution systems may be employed for a collaboration database service. Furthermore, the networked environments discussed in FIG. 8 are for illustration purposes only. Embodiments are not limited to the example applications, engines, or processes.
[0072] FIG. 9 is a block diagram of an example general purpose computing device, which may be used to provide a collaboration database service.
[0073] 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.
[0074] Depending on the desired configuration, the processor 904 may be of any type, including but not limited to a microprocessor (μΡ), a microcontroller (μθ), 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.
[0075] 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, which may be an integrated module of the
collaboration database service 922. The collaboration database engine 926 may be configured to detect creation or modification of a table through an application associated with the collaboration database service 922, where the table may be comprised of columns and rows that may be entities of the table. 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, as described herein. [0076] 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 nonremovable 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.
[0077] The system memory 906, the removable storage devices 936 and the nonremovable 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.
[0078] 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.
[0079] 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.
[0080] 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.
[0081] Example embodiments may also include methods to provide a collaboration database service. 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.
[0082] FIG.10 illustrates a logic flow diagram of a method to provide a collaboration database service, according to embodiments.
[0083] 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.
[0084] Process 1000 begins with operation 1010, where a user action to create or edit data in a table associated with a collaboration database service may be detected. At operation 1020, suggestions may be provided for content in the table based on existing data, user context, and/or device context. The updated or created data may be stored in a collaboration database and shared with productivity applications at operation 1030 for further processing and presentation of the underlying data. At operation 1040, rich data types may be allowed to be used in columns / rows and associated user interface entities such as card view presentations to provide an enhanced and interactive user experience.
[0085] The operations included in process 1000 are for illustration purposes A collaboration database service 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.
[0086] According to examples, a means for providing a collaboration database service is described. The means may include a means for receiving a request to create or edit data managed by the collaboration database service through a table; a means for providing a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, and a device context; a means for storing the created or edited data in a collaboration database and sharing the created or edited data with one or more applications to be processed and displayed; and a means for enabling rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
[0087] According to some examples, a method to provide a collaboration database service is described. The method may include receiving a request to create or edit data managed by the collaboration database service through a table; providing a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, and a device context; storing the created or edited data in a collaboration database and sharing the created or edited data with one or more applications to be processed and displayed; and enabling rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
[0088] According to other examples, the method may also include one or more of: allowing definition of a custom entity and integration of the custom entity into the one or more applications such that interoperability with the one or more applications is anchored around the custom entity; allowing specification of a column type that joins into a productivity workload; providing a public application programming interface (API) to enable custom applications to be built over the collaboration database service; searching and retrieving data external to the collaboration database for automatic inclusion in the table based on data types; and/or providing an option to present the data in a card or stacked view format instead of the table.
[0089] According to further examples, the method may also include receiving an input indicating a current column and a target column are related; and automatically stacking the current column and the target column in the stacked view format. The method may further include employing one or more of column size optimization, column selection to present, and visualizations to provide consistent presentation of data across multiple platforms and multiple devices. The method may yet include enabling one or more of linking of two tables, automatic roll-up, and summarization and visualization of data from one table to another table; enabling roll-back of changes to the data to a previous version at one or more of a table level, a record level, and a field level; and/or enabling roll-back of changes made to the data by one or more collaborators to a previous version through an activity feed.
[0090] According to other examples, a server to provide a collaboration database service 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 a request to create or edit data managed by the collaboration database service through a table; provide a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, a device context, and data retrieved from an external source to a collaboration database; store the created or edited data in the collaboration database such that the stored data is shared with one or more applications to be processed and displayed; enable sharing of the stored data with one or more users through the displayed table; and enable rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
[0091] According to some examples, the collaboration database engine may be configured to enable sharing of the stored data with the one or more users by allowing selection or input of the one or more users in a sharing user interface, enabling insertion of a message, and enabling selection of one or more limits on the shared data. The collaboration database engine may also be configured to enable simultaneous editing of the stored data by multiple users; provide a visualization of the multiple users editing the stored data through the displayed table; enable initiation of a communication with one or more of the multiple users through the visualization; and/or enable commenting on each record by the multiple users and maintain a threaded conversation.
[0092] According to further examples, a system to provide a collaboration database service 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 a request to create or edit data managed by the collaboration database service through a table presented by one of the one or more productivity applications; provide a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, a device context, and data retrieved from an external source to a
collaboration database; store the created or edited data in the collaboration database such that the stored data is shared with the one or more productivity applications to be processed and displayed; and enable rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
[0093] According to yet other examples, the database management server may be further configured to provide one or more of change highlighting and an activity feed to enable keeping track of changes to the stored date since a last time a user viewed the collaboration database. The one or more productivity applications may include a word- processing application, a spreadsheet application, a presentation application, and a notebook application. [0094] 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 a collaboration database service, the method comprising: receiving a request to create or edit data managed by the collaboration database service through a table;
providing a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, and a device context;
storing the created or edited data in a collaboration database and sharing the created or edited data with one or more applications to be processed and displayed; and enabling rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
2. The method of claim 1, further comprising:
providing a public application programming interface (API) to enable custom applications to be built over the collaboration database service.
3. The method of claim 1, further comprising:
searching and retrieving data external to the collaboration database for automatic inclusion in the table based on data types.
4. The method of claim 1, further comprising:
providing an option to present the data in a card or stacked view format instead of the table.
5. The method of claim 1, further comprising:
employing one or more of column size optimization, column selection to present, and visualizations to provide consistent presentation of data across multiple platforms and multiple devices.
6. A server to provide a collaboration database service, 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 a request to create or edit data managed by the collaboration database service through a table; provide a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, a device context, and data retrieved from an external source to a collaboration database;
store the created or edited data in the collaboration database such that the stored data is shared with one or more applications to be processed and displayed; enable sharing of the stored data with one or more users through the displayed table; and
enable rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
7. The server of claim 6, wherein the collaboration database engine is further configured to:
enable simultaneous editing of the stored data by multiple users.
8. The server of claim 7, wherein the collaboration database engine is further configured to:
provide a visualization of the multiple users editing the stored data through the displayed table.
9. The server of claim 8, wherein the collaboration database engine is further configured to:
enable initiation of a communication with one or more of the multiple users through the visualization.
10. The server of claim 9, wherein the collaboration database engine is further configured to:
enable commenting on each record by the multiple users and maintain a threaded conversation.
11. A system to provide a collaboration database service 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 a request to create or edit data managed by the collaboration database service through a table presented by one of the one or more productivity applications;
provide a suggestion to be displayed for entry into the table based on one or more of existing data, a user context, a device context, and data retrieved from an external source to a collaboration database;
store the created or edited data in the collaboration database such that the stored data is shared with the one or more productivity applications to be processed and displayed; and
enable rich data types to be used in cells of the table and associated presentation formats to allow optimized presentation and interactivity through the table.
12. The system of claim 11, wherein the one or more productivity applications include a word-processing application, a spreadsheet application, a presentation application, and a notebook application.
PCT/US2016/060761 2015-11-15 2016-11-07 Collaboration database service in conjunction with productivity applications WO2017083213A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562255515P 2015-11-15 2015-11-15
US62/255,515 2015-11-15
US15/198,236 2016-06-30
US15/198,236 US20170140047A1 (en) 2015-11-15 2016-06-30 Collaboration database service in conjunction with productivity applications

Publications (1)

Publication Number Publication Date
WO2017083213A1 true WO2017083213A1 (en) 2017-05-18

Family

ID=58690050

Family Applications (5)

Application Number Title Priority Date Filing Date
PCT/US2016/060764 WO2017083215A1 (en) 2015-11-15 2016-11-07 Providing data presentation functionality associated with collaboration database
PCT/US2016/060767 WO2017083218A1 (en) 2015-11-15 2016-11-07 Smart card presentation of tabular data from collaboration database
PCT/US2016/060762 WO2017083214A1 (en) 2015-11-15 2016-11-07 Single or multi-choice data presentation through collaboration database service
PCT/US2016/060766 WO2017083217A1 (en) 2015-11-15 2016-11-07 Optimizing content for consistent presentation through collaboration database service
PCT/US2016/060761 WO2017083213A1 (en) 2015-11-15 2016-11-07 Collaboration database service in conjunction with productivity applications

Family Applications Before (4)

Application Number Title Priority Date Filing Date
PCT/US2016/060764 WO2017083215A1 (en) 2015-11-15 2016-11-07 Providing data presentation functionality associated with collaboration database
PCT/US2016/060767 WO2017083218A1 (en) 2015-11-15 2016-11-07 Smart card presentation of tabular data from collaboration database
PCT/US2016/060762 WO2017083214A1 (en) 2015-11-15 2016-11-07 Single or multi-choice data presentation through collaboration database service
PCT/US2016/060766 WO2017083217A1 (en) 2015-11-15 2016-11-07 Optimizing content for consistent presentation through collaboration database service

Country Status (4)

Country Link
US (5) US10366114B2 (en)
EP (1) EP3374949A1 (en)
CN (1) CN108352003B (en)
WO (5) WO2017083215A1 (en)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
US10423713B1 (en) 2013-10-15 2019-09-24 Google Llc System and method for updating a master slide of a presentation
US10366114B2 (en) 2015-11-15 2019-07-30 Microsoft Technology Licensing, Llc Providing data presentation functionality associated with collaboration database
US10210147B2 (en) * 2016-09-07 2019-02-19 International Business Machines Corporation System and method to minimally reduce characters in character limiting scenarios
US10970634B2 (en) * 2016-11-10 2021-04-06 General Electric Company Methods and systems for capturing analytic model authoring knowledge
US10545984B2 (en) * 2017-05-23 2020-01-28 Sap Se Abstract default column type in tables
US11257044B2 (en) * 2017-06-20 2022-02-22 Microsoft Technology Licensing, Llc Automatic association and sharing of photos with calendar events
CN107633071B (en) * 2017-09-22 2020-11-13 江苏康众汽配有限公司 Method and system based on automobile project and product dynamic vehicle type library
US11087080B1 (en) * 2017-12-06 2021-08-10 Palantir Technologies Inc. Systems and methods for collaborative data entry and integration
JP7119411B2 (en) * 2018-02-16 2022-08-17 日本電気株式会社 DATABASE DEVICE, DATA MANAGEMENT METHOD AND COMPUTER PROGRAM
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US10984183B1 (en) * 2018-09-26 2021-04-20 Facebook, Inc. Systems and methods for sharing content
US11049042B2 (en) 2018-11-05 2021-06-29 Convr Inc. Systems and methods for extracting specific data from documents using machine learning
US11270213B2 (en) 2018-11-05 2022-03-08 Convr Inc. Systems and methods for extracting specific data from documents using machine learning
JP7014199B2 (en) * 2019-03-08 2022-02-01 オムロン株式会社 Control systems, information processing equipment, and information processing programs
US11194717B2 (en) 2019-04-19 2021-12-07 T-Mobile Usa, Inc. Facts control and evaluating card definitions using cached facts
US11657298B2 (en) 2019-04-19 2023-05-23 T-Mobile Usa, Inc. Card engine for producing dynamically configured content
CN111949184B (en) * 2019-05-16 2023-10-31 珠海金山办公软件有限公司 Method and device for creating document
JP6988872B2 (en) * 2019-11-08 2022-01-05 トヨタ自動車株式会社 Contribution evaluation device
EP4062313A1 (en) 2019-11-18 2022-09-28 Monday.com Ltd. Collaborative networking systems, methods, and devices
US11507738B2 (en) 2019-11-18 2022-11-22 Monday.Com Digital processing systems and methods for automatic updates in collaborative work systems
CN111259107B (en) * 2020-01-10 2023-08-18 北京百度网讯科技有限公司 Determinant text storage method and device and electronic equipment
US11675773B2 (en) 2020-01-22 2023-06-13 T-Mobile Usa, Inc. Content management
US11481196B2 (en) * 2020-01-22 2022-10-25 T-Mobile Usa, Inc. User interface for accessing and modifying development area content
US11483155B2 (en) 2020-01-22 2022-10-25 T-Mobile Usa, Inc. Access control using proof-of-possession token
US11501255B2 (en) 2020-05-01 2022-11-15 Monday.com Ltd. Digital processing systems and methods for virtual file-based electronic white board in collaborative work systems
US11829953B1 (en) 2020-05-01 2023-11-28 Monday.com Ltd. Digital processing systems and methods for managing sprints using linked electronic boards
US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems
US11755826B2 (en) * 2020-06-30 2023-09-12 Atlassian Pty Ltd. Systems and methods for creating and managing tables
CN112581074A (en) * 2020-11-25 2021-03-30 特力惠信息科技股份有限公司 Workflow engine management method and system supporting multi-level mechanism cooperation
US11928315B2 (en) 2021-01-14 2024-03-12 Monday.com Ltd. Digital processing systems and methods for tagging extraction engine for generating new documents in collaborative work systems
CN112905090A (en) * 2021-02-08 2021-06-04 北京字跳网络技术有限公司 Spreadsheet processing method, device, terminal and storage medium
US11726636B1 (en) * 2022-06-29 2023-08-15 Atlassian Pty Ltd. System for generating a graphical user interface on a mobile device for an issue tracking system event feed
US11888910B1 (en) * 2022-09-15 2024-01-30 Neptyne Inc System to provide a joint spreadsheet and electronic notebook interface
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208992A1 (en) * 2000-11-29 2007-09-06 Dov Koren Collaborative, flexible, interactive real-time displays
US20110093471A1 (en) * 2007-10-17 2011-04-21 Brian Brockway Legal compliance, electronic discovery and electronic document handling of online and offline copies of data
US20140317116A1 (en) * 2013-04-19 2014-10-23 Salesforce.Com, Inc. Facilitating collaboration on a record among a group of users of a feed-based enterprise network

Family Cites Families (100)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484826A (en) 1981-09-24 1984-11-27 International Business Machines Corporation Automatic intertext column spacing
US6014138A (en) 1994-01-21 2000-01-11 Inprise Corporation Development system with methods for improved visual programming with hierarchical object explorer
US5808914A (en) 1994-04-11 1998-09-15 Fuji Xerox Co., Ltd. Table allocating apparatus and method
US5721912A (en) 1994-08-05 1998-02-24 Data Integration Solutions Corp. Graphical user interface for creating database integration specifications
US5588099A (en) * 1994-09-01 1996-12-24 Microsoft Corporation Method and system for automatically resizing tables
US6055550A (en) * 1996-03-21 2000-04-25 Oracle Corporation Auto sizing of fields for displaying computer forms
JP3970357B2 (en) 1996-08-13 2007-09-05 富士ゼロックス株式会社 Table allocation device and table allocation method
US6295550B1 (en) 1996-10-23 2001-09-25 Ncr Corporation Session creation mechanism for collaborative network navigation
US5950190A (en) 1997-05-13 1999-09-07 Aptek, Inc. Dynamic, self-modifying graphical user interface for relational database applications
US6232984B1 (en) 1997-05-22 2001-05-15 Lucent Technologies, Inc. Data visualization system
US6279008B1 (en) 1998-06-29 2001-08-21 Sun Microsystems, Inc. Integrated graphical user interface method and apparatus for mapping between objects and databases
AU1945499A (en) 1997-12-22 1999-07-12 Rightworks Corporation System and method for collaborative data sharing
US6208340B1 (en) 1998-05-26 2001-03-27 International Business Machines Corporation Graphical user interface including a drop-down widget that permits a plurality of choices to be selected in response to a single selection of the drop-down widget
US6762770B1 (en) 1999-10-29 2004-07-13 Apple Computer, Inc. Method and system for the representation of color and other attributes in bitmap fonts
US6639611B1 (en) 1999-12-15 2003-10-28 Sun Microsystems, Inc. System and method for efficient layout of a display table
US7089504B1 (en) 2000-05-02 2006-08-08 Walt Froloff System and method for embedment of emotive content in modern text processing, publishing and communication
US6661417B1 (en) 2000-08-28 2003-12-09 Dynalab Inc. System and method for converting an outline font into a glyph-based font
US7143339B2 (en) 2000-09-20 2006-11-28 Sap Aktiengesellschaft Method and apparatus for dynamically formatting and displaying tabular data in real time
US20020047858A1 (en) 2000-09-28 2002-04-25 International Business Machines Corporation Graphical user interfaces
US8161081B2 (en) 2001-03-16 2012-04-17 Michael Philip Kaufman System and method for generating automatic user interface for arbitrarily complex or large databases
US8001465B2 (en) 2001-06-26 2011-08-16 Kudrollis Software Inventions Pvt. Ltd. Compacting an information array display to cope with two dimensional display space constraint
US7117225B2 (en) 2001-08-13 2006-10-03 Jasmin Cosic Universal data management interface
US6987991B2 (en) 2001-08-17 2006-01-17 Wildseed Ltd. Emoticon input method and apparatus
US20030142147A1 (en) 2002-01-30 2003-07-31 Kinpo Electronics, Inc. Display method for query by tree search
US6909910B2 (en) 2002-02-01 2005-06-21 Microsoft Corporation Method and system for managing changes to a contact database
US7107285B2 (en) 2002-03-16 2006-09-12 Questerra Corporation Method, system, and program for an improved enterprise spatial system
US20030187716A1 (en) 2002-03-29 2003-10-02 International Business Machines Corporation Method and visual user interface for interactive visual analysis of business expenditure
US7370290B2 (en) * 2002-12-19 2008-05-06 Microsoft Corporation Contact card
US7543237B2 (en) 2003-03-19 2009-06-02 Accenture Global Servicecs Gmbh Dynamic collaboration assistant
US7523395B1 (en) 2003-05-30 2009-04-21 Oracle International Corporation Web application generator for spreadsheet calculators
US7593933B2 (en) 2004-02-20 2009-09-22 Mixed Grill, L.L.C. Method and apparatus for a collaborative interaction network
US7305411B2 (en) 2004-05-28 2007-12-04 At&T Bls Intellectual Property, Inc. Methods, systems, and storage mediums for expanding the functionality of database applications
US20050275655A1 (en) 2004-06-09 2005-12-15 International Business Machines Corporation Visualizing multivariate data
CA2481065C (en) 2004-09-07 2014-01-21 Research In Motion Limited System and method for inserting a graphic object in to a text based message
US7933862B2 (en) * 2004-09-27 2011-04-26 Microsoft Corporation One click conditional formatting method and system for software programs
US20060101351A1 (en) 2004-11-05 2006-05-11 Hewlett-Packard Development Company, L.P. Event bookmarking
US7853961B2 (en) 2005-02-28 2010-12-14 Microsoft Corporation Platform for data services across disparate application frameworks
WO2006107876A2 (en) 2005-04-06 2006-10-12 Merck & Co., Inc. Multi-fielded web browser-based searching of data stored in database
US7930629B2 (en) * 2005-07-14 2011-04-19 Microsoft Corporation Consolidating local and remote taxonomies
US7725815B2 (en) 2005-12-12 2010-05-25 Sap Ag Method and system for ordered resizing columns in a table
US9460060B2 (en) * 2005-12-22 2016-10-04 Xerox Corporation System and method for managing dynamic document references
US8046677B2 (en) 2006-01-30 2011-10-25 International Business Machines Corporation Displaying relationships between tabular data using spatial identifiers
CN101401118A (en) 2006-03-06 2009-04-01 雅虎公司 System for serving advertisements over mobile devices
US20070211062A1 (en) 2006-03-13 2007-09-13 International Business Machines Corporation Methods and systems for rendering complex text using glyph identifiers in a presentation data stream
US20080028290A1 (en) 2006-07-30 2008-01-31 Michael Suwiryo Dynamic column adjustment
US20080208624A1 (en) 2007-02-22 2008-08-28 General Electric Company Methods and systems for providing clinical display and search of electronic medical record data from a variety of information systems
US9449322B2 (en) * 2007-02-28 2016-09-20 Ebay Inc. Method and system of suggesting information used with items offered for sale in a network-based marketplace
US7670497B2 (en) * 2007-07-06 2010-03-02 International Business Machines Corporation Oxidant and passivant composition and method for use in treating a microelectronic structure
US8065658B1 (en) 2007-08-07 2011-11-22 Network Appliance, Inc. Tool for visualizing software architecture
US20090083614A1 (en) 2007-09-26 2009-03-26 Xerox Corporation System and method for optimizing information display in spreadsheets and tables
US7810033B2 (en) 2007-10-31 2010-10-05 International Business Machines Corporation Methods and systems involving text analysis
US8386609B2 (en) 2007-11-09 2013-02-26 International Business Machines Corporation Reconnection to and migration of electronic collaboration sessions
US8352867B2 (en) 2007-12-18 2013-01-08 Verizon Patent And Licensing Inc. Predictive monitoring dashboard
US8610718B2 (en) 2008-04-22 2013-12-17 Automic Software Gmbh Method of visualizing sets of correlated events on a display
US20140032486A1 (en) 2008-05-27 2014-01-30 Rajeev Sharma Selective publication of collaboration data
US20100049683A1 (en) 2008-08-22 2010-02-25 Carter Stephen R Collaborative debating techniques
US8239750B2 (en) 2008-09-15 2012-08-07 Erik Thomsen Extracting semantics from data
JP2010093707A (en) 2008-10-10 2010-04-22 Nec Saitama Ltd Portable electronic apparatus, character input screen display method and program
US20100174734A1 (en) 2009-01-02 2010-07-08 Microsoft Corporation Asynchronous database updates between collaborative applications and search utilities
US8615707B2 (en) 2009-01-16 2013-12-24 Google Inc. Adding new attributes to a structured presentation
US8484560B2 (en) 2009-04-24 2013-07-09 Apple Inc. Interactive sub-summaries in database applications
US20100325173A1 (en) 2009-06-23 2010-12-23 The Board Of Regents Of The The University Of Texas System Rapid development of informatics systems for collaborative data management
US9087320B2 (en) 2009-09-15 2015-07-21 Korrio, Inc. Sports collaboration and communication platform
US8312367B2 (en) 2009-10-30 2012-11-13 Synopsys, Inc. Technique for dynamically sizing columns in a table
CA2789995C (en) 2010-02-15 2017-03-07 Research In Motion Limited Devices and method for searching data on data sources associated with a category
CA2790004C (en) * 2010-02-15 2016-06-21 Research In Motion Limited Devices and methods for searching data on data sources associated with registered applications
JP5642809B2 (en) 2010-03-12 2014-12-17 ニュアンス コミュニケーションズ, インコーポレイテッド Multi-modal text input system for use with mobile phone touchscreen etc.
US20110276868A1 (en) 2010-05-05 2011-11-10 Microsoft Corporation Multi-Threaded Adjustment of Column Widths or Row Heights
US8484562B2 (en) 2010-06-25 2013-07-09 Apple Inc. Dynamic text adjustment in a user interface element
US8626795B2 (en) 2010-11-05 2014-01-07 Apple Inc. Dynamic data association
US20120117105A1 (en) 2010-11-05 2012-05-10 Apple Inc. Collaborative Database Operations
US8938690B1 (en) * 2010-11-15 2015-01-20 Cisco Technology, Inc. Intelligent social collaboration hover card
US20120166953A1 (en) 2010-12-23 2012-06-28 Microsoft Corporation Techniques for electronic aggregation of information
CA2836813C (en) 2011-05-23 2020-10-27 Jeffrey Jon REUSCHEL Digital whiteboard collaboration apparatuses, methods and systems
US20130066922A1 (en) 2011-09-09 2013-03-14 WhitePages, Inc. Managing data received from multiple sources for generating a contact profile for synchronizing with the multiple sources
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US10585969B2 (en) 2012-07-07 2020-03-10 Jianqing Wu System and method for extending database functions by a web application and computer readable media
US20140164944A1 (en) 2012-07-31 2014-06-12 Georgia Tech Research Corporation System and method for deriving mobile applications from enterprise-based applications
US20140059496A1 (en) 2012-08-23 2014-02-27 Oracle International Corporation Unified mobile approvals application including card display
US9880991B2 (en) 2012-10-17 2018-01-30 International Business Machines Corporation Transposing table portions based on user selections
US9169716B2 (en) * 2012-12-21 2015-10-27 Halliburton Energy Services, Inc. Liquid valve for flow control devices
US9116710B2 (en) 2012-12-22 2015-08-25 Oracle International Corporation Dynamic user interface authoring
CN103902168B (en) * 2012-12-28 2016-12-28 北京新媒传信科技有限公司 A kind of method and apparatus showing drop-down menu
IN2013CH00469A (en) * 2013-01-21 2015-07-31 Keypoint Technologies India Pvt Ltd
US9298685B2 (en) 2013-02-28 2016-03-29 Ricoh Company, Ltd. Automatic creation of multiple rows in a table
US8958644B2 (en) 2013-02-28 2015-02-17 Ricoh Co., Ltd. Creating tables with handwriting images, symbolic representations and media images from forms
US9317182B2 (en) 2013-04-11 2016-04-19 Apple Inc. Pop-up menu interface
US9514470B2 (en) * 2013-05-16 2016-12-06 Microsoft Technology Licensing, Llc Enhanced search suggestion for personal information services
US9740376B2 (en) 2013-06-21 2017-08-22 Oracle International Corporation User interface for relating enterprise information with public information using a private user profile and schema
US20150026075A1 (en) * 2013-07-16 2015-01-22 Microsoft Corporation Control of crm data based on spreadsheet actions
US9876750B2 (en) 2013-08-06 2018-01-23 Salesforce.Com, Inc. Systems and methods for managing smart posts in feeds
CN104601736B (en) * 2013-10-30 2018-10-23 腾讯科技(深圳)有限公司 A kind of implementation method and device of short URL services
US20150169733A1 (en) 2013-11-15 2015-06-18 Nima Motamedi Systems and methods for linking a database of objective metrics to a performance summary
KR20150081073A (en) 2014-01-03 2015-07-13 삼성전자주식회사 Method for providing glance information, machine-readable storage medium and electronic device
CN106445184B (en) * 2014-01-23 2019-05-17 苹果公司 Virtual machine keyboard
US20150331578A1 (en) 2014-05-13 2015-11-19 Microsoft Corporation Active summaries in user interfaces to collaboration services
US9202249B1 (en) 2014-07-03 2015-12-01 Palantir Technologies Inc. Data item clustering and analysis
US10528597B2 (en) * 2014-09-28 2020-01-07 Microsoft Technology Licensing, Llc Graph-driven authoring in productivity tools
US10298658B2 (en) * 2015-10-26 2019-05-21 Airbnb, Inc. Beam device architecture
US10366114B2 (en) 2015-11-15 2019-07-30 Microsoft Technology Licensing, Llc Providing data presentation functionality associated with collaboration database

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070208992A1 (en) * 2000-11-29 2007-09-06 Dov Koren Collaborative, flexible, interactive real-time displays
US20110093471A1 (en) * 2007-10-17 2011-04-21 Brian Brockway Legal compliance, electronic discovery and electronic document handling of online and offline copies of data
US20140317116A1 (en) * 2013-04-19 2014-10-23 Salesforce.Com, Inc. Facilitating collaboration on a record among a group of users of a feed-based enterprise network

Also Published As

Publication number Publication date
US10628468B2 (en) 2020-04-21
WO2017083214A1 (en) 2017-05-18
WO2017083217A1 (en) 2017-05-18
US20170140047A1 (en) 2017-05-18
US20170139890A1 (en) 2017-05-18
US20170139958A1 (en) 2017-05-18
WO2017083215A1 (en) 2017-05-18
US20170139884A1 (en) 2017-05-18
CN108352003B (en) 2022-02-18
US20170139927A1 (en) 2017-05-18
US10366114B2 (en) 2019-07-30
EP3374949A1 (en) 2018-09-19
CN108352003A (en) 2018-07-31
US10445350B2 (en) 2019-10-15
WO2017083218A1 (en) 2017-05-18

Similar Documents

Publication Publication Date Title
US20170140047A1 (en) Collaboration database service in conjunction with productivity applications
US11537991B2 (en) Digital processing systems and methods for pre-populating templates in a tablature system
US20210224464A1 (en) Collaboration mechanism
CN109906463B (en) Efficiency promotion in task management applications
US9823813B2 (en) Apparatus and methods for performing an action on a database record
US9275376B2 (en) Method and apparatus for providing soft reminders
US9165290B2 (en) Sharing notes in online meetings
US8335989B2 (en) Method and apparatus for presenting polymorphic notes in a graphical user interface
US20170364866A1 (en) Shared collaboration objects
US20160110313A1 (en) System and method of content creation, versioning and publishing
US20140019187A1 (en) Methods and apparatus for implementing a project workflow on a social network feed
US11232523B2 (en) System and method for providing an intelligent operating interface and intelligent personal assistant as a service on a crypto secure social media and cross bridge service with continuous prosumer validation based on i-operant tags, i-bubble tags, demojis and demoticons
US20170344931A1 (en) Automatic task flow management across multiple platforms
US20160125527A1 (en) Financial Information Management System and User Interface
US10432700B2 (en) Conversation connected visualization of items based on a user created list
US20210065015A1 (en) Computerized platform for facilitating group based decision making
US20180136829A1 (en) Correlation of tasks, documents, and communications
US10896406B2 (en) Insight framework for suggesting hosted service and features based on detected usage patterns and behaviors
JP2022506910A (en) Intelligent as an Intelligent Operating Interface and Service for Cryptographic Secure Social Media and Cross-Bridge Services with Continuous Prosumer Verification Based on I-Operant Tag, I-Bubble Tag, D Pictogram and D Emoticon · Systems and methods for providing personal assistants
US20240112144A1 (en) Administration services for managing status updates
Christian An Evaluation Framework for Asynchronous Collaboration Tools

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16794906

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16794906

Country of ref document: EP

Kind code of ref document: A1