US20140026041A1 - Interacting with a document as an application - Google Patents

Interacting with a document as an application Download PDF

Info

Publication number
US20140026041A1
US20140026041A1 US13/550,863 US201213550863A US2014026041A1 US 20140026041 A1 US20140026041 A1 US 20140026041A1 US 201213550863 A US201213550863 A US 201213550863A US 2014026041 A1 US2014026041 A1 US 2014026041A1
Authority
US
United States
Prior art keywords
document
data
application
dap
fields
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US13/550,863
Inventor
Rajat Bhargav
Raghvendra Maloo
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Corp filed Critical Microsoft Corp
Priority to US13/550,863 priority Critical patent/US20140026041A1/en
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: BHARGAV, Rajat, MALOO, Raghvendra
Priority to CN201380038186.3A priority patent/CN104471566B/en
Priority to CN201710919366.2A priority patent/CN107729304B/en
Priority to PCT/US2013/050579 priority patent/WO2014014851A1/en
Priority to EP13740476.0A priority patent/EP2875449A1/en
Publication of US20140026041A1 publication Critical patent/US20140026041A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Priority to US14/932,612 priority patent/US10282392B2/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents

Definitions

  • Mobile computing devices are increasingly being used to access documents.
  • the small display size of many mobile computing devices as compared to desktop computing devices make it difficult to navigate and interact with many documents. For example, attempting to navigate to a specific location within a document and then edit the content at that location can be frustrating for a user when using the small screen of the mobile computing device.
  • a user may adjust the location/size of the fields, a name of the field, a type of chart to display, whether a field is a required field, whether a displayed value in a field is editable, whether to hide/show a field, define a help field, define a starting page for the document application, and the like.
  • a preview may also be displayed to the user when configuring the document application and DAPs.
  • FIG. 2 shows a process for creating a document application to interact with a document
  • FIGS. 4-14 illustrate exemplary figures showing creation of and customizing of document application pages
  • FIGS. 15-17 and the associated descriptions provide a discussion of a variety of operating environments in which embodiments of the invention may be practiced.
  • service 110 is a multi-tenant service that provides resources 115 and services to any number of tenants (e.g. Tenants 1 -N). Each tenant may include one or more users. For example, one tenant may include 100 users whereas another tenant has 10,000 users. Multi-tenant service 110 is a cloud based service that provides resources/services 115 to tenants subscribed to the service and maintains each tenant's data separately and protected from other tenant data.
  • System 100 as illustrated comprises mobile device 130 (e.g. mobile phone) and computing device 150 (e.g. a touch screen input device/display such as a slate/tablet device) that detects when a touch input has been received (e.g. a finger touching or nearly touching the touch screen).
  • a touch input e.g. a finger touching or nearly touching the touch screen.
  • the touch screen may include one or more layers of capacitive material that detects the touch input.
  • Other sensors may be used in addition to or in place of the capacitive material.
  • Infrared (IR) sensors may be used.
  • the touch screen is configured to detect objects that in contact with or above a touchable surface.
  • the touch screen may be configured to determine locations of where touch input is received (e.g. a starting point, intermediate points and an ending point). Actual contact between the touchable surface and the object may be detected by any suitable means, including, for example, by a vibration sensor or microphone coupled to the touch panel.
  • a vibration sensor or microphone coupled to the touch panel.
  • sensors to detect contact includes pressure-based mechanisms, micro-machined accelerometers, piezoelectric devices, capacitive sensors, resistive sensors, inductive sensors, laser vibrometers, and LED vibrometers.
  • Mobile device 130 and computing device 150 includes one or more applications (e.g. application 155 illustrated on computing device 150 ).
  • the devices may include one or more browser applications (e.g. MICROSOFT INTERNET EXPLORER) and one or more other applications (e.g. MICROSOFT EXCEL, MICROSOFT SHAREPOINT, MICROSOFT OFFICE, and the like).
  • Devices may also include other applications that are configured to connect to a web-based application/service and/or that are local to the device.
  • the devices may also be configured to receive text/speech input and output text/speech.
  • device 150 shows exemplary display 152 .
  • Display 152 shows the use of web-based application 155 by a user of a tenant accessing a spreadsheet service (e.g. service 110 ) over a network, such as the Internet.
  • a user associated with device 150 may be using application 155 to view/edit spreadsheet data (e.g. spreadsheet 154 ).
  • Many other types of web based applications may be accessed by one or more mobile computing devices.
  • a device may access a collaboration application, a word processing application, and the like over a network.
  • Data, such as document data, tenant information may be stored on a device (e.g. mobile device 130 , computing device 150 and/or at some other location (e.g. network data store 145 ).
  • the applications e.g. 155
  • the applications may access data on the client, on a server, from the cloud (e.g. service 110 ) and/or some combination.
  • Document application manager 242 is configured to perform operations relating to interacting with a document as if it were an application. While manager 242 is shown within service 110 , the functionality of the manager may be included in other locations (e.g. on another computing device such as mobile computing device 130 and/or computing device 150 ) either independently or as part of another system.
  • Document application manager 242 is configured to automatically generate a document application from selected data within a document, such as spreadsheet 154 .
  • the documents may be stored on a local store of a computing device and/or in a network data store (e.g. data store 145 ).
  • the document may many different types of documents (e.g. spreadsheets, documents with structured data such as tables and list, and the like).
  • the documents are spreadsheet documents.
  • the document application may be configured to perform any number of tasks. For example, a document application may be used for budgeting, for store inventory, for entry of values within a spreadsheet, and the like.
  • the selected data from the document may be automatically/manually selected to be associated with the document application and may include all/portion of the data within the document. For instance, each column within a spreadsheet that is editable may be automatically selected. In the current example, the description column, category column, projected cost column and actual cost column may be automatically selected since each of those columns is configured to receive user input.
  • the difference column and actual cost overview columns are display columns that show graphics from data in the spreadsheet. According to an embodiment, since the difference and actual cost overview columns are not editable, they are not automatically selected—following a rule to exclude computed columns. Other such rules/heuristics may be applied to increase the applicability of the column selection.
  • DAPs document application pages
  • DAP 134 is created that includes fields ( 135 , 136 , 137 and 138 ) for each of the editable columns in spreadsheet 154 .
  • a name for each of the displayed fields in DAP 132 is obtained from the document (e.g. spreadsheet) and used as initial title information for the fields.
  • Rules that are associated with the fields may also be applied to the fields. For example, if the category field is mandatory, then the document application may not allow the user to move to a next DAP until the category field is filled out.
  • the DAPs created by document application manager 242 may also be configured/customized (See FIGS. 9-14 and related discussion).
  • a DAP may be configured to be the starting page for the document application and a DAP may be configured to display a chart.
  • a user may adjust the location/size of the fields, a name of the field, a type of chart to display, whether a field is a required field, whether a displayed value in a field is editable, whether to hide/show a field, define a help field, define a starting page for the document application, and the like.
  • a preview may also be displayed to the user when configuring the document application and DAPs.
  • An optional input type field 139 may be included with one or more of the fields.
  • a user may set the input to use a bar code scanner (e.g. camera on the mobile device and/or a hardware based scanner) to input data into one or more of the fields.
  • a user may also set the input to speech, keyboard, as well as other desired modes of input.
  • a DAP field may also read data from a sensor on the hardware device e.g. GPS, NFC (Near Field Communication) sensors, fingerprint reader, etc.
  • the “Go to Display Page” (text used for illustrative purpose) button 140 allows configuration of a DAP to jump to in response to selecting the button. For example, such navigation allows for modeling of workflows and/or wizard like data entry.
  • Options 141 allow the user to navigate through the DAPs associated with the document application as well as to delete changes and save changes to the document. More details are provided in the FIGURES and related discussion below.
  • FIGS. 2-3 show illustrative processes for interacting with a document as an application.
  • the logical operations of various embodiments are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system.
  • the implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention.
  • the logical operations illustrated and making up the embodiments described herein are referred to variously as operations, structural devices, acts or modules. These operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof.
  • FIG. 2 shows a process 200 for creating a document application to interact with a document.
  • one or more default document application pages are created and displayed based on the selected data (See FIGS. 4-14 for examples).
  • the default document application pages are created directly from data within the document.
  • a name of the selection e.g. table
  • the field names are the fields displayed within the page (e.g. 4 columns results in 4 fields displayed).
  • a programmer does not write code to create the document application.
  • the rules associated with the document and the fields are also used with the document application page. For example, a validation rule that is associated with a data field (e.g. check for integer) then the field in the document application page also checks for entry of an integer.
  • the document application page for that field maintains the restriction.
  • the fields are initially automatically positioned on the document application page.
  • the positioning/layout may be based on characteristics of the device (e.g. resolution of display, size of display, and the like). When there is not enough space on one DAP, then the fields may be spread across multiple DAPs.
  • the default data entry DAPs are configured.
  • the configuration of the DAPs is received through a graphical user interface.
  • a user may select a default layout of DAPs from templates that have different configuration layouts. Many different types of options for configuration may be displayed (e.g. See FIGS. 9-14 for examples).
  • options may include, but are not limited to: setting a DAP title; setting the DAP as a starting page for the document application; automatically showing the document application in response to opening the associated document; setting a size/location of the field; providing editing options for the fields; setting help information; setting whether the field is displayed on the DAP; setting whether the field is editable; setting whether the field is a required entry; deleting the field from the DAP; linking the DAP to another DAP; displaying a preview; setting field titles; selecting graphics/charts for display; and the like.
  • the default display DAPs are configured.
  • the process for configuring a display DAP is similar to configuring a data entry DAP.
  • Options may include, but are not limited to: setting a DAP title; setting the DAP as a starting page for the document application; automatically showing the document application in response to opening the associated document; setting a size/location of the graphic; providing editing options for the graphic; setting help information; linking the DAP to another DAP; displaying a preview of the graphic; setting titles; selecting graphics/charts for display; and the like.
  • the ordering of the DAPs may also be configured. For example, a user may arrange an ordering of each of the DAPs through a graphical user interface and/or setting a number for the DAP (e.g. display first out of ten, display second out of ten . . . ).
  • the configuration information is stored.
  • the configuration information may be stored with the document itself and/or within another location.
  • the configuration information for the DAP(s) associated with the document application may be stored in the document file and/or stored at a data store (e.g. local and/or network data store).
  • a data store e.g. local and/or network data store.
  • DAP(s) may also be remotely updated without making changes to each document that uses it/them.
  • the process flows to an end operation and returns to processing other actions.
  • FIG. 3 illustrates a process 300 for interacting with a document using a document application.
  • the process flows to operation 310 , where the document application is displayed for the associated document.
  • the document application may be started in response to different events. For example, a user may select a graphical icon that is associated with the document application and/or the user may select the document to open the document application.
  • a type of device and/or screen size may also be used in determining how to open the document. For example, if the display is a mobile phone display then the document application may be opened. When the display is a desktop display then the application that created the document may be used to open the document. As discussed above, the document application may be configured to be opened whenever the document itself is opened.
  • the start page may be any page that is configured to be the starting page for the document application.
  • another page may be automatically selected (e.g. the first data entry page, the first display page, . . . ).
  • the user interacts with the document application to interact with the document.
  • the user may enter data, view data, view charts/graphs, and the like.
  • the DAPs of the document application are navigated in response to interaction. For example, a user may select a button to move to another page, select a graphic, use touch input to navigate, use voice input to navigate, use other hardware input to navigate the pages, and the like.
  • data is stored/retrieved within the document based on the interaction. For example, a user may add a value to the document, edit a value in the document, and/or retrieve data from the document to display a graphic.
  • FIGS. 4-14 illustrate exemplary figures showing creation of and customizing of document application pages.
  • FIG. 4 shows an example document upon which a document application may be associated.
  • document 400 is a spreadsheet document that comprises a description column 402 , a category column 404 , a projected cost column 406 , an actual cost column, 408 a difference column 410 and an actual cost overview column 412 . More/fewer columns, cells may be included. As illustrated, document 400 is displayed within the application program that is configured to interact with the entire document (e.g. navigate through all of the columns, interact with each cell, and the like).
  • a document may be a word-processing document, a project document, a calendar, an email, a message, a productivity document, and the like.
  • the document may be any type of document that includes data to interact with.
  • the document includes data that is structured (e.g. includes one or more of: a table, a list, cells and the like).
  • the description column 402 , category column 404 , projected cost column 406 and the actual cost column 408 are editable fields.
  • the difference column 410 and the actual cost overview column 412 display graphical indicators that use data from the spreadsheet.
  • Document 400 also illustrates a drop down menu 414 that is used to select the category for the column based on the spreadsheet metadata for validation rules.
  • FIG. 5 illustrates a document application page for receiving input to add a row to the budget spreadsheet shown in FIG. 4 .
  • DAP 500 includes fields that relate to fields in document 400 .
  • the description field 502 corresponds to the description column 402
  • the category field 504 corresponds to the category column 404
  • the projected cost field 506 corresponds to the projected cost field 406
  • the actual cost field 508 corresponds to the actual cost column 408 .
  • DAP 500 may be automatically generated from the spreadsheet document.
  • the category field includes an automatically generated drop down menu that allows a user to select the type of category. Other types of menus may be generated to select the type of category.
  • Buttons 510 are used to navigate from page to page (e.g. “ ⁇ ” and “>”) and to delete and save content. Other options may also be presented. As illustrated, a user has created a new entry “Monthly Parking”, assigned the category “Transportation”, set the projected cost and actual cost to $450. When the use is satisfied with their entry, they may select the save option to save the entered data to the associated document. In the current example, the data will be saved as a new row to the spreadsheet illustrated in FIG. 4 .
  • FIG. 6 illustrates a document application page 600 with an expanded drop down menu.
  • a user has selected drop down menu 604 to select a category for the entry.
  • category selections are illustrated in drop down area 602 . These options are those that were already defined in the document 400 and are available in the DAP without any additional programming or configuration.
  • FIG. 7 shows a document application page 700 including an option to go to a display page.
  • a user may select the “Go to Display Page” option 702 on DAP 700 to view data (e.g. a value/chart) relating to the document.
  • DAP 700 also shows that the description field 708 and the actual cost field 706 have been configured to be required fields (See FIG. 10 ).
  • Input option 704 may also be included to specify a type of input for one or more of the fields on the DAP.
  • a new DAP is displayed, such as DAP 700 in FIG. 7 .
  • FIG. 8 illustrates a document application page 800 that shows a chart using data from the document.
  • DAP 800 includes a chart 810 that shows data from spreadsheet document 400 and a value from a cell 812 .
  • DAP 800 is configured when creating the different DAPs for the document application.
  • a user may select the “Go to Data Entry” option 802 on DAP 800 to move to a preselected DAP for data entry. For example, in response to receiving a selection of option 802 , DAP 700 is displayed.
  • FIG. 9 shows customization of an automatically generated default document application page 900 .
  • DAP 900 shows different configuration options for a DAP data entry page.
  • the name of the page 902 may be configured.
  • the DAP may be set to be the starting page for the application by selecting option 904 and/or automatically show the DAP when the document (e.g. a spreadsheet workbook) is opened by selecting option 905 .
  • the document application opens instead of (or in addition to) opening the document using the normal document view that is opened using the default application that is associated with the document (e.g. the application that created the document and/or an application chosen to interact with the entire document).
  • each field includes an option 908 to adjust the location/size of the field within the DAP.
  • option 908 may be used to move/size the edit field for the column.
  • Each field also includes an edit option and a delete option ( 906 ).
  • a user may also add an option (e.g. 910 ) to move to another page, such as a display page or another data entry page.
  • an option e.g. 910
  • Buttons 912 may be used to save the customization, add a field to the DAP, change settings for the DAP, and a new DAP, change an ordering of the DAP, move to another page, and other options.
  • FIG. 10 illustrates configuration options for customization of fields within an automatically generated default document application page.
  • DAP 1000 includes further configuration options as compared to shown in FIG. 9 .
  • a user has selected the edit button 906 for the column description field.
  • an area of the display for DAP 1000 is expanded (e.g. area 1002 ) that includes further configuration options for the field.
  • area 1002 includes options for setting the name of the field 1010 , optional instructions 1012 , and options 1014 that allow a user to set: whether or not the field is a required field, allow a user to edit the value and hide the field from view on DAP 1000 .
  • FIG. 11 shows configuration options for customization of a display document application page.
  • DAP 1100 includes configuration options for creating a page for displaying data from the document.
  • a user may select existing charts/graphs/values within the document and/or define how to display data from the document.
  • a user has selected to title DAP 1100 as “Results” and has set the document application to start automatically when the document is opened.
  • Options 1102 provides options for setting DAP 1100 as the starting page for the document application and showing the document application when the document is opened.
  • Options 1104 display options for displaying a value from the document.
  • the value from the document is obtained from a cell of a spreadsheet and is named “variance.” While one value is illustrated as being selected for display more than one value may be associated with the display. For example, a user may select a plurality of cells.
  • Options 1106 illustrate configuring a display of a chart.
  • the chart may be many different types of charts (e.g. pie, line, scatter, bar, and the like).
  • Options 1108 illustrate defining a button.
  • the button may be associated with a variety of different actions. For example, the button may be associated with moving to a different data entry page within the document application, moving to another display page within the document application, and performing some other actions (e.g. switching a type of chart displayed on the page).
  • Options 1110 illustrate optional instructions (e.g. help) that may be displayed near the button.
  • Options 1112 illustrate linking the button to another page.
  • the user has selected to link the page to the Data entry page.
  • the link to page option is a drop down menu that includes each of the different available pages of the document application including a new option.
  • Options 1114 illustrate different options for the display page including a save option, a new chart option, a new cell option, configuring an ordering of the DAPs and other options.
  • FIG. 12 illustrates an expanded area of a document application page for showing a value from a document.
  • DAP 1200 illustrates an expanded area for the variance area 1204 in FIG. 11 in response to the edit button being selected.
  • area 1202 includes the name to display near the display value, a preview of the value from the selected cell(s) 1204 , and optional instructions 1206 .
  • FIG. 13 illustrates an expanded area of a document application page for showing a chart from data related to a document.
  • DAP 1300 illustrates an expanded area for the chart area 1006 in FIG. 11 in response to the edit button being selected.
  • area 1302 includes the name to display near the graphical chart, a preview of the chart 1304 from data from the document and/or other sources, and optional instructions 1306 .
  • FIG. 14 illustrates a selection of an existing chart associated with the document to include within the document application.
  • DAP 1400 illustrates selection of the chart 1402 .
  • a display of each graphic such as a chart/table (e.g. 1304 ) that is existing within the document and is associated with the selected data used for the document application is included
  • Other chart(s) is 1404 is representative of other charts that may be included within a document.
  • a user may use the check button to include the chart within the document application.
  • FIGS. 15-17 and the associated descriptions provide a discussion of a variety of operating environments in which embodiments of the invention may be practiced.
  • the devices and systems illustrated and discussed with respect to FIGS. 15-17 are for purposes of example and illustration and are not limiting of a vast number of computing device configurations that may be utilized for practicing embodiments of the invention, described herein.
  • FIG. 15 is a block diagram illustrating example physical components of a computing device 1500 with which embodiments of the invention may be practiced.
  • computing device 1500 may include at least one processing unit 1502 and a system memory 1504 .
  • system memory 1504 may comprise, but is not limited to, volatile (e.g. random access memory (RAM)), non-volatile (e.g. read-only memory (ROM), magnetoresistive random-access memory (MRAM)), flash memory, or any combination.
  • System memory 1504 may include operating system 1505 , one or more programming modules 1506 . Operating system 1505 , for example, may be suitable for controlling computing device 1500 's operation.
  • programming modules 1506 may include a document application manager 242 , as described above, installed on computing device 1500 .
  • embodiments of the invention may be practiced in conjunction with a graphics library, other operating systems, or any other application program and is not limited to any particular application or system. This basic configuration is illustrated in FIG. 15 by those components within a dashed line 1508 .
  • Computing device 1500 may have additional features or functionality.
  • computing device 1500 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape.
  • additional storage is illustrated in FIG. 15 by a removable storage 1509 and a non-removable storage 1510 .
  • a number of program modules and data files may be stored in system memory 1504 , including operating system 1505 .
  • programming modules 1506 such as the manager may perform processes including, for example, methods 200 and 300 as described above.
  • the aforementioned processes are an example, and processing unit 1502 may perform other processes.
  • Other programming modules that may be used in accordance with embodiments of the present invention may include collaboration applications, project management applications, electronic mail and contacts applications, word processing applications, spreadsheet applications, database applications, slide presentation applications, drawing or computer-aided application programs, etc.
  • program modules may include routines, programs, components, data structures, and other types of structures that may perform particular tasks or that may implement particular abstract data types.
  • embodiments of the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.
  • Embodiments of the invention 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.
  • embodiments of the invention may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors.
  • embodiments of the invention may be practiced via a system-on-a-chip (SOC) where each or many of the components illustrated in FIG. 15 may be integrated onto a single integrated circuit.
  • SOC system-on-a-chip
  • Such an SOC device may include one or more processing units, graphics units, communications units, system virtualization units and various application functionality all of which are integrated (or “burned”) onto the chip substrate as a single integrated circuit.
  • the functionality, described herein, with respect to the manager 242 may be operated via application-specific logic integrated with other components of the computing device/system 1500 on the single integrated circuit (chip).
  • Embodiments of the invention may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies.
  • embodiments of the invention may be practiced within a general purpose computer or in any other circuits or systems.
  • Embodiments of the invention may be implemented as a computer 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 media readable by a computer system and encoding a computer program of instructions for executing a computer process.
  • Computer readable media may include computer storage media.
  • 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.
  • System memory 1504 , removable storage 1509 , and non-removable storage 1510 are all computer storage media examples (i.e., memory storage.)
  • Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store information and which can be accessed by computing device 1500 . Any such computer storage media may be part of device 1500 .
  • Computing device 1500 may also have input device(s) 1512 such as a keyboard, a mouse, a pen, a sound input device, a touch input device, an eyes-tracking device, a motion capture device, etc.
  • Output device(s) 1514 such as a display, speakers, a printer, etc. may also be included.
  • the aforementioned devices are examples and others may be used.
  • Communication connection(s) 1516 is configured to connect to other computing devices 1518 .
  • a camera and/or some other sensing device may be operative to record one or more users and capture motions and/or gestures made by users of a computing device. Sensing device may be further operative to capture spoken words, such as by a microphone and/or capture other inputs from a user such as by a keyboard and/or mouse (not pictured).
  • the sensing device may comprise any motion detection device capable of detecting the movement of a user.
  • a camera may comprise a MICROSOFT KINECT® motion capture device comprising a plurality of cameras and a plurality of microphones.
  • Computer readable media may also include communication media.
  • Communication media may 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 includes any information delivery media.
  • modulated data signal may describe a signal that has one or more 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), infrared, and other wireless media.
  • RF radio frequency
  • FIGS. 16A and 16B illustrate a suitable mobile computing environment, for example, a mobile telephone, a smartphone, a tablet personal computer, a laptop computer, and the like, with which embodiments of the invention may be practiced.
  • mobile computing device 1600 for implementing the embodiments is illustrated.
  • mobile computing device 1600 is a handheld computer having both input elements and output elements.
  • Input elements may include touch screen display 1605 and input buttons 1610 that allow the user to enter information into mobile computing device 1600 .
  • Mobile computing device 1600 may also incorporate an optional side input element 1615 allowing further user input.
  • Optional side input element 1615 may be a rotary switch, a button, or any other type of manual input element.
  • mobile computing device 1600 may incorporate more or less input elements.
  • display 1605 may not be a touch screen in some embodiments.
  • the mobile computing device is a portable phone system, such as a cellular phone having display 1605 and input buttons 1610 , input element 1615 .
  • Mobile computing device 1600 may also include an optional keypad 1635 .
  • Optional keypad 1635 may be a physical keypad or a “soft” keypad generated on the touch screen display.
  • Mobile computing device 1600 incorporates output elements, such as display 1605 , which can display a graphical user interface (GUI). Other output elements include speaker 1625 and LED 1620 . Additionally, mobile computing device 1600 may incorporate a vibration module (not shown), which causes mobile computing device 1600 to vibrate to notify the user of an event. In yet another embodiment, mobile computing device 1600 may incorporate a headphone jack (not shown) for providing another means of providing output signals.
  • output elements such as display 1605 , which can display a graphical user interface (GUI).
  • GUI graphical user interface
  • Other output elements include speaker 1625 and LED 1620 .
  • mobile computing device 1600 may incorporate a vibration module (not shown), which causes mobile computing device 1600 to vibrate to notify the user of an event. In yet another embodiment, mobile computing device 1600 may incorporate a headphone jack (not shown) for providing another means of providing output signals.
  • the invention is used in combination with any number of computer systems, such as in desktop environments, laptop or notebook computer systems, multiprocessor systems, micro-processor based or programmable consumer electronics, network PCs, mini computers, main frame computers and the like.
  • Embodiments of the invention 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; programs may be located in both local and remote memory storage devices.
  • any computer system having a plurality of environment sensors, a plurality of output elements to provide notifications to a user and a plurality of notification event types may incorporate embodiments of the present invention.
  • FIG. 16B is a block diagram illustrating components of a mobile computing device used in one embodiment, such as the computing device shown in FIG. 16A .
  • mobile computing device 1600 can incorporate system 1602 to implement some embodiments.
  • system 1602 can be used in implementing a “smart phone” that can run one or more applications similar to those of a desktop or notebook computer such as, for example, browser, e-mail, scheduling, instant messaging, and media player applications.
  • system 1602 is integrated as a computing device, such as an integrated personal digital assistant (PDA) and wireless phoneme.
  • PDA personal digital assistant
  • One or more “apps” applications 1666 may be loaded into memory 1662 and run on or in association with operating system 1664 .
  • Examples of application programs include dialer programs, e-mail programs, PIM (personal information management) programs, word processing programs, spreadsheet programs, Internet browser programs, messaging programs, and so forth.
  • System 1602 also includes non-volatile storage 1668 within memory 1662 .
  • Non-volatile storage 1668 may be used to store persistent information that should not be lost if system 1602 is powered down.
  • Applications 1666 may use and store information in non-volatile storage 1668 , such as e-mail or other messages used by an e-mail application, and the like.
  • a synchronization application (not shown) may also reside on system 1602 and is programmed to interact with a corresponding synchronization application resident on a host computer to keep the information stored in non-volatile storage 1668 synchronized with corresponding information stored at the host computer.
  • other applications may be loaded into memory 1662 and run on the mobile computing device 1600 , including the document application manager 242 , described above.
  • Power Supply 1670 has a power supply 1670 , which may be implemented as one or more batteries.
  • Power supply 1670 might further include an external power source, such as an AC adapter or a powered docking cradle that supplements or recharges the batteries.
  • System 1602 may also include a radio 1672 that performs the function of transmitting and receiving radio frequency communications.
  • Radio 1672 facilitates wireless connectivity between system 1602 and the “outside world”, via a communications carrier or service provider. Transmissions to and from radio 1672 may be conducted under control of OS 1664 . In other words, communications received by radio 1672 may be disseminated to application programs 1666 via OS 1664 , and vice versa.
  • the OS 1664 is an optional component and operations may be performed without the use of OS 1664 .
  • Radio 1672 allows system 1602 to communicate with other computing devices, such as over a network.
  • Radio 1672 is one example of 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 includes any information delivery media.
  • modulated data signal means 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 includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
  • the term computer readable media as used herein includes both storage media and communication media.
  • This embodiment of system 1602 is shown with two types of notification output devices; LED 1620 that can be used to provide visual notifications and an audio interface 1674 that can be used with speaker 1625 to provide audio notifications. These devices may be directly coupled to power supply 1670 so that when activated, they remain on for a duration dictated by the notification mechanism even though processor 1660 and other components might shut down for conserving battery power. LED 1620 may be programmed to remain on indefinitely until the user takes action to indicate the powered-on status of the device. Audio interface 1674 is used to provide audible signals to and receive audible signals from the user. For example, in addition to being coupled to speaker 1625 , audio interface 1674 may also be coupled to a microphone to receive audible input, such as to facilitate a telephone conversation.
  • the microphone may also serve as an audio sensor to facilitate control of notifications, as will be described below.
  • System 1602 may further include video interface 1676 that enables an operation of on-board camera to record still images, video stream, and the like.
  • a mobile computing device implementing system 1602 may have additional features or functionality.
  • the device may also include additional data storage devices (removable and/or non-removable) such as, magnetic disks, optical disks, or tape.
  • additional storage is illustrated in FIG. 16B by storage 1668 .
  • 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.
  • Data/information generated or captured by the mobile computing device 1600 and stored via the system 1602 may be stored locally on the mobile computing device 1600 , as described above, or the data may be stored on any number of storage media that may be accessed by the device via the radio 1672 or via a wired connection between the mobile computing device 1600 and a separate computing device associated with the mobile computing device 1600 , for example, a server computer in a distributed computing network such as the Internet.
  • a server computer in a distributed computing network such as the Internet.
  • data/information may be accessed via the mobile computing device 1600 via the radio 1672 or via a distributed computing network.
  • data/information may be readily transferred between computing devices for storage and use according to well-known data/information transfer and storage means, including electronic mail and collaborative data/information sharing systems.
  • FIG. 17 illustrates a system architecture 1700 for interacting with a document as an application, as described above.
  • Components managed via the document application manager 242 may be stored in different communication channels or other storage types. For example, components along with information from which they are developed may be stored using directory services 1722 , web portals 1724 , mailbox services 1726 , instant messaging stores 1728 and social networking sites 1730 .
  • the manager 242 , system 1720 may use any of these types of systems or the like for enabling management and storage of components in a store 1716 .
  • a server 1732 may provide communications for managed components and content to clients. As one example, server 1732 may provide productivity related services. Server 1732 may provide services and content over the web to clients through a network 1708 .
  • Examples of clients that may utilize server 1732 include computing device 1702 , which may include any general purpose personal computer, a tablet computing device 1704 and/or mobile computing device 1706 which may include smart phones. Any of these devices may obtain display component management communications and content from the store 1716 .
  • Embodiments of the present invention are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to embodiments of the invention.
  • the functions/acts noted in the blocks may occur out of the order as shown in any flowchart.
  • two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.

Abstract

A document application is used to interact with a document as if the document was an application. Data from the document is automatically/manually selected to be associated with the document application. The document application displays document application pages (DAPs) that are used to interact with the document. One or more DAPs are automatically created using the selected data along with any rules associated with the data. For example, column names from selected data in the document may be used to create data entry/display fields within one or more DAPs and the rules may be used to specify how to interact with the data in the document application. The automatically created default DAPs may be customized by a user. For example, one DAP may be configured to be the starting page for the document application and another DAP may be configured to display a chart.

Description

    BACKGROUND
  • Mobile computing devices are increasingly being used to access documents. The small display size of many mobile computing devices as compared to desktop computing devices make it difficult to navigate and interact with many documents. For example, attempting to navigate to a specific location within a document and then edit the content at that location can be frustrating for a user when using the small screen of the mobile computing device.
  • SUMMARY
  • This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
  • A document application is used to interact with a document as if the document was an application. Data from the document is automatically/manually selected to be associated with the document application. The document application displays document application pages (DAPs) that are used to interact with the document. One or more DAPs are automatically created using the selected data along with any rules associated with the data. For example, column names from selected data in the document may be used to create data entry/display fields within one or more DAPs and the rules may be used to specify how to interact with the data in the document application. The automatically created default DAPs may be customized by a user. For example, one DAP may be configured to be the starting page for the document application and another DAP may be configured to display a chart or some computed value. A user may adjust the location/size of the fields, a name of the field, a type of chart to display, whether a field is a required field, whether a displayed value in a field is editable, whether to hide/show a field, define a help field, define a starting page for the document application, and the like. A preview may also be displayed to the user when configuring the document application and DAPs.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an exemplary system for interacting with a document as if it were an application;
  • FIG. 2 shows a process for creating a document application to interact with a document;
  • FIG. 3 illustrates a process for interacting with a document using a document application;
  • FIGS. 4-14 illustrate exemplary figures showing creation of and customizing of document application pages; and
  • FIGS. 15-17 and the associated descriptions provide a discussion of a variety of operating environments in which embodiments of the invention may be practiced.
  • DETAILED DESCRIPTION
  • Referring now to the drawings, in which like numerals represent like elements, various embodiments will be described.
  • FIG. 1 illustrates an exemplary system for interacting with a document as if it were an application. As illustrated, system 100 includes service 110, mobile device 130, data store 145, and computing device 150 (e.g. a slate as shown, a desktop computing device, a mobile computing device, and the like).
  • As illustrated, service 110 is a cloud based and/or enterprise based service that may be configured to provide services, such as collaboration services (e.g. MICROSOFT SHAREPOINT) and/or productivity services (e.g. MICROSOFT EXCEL, MICROSOFT OFFICE 365 or some other cloud based/online service that is used to interact with items (e.g. data, messages, spreadsheets, documents, charts . . . ), graphic services, web-based applications, and the like. The service may be interacted with using different computing devices (e.g. desktop, mobile) using different types of input/output. For example, a user may use touch input, hardware based input, speech/voice input, and the like. Functionality of one or more of the services/applications provided by service 110 may also be configured as a client/server based application. For example, a client device may include an application that performs document operations. Although system 100 shows a service 110 relating to productivity applications, other services/applications may be configured.
  • As illustrated, service 110 is a multi-tenant service that provides resources 115 and services to any number of tenants (e.g. Tenants 1-N). Each tenant may include one or more users. For example, one tenant may include 100 users whereas another tenant has 10,000 users. Multi-tenant service 110 is a cloud based service that provides resources/services 115 to tenants subscribed to the service and maintains each tenant's data separately and protected from other tenant data.
  • System 100 as illustrated comprises mobile device 130 (e.g. mobile phone) and computing device 150 (e.g. a touch screen input device/display such as a slate/tablet device) that detects when a touch input has been received (e.g. a finger touching or nearly touching the touch screen). Any type of touch screen may be utilized that detects a user's touch input. For example, the touch screen may include one or more layers of capacitive material that detects the touch input. Other sensors may be used in addition to or in place of the capacitive material. For example, Infrared (IR) sensors may be used. According to an embodiment, the touch screen is configured to detect objects that in contact with or above a touchable surface. Although the term “above” is used in this description, it should be understood that the orientation of the touch panel system is irrelevant. The term “above” is intended to be applicable to all such orientations. The touch screen may be configured to determine locations of where touch input is received (e.g. a starting point, intermediate points and an ending point). Actual contact between the touchable surface and the object may be detected by any suitable means, including, for example, by a vibration sensor or microphone coupled to the touch panel. A non-exhaustive list of examples for sensors to detect contact includes pressure-based mechanisms, micro-machined accelerometers, piezoelectric devices, capacitive sensors, resistive sensors, inductive sensors, laser vibrometers, and LED vibrometers.
  • Mobile device 130 and computing device 150 includes one or more applications (e.g. application 155 illustrated on computing device 150). For example, the devices may include one or more browser applications (e.g. MICROSOFT INTERNET EXPLORER) and one or more other applications (e.g. MICROSOFT EXCEL, MICROSOFT SHAREPOINT, MICROSOFT OFFICE, and the like). Devices may also include other applications that are configured to connect to a web-based application/service and/or that are local to the device. The devices may also be configured to receive text/speech input and output text/speech.
  • As illustrated, device 150 shows exemplary display 152. Display 152 shows the use of web-based application 155 by a user of a tenant accessing a spreadsheet service (e.g. service 110) over a network, such as the Internet. For example, a user associated with device 150 may be using application 155 to view/edit spreadsheet data (e.g. spreadsheet 154). Many other types of web based applications may be accessed by one or more mobile computing devices. For example, a device may access a collaboration application, a word processing application, and the like over a network. Data, such as document data, tenant information, may be stored on a device (e.g. mobile device 130, computing device 150 and/or at some other location (e.g. network data store 145). The applications (e.g. 155) may access data on the client, on a server, from the cloud (e.g. service 110) and/or some combination.
  • Document application manager 242 is configured to perform operations relating to interacting with a document as if it were an application. While manager 242 is shown within service 110, the functionality of the manager may be included in other locations (e.g. on another computing device such as mobile computing device 130 and/or computing device 150) either independently or as part of another system.
  • Document application manager 242 is configured to automatically generate a document application from selected data within a document, such as spreadsheet 154. The documents may be stored on a local store of a computing device and/or in a network data store (e.g. data store 145). The document may many different types of documents (e.g. spreadsheets, documents with structured data such as tables and list, and the like). According to an embodiment, the documents are spreadsheet documents. The document application may be configured to perform any number of tasks. For example, a document application may be used for budgeting, for store inventory, for entry of values within a spreadsheet, and the like.
  • The selected data from the document may be automatically/manually selected to be associated with the document application and may include all/portion of the data within the document. For instance, each column within a spreadsheet that is editable may be automatically selected. In the current example, the description column, category column, projected cost column and actual cost column may be automatically selected since each of those columns is configured to receive user input. The difference column and actual cost overview columns are display columns that show graphics from data in the spreadsheet. According to an embodiment, since the difference and actual cost overview columns are not editable, they are not automatically selected—following a rule to exclude computed columns. Other such rules/heuristics may be applied to increase the applicability of the column selection.
  • In response to the selection of the data, one or more default document application pages (DAPs) for the document application are automatically created using the selected data and/or any rules associated with the data. For example, DAP 134 is created that includes fields (135, 136, 137 and 138) for each of the editable columns in spreadsheet 154. As illustrated, a name for each of the displayed fields in DAP 132 is obtained from the document (e.g. spreadsheet) and used as initial title information for the fields. Rules that are associated with the fields may also be applied to the fields. For example, if the category field is mandatory, then the document application may not allow the user to move to a next DAP until the category field is filled out.
  • The DAPs created by document application manager 242 may also be configured/customized (See FIGS. 9-14 and related discussion). For example, a DAP may be configured to be the starting page for the document application and a DAP may be configured to display a chart. A user may adjust the location/size of the fields, a name of the field, a type of chart to display, whether a field is a required field, whether a displayed value in a field is editable, whether to hide/show a field, define a help field, define a starting page for the document application, and the like. A preview may also be displayed to the user when configuring the document application and DAPs.
  • An optional input type field 139 may be included with one or more of the fields. For example, a user may set the input to use a bar code scanner (e.g. camera on the mobile device and/or a hardware based scanner) to input data into one or more of the fields. A user may also set the input to speech, keyboard, as well as other desired modes of input. A DAP field may also read data from a sensor on the hardware device e.g. GPS, NFC (Near Field Communication) sensors, fingerprint reader, etc.
  • The “Go to Display Page” (text used for illustrative purpose) button 140 allows configuration of a DAP to jump to in response to selecting the button. For example, such navigation allows for modeling of workflows and/or wizard like data entry.
  • Options 141 allow the user to navigate through the DAPs associated with the document application as well as to delete changes and save changes to the document. More details are provided in the FIGURES and related discussion below.
  • FIGS. 2-3 show illustrative processes for interacting with a document as an application. When reading the discussion of the routines presented herein, it should be appreciated that the logical operations of various embodiments are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance requirements of the computing system implementing the invention. Accordingly, the logical operations illustrated and making up the embodiments described herein are referred to variously as operations, structural devices, acts or modules. These operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof.
  • FIG. 2 shows a process 200 for creating a document application to interact with a document.
  • After a start operation, the process flows to operation 210 where a document is accessed. The document may be many different types of documents. For example, the document may be a spreadsheet document, a word processing document, and the like. According to an embodiment, the document includes structured data (e.g. cells, tables, graphs, . . . ) that may be interacted with (e.g. viewed, edited . . . ).
  • Moving to operation 220, the data to associated with the document application is selected. The data may be selected automatically and/or manually. For example, a user may manually select one or more tables within a document, manually select one or more rows/columns of data, one or more cells, and the like. The data may also be automatically selected. For example, columns within a spreadsheet may be automatically selected. Editable columns may be selected for creation of data entry DAPs and columns/cells that display graphics may be selected for possible inclusion within a display DAP. A combination of automatic/manual selection may also be performed. For example, a user may manually select a table and then editable data within the table may be manually selected for data entry document application page(s) and display data (e.g. charts, graphs) within the table may be automatically selected for display document application page(s).
  • Flowing to operation 230, one or more default document application pages are created and displayed based on the selected data (See FIGS. 4-14 for examples). The default document application pages are created directly from data within the document. For example, a name of the selection (e.g. table) may be the default title and the field names are the fields displayed within the page (e.g. 4 columns results in 4 fields displayed). In other words, a programmer does not write code to create the document application. The rules associated with the document and the fields are also used with the document application page. For example, a validation rule that is associated with a data field (e.g. check for integer) then the field in the document application page also checks for entry of an integer. Similarly, if a field is a view only field within the document, then the document application page for that field maintains the restriction. The fields are initially automatically positioned on the document application page. The positioning/layout may be based on characteristics of the device (e.g. resolution of display, size of display, and the like). When there is not enough space on one DAP, then the fields may be spread across multiple DAPs.
  • Transitioning to operation 240, the default data entry DAPs are configured. According to an embodiment, the configuration of the DAPs is received through a graphical user interface. According to an embodiment, a user may select a default layout of DAPs from templates that have different configuration layouts. Many different types of options for configuration may be displayed (e.g. See FIGS. 9-14 for examples). For example, options may include, but are not limited to: setting a DAP title; setting the DAP as a starting page for the document application; automatically showing the document application in response to opening the associated document; setting a size/location of the field; providing editing options for the fields; setting help information; setting whether the field is displayed on the DAP; setting whether the field is editable; setting whether the field is a required entry; deleting the field from the DAP; linking the DAP to another DAP; displaying a preview; setting field titles; selecting graphics/charts for display; and the like.
  • Moving to operation 250, the default display DAPs are configured. The process for configuring a display DAP (e.g. a DAP that shows a graphical display of data related to the document such as shown in FIG. 8) is similar to configuring a data entry DAP. Options may include, but are not limited to: setting a DAP title; setting the DAP as a starting page for the document application; automatically showing the document application in response to opening the associated document; setting a size/location of the graphic; providing editing options for the graphic; setting help information; linking the DAP to another DAP; displaying a preview of the graphic; setting titles; selecting graphics/charts for display; and the like. The ordering of the DAPs may also be configured. For example, a user may arrange an ordering of each of the DAPs through a graphical user interface and/or setting a number for the DAP (e.g. display first out of ten, display second out of ten . . . ).
  • Flowing to operation 260, the configuration information is stored. The configuration information may be stored with the document itself and/or within another location. For example, the configuration information for the DAP(s) associated with the document application may be stored in the document file and/or stored at a data store (e.g. local and/or network data store). When saved outside the document, such configuration information may be applied to similar but distinct instances of documents. DAP(s) may also be remotely updated without making changes to each document that uses it/them.
  • The process flows to an end operation and returns to processing other actions.
  • FIG. 3 illustrates a process 300 for interacting with a document using a document application.
  • After a start operation, the process flows to operation 310, where the document application is displayed for the associated document. The document application may be started in response to different events. For example, a user may select a graphical icon that is associated with the document application and/or the user may select the document to open the document application. A type of device and/or screen size may also be used in determining how to open the document. For example, if the display is a mobile phone display then the document application may be opened. When the display is a desktop display then the application that created the document may be used to open the document. As discussed above, the document application may be configured to be opened whenever the document itself is opened.
  • Moving to operation 320, the start page for the document application is displayed. The start page may be any page that is configured to be the starting page for the document application. When a starting page is not manually selected, then another page may be automatically selected (e.g. the first data entry page, the first display page, . . . ).
  • Flowing to operation 330, the user interacts with the document application to interact with the document. For example, the user may enter data, view data, view charts/graphs, and the like.
  • Transitioning to operation 340, the DAPs of the document application are navigated in response to interaction. For example, a user may select a button to move to another page, select a graphic, use touch input to navigate, use voice input to navigate, use other hardware input to navigate the pages, and the like.
  • Moving to operation 350, data is stored/retrieved within the document based on the interaction. For example, a user may add a value to the document, edit a value in the document, and/or retrieve data from the document to display a graphic.
  • The process then flows to an end operation and returns to processing other actions.
  • FIGS. 4-14 illustrate exemplary figures showing creation of and customizing of document application pages.
  • FIG. 4 shows an example document upon which a document application may be associated.
  • As illustrated, document 400 is a spreadsheet document that comprises a description column 402, a category column 404, a projected cost column 406, an actual cost column, 408 a difference column 410 and an actual cost overview column 412. More/fewer columns, cells may be included. As illustrated, document 400 is displayed within the application program that is configured to interact with the entire document (e.g. navigate through all of the columns, interact with each cell, and the like).
  • While a spreadsheet is illustrated, the document may be other types of documents. For example, a document may be a word-processing document, a project document, a calendar, an email, a message, a productivity document, and the like. Generally, the document may be any type of document that includes data to interact with. According to an embodiment, the document includes data that is structured (e.g. includes one or more of: a table, a list, cells and the like).
  • In the current example, the description column 402, category column 404, projected cost column 406 and the actual cost column 408 are editable fields. The difference column 410 and the actual cost overview column 412 display graphical indicators that use data from the spreadsheet. Document 400 also illustrates a drop down menu 414 that is used to select the category for the column based on the spreadsheet metadata for validation rules.
  • FIG. 5 illustrates a document application page for receiving input to add a row to the budget spreadsheet shown in FIG. 4.
  • In the current example, DAP 500 includes fields that relate to fields in document 400.
  • The description field 502 corresponds to the description column 402, The category field 504 corresponds to the category column 404, The projected cost field 506 corresponds to the projected cost field 406 and the actual cost field 508 corresponds to the actual cost column 408. As discussed above, DAP 500 may be automatically generated from the spreadsheet document. The category field includes an automatically generated drop down menu that allows a user to select the type of category. Other types of menus may be generated to select the type of category. Buttons 510 are used to navigate from page to page (e.g. “<” and “>”) and to delete and save content. Other options may also be presented. As illustrated, a user has created a new entry “Monthly Parking”, assigned the category “Transportation”, set the projected cost and actual cost to $450. When the use is satisfied with their entry, they may select the save option to save the entered data to the associated document. In the current example, the data will be saved as a new row to the spreadsheet illustrated in FIG. 4.
  • FIG. 6 illustrates a document application page 600 with an expanded drop down menu.
  • In the current example, a user has selected drop down menu 604 to select a category for the entry. In response to the selection, category selections are illustrated in drop down area 602. These options are those that were already defined in the document 400 and are available in the DAP without any additional programming or configuration.
  • FIG. 7 shows a document application page 700 including an option to go to a display page. In the current example, a user may select the “Go to Display Page” option 702 on DAP 700 to view data (e.g. a value/chart) relating to the document. DAP 700 also shows that the description field 708 and the actual cost field 706 have been configured to be required fields (See FIG. 10). Input option 704 may also be included to specify a type of input for one or more of the fields on the DAP. In response to receiving a selection of option 702, a new DAP is displayed, such as DAP 700 in FIG. 7.
  • FIG. 8 illustrates a document application page 800 that shows a chart using data from the document. In the current example, DAP 800 includes a chart 810 that shows data from spreadsheet document 400 and a value from a cell 812. DAP 800 is configured when creating the different DAPs for the document application. A user may select the “Go to Data Entry” option 802 on DAP 800 to move to a preselected DAP for data entry. For example, in response to receiving a selection of option 802, DAP 700 is displayed.
  • FIG. 9 shows customization of an automatically generated default document application page 900.
  • In the current example, DAP 900 shows different configuration options for a DAP data entry page. As illustrated, the name of the page 902 may be configured. When configuring a DAP, the DAP may be set to be the starting page for the application by selecting option 904 and/or automatically show the DAP when the document (e.g. a spreadsheet workbook) is opened by selecting option 905. For example, when the document associated with DAP 900 is opened, the document application opens instead of (or in addition to) opening the document using the normal document view that is opened using the default application that is associated with the document (e.g. the application that created the document and/or an application chosen to interact with the entire document).
  • As illustrated, each field includes an option 908 to adjust the location/size of the field within the DAP. For example, option 908 may be used to move/size the edit field for the column. Each field also includes an edit option and a delete option (906).
  • A user may also add an option (e.g. 910) to move to another page, such as a display page or another data entry page.
  • Buttons 912 may be used to save the customization, add a field to the DAP, change settings for the DAP, and a new DAP, change an ordering of the DAP, move to another page, and other options.
  • FIG. 10 illustrates configuration options for customization of fields within an automatically generated default document application page.
  • DAP 1000 includes further configuration options as compared to shown in FIG. 9. In the current example, a user has selected the edit button 906 for the column description field. In response to the selection of edit button 906, an area of the display for DAP 1000 is expanded (e.g. area 1002) that includes further configuration options for the field. As illustrated, area 1002 includes options for setting the name of the field 1010, optional instructions 1012, and options 1014 that allow a user to set: whether or not the field is a required field, allow a user to edit the value and hide the field from view on DAP 1000.
  • FIG. 11 shows configuration options for customization of a display document application page.
  • DAP 1100 includes configuration options for creating a page for displaying data from the document. A user may select existing charts/graphs/values within the document and/or define how to display data from the document.
  • In the current example, a user has selected to title DAP 1100 as “Results” and has set the document application to start automatically when the document is opened. Options 1102 provides options for setting DAP 1100 as the starting page for the document application and showing the document application when the document is opened.
  • Options 1104 display options for displaying a value from the document. In the current example, the value from the document is obtained from a cell of a spreadsheet and is named “variance.” While one value is illustrated as being selected for display more than one value may be associated with the display. For example, a user may select a plurality of cells.
  • Options 1106 illustrate configuring a display of a chart. The chart may be many different types of charts (e.g. pie, line, scatter, bar, and the like).
  • Options 1108 illustrate defining a button. The button may be associated with a variety of different actions. For example, the button may be associated with moving to a different data entry page within the document application, moving to another display page within the document application, and performing some other actions (e.g. switching a type of chart displayed on the page).
  • Options 1110 illustrate optional instructions (e.g. help) that may be displayed near the button.
  • Options 1112 illustrate linking the button to another page. In the current example, the user has selected to link the page to the Data entry page. According to an embodiment, the link to page option is a drop down menu that includes each of the different available pages of the document application including a new option.
  • Options 1114 illustrate different options for the display page including a save option, a new chart option, a new cell option, configuring an ordering of the DAPs and other options.
  • FIG. 12 illustrates an expanded area of a document application page for showing a value from a document.
  • DAP 1200 illustrates an expanded area for the variance area 1204 in FIG. 11 in response to the edit button being selected. As illustrated, area 1202 includes the name to display near the display value, a preview of the value from the selected cell(s) 1204, and optional instructions 1206.
  • FIG. 13 illustrates an expanded area of a document application page for showing a chart from data related to a document.
  • DAP 1300 illustrates an expanded area for the chart area 1006 in FIG. 11 in response to the edit button being selected. As illustrated, area 1302 includes the name to display near the graphical chart, a preview of the chart 1304 from data from the document and/or other sources, and optional instructions 1306.
  • FIG. 14 illustrates a selection of an existing chart associated with the document to include within the document application.
  • DAP 1400 illustrates selection of the chart 1402. According to an embodiment, a display of each graphic, such as a chart/table (e.g. 1304) that is existing within the document and is associated with the selected data used for the document application is included Other chart(s) is 1404 is representative of other charts that may be included within a document. A user may use the check button to include the chart within the document application.
  • FIGS. 15-17 and the associated descriptions provide a discussion of a variety of operating environments in which embodiments of the invention may be practiced. However, the devices and systems illustrated and discussed with respect to FIGS. 15-17 are for purposes of example and illustration and are not limiting of a vast number of computing device configurations that may be utilized for practicing embodiments of the invention, described herein.
  • FIG. 15 is a block diagram illustrating example physical components of a computing device 1500 with which embodiments of the invention may be practiced. The computing device components described below may be suitable for the computing devices described above. In a basic configuration, computing device 1500 may include at least one processing unit 1502 and a system memory 1504. Depending on the configuration and type of computing device, system memory 1504 may comprise, but is not limited to, volatile (e.g. random access memory (RAM)), non-volatile (e.g. read-only memory (ROM), magnetoresistive random-access memory (MRAM)), flash memory, or any combination. System memory 1504 may include operating system 1505, one or more programming modules 1506. Operating system 1505, for example, may be suitable for controlling computing device 1500's operation. In one embodiment, programming modules 1506 may include a document application manager 242, as described above, installed on computing device 1500. Furthermore, embodiments of the invention may be practiced in conjunction with a graphics library, other operating systems, or any other application program and is not limited to any particular application or system. This basic configuration is illustrated in FIG. 15 by those components within a dashed line 1508.
  • Computing device 1500 may have additional features or functionality. For example, computing device 1500 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 15 by a removable storage 1509 and a non-removable storage 1510.
  • As stated above, a number of program modules and data files may be stored in system memory 1504, including operating system 1505. While executing on processing unit 1502, programming modules 1506, such as the manager may perform processes including, for example, methods 200 and 300 as described above. The aforementioned processes are an example, and processing unit 1502 may perform other processes. Other programming modules that may be used in accordance with embodiments of the present invention may include collaboration applications, project management applications, electronic mail and contacts applications, word processing applications, spreadsheet applications, database applications, slide presentation applications, drawing or computer-aided application programs, etc.
  • Generally, consistent with embodiments of the invention, program modules may include routines, programs, components, data structures, and other types of structures that may perform particular tasks or that may implement particular abstract data types. Moreover, embodiments of the invention may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like. Embodiments of the invention 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.
  • Furthermore, embodiments of the invention may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. For example, embodiments of the invention may be practiced via a system-on-a-chip (SOC) where each or many of the components illustrated in FIG. 15 may be integrated onto a single integrated circuit. Such an SOC device may include one or more processing units, graphics units, communications units, system virtualization units and various application functionality all of which are integrated (or “burned”) onto the chip substrate as a single integrated circuit. When operating via an SOC, the functionality, described herein, with respect to the manager 242 may be operated via application-specific logic integrated with other components of the computing device/system 1500 on the single integrated circuit (chip). Embodiments of the invention may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, embodiments of the invention may be practiced within a general purpose computer or in any other circuits or systems.
  • Embodiments of the invention, for example, may be implemented as a computer 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 media readable by a computer system and encoding a computer program of instructions for executing a computer process.
  • The term computer readable media as used herein may include computer storage media. 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. System memory 1504, removable storage 1509, and non-removable storage 1510 are all computer storage media examples (i.e., memory storage.) Computer storage media may include, but is not limited to, RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store information and which can be accessed by computing device 1500. Any such computer storage media may be part of device 1500. Computing device 1500 may also have input device(s) 1512 such as a keyboard, a mouse, a pen, a sound input device, a touch input device, an eyes-tracking device, a motion capture device, etc. Output device(s) 1514 such as a display, speakers, a printer, etc. may also be included. The aforementioned devices are examples and others may be used. Communication connection(s) 1516 is configured to connect to other computing devices 1518.
  • A camera and/or some other sensing device may be operative to record one or more users and capture motions and/or gestures made by users of a computing device. Sensing device may be further operative to capture spoken words, such as by a microphone and/or capture other inputs from a user such as by a keyboard and/or mouse (not pictured). The sensing device may comprise any motion detection device capable of detecting the movement of a user. For example, a camera may comprise a MICROSOFT KINECT® motion capture device comprising a plurality of cameras and a plurality of microphones.
  • The term computer readable media as used herein may also include communication media. Communication media may 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 includes any information delivery media. The term “modulated data signal” may describe a signal that has one or more 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), infrared, and other wireless media.
  • FIGS. 16A and 16B illustrate a suitable mobile computing environment, for example, a mobile telephone, a smartphone, a tablet personal computer, a laptop computer, and the like, with which embodiments of the invention may be practiced. With reference to FIG. 16A, an example mobile computing device 1600 for implementing the embodiments is illustrated. In a basic configuration, mobile computing device 1600 is a handheld computer having both input elements and output elements. Input elements may include touch screen display 1605 and input buttons 1610 that allow the user to enter information into mobile computing device 1600. Mobile computing device 1600 may also incorporate an optional side input element 1615 allowing further user input. Optional side input element 1615 may be a rotary switch, a button, or any other type of manual input element. In alternative embodiments, mobile computing device 1600 may incorporate more or less input elements. For example, display 1605 may not be a touch screen in some embodiments. In yet another alternative embodiment, the mobile computing device is a portable phone system, such as a cellular phone having display 1605 and input buttons 1610, input element 1615. Mobile computing device 1600 may also include an optional keypad 1635. Optional keypad 1635 may be a physical keypad or a “soft” keypad generated on the touch screen display.
  • Mobile computing device 1600 incorporates output elements, such as display 1605, which can display a graphical user interface (GUI). Other output elements include speaker 1625 and LED 1620. Additionally, mobile computing device 1600 may incorporate a vibration module (not shown), which causes mobile computing device 1600 to vibrate to notify the user of an event. In yet another embodiment, mobile computing device 1600 may incorporate a headphone jack (not shown) for providing another means of providing output signals.
  • Although described herein in combination with mobile computing device 1600, in alternative embodiments the invention is used in combination with any number of computer systems, such as in desktop environments, laptop or notebook computer systems, multiprocessor systems, micro-processor based or programmable consumer electronics, network PCs, mini computers, main frame computers and the like. Embodiments of the invention 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; programs may be located in both local and remote memory storage devices. To summarize, any computer system having a plurality of environment sensors, a plurality of output elements to provide notifications to a user and a plurality of notification event types may incorporate embodiments of the present invention.
  • FIG. 16B is a block diagram illustrating components of a mobile computing device used in one embodiment, such as the computing device shown in FIG. 16A. That is, mobile computing device 1600 can incorporate system 1602 to implement some embodiments. For example, system 1602 can be used in implementing a “smart phone” that can run one or more applications similar to those of a desktop or notebook computer such as, for example, browser, e-mail, scheduling, instant messaging, and media player applications. In some embodiments, system 1602 is integrated as a computing device, such as an integrated personal digital assistant (PDA) and wireless phoneme.
  • One or more “apps” applications 1666 may be loaded into memory 1662 and run on or in association with operating system 1664. Examples of application programs include dialer programs, e-mail programs, PIM (personal information management) programs, word processing programs, spreadsheet programs, Internet browser programs, messaging programs, and so forth. System 1602 also includes non-volatile storage 1668 within memory 1662. Non-volatile storage 1668 may be used to store persistent information that should not be lost if system 1602 is powered down. Applications 1666 may use and store information in non-volatile storage 1668, such as e-mail or other messages used by an e-mail application, and the like. A synchronization application (not shown) may also reside on system 1602 and is programmed to interact with a corresponding synchronization application resident on a host computer to keep the information stored in non-volatile storage 1668 synchronized with corresponding information stored at the host computer. As should be appreciated, other applications may be loaded into memory 1662 and run on the mobile computing device 1600, including the document application manager 242, described above.
  • System 1602 has a power supply 1670, which may be implemented as one or more batteries. Power supply 1670 might further include an external power source, such as an AC adapter or a powered docking cradle that supplements or recharges the batteries.
  • System 1602 may also include a radio 1672 that performs the function of transmitting and receiving radio frequency communications. Radio 1672 facilitates wireless connectivity between system 1602 and the “outside world”, via a communications carrier or service provider. Transmissions to and from radio 1672 may be conducted under control of OS 1664. In other words, communications received by radio 1672 may be disseminated to application programs 1666 via OS 1664, and vice versa. According to another embodiment, the OS 1664 is an optional component and operations may be performed without the use of OS 1664.
  • Radio 1672 allows system 1602 to communicate with other computing devices, such as over a network. Radio 1672 is one example of 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 includes any information delivery media. The term “modulated data signal” means 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 includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
  • This embodiment of system 1602 is shown with two types of notification output devices; LED 1620 that can be used to provide visual notifications and an audio interface 1674 that can be used with speaker 1625 to provide audio notifications. These devices may be directly coupled to power supply 1670 so that when activated, they remain on for a duration dictated by the notification mechanism even though processor 1660 and other components might shut down for conserving battery power. LED 1620 may be programmed to remain on indefinitely until the user takes action to indicate the powered-on status of the device. Audio interface 1674 is used to provide audible signals to and receive audible signals from the user. For example, in addition to being coupled to speaker 1625, audio interface 1674 may also be coupled to a microphone to receive audible input, such as to facilitate a telephone conversation. In accordance with embodiments of the present invention, the microphone may also serve as an audio sensor to facilitate control of notifications, as will be described below. System 1602 may further include video interface 1676 that enables an operation of on-board camera to record still images, video stream, and the like.
  • A mobile computing device implementing system 1602 may have additional features or functionality. For example, the device may also include additional data storage devices (removable and/or non-removable) such as, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 16B by storage 1668. 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.
  • Data/information generated or captured by the mobile computing device 1600 and stored via the system 1602 may be stored locally on the mobile computing device 1600, as described above, or the data may be stored on any number of storage media that may be accessed by the device via the radio 1672 or via a wired connection between the mobile computing device 1600 and a separate computing device associated with the mobile computing device 1600, for example, a server computer in a distributed computing network such as the Internet. As should be appreciated such data/information may be accessed via the mobile computing device 1600 via the radio 1672 or via a distributed computing network. Similarly, such data/information may be readily transferred between computing devices for storage and use according to well-known data/information transfer and storage means, including electronic mail and collaborative data/information sharing systems.
  • FIG. 17 illustrates a system architecture 1700 for interacting with a document as an application, as described above.
  • Components managed via the document application manager 242 may be stored in different communication channels or other storage types. For example, components along with information from which they are developed may be stored using directory services 1722, web portals 1724, mailbox services 1726, instant messaging stores 1728 and social networking sites 1730. The manager 242, system 1720 may use any of these types of systems or the like for enabling management and storage of components in a store 1716. A server 1732 may provide communications for managed components and content to clients. As one example, server 1732 may provide productivity related services. Server 1732 may provide services and content over the web to clients through a network 1708. Examples of clients that may utilize server 1732 include computing device 1702, which may include any general purpose personal computer, a tablet computing device 1704 and/or mobile computing device 1706 which may include smart phones. Any of these devices may obtain display component management communications and content from the store 1716.
  • Embodiments of the present invention are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to embodiments of the invention. The functions/acts noted in the blocks may occur out of the order as shown in any flowchart. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.
  • The above specification, examples and data provide a complete description of the manufacture and use of the composition of the invention. Since many embodiments of the invention can be made without departing from the spirit and scope of the invention, the invention resides in the claims hereinafter appended.

Claims (20)

What is claimed is:
1. A method for interacting with a document as if it were an application, comprising:
accessing a document comprising data that is associated with a default application configured to perform operations comprising: navigating the data, editing the data, inputting additional data, deleting the data, charting the data, and storing the data;
selecting data from the document that is used to automatically create a document application that is different application from the default application and is automatically created using the selected data from the document and rules associated with the selected data;
automatically creating one or more default display application pages (DAPs) including fields based on the selected data and the rules associated with the selected data that each include a display of information obtained directly from the selected data the rules;
displaying the default DAPs;
receiving configuration information for the default DAPs that is used to customize the default DAPs; and
storing the configuration information that is used when displaying the document application.
2. The method of claim 1, wherein automatically creating the one or more default DAPs based on the selected data and the rules comprises automatically generating a data entry DAP including a data field for each column of data in the selected data that is configured to receive a value.
3. The method of claim 1, further comprising automatically generating a display DAP that includes an option for configuring a graphic to display within the document that uses data from the document.
4. The method of claim 3, wherein configuring the graphic to display comprises selecting an existing graphic obtained from the document.
5. The method of claim 1, wherein receiving the configuration information the default DAPs comprises displaying options for setting three or more options, comprising: setting a name for each of the fields; setting one of the DAPs as a starting page for the document application; automatically showing the document application in response to receiving an indication to open the document; setting a size/location for each of the fields; providing editing options for fields that are editable; setting help information for at least some of the fields; setting whether one of the fields is displayed; setting whether one of the field is editable; setting whether one of the field is a required entry; deleting one of the automatically generated fields from the DAP.
6. The method of claim 1, wherein selecting the data from the document comprises receiving at least one of: a selection of a range of columns and a selection of a table of the document.
7. The method of claim 1, further comprising displaying a link option to link one of the DAPs with another DAP.
8. The method of claim 1, wherein receiving the configuration information the default DAPs comprises receiving configuration information for configuring a display DAP, including displaying options for setting three or more of options, comprising: setting a title; setting the display DAP as a starting page for the document application; automatically showing the document application in response to opening the associated document; setting a size/location of a graphic generated using data from the document; setting help information; displaying a preview of the graphic; and linking the display DAP to another DAP.
9. The method of claim 1, further comprising displaying an option define how to input data into at least one of the fields including an option to use a camera input and a speech input.
10. A computer-readable medium having computer-executable instructions for interacting with a document as if it were an application, comprising:
accessing a document comprising data that is associated with a default application configured to perform operations comprising: navigating the data, editing the data, inputting additional data, deleting the data, charting the data, and storing the data;
selecting a portion of the data from the document that is used to automatically create a document application that is a different application from the default application and is automatically created using the selected data from the document and rules associated with the selected data;
automatically creating a default display application page (DAP) including automatically generating a data field for each column of data in the selected data that is configured to receive a value;
displaying the default DAP;
receiving configuration information for the default DAP that is used to customize the fields of the default DAP; and
storing the configuration information that is used when displaying the document application.
11. The computer-readable medium of claim 10, further comprising automatically generating a display DAP that includes an option for configuring a graphic to display within the document that uses data from the document.
12. The computer-readable medium of claim 10, wherein receiving the configuration information the default DAPs comprises displaying options for setting three or more options, comprising: setting a name for each of the fields; setting one of the DAPs as a starting page for the document application; automatically showing the document application in response to receiving an indication to open the document; setting a size/location for each of the fields; providing editing options for fields that are editable; setting help information for at least some of the fields; setting whether one of the fields is displayed; setting whether one of the field is editable; setting whether one of the field is a required entry; deleting one of the automatically generated fields from the DAP, setting a size/location of a graphic generated using data from the document; displaying a preview of the graphic; and linking the display DAP to another DAP and displaying a link option to link one of the DAPs with another DAP.
13. The computer-readable medium of claim 10, wherein selecting the data from the document comprises receiving at least one of: a selection of a range of columns and a selection of a table of the document.
14. The computer-readable medium of claim 10, further comprising displaying an option define how to input data into at least one of the fields including an option to use a camera input and a speech input.
15. A system for interacting with a document as if it were an application, comprising:
a processor and a computer-readable medium;
a document that includes a table;
a document application that is automatically created from the document that includes fields;
an operating environment stored on the computer-readable medium and executing on the processor; and
a manager operating under the control of the operating environment and operative to actions comprising:
displaying the document application for the document, wherein the document application comprises document application pages (DAPs) automatically created from fields within the table;
displaying a default DAP; and
interacting with the document through the document application.
16. The system of claim 15, wherein the document application comprises at least one data entry DAP and at least one display DAP.
17. The system of claim 16, wherein the at least one DAP includes an automatically generated data field for each column of data in the table that is configured to receive a value.
18. The system of claim 16, wherein configuration information for the DAPs are stored within the document.
19. The system of claim 16, wherein the DAPs interact with only a portion of the content of the document.
20. The system of claim 16, wherein displaying the default DAP comprises displaying a chart that is selected from the document.
US13/550,863 2012-07-17 2012-07-17 Interacting with a document as an application Abandoned US20140026041A1 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US13/550,863 US20140026041A1 (en) 2012-07-17 2012-07-17 Interacting with a document as an application
CN201380038186.3A CN104471566B (en) 2012-07-17 2013-07-16 Interacted with as the document of application
CN201710919366.2A CN107729304B (en) 2012-07-17 2013-07-16 Interacting with a document as an application
PCT/US2013/050579 WO2014014851A1 (en) 2012-07-17 2013-07-16 Interacting with a document as an application
EP13740476.0A EP2875449A1 (en) 2012-07-17 2013-07-16 Interacting with a document as an application
US14/932,612 US10282392B2 (en) 2012-07-17 2015-11-04 Interacting with data from a document via document an application pages

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US13/550,863 US20140026041A1 (en) 2012-07-17 2012-07-17 Interacting with a document as an application

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/932,612 Continuation US10282392B2 (en) 2012-07-17 2015-11-04 Interacting with data from a document via document an application pages

Publications (1)

Publication Number Publication Date
US20140026041A1 true US20140026041A1 (en) 2014-01-23

Family

ID=48874552

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/550,863 Abandoned US20140026041A1 (en) 2012-07-17 2012-07-17 Interacting with a document as an application
US14/932,612 Active US10282392B2 (en) 2012-07-17 2015-11-04 Interacting with data from a document via document an application pages

Family Applications After (1)

Application Number Title Priority Date Filing Date
US14/932,612 Active US10282392B2 (en) 2012-07-17 2015-11-04 Interacting with data from a document via document an application pages

Country Status (4)

Country Link
US (2) US20140026041A1 (en)
EP (1) EP2875449A1 (en)
CN (2) CN104471566B (en)
WO (1) WO2014014851A1 (en)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016018681A3 (en) * 2014-07-28 2016-06-30 Microsoft Technology Licensing, Llc Presenting dataset of spreadsheet in form based view
US20160266724A1 (en) * 2015-03-13 2016-09-15 Rockwell Automation Technologies, Inc. In-context user feedback probe
USD767611S1 (en) * 2015-04-16 2016-09-27 Nasdaq, Inc. Display screen or portion thereof with graphical user interface
USD779522S1 (en) * 2015-03-19 2017-02-21 Adp, Llc Display screen or portion thereof with graphical user interface
US20170131975A1 (en) * 2015-11-09 2017-05-11 Microsoft Technology Licensing, Llc Generation of an application from data
US20170131974A1 (en) * 2015-11-09 2017-05-11 Microsoft Technology Licensing, Llc Generation of an Application from Template
US11055795B1 (en) * 2016-01-29 2021-07-06 Intuit Inc. Methods, systems, and computer program products for linking data schemas to electronic tax return
TWI740907B (en) * 2016-09-01 2021-10-01 日商和冠股份有限公司 Method and system for input areas in documents for handwriting devices
WO2023080942A1 (en) * 2021-11-08 2023-05-11 Microsoft Technology Licensing, Llc. Multiple datapoint formats in spreadsheets

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11030385B2 (en) 2015-03-30 2021-06-08 Microsoft Technology Licensing, Llc Enhanced preview technology for application add-ins
US20160378735A1 (en) * 2015-06-29 2016-12-29 Microsoft Technology Licensing, Llc Metamorphic documents
KR20190033750A (en) * 2017-09-22 2019-04-01 삼성에스디에스 주식회사 Conference system, apparatus and method for mapping attendance information between heterogeneous conferences

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060007189A1 (en) * 2004-07-12 2006-01-12 Gaines George L Iii Forms-based computer interface
US20060059414A1 (en) * 2004-09-15 2006-03-16 Microsoft Corporation Common charting using shapes
US20090089653A1 (en) * 2007-09-28 2009-04-02 Microsoft Corporation Auto-generation and syndication of tables as forms
US20090313537A1 (en) * 2008-06-17 2009-12-17 Microsoft Corporation Micro browser spreadsheet viewer
US20100174974A1 (en) * 2007-01-12 2010-07-08 True-Context Corporation Method and system for customizing a mobile application using a web-based interface
US20100180213A1 (en) * 2008-11-19 2010-07-15 Scigen Technologies, S.A. Document creation system and methods
US20100332404A1 (en) * 2009-06-29 2010-12-30 David Valin Method and mechanism for protection, sharing, storage, accessing, authentication, certification, attachment and tracking anything in an electronic network

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020082857A1 (en) * 2000-09-08 2002-06-27 Val Skordin Method and apparatus for providing an online document and input form creation and storage system
US7299406B2 (en) 2004-06-02 2007-11-20 Research In Motion Limited Representing spreadsheet document content
WO2006026636A2 (en) * 2004-08-31 2006-03-09 Ascential Software Corporation Metadata management
JP4560416B2 (en) * 2005-01-27 2010-10-13 キヤノン株式会社 Information processing apparatus, control method therefor, and program
US7685063B2 (en) * 2005-03-25 2010-03-23 The Crawford Group, Inc. Client-server architecture for managing customer vehicle leasing
US20060230333A1 (en) * 2005-04-07 2006-10-12 Microsoft Corporation Creating associated content for a region of a document in response to a user selecting the region
US7536635B2 (en) * 2005-04-25 2009-05-19 Microsoft Corporation Enabling users to redact portions of a document
US7836104B2 (en) 2005-06-03 2010-11-16 Sap Ag Demonstration tool for a business information enterprise system
US8176081B2 (en) * 2005-11-18 2012-05-08 International Business Machines Corporation Forms integration of an external data model not implemented through a document object model (DOM) accessible application programming interface (API)
US9501463B2 (en) * 2005-12-08 2016-11-22 Microsoft Technology Licensing, Llc Spreadsheet cell-based notifications
CN101055577A (en) * 2006-04-12 2007-10-17 龙搜(北京)科技有限公司 Collector capable of extending markup language
US8583030B2 (en) 2006-11-22 2013-11-12 Bindu Rama Rao Mobile based learning and testing system for automated test assignment, automated class registration and customized material delivery
US7743071B2 (en) * 2007-02-26 2010-06-22 Microsoft Corporation Efficient data handling representations
US20090006939A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Task-specific spreadsheet worksheets
CN101241416B (en) * 2008-02-21 2010-06-16 北大方正集团有限公司 Electronic reading processing method and system adapting to screen resolution
CN101599011B (en) * 2008-06-05 2016-11-16 天津书生投资有限公司 DPS and method
US9104738B2 (en) 2008-06-19 2015-08-11 Tropare, Inc. Leveraging collaborative cloud services to build and share apps
US8332746B2 (en) * 2008-06-26 2012-12-11 Microsoft Corporation Transformation of physical and logical layout forms to logical layout pages
US8725604B2 (en) * 2008-10-22 2014-05-13 Thomson Reuters (Tax & Accounting) Services, Inc. Method and system for collecting and processing electronic data
US10096064B2 (en) * 2008-11-06 2018-10-09 Thomson Reuters Global Resources Unlimited Company Method and system for source document data entry and form association
CN101794280B (en) * 2010-03-11 2011-07-27 北京中科辅龙计算机技术股份有限公司 Form automatic generation method and system based on form template set
US20120166928A1 (en) * 2010-12-23 2012-06-28 Sap Ag Field extensibility in service interfaces and forms message types

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060007189A1 (en) * 2004-07-12 2006-01-12 Gaines George L Iii Forms-based computer interface
US20060059414A1 (en) * 2004-09-15 2006-03-16 Microsoft Corporation Common charting using shapes
US20100174974A1 (en) * 2007-01-12 2010-07-08 True-Context Corporation Method and system for customizing a mobile application using a web-based interface
US20090089653A1 (en) * 2007-09-28 2009-04-02 Microsoft Corporation Auto-generation and syndication of tables as forms
US20090313537A1 (en) * 2008-06-17 2009-12-17 Microsoft Corporation Micro browser spreadsheet viewer
US20100180213A1 (en) * 2008-11-19 2010-07-15 Scigen Technologies, S.A. Document creation system and methods
US20100332404A1 (en) * 2009-06-29 2010-12-30 David Valin Method and mechanism for protection, sharing, storage, accessing, authentication, certification, attachment and tracking anything in an electronic network

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016018681A3 (en) * 2014-07-28 2016-06-30 Microsoft Technology Licensing, Llc Presenting dataset of spreadsheet in form based view
US10540051B2 (en) * 2015-03-13 2020-01-21 Rockwell Automation Technologies, Inc. In-context user feedback probe
US20160266724A1 (en) * 2015-03-13 2016-09-15 Rockwell Automation Technologies, Inc. In-context user feedback probe
USD779522S1 (en) * 2015-03-19 2017-02-21 Adp, Llc Display screen or portion thereof with graphical user interface
USD767611S1 (en) * 2015-04-16 2016-09-27 Nasdaq, Inc. Display screen or portion thereof with graphical user interface
US20170131975A1 (en) * 2015-11-09 2017-05-11 Microsoft Technology Licensing, Llc Generation of an application from data
US9696967B2 (en) * 2015-11-09 2017-07-04 Microsoft Technology Licensing, Llc Generation of an application from data
US20170357487A1 (en) * 2015-11-09 2017-12-14 Microsoft Technology Licensing, Llc Generation of an application from data
US9891890B2 (en) * 2015-11-09 2018-02-13 Microsoft Technology Licensing, Llc Generation of an application from template
CN108292231A (en) * 2015-11-09 2018-07-17 微软技术许可有限责任公司 It generates and applies from data
US10466971B2 (en) * 2015-11-09 2019-11-05 Microsoft Technology Licensing, Llc Generation of an application from data
US10481875B2 (en) 2015-11-09 2019-11-19 Microsoft Technology Licensing, Llc Generation of an application from template
US20170131974A1 (en) * 2015-11-09 2017-05-11 Microsoft Technology Licensing, Llc Generation of an Application from Template
US11055795B1 (en) * 2016-01-29 2021-07-06 Intuit Inc. Methods, systems, and computer program products for linking data schemas to electronic tax return
TWI740907B (en) * 2016-09-01 2021-10-01 日商和冠股份有限公司 Method and system for input areas in documents for handwriting devices
WO2023080942A1 (en) * 2021-11-08 2023-05-11 Microsoft Technology Licensing, Llc. Multiple datapoint formats in spreadsheets
US11893343B2 (en) 2021-11-08 2024-02-06 Microsoft Technology Licensing, Llc Multiple datapoint formats in spreadsheets

Also Published As

Publication number Publication date
CN107729304B (en) 2021-08-24
CN107729304A (en) 2018-02-23
US20160055128A1 (en) 2016-02-25
CN104471566A (en) 2015-03-25
WO2014014851A1 (en) 2014-01-23
US10282392B2 (en) 2019-05-07
EP2875449A1 (en) 2015-05-27
CN104471566B (en) 2017-11-07

Similar Documents

Publication Publication Date Title
US10282392B2 (en) Interacting with data from a document via document an application pages
US10528653B2 (en) Collaborative communication in a web application
US10235018B2 (en) Browsing electronic messages displayed as titles
EP3005671B1 (en) Automatically changing a display of graphical user interface
US10915868B2 (en) Displaying life events while navigating a calendar
US10270720B2 (en) Suggesting related items
US20140281870A1 (en) Document collaboration and notification of changes using different notification mechanisms
US10248439B2 (en) Format object task pane
US20130339831A1 (en) Dynamic reports connected to project data
US10133704B2 (en) Dynamic layout of content in a grid based application
US9355086B2 (en) User interface elements for content selection and extended content selection
US10210483B2 (en) Creating recurring appointments
US10430516B2 (en) Automatically displaying suggestions for entry
US20140365879A1 (en) Using aliases for date entry

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BHARGAV, RAJAT;MALOO, RAGHVENDRA;REEL/FRAME:028742/0957

Effective date: 20120710

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034544/0541

Effective date: 20141014

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION