Patent ID: 12260173

DETAILED DESCRIPTION

The following detailed description is made with reference to the figures. Sample implementations are described to illustrate the technology disclosed, not to limit its scope, which is defined by the claims. Those of ordinary skill in the art will recognize a variety of equivalent variations on the description that follows.

Document software has made many advances over the decades, adding new capabilities for adding different types of charts, Smart Art, multimedia and more, but those advances have not extended to editing documents and then chasing those changes throughout the documents. We disclose building and replicating items in a new way that saves a user time by allowing a user to make a change once and have it automatically and intelligently replicated throughout an entire document or series of documents.

Technical advances have done little to facilitate reuse of spreadsheet analytics, or even simple data tables, in visually appealing presentations. Importation of spreadsheet cells, tables and charts is limited to large blocks and cannot be used in more creative ways without a great deal of work by the user and breaking of the formulaic and function linkages of the spreadsheet. Sophisticated spreadsheet features, such as pivot tables, have become particularly difficult to merge into presentations. We present new technology that imports spreadsheet cell-based concepts into other document software.

We disclose selective multi-way replication with finely tuned replication parameters. Multiple copies of an element or a container of elements can be linked with selective, finely tuned synchronization, so that edits to any related elements selectively propagate to all the related elements. One document source is linked to multiple document copies. This improvement on existing spreadsheet and document software addresses naïve copying of spreadsheet elements into other documents, which inevitably breaks any link between updates to the source spreadsheet and an attractive target presentation. Selective multi-way replication improves on “paste special”.

Multi-way replication particularly supports signposting and theme development during presentations. These presentation strategies require multiple copies of presentation elements, which are out-of-step as soon as one copy is updated. Finely tuned synchronization gives users multiple ways to build their presentation, replicate elements, and have the software automatically propagate changes within and across pages, worksheets, dashboards and forms.

Selective replication with transposition and orientation options further supports thematic development in which document items containing multiple elements can be arbitrarily oriented—horizontal, vertical or slanted—yet retain selective specified consistency. A document item can be an elaborate graphic container for spreadsheet cell, graphic, shape, text, icon, picture or other document elements. Transposition and orientation options can be applied to elements or groups of elements, even those without graphic containers. When the source is a spreadsheet, the selective transposition and orientation feature retains links from document cells back to source spreadsheet cells. Of course, selective replication allows formatting of linked cells to match presentation needs, without modification of the source spreadsheet.

We disclose rearranging cells from blocks, found in spreadsheet cells, into organizations better suited to presentation. Both separation and reordering of cells are disclosed. Separation breaks out parts of the block and redistributes them across a page. Reordering changes the order of columns and rows in the presentation, again without modifying the source spreadsheet, while maintaining, as desired, formatting, formulaic and other content links to the source spreadsheet. The combination of separation and reordering can produce a transposed version of selected data rows with ordering that makes sense in the context of a page, without modification of the source spreadsheet.

Tight coupling of the spreadsheets and presentations can extend to file containers. File packages or other file structures reduce the chance that spreadsheet data will be separated and links broken. A single file load can make both the spreadsheet and presentation editable.

In the following sections, we start by addressing a fundamental way to remove work from the revision of formatting and content in different documents, a capability we call selective multi-way replication. Then we describe how similar concepts can be used to reduce the work of creating a document through selective build and selective transposition. After that, we describe a novel way of taking out a great deal of work in documents involving some spreadsheet content, through dramatically tighter integration of the spreadsheet and facilitating easy usage of it at the single cell level. Finally, we then show our novel ways of making document content much more reusable through different views, content naming, and easy search within an element library. Combined, these capabilities allow users to create superior documents much more quickly and easily.

Selective Propagation

An example illustrates selective multi-way replication.FIG.1shows ways that different selections of propagation parameters impact synchronization of edits from one instance of a text box to three others. InFIG.1, text box100, with blue fill color102and a darker blue outline103, contains the word ‘Ocean’101left justified in black type. Text box100is used in four different places in document128. Practicing selective multi-way replication, a change136made to the third instance in document148selectively replicates to the other text boxes. The user can set the properties they want to replicate, so that only edits to properties selected for replication will propagate to the remaining text boxes. Different replication parameter selections can be applied to different replicated instances.

InFIG.1, four examples show different selective multi-way replication settings. These settings control propagation of changes made in box136. In this example, the text in box136has been modified from ‘Ocean’ to ‘Ocean View’, the text color has shifted from black to white, the fill color has shifted from blue to grey, and the box outline has shifted from a solid dark blue to a dashed light blue. InFIG.1, the changed text box136is the third of the four text boxes, and148,158,168and178example four different selective multi-way replication setting outcomes of the change.

In example document148, with only text selected for multi-way replication to the three other text boxes, automatic replication changes only the text ‘Ocean’ to ‘Ocean View’ in the remaining three boxes. No text color, box shading or box outline changes replicate.

Example document158shows the effects of selecting both text and formatting for multi-way replication and auto replication. The black type ‘Ocean’ wording changes to white type ‘Ocean View’ in the other three boxes. If, instead of selecting text and formatting for replication for the other three boxes, the selects are activated for shape fill and border weight and border type and border color for multi-way change replication, then auto replication changes the border color, line type and fill color in the other three cells, as shown in document168and does not change the text content. If ‘all’ selective multi-way replication is activated for the three boxes, then the auto replication of the changes will cause all four text boxes to look alike, as shown in document178. In these examples, we set the three unedited boxes with the same selective multi-way replication parameter options. In another example, the user can assign a different replication setting for each element in a document and changes to any of the linked elements will selectively replicate.

Selective Multi-way Propagation

Having the selective ability to turn on multi-way replication allows users to connect elements of their document and still allow some differentiation. This is useful for individual elements or complete pages of elements that are repeated within a document, such as topic agendas.

An example illustrates how edits to features of one text box are selectively propagated to other instances, according to selected replication parameters, to create topic agenda pages.FIG.2shows a set of agenda pages designed to appear in front of each section of meeting slides—a common situation in which an agenda page202appears in front of each section of meeting slides, with the appropriate section to be discussed next shown as boxed and shaded212. Four subsequent agenda page instances introduce subsequent sections of the deck, each with an agenda element being emphasized with bold text, box lines and shading turned on for the appropriate agenda number: ‘2. Political environment of the time’215, ‘3. Key points of Author's story’218, ‘4. Likely political meaning of story’252, and ‘5. Response by readers and politicians’255.

The features selected for replication from instance-to-instance can include text on the page. That way, any changes to the text automatically replicate without altering the boxing and shading. Therefore, the user can edit the text on any of the pages and the element replicating structure will cause the edited text to be replicated as desired throughout the document.

FIG.3illustrates the selective multi-way formatting replication feature for the format of agenda elements. Any change to one of the boxed and shaded agenda item points305,308,342,345or348will propagate to the remaining agenda elements. That is, user-initiated changes to the style of agenda item point305propagate in subsequent agenda page instances to sections two through five of the agenda308,342,345,348. The agenda items change from the lighter grey box fill and black text color302to a darker grey box fill and white text305. While in this example that change was done to the first agenda item and first agenda page, the same replication would have occurred if the change was made to any of the agenda items305,308,342,345or348.

The linkage of multiple properties in selective multi-way replication is a refinement that allows further differentiation of the presentation and the automatic replication of changes. Therefore, changing the text color and box fill color302to that in305causes it to auto-replicate the changes to308,342,345, and348but not to the other elements on those five agenda pages. This capability allows users to create and reuse attractive pages, eliminating a lot of the work of going through the document and changing each of the pages. As we will discuss later in our library section, this cascading replication feature allows users to create pages they can then copy to other documents, quickly rename and then wildly change while retaining very sophisticated replication capabilities that are common to agenda and other frequently used pages.

Selective Propagation Controls

Selective multi-way replication includes granular controls that allow users to reuse elements in ways that look different while still retaining the ability for auto replication of important edits. There are many ways to make it easy for a user to set-up the type of selective multi-way replication they desire. One easy way to eliminate the need for selective multi-way replication set up is to have a default setting of ‘all’ that allows users to do nothing if they are happy with all changes replicating.

FIG.4displays an example set of selective multi-way replication option controls usable to design a presentation via presentation screen405with selective options available for the various element creation buttons. Under the shape format menu404, a red drop-down arrow418control has been added for Text Box416. When clicked, the red drop-down arrow418causes presentation of a pull down menu from which a selective multi-way replication text box can be chosen by the user. When the user opens the text box they will be able to see the default title of that text box element422. In this example, the default element numbering is the document name and then sequential numbering: text box446has the title ‘Presentation_1’424. If the user closes that text box without altering the title in text box element422or popping up the selective multi-way replication setting mode, then they have accepted the name and default selective multi-way replication setting—in this case ‘all’. To view options for changing the naming or to set up a new name, users can select blue Options arrow414to access a drop-down or pop-up which presents naming options. Many naming options are available, from creating a one-off name to adding a name to an existing sequence, to adding a name to a spreadsheet-like tabular grid, as we will discuss later—with a goal of keeping the name simple and definitive, to make it easy to identify and reuse the presentation.FIG.4also shows selective multi-way replication red drop-down arrow options for Icon406, Chart407, Picture408and Shapes41. Video, Audio, SmartArt, Tables and other graphic elements would have similar selective multi-way replication creation options. Various selective multi-way replication options are utilized to build an agenda, as described next.

Selective Build-an-Agenda Use Case

We offer an example of selectively building a set of meeting agenda slides to further elucidate selective replication and multi-way propagation features and to answer questions that may arise from the preceding agenda slide example discussion. A user can make selections to set the type of selective multi-way replication they desire, in cases in which they do not want to use the default settings. Once the user sets up one build, they can select an element of the build and open the selective multi-way adapt tab, which lists the options applicable to the content and formatting of the selected element; and they can select the options they want to automatically replicate. Any features not selected will be blocked from automatic replication. In this example, the slides are built beginning with a selective build and multi-way replication text element.

FIG.5shows slide one502, with a first meeting agenda text box506whose style is defined by the elements shown in the settings: left justified505bolded503black text504in a box507with light grey shaded fill508and darker grey solid borders509. InFIG.6, adapt tab628for build one668specifies replicating text638, shape648and borders658of selected text box506. The number of times and different ways to replicate text box506can be specified in the text box control drop-down, accessed via drop-down arrow418, described infra.FIG.7shows the results of the text box group replication for slide one722, with new group text boxes742containing highlighted text that has not yet been customized. The group replication in this example creates four additional related points each of which is a different numbered text point.FIG.8Ashows the slide ofFIG.7after text customization of text box two822.FIG.8Bshows the same slide after text customization of text box three828.FIG.8Cshows the slide after the remaining text boxes have been customized.

InFIG.9the user is creating a second build with different features for the five highlighted points944.FIG.9shows build two986, after the user added a new build988for the selected set of text boxes944. For emphasizing propagation features,FIG.10shows example controls for the selected set of text boxes1044including fills1038, which has been changed from the light grey inFIG.9to the white selected in1038. The disclosed system automatically changes the specific properties of build two as the user makes changes to the selected set of text boxes1144shown inFIG.11. In this example, the user has changed the text color1138, removed the bolding1148, changed the shape fill1158, and changed border color1168. The application has therefore automatically recorded these properties as build2and indicated that with the red2's as in1198. The user can close the build and they have defined the initial look of build two and its replication propagation.

Exampling another way to set the build property, the user could also change other element replication while build mode is open, by changing a property build indicator to a different build.FIG.11shows for the border property weight the user has opened the drop down1178which shows that weight is currently set to build1. The user can change that setting by selecting the one desired from the available options. In this example, the user can switch the weight property of the five highlighted elements to build2, a group build, or a property that does not replicate1188. The property that does not replicate behaves as described and results in turning off the replication of that property for all of the selected set of text box elements. Group build would separate these five elements from any other elements for this property for replication purposes, so that any change in the border weight would replicate to the other four elements but not to any remaining build2elements. The first creating of build2for these related elements allows later separation of different groups of related elements that can be differentiated on this property, as for the text of the agenda points described infra, thus allowing users flexibility in setting up different forms of automatic selective multi-way replication.

Continuing with selective multi-way replication,FIG.12lists five slides1242which include the original slide created previously and four copies of the original slide, with all five meeting points in build two, including white fill1226and light borders1268.FIG.13illustrates an example use of built elements, with text box five1374of slide five1372selected, and then build one1376selected, with grey fill1326and bolded black type1324. Similarly,FIG.14Ashows slide four and text box four1434with build one selected;FIG.14Bshows text box three1428of slide three selected to build one;FIG.14Cshows text box two1454of slide two selected to build one; andFIG.14Dshows text box one1448of slide one with the selected features of build one1478. The extended benefit of this build approach is that the user can change text or other of the features of the elements without disrupting the specific bolding, fill color and borders of the highlighted elements1434,1428,1454and1448. In another example, if the user decides to change a build feature while working on a different slide, text box three could be the text box selected for adding or changing build features to be emphasized instead of text box one1448.

Continuing with our example, using the set of meeting agenda slides built as described supra,FIG.15Ashows slide four1532with text box four1534with the black left-justified font of the original meeting agenda propagated across the set of slides, as discussed supra. Text box four1536inFIG.15Bshows the result when the user decides to remove the numbers, switch to center justification, change the black text to dark blue and change the black box border to dark blue. Once those changes have been completed, the selective multi-way replication automatically alters all the related elements with affected properties set in build1: centering the text within the boxes and changing the text color to dark blue in the remaining four of the five of the agenda pages1544, as illustrated inFIG.15B. It also centered all the text in the boxes on all five of the agenda pages1544because text justification for the build2boxes is also controlled by build1, as illustrated by agenda text box1554, which has justification replication set to build11566, as shown inFIG.15C. In this example, a justification change to either a build1or build2text box will automatically replicate to all the text boxes on all five pages, as it did in agenda pages1544inFIG.15B.FIG.15Dshows the result when the user selects text box four1558and changes the fill to medium blue: the fill change automatically propagates only to the other build1elements across the five agenda pages.

Further continuing with the example, when the user changes a build-two element, the changes get propagated to build-two elements only, as build-two controls nothing in build one.FIG.16Ashows selected ‘inactive agenda topic’ text box three1644(in grey lettering and boxing like the other inactive agenda topics) currently set to build21654.FIG.16Bshows the results, with ‘inactive agenda topic’ text boxes in all five slides1674updated to reflect the propagation of light blue fill1667, blue borders1668and blue text1666changed in the third text box1664.

The results of building the meeting agenda can be made available in library1704by selecting add to library1736, as shown inFIG.17A. The new library item named ‘Agenda pages 5 points’1766, a meeting agenda with five slides1786, is available for future use. Think about the ease of copying and using the agenda slides for a different presentation. The user simply inserts the set and can make changes on only one of the pages and have all the changes automatically replicate on the other slides. Those changes can be very substantial yet will auto replicate. Emphasized features can include numbered points replaced by dot points or text points, boxes replaced by 3D shapes, ovals or fancy graphics, different fonts and colors of text with centering or right justification, different arrangement and spacing on the slide, and different points could be vertical and sequenced across the slide. The options for easy reuse present huge opportunities for work elimination, very quickly delivering much more interesting looking charts, and making last-minute very dramatic changes incredibly easy. Users can copy and paste agenda slides where they want them in a presentation and simply change the selective multi-way replication settings to build the presentation they want, with all the selective multi-way auto replication capabilities they desire.

FIG.18AthroughFIG.18Cillustrate the data flow for selective multi-way replication, utilizing data change communication bus1854. In the example, two different builds, ‘1’1824in blue boxes, and ‘2’1834in red boxes, have been created with ‘A’ and ‘B’ text content groups. The two builds are currently being used for a vertical green box with the text ‘Yes’1802and a vertical red box with the text ‘No’1804. Those boxes are displayed on pages 2, 3, 5, 8 and 10 of a document. The user, when looking at page 5, decides that the green box would look better if the border color was changed from light green to a much darker shade and changes box1816to use the darker border. Border color is an element of build one for that box1844.FIG.18Bshows the border color change1816, and publishes the change1828to start the replication, using a publish-and-subscribe middleware model in which all the elements see all the changes and accept only relevant changes for that element. The data change communication bus message1828signals that the border color of build one has been changed to a shade of dark green.FIG.18Cshows the result when the subscribers to build one for border color1836,1838,1875,1876,1877,1878and1879receive a message that border color has been changed to the dark green making the change.

Similarly,FIG.19illustrates how the selective multi-way replication messaging can change elements that appear in a different build when the change is not to that build. In this example, the user continues to edit page 5, but could be working on any page and the change would replicate the same way. The user decides they want to change to a different text font and so they change element1924. Text font for that element1926is in build1and is in the same build for all the elements, in this example. The change replicates immediately to all the other elements1928,1988as shown by the blue arrows that illustrate the subscribers accepting the changed and published text font1954.

FIG.27shows a block diagram of selective multi-way replication to cells which are linked across document types: a presentation page, a dashboard, a form, a Word page, a data visualization form, a spreadsheet or other document. The publish-and-subscribe data model extends across those documents, with selective multi-way replication then working at the element level. In this example, there are connected elements in three different documents,2724,2744and2764. Each of the elements is connected via2735,2745, or2765to the Communication Bus2756through which the messages pass when properties are changed within elements, as shown inFIG.18AthroughFIG.18CandFIG.19. Substantial differences in the replication can occur at the specific element property level, as for example there are features of a presentation that do not well translate to a spreadsheet or a Word page and visa-versa. Therefore, those properties may be blocked from replication by the user or by a default setting, while other features propagate in the manner shown inFIG.18AthroughFIG.18Cand inFIG.19. One implementation of controls over propagation between document types is shown inFIG.49,50A-B, as explained below.

Boat Arrow Graphically-Styled Container Use Case

Another way to save users a large amount of work is to use selective multi-way replication for shapes, pictures, video, audio, SmartArt, charts and other graphic elements—as well as combinations of any of them. For example, students frequently use arrow shapes in many places in their documents and then decide to change the outline color, fill color, shadowing or other property of the shape. A boat styled arrow is an example of a graphically-styled container of cells to which selective multi-way replication can be applied. The next examples show multiple ways in which gravity can be applied when replicating images. The user may want to specify some elements as staying stationary, as though they are bolted onto a sailboat tilted by a wave on the water, and other elements to stay vertical relative to the horizon when the sailboat rolls on the waves.

FIG.20Ashows four example boat styled arrows for illustrating the use of selective multi-way replication for images. A user may start with simple fat arrow2012and later decide to change the shape fill and shape outline colors to arrow2014, remove the shading as shown by arrow2016or change the size to that of arrow2018. Any of these arrow changes could be replicated through all the arrow element usage events throughout the slide deck. Selective multi-way-replication can drive the selection of arrow property changes to replicate. In one example, a page may utilize its own unique color theme and if so, the selective multi-way replication can exclude replication of colors of the arrow line and the fill, while other changes such as the shadow and the size can be selected to automatically replicate.

FIG.20Bshows a more complicated example, with a combination of elements2116grouped together: the fat blue arrow outline2126, with black outlined picture2136sitting above black outlined ‘Artist process’ text2146which is sitting above black outlined picture2156. Combining and naming a group of elements allows easier identification and reuse of the group, as well as selective multi-way replication limitations specific to the group, which is exemplified inFIG.20C.

FIG.20Cshows propagation of selected elements across multiple designs. In box2224, changes are displayed for one titled group element ‘Arrow artist’2234in which palette image2252is replaced by palette-and-brush image2254and ‘Artist process' text2262is replaced by ‘Start to finish artist process’ text2264. The automatic replication impact on the remainder of the document is shown in box2226. The ‘Artist arrow’2236has been set to a different color and does not change, and selective multi-way replication are turned off for outline border color and arrow fill color, as is the text ‘Artist process’ which does not change to ‘Start to finish artist process’. In contrast, Artist arrow’2237has all multi-way replications turned on, so all the changes from group element2234get replicated. In the third example, ‘Artist arrow’2238has all the selective multi-way replication, except size, turned on for all the elements and therefore all the changes, except size, get replicated. As it turns out for this example, palette image2252is also used elsewhere in the deck, and because the replacement image in ‘Artist arrow’2234is selective and not an overall replacement of presentation element2254in place of presentation element palette image2252, palette image2286does not change in the slide deck.

Selective Transposition

Selective multi-way replication can be further enhanced by selective replicate transposition, which improves on the transposition of rows and columns of information in tables or spreadsheets and the group-and-rotate capability of presentations to add further selectivity to the nature of the rotation. Selective replicate transposition applies both to data from spreadsheets and to arbitrary data, such as process set labels. In the example shown inFIG.21, gravity and orientation are illustrated further. We start with four titled presentation elements in frame2102and show grouping those elements in a presentation application and then rotating the elements 90 degrees counterclockwise, resulting in presentation2104. However, the user may want to keep the icons and text oriented the same direction on the page as the original arrow2112, despite the rotation. Our invention gives users a selective transposition option in which the orientations for palette object2122, text object2132and gallery object2142are selectable options, relative to the page. This is shown in presentation2134in which icon2122and icon2142stay oriented the same way, relative to the bottom of the page, and text2132keeps its page orientation and adjusts its space and text configuration relative to the other objects. Neither existing spreadsheet transposition nor presentation application rotation includes this selective orientation option. Existing presentation applications also do not have a multiple relationship orientation capability options illustrated in the next example.

FIG.22illustrates selective orientation, rotating the four elements of presentation2202by 90 degrees clockwise with the typical approach, resulting in presentation2208. With our approach and with the page orientation locking turned on, palette object2222, text object2232A and gallery object2242keep their page orientation and arrow2212A rotates 90 degrees clockwise as shown in presentation2238. Presentation2268shows the results of rotating presentation2238by 75 degrees counterclockwise with the page orientation ‘on’ only for text object2232B and another variant of the page orientation on for palette object2222and gallery object2242. That transposition variant works against two orientation specifiers. The first keeps the orientation alignment relative to a specified object, in this case, arrow2212B, the second the page orientation as close as possible. The first specifier ensures that palette2222and gallery object2242keep one edge of their elements aligned with the arrow2212B while orienting the icons so that their bottom edges stay as close as possible to oriented towards the bottom of the page. When using a group of elements multiple times and with multiple orientations, these intelligent transposition options will eliminate a lot of work. This is particularly true when combined with altering one of the elements and having that change automatically replicate throughout the other linked, grouped elements, while maintaining the correct orientations.

Users can set the orientation they want relative to an element of the group of elements. Just as users can set the desired selective multi-way replication settings, a similar capability is disclosed for transposition. The user will be able to specify settings such as ‘All text page orientation’ to specify that all the text content retain its orientation toward the bottom of the page as it is rotated. In one example, an arrow object, palette object, text object and gallery object can each be set to utilize whatever setting the user prefers. The user can also set two or more elements of an object group to retain their relationship to each other as rotation takes place. For example, elements can be set to maintain their right-to-left order despite rotation, or elements can be set to retain or switch their front-to-back order during rotation.

FIG.23shows an example of auto-replication of additions: adding an additional graphic element2332to the graphic group2302. That element then replicates to all the linked graphic groups that accept all changes, accept additions, or accept shape changes, which in this case includes graphic groups2306,2308and2368. This auto replication of additions will make it very easy for users to make changes in one place and have no worry about missing making the same change elsewhere in the document.

An example library of elements, shown inFIG.24A, allows navigation to sets of selective multi-way replication elements. After selecting design2452, six replication element sets, shown on selector pageFIG.24B, are made available from the library. The user can create their design using drag-and-drop actions from the selector page of alternative replications. In one case, a user can select a horizontal list of activity phases2416to create a page2456inFIG.24Cin which the user fills in more details. A user could then create vertically oriented page by dragging and dropping the far-left vertical set of activity phases2426, and use breadcrumb element2446or breadcrumb element2448on supporting pages giving detail on specific activity phases. The library elements give users a very powerful way to replace creation with easy editing to get exactly the design they want.

A user can also apply an easy edit to an element in the selective multi-way replication elements to obtain the look they want:FIG.25Ashows phase two design element2534edited to change the element background color from blue to red.FIG.25Bshows the change propagated to the set of related selective multi-way replication elements andFIG.25Cshows the new agenda2556with red background color ready for use, after a single editing action by the user done on a different page in this example.

Applying Selective Multi-Way Replication to Previously Built Document Elements

Selective multi-way replication can be applied to previously-created document elements. In this implementation of the disclosed technology, the application automatically determines any differences in the elements for which the multi-way selective replication ‘adapt’ capability is being applied and creates a group build or other builds to accommodate them.FIG.42Ashows a previously-created spreadsheet with many different cells, usable by a college theater group to estimate play production parameters. The user highlights many cells for which they would like to employ selective multi-way replication, for formatting and other purposes: spreadsheet cells4226,4236,4246and4256as shown inFIG.42B. The user can employ the selective multi-way replication capability by clicking on the adapt control4264shown inFIG.42C. The application then automatically creates Build14324for the highlighted selected cells, attributing properties with the same value across the cells to Build1, as shown in adapt replication property tab4328inFIG.43. For cells having large numbers of properties, or each cell having different properties, the application assigns a cell-specific build (the Capital C in the circle) as shown in Calculation4388for formula and values, signifying that there is no shared build across the highlighted cells for these properties. In this use case example, the application preferences are preset to five or fewer property differences for which the application automatically creates group build variants. In this example, two properties have a reasonable number of differences: bold text font4368which has two group variants (A and B) and shape size4378which has three group variants (A, B and C).

Continuing with the play production spreadsheet,FIG.44andFIG.45illustrate ways that group variants work. In one embodiment, when the user selects text font group variant icon ‘A’4438inFIG.44, the application highlights in green shading the cells that fall into that build: cells that utilize the bold font property4424,4434,4454,4474and4484. Similarly,FIG.45illustrates the results of the user selecting text font group build icon ‘B’4538: the application highlights in green shading the cells that fit into B group build, the non-bolded cells. The user can then decide whether they want to (a) retain those groups, (b) eliminate the groups with a different build selection such as making bold not a replicated property, or (c) unify the cells and differences, and then assign them to a build without the group differences.

Continuing with the play production spreadsheet,FIG.46A,FIG.46BandFIG.46Cillustrate the selections for the shape size group property. When the user selects option ‘A’4626the application highlights applicable cells4622. When the user selects option ‘B’4664, the application highlights applicable cells4672shown inFIG.46B. When the user selects option ‘C’4678, the application highlights applicable cells4656, shown inFIG.46C. This automatic way of handling group variants enables users to quickly and easily create different variants that can be altered so that they impact only a subset of the cells sharing a build. Users can save the build and use it as a basis to create additional build variants.

Continuing with a further example of selective multi-way replication applied to previously-created document elements, this use case utilizes the play production spreadsheet build described supra, to create a color coordinated spreadsheet in which the user can easily change colors in a single cell and have those changes replicate to many cells.FIG.47Adisplays the creation of build24704, based on build1inFIG.46AthroughFIG.46C. Similarly, the user creates build34706displayed inFIG.47B, and a build54764inFIG.47C. After creating the desired builds, the user can selectively turn on the different builds to create a color coordinated spreadsheet4756in which they can easily change colors in any single cell and have those changes replicate to many cells, as shown inFIG.47D. That is, the disclosed selective multi-way replication offers a quick and easy way for users to create different variants that can then be altered such as to only impact a subset of the cells sharing a build.

Edit Synchronization Between Spreadsheets and Other Document Views

Selective multi-way replication can be applied to the format and content of spreadsheet cells that are incorporated in other document applications, with selective multi-way replication synchronization between updates in the spreadsheet and other document views. In some implementations, data is replicated and synchronized, as between two devices and in other user defined settings some formatting or formula changes are replicated.

FIG.26Ashows an example for three groups of cells2612that are used in both spreadsheet and presentation views. The user has selected multi-way replication in cell D12624to propagate summation formula2622to locations I112634and P182644. In this example, when the user later realizes that the next cell needs be included in the summation, they can change the summation formula in any of the three instances and the change in the formula will automatically propagate to the remaining instances, as shown in the three groups of cells2616. When the change is automatically propagated, the summation formula is replicated in each summation formula cell—cell location D12626, cell location I112636and cell location P182646, the formula has been updated to sum all three cells to the left. This feature enables users to save a lot of time when they use the feature in more complicated settings, as described infra.

Selective multi-way replication and selective transposition capabilities are beneficial when users manipulate spreadsheet cells containing text, formulas and other content within spreadsheets or when those cells are copied into other documents.FIG.26Bdisplays a spreadsheet cell as it appears in three distinct locations in a presentation page2658. Each of the cell instances has the same formula visible in respective pop-up formulas2656A,2656B and2656C. By using the disclosed selective multi-way replication capability, the user can build all three cells by first selecting the spreadsheet cell and moving it to the presentation view, and then they can add the bold formatting, increase the size of the font, resize the box, add the fill color, add the outlining of the box, change the thickness of the box outline, select the color of the outline, add the 3D bevel and add the box shadow. In the example inFIG.26B, the user chose to utilize the exact same formatting with 3D bevel and shadow for both cell2666and cell2676—leaving the inherited selective multi-way replication settings in place, and then changing the settings to not utilizing the 3D bevel and shadow for cell2688. In this example, a user can elect to utilize the selective multi-way replication inherited from the spreadsheet or they can add or alter builds for the cells within the presentation.

FIG.48shows the previously-created selective multi-way replicating spreadsheet in which the user has selected a subset of the cells4822to copy4802to a presentation view.FIG.49shows the results of the user doing adaptable paste4902that transfers the selective multi-way replication from the spreadsheet and to the presentation page with the default sharing settings4918for the highlighted cells4944. The sharing settings determine the selective multi-way replication between the spreadsheet and the presentation views of the cells. The user can then decide whether they want to alter those sharing settings before finalizing the build sharing copy and paste. In this implementation, a presentation clone of the spreadsheet has been created that allows the user to decide whether they want all changes replicating back to the original spreadsheet or only to the clone spreadsheet. The clone spreadsheet allows the user to look at the cells in a spreadsheet format:FIG.50Ashows in the magnified pop up5055, a set of sharing options that allow one-way replication, two-way replication or no sharing. In this example, those settings apply to sharing between three different documents, the original spreadsheet, the clone spreadsheet created for the presentation document, and the presentation document pages. As the user is now viewing the setting from a presentation document page, the sharing in this example is either with the Clone or All for both the Clone and the Original spreadsheet, None for neither and Blocked if auto set by for none by the app. InFIG.50Bthe user has elected to make the Calculation formula sharing for both the clone and the original spreadsheet by selecting the ‘All’5068, which means if a formula correction is made anywhere it will replicate to the other views.

FIG.28Ashows an example of selective multi-way replication synchronization between presentation and spreadsheet views, for a titled group of cells/elements ‘Artist display_3’2812with text cell2822and text cell2846, and formulaic cell2824and formulaic cell2846, combined with a shape with a border and fill2836, and four pictures2831,2832,2833and2834. Artist display_3’2812element has selective transposition turned on, as shown inFIG.28Bpop-up control dialog2854with settings2856.FIG.28Cshows the results of transposing ‘Artist display_3’2812by 90 degrees clockwise. Note that the spreadsheet cells in this example retain their orientation towards the bottom of the page as shown in element2828. These examples show a few of the many ways that users can incorporate edit synchronization between presentation and spreadsheet views to improve design efficiency when implementing and updating designs.

Rearranging Cells from Spreadsheet Blocks

We disclose a new feature of spreadsheet-to-other document integration—a way to integrate spreadsheet analytics and presentation, dashboard, form, word or other type of document content preparation that makes possible selecting spreadsheet content and moving it around freely to wherever the user wants it. Many documents include analytics from spreadsheets as part of the document. Frequently those analytics are still underway and changing after the other document preparation has begun. The creation, editing and revising of the spreadsheet-sourced content can create a lot of work in the other document. Therefore, many document applications have copy and paste features for embedding of spreadsheets, importing of spreadsheet content, importing of spreadsheet charts, and creating spreadsheet charts and tables. Despite those capabilities there are large limitations to using spreadsheet results for other documents without a great deal of manual work creating the document content and keeping it synchronized as the spreadsheet analytics change. The disclosed feature for rearranging cells from spreadsheet blocks allows users to truly integrate spreadsheet analytics and other document content preparation, to eliminate large amounts of document preparation and editing work.

An important dimension of spreadsheet-to-other document integration is the ability to use the spreadsheet content, including moving it around freely within the presentation, in a disclosed atomized cellular mode.FIG.29Ashows a typical simple spreadsheet2902andFIG.29Bshows ways a user might want to display some of the spreadsheet content into a presentation page2906. In another use case, the user may want to display the spreadsheet content in a Word document, a dashboard, a form or other type of document. This would best be done by having the ability to move each cell of the spreadsheet to the location defined by the user, as shown by moving cell A12912to presentation position2918A, moving cell A42922to presentation position2936A, and moving cell B52934to presentation position2946A. Then the user would like to be able to change the formatting of content in the presentation positions2918B,2936B, and2946B in presentation2952shown inFIG.29C, to whatever they would like without changing the view in spreadsheet2902. Additionally, the user would like to be able to intermingle the spreadsheet content with shapes, pictures and other content as shown inFIG.29Dpresentation2956, in which spreadsheet content text ‘China’2966from cell C2 ‘China’2924, is positioned atop graphical content—in this case Chinese flag element2968.

Spreadsheet-to-presentation integration and moving elements around freely within the presentation as described supra requires integrating spreadsheet-like content or capabilities, in what we call an atomized cellular mode, into a presentation page. The beauty of doing this and retaining the integration of the spreadsheet is that if the numbers or labels change in the spreadsheet, the presentation features can be set to automatically update those numbers or labels in the presentation page. This can eliminate lots of revision work and, with simple point-and-click transfer from the spreadsheet view to the presentation page, can also eliminate a lot of chart-building work.

This disclosure describes spreadsheet and other document application capabilities that allow the atomized cellular use of content from spreadsheet applications or spreadsheet content created in another document application. That cellular content can be labelled, in a spreadsheet as A1, A2, B1 and B2, or other format such as naming by document and number or descriptive name, for identification in formulas, reuse, transformation, change replication and other purposes. This atomized cellular use of content will allow users of the presentation application to much more freely use information imported from spreadsheet applications. It will also make the creation and revision of different types of linked documents much easier, so a revision in a Word document could be selectively replicated in a cellular way in a connected spreadsheet, presentation and other type of document.

In an ideal setting, users who integrate spreadsheet data into other document applications would be able to move, change, or hide any cell without losing any cell calculation capabilities and without disrupting the original spreadsheet. While current-day spreadsheet and presentation applications offer multiple ways to copy and paste cells from spreadsheet to presentation, the existing technology does not offer the ability to retain cell capabilities while allowing cell separation (atomization). The next use case illustrates the disclosed features of copying spreadsheet cell content into a presentation page without losing the formulaic content of the cells and moving individual cells or groups of cells, from a spreadsheet, around in pages of a presentation, as desired.

Student Presentation Use Case

A use case of building a student presentation of age distribution of inhabitants among countries of the world is described next, to illustrate the disclosed features of copying spreadsheet cell content into a presentation page without losing the formulaic content of the cells, and being able to move individual cells or groups of cells from a spreadsheet around in pages of a presentation, as desired.

Users often continue to refine spreadsheet analytics in parallel with the task of pulling together the presentation of those analytics. In the process, the spreadsheet answers are changing while the presentation of that information is also changing. Additionally, users frequently find spreadsheet mistakes or changes and they would like to be able to automatically change the spreadsheet, while developing the presentation. To minimize work in the process, it would be great to have the spreadsheet and the presentation linked together so changes flow either way and yet are not limited to keeping the spreadsheet in a table block embedded in the presentation. In our invention, we will now describe examples of changes that are easily made in the spreadsheet calculations and the presentation pages can automatically flow both ways, as desired even when the spreadsheet-derived cells in the presentation have been separated and dispersed throughout a page or a number of pages. This same capability would then apply to spreadsheet cells dispersed in other forms of documents such as Word documents, user dashboards, user forms, data analytics and visualization tools and other forms of documents.

FIG.30Ashows an example spreadsheet3002in which a student has developed an analysis of world population ages. The spreadsheet is a combination of numeric and formulaic cells which may still have been undergoing changes as the presentation of that data was being created. The user in this case wanted to create a presentation page that includes information in spreadsheet3002, so they moved around and reformatted spreadsheet content3002in different ways for presentation purposes.

FIG.30Bshows the somewhat typical high-school-level presentation page3008that the user has constructed, including map artwork3018and3068, boxing of content3066, labelling3017, and boxing with shading3028and3037. Column headings3012of spreadsheet3002are repositioned onto presentation page3008, broken into individual cells3014. In this example, individual cells3014are used again and individually positioned in age group column3064as well, and these cells are connected and retain any formulas, text or numeric values. Numbers and formulas3011are separated and repositioned in world column3015on presentation page3008. The process is replicated, with additional rows of numbers and formulas separated and repositioned in columns:3010to3065,3072to3016and3076,3073to3007, and3074to3078. Cell3032is replicated at3024on presentation page3008, cell3042at3046, and3052replicated to both3026and3036. Spreadsheet derived cells intermingle with presentation elements, as shown by the spreadsheet cells that make up difference columns3007and3078, which rest atop the two boxes with grey shading3028and3037.

The disclosed technology makes it very easy to import spreadsheet cells into a presentation page and allow repositioning, reformatting, reuse, hiding, and the addition of typical presentation text, shapes, graphics, pictures, and other content without the spreadsheet derived cells losing their data and formulas, to the extent preferred by the user.

A common situation, in which an error is found in data or a formula for a cell or group of cells of a spreadsheet, is depicted inFIG.30Cin which world numbers for 2015, ref3082, are corrected numbers that replace the numbers in the same group of cells—world numbers for 2015, ref3011shown inFIG.30A. The disclosed technology automatically changes the affected world numbers3085and difference calculations3086, as shown on the snippet of presentation page3088shown inFIG.30D.

Similarly, the disclosed technology makes it possible to deliver the transition shown fromFIG.29A, from spreadsheet2902to finished presentation2956depicted inFIG.29Ddescribed supra. Changes made in the spreadsheet can automatically replicate, as desired, to the presentation page. Within the spreadsheet integrated into the disclosed presentation application, a user can use the disclosed selective multi-way replication of the spreadsheet view. That is, for the example shown inFIG.29A, the user can set the spreadsheet view to accept all text content, value content and formula changes but not replicate text, value and formula size, color, font, bolding, italics, underlining and other changes. Those specified selections will then allow all the changes in presentation2956to be made to the presentation view without changing spreadsheet2902. Yet, if the user finds a problem with a value or some text, as they do the presentation work, changes the user makes in the presentation view will replicate back to the spreadsheet view.

The power of being able to separate spreadsheet output for presentation purposes is explored further in the next use case, which includes waterfall charts.

Waterfall Chart Use Case

Construction of meaningful waterfall charts, by rearranging presentation of spreadsheet data without having to rearrange the source spreadsheet, illustrates the power of being able to separate output for presentation purposes within spreadsheets or using those charts in other documents.FIG.31Ashows waterfall chart3104, generated from a summary result set of spreadsheet cells3102that show the average weight of mice in a school laboratory experiment. Using the disclosed technology, the user can reposition an element they want to change and the chart will change without impacting the spreadsheet.FIG.31Bshows waterfall chart3106on presentation page3108from a summary result set of spreadsheet cells3102that show the average weight of mice in a school laboratory experiment, with element3126selected to move to desired position3124. The result of this change to presentation page3108is shown in inFIG.31Cwaterfall chart3154. By contrast, prior to availability of the features of the disclosed technology, if a user wanted to move one or more of the elements of an existing waterfall either in the spreadsheet, or on a presentation page, they needed to open and rearrange the spreadsheet3158, as shown in prior art exampleFIG.31D, so that the order of rows3156matched the order wanted in the waterfall and this action would have changed the original spreadsheet and thereby altered other usages of the spreadsheet information. In summary, using the disclosed feature of separable chart elements, a user can simply reposition an element they want to change in a document and the chart will change without impacting the spreadsheet, thus making it easier for a user to make a change and not disrupt the layout of the spreadsheet view supporting it—as well as avoiding disrupting any other chart driven from that spreadsheet.

Continuing with the waterfall use case described relative toFIG.31A-D,FIG.32A-FIG.32Dillustrate another dimension in which making chart elements separable makes it much easier for the user to achieve their desired outcome. In this case, the user starts with spreadsheet chart3204and wants to move waterfall element labels3232so they are close to their waterfall elements as shown in presentation3254with the labels3262positioned as shown inFIG.32C. The disclosed technology allows simple point and click movement for a simple repositioning of the labels. In contrast, prior art document applications cannot separate those graphical elements and allow movement to the location of choice—in this case just below the respective waterfall element without disruption of the underlying spreadsheet. The tedious steps are described: without the disclosed separable element feature, a user needs to open example spreadsheet3208, as shown inFIG.32B, insert a new column3206, copy and paste the labels that are going to change into new column3207, erase the labels in the previous column, to cause the labels that need to move to disappear, and manually create and position each of those labels3262onto the chart3258shown inFIG.32D. In addition to being a lot of work and needing to change the underlying spreadsheet, if any of those spreadsheet labels change3232, the changes will not auto replicate but will require the user to make those changes themselves. Separable chart elements require much less work than required when using prior art presentation applications, and include the advantages of leaving the existing spreadsheet untouched and auto replication intact. A pie chart use case shows another advantage of being able to separate cells.

Pie Chart Use Case

The pie chart example shown inFIG.33shows the advantage of being able to separate and reuse one or more cells of a spreadsheet or presentation app chart. Simple pie chart3302shows high school junior varsity and varsity sports participation by number of sports, over their high school years. Because values zero, one and two dominate the chart, the labels for the remaining athletes are unreadable and therefore have been removed. When the user wants to view participation in more than four sports more closely, they would like to separate the data and make that part of the graph larger, and turn on and reposition the labels. With prior art presentation applications there is no easy way to do what is shown in amplified area3356ofFIG.33. Utilizing the disclosed technology, the user can simply copy pie slices four through ten, increase their size as shown in amplified area3356, turn on the labels and reposition them. The ability to replicate pieces of charts while retaining their formulaic and other properties opens a huge number of options for easily creating presentations and automatically having them alter themselves as changing analytics refine numbers or labeling underlying those charts.

Play Development Use Case

Some presentations of spreadsheet data look nothing like the underlying spreadsheets, as is the case for the example play development time use case described next. A user may want to create a spreadsheet-like cell structure in a presentation page and not be constrained by the tabular constraints of existing presentation formulaic cells. An example page may look similar to example presentation page3405inFIG.34, a college theatrical play development time estimation page for presentation to a group deciding between alternative scripts which play to produce from a list of candidates. Presentation page3405shows the time needed to develop a theatrical play, using three different development approaches. The times in this example are a function of three play requirement types3402, specified as ‘Mild edit’3414for ‘Script’3412, ‘Fast’3424for ‘Casting’3422and ‘Full production’3434for ‘Set’3432. These specifications3414,3424and3434feed formulaic models in the thirty cells created on the page to hold numeric values34xx.

The user can create a page in many different ways, using the disclosed selective multi-way replication and selective transposition technology. One way of creating a page utilizes a blended approach with titled presentation elements, spreadsheet cells and titled groups of elements/cells. Each of these three approaches employs selective multi-way replication and may have some form of name that allows reuse. The fourth element available is regular unnamed presentation content that prior art presentation applications utilize, and which can be used with the disclosed technology but cannot be used with selective multi-way replication and selective transposition. The following description for building a document page utilizes the three named element types and describes ways that the process can be improved by use of the disclosed selective capabilities.

A user decides what design elements will be most readily developed via which element: presentation elements, spreadsheet cells or titled group of elements/cells. Example presentation page3405shown inFIG.34includes titled presentation elements: ‘play requirement types’ box3402, icons3442,3452,3462,3472, and additional image and presentation element box instances, in various sizes. Spreadsheet cell examples include the following: ‘Play development time’3404, ‘Mild edit’3414, ‘Script’3412, ‘Fast’3424, ‘Casting’3422, ‘Full production’3434, ‘Set’3432, ‘Total’ and ‘Elapsed’ in each of the presentation element boxes, ‘serial development’3416, ‘parallel set production’3417‘parallel development’3418, script development3444, ‘Set production’3454, ‘Rehearsal’3464, and the thirty cells that hold numeric values34xx. An example titled group of elements/cells is play development arrow3474. These elements/cells will then be available to any page in the document, making it easy for users to reuse already-created elements on any page.

FIG.35Ashows example titled presentation elements created by the user, with a title of ‘Play’3502and auto numbering so that the first item is ‘_1’3504. After each of those elements is constructed, they will be available in titled presentation element view3508, shown inFIG.35B, and can easily be used as library elements for reuse. The titled presentation element view can be arranged in many different ways, including the order of number, like items and page usage. In this example, the elements are ordered by element number.

Continuing the play development use case, the user copies and pastes available presentation elements3552inFIG.35C, as needed, to continue development of presentation page3405shown inFIG.34. The user then turns their attention to creating the parts of the page most readily done as a spreadsheet: the thirty cells they envisioned to hold numeric values34xx. If the page were empty, the user could opt to build a spreadsheet on the page by depositing the desired number of cells. For example, in the partial page shown inFIG.35D, the user has elected to add thirty spreadsheet cells using pop-up3566. In the pop-up, the user highlighted the thirty cells3564and selected the type of cell labelling, in this case alpha-numeric labelling3576. Then the user deposited the highlighted cells on the page3574and users can fill in the content of the deposited cells, including any formulas they desire.

Because users are often more comfortable doing spreadsheet-like work in a spreadsheet, they may prefer to open a new spreadsheet worksheet view and construct the content in a sheet, as shown inFIG.36, instead of in a presentation page, as described supra. The user can move cells from spreadsheet view3602to a document presentation page3646as shown by cells identified by their row and column coordinates in spreadsheet view3602. In this example, some cells are used more than once as the user continues to work toward creating the example presentation page3405inFIG.34. For example, the cells B8, D8, F8 containing the word ‘Total’ and the cells containing the word ‘Elapsed’ C8, E8, G8 are each being utilized four times in presentation page3646. The user can also make the formatting changes they like such as increasing the font, changing the color, adding center justification for the cell containing ‘Play development time’3404, and adding boxing to cells such as ‘Mild edit’3414, ‘Fast’3424, ‘Full production’3434, and to many of the cells created on the page to hold numeric values34xx.

The actions that were taken on presentation page3646inFIG.36could instead have been done in a presentation page that already contains all the presentation elements as shown inFIG.35C, to create presentation view3402inFIG.34. The result would retain the formulaic and other capabilities of the spreadsheet as shown inFIG.37for cell3788. When the user clicks on cell3788, the application highlights cells3756,3766,3776and3786(corresponding to spreadsheet cells G9, G10, G11 and G12 inFIG.36), displays the formula3714, and displays the cell number (G14)3712that was clicked on by a user of the presentation.

Another advantage of the disclosed technology is that cells can sit within other cells or elements as needed to create content. A simple example of this is shown with spreadsheet cells3744sitting within the box3724, which also has an icon3734sitting within it. Cells and elements of all types can be layered on top of each other and still retain their properties, using the disclosed technology.

Further continuing the play development use case, with the third set of elements/cells, the user creates a titled group of elements/cells. A user would typically make a titled group of cells/elements of something that will be used elsewhere in the document. The titled group of cells/elements is made by grouping the desired cells and elements and giving them a name, in this example ‘Play Development Arrow’. Play development arrow3474inFIG.34includes multiple icons3442,3452,3462and3472as presentation elements and multiple spreadsheet view cells3444,3454and3464. After being grouped and titled, the titled group cell/element will be visible in the titled group cell/element views, such as the presentation elements view inFIG.35B. Having an easy-to-use view showing all the titled group cells/elements makes it easy for users to reuse the grouped elements, thereby reducing work.

As described supra, a user can utilize the disclosed features in many different ways to create a document. They can decide to use some regular presentation text, shapes or pictures elements blended with the disclosed presentation elements, spreadsheet cells and titled group cells/elements. Another user could opt to use some or all of the element/cell capabilities in the presentation view and not use the other views. They would put cellular spreadsheet cells onto the presentation view through one-by-one creation with a label and automatic numbering or depositing the desired number of cells on the page using the pop-up, or some similar mechanism, as shown inFIG.35D.

At a different end of the usage spectrum, a user could also opt to put every element into a spreadsheet cell for the presentation page shown inFIG.34, resulting in spreadsheet view3802inFIG.38, if the user opted to literally put one cell per each element of the presentation page. Then the user could transfer each cell and element to the presentation view page and make any color, font, sizing or other modifications to create presentation page3405shown inFIG.34. While some users may like this approach, many will focus the spreadsheet view of the application on the analytics and complete the more graphic elements using the disclosed titled elements, titled groups of elements/cells or regular presentation elements.

This technology offers users many different ways to use the disclosed titled elements and cellular cells to eliminate work and more quickly build better presentations, since all users and all presentations are not the same. The addition of the disclosed selective capabilities to the disclosed cellular spreadsheet cell capabilities creates possibilities for removing substantial quantities of additional document building and editing work.

Search Features for Special Objects

Given the build, reuse and change capabilities of the technology disclosed, easily finding and accessing replicated elements and cells is useful. Five different views of the content, the spreadsheet view, the other document view, the titled element view, the titled group element/cell view and the different library views are described supra. Each ideally allows users to quickly find and build what they want and easily put them on the document pages of their choice. To facilitate these four views, multiple search modes are helpful, starting with the typical presentation page search for text, expanded to include formulas and the ability to highlight shapes, pictures, icons, titled elements, cells, titled group elements/cells or other content and step through the document and views to see the other places it is used or stored.

FIG.39Ashows a titled presentation element3922‘Play_1’ that has been clicked on for search, triggering the ability to step through the document to view all the places the search element is in use, using the move arrow3914in search pop-up3912.FIG.39Bshows for the same titled element3922, employing a search that shows the user all the pages in3922where the element is used, letting the user click on any page number3926they would then like to visit. These capabilities can also be expanded beyond the current document to other documents that the user has, or even to documents they are given access to in a shared environment such as on a company's servers or in the cloud.

This search capability can be taken further for the content and titles for cells, titled presentation elements or titled groups of elements/cells.FIG.39Cshows the results for a scenario in which the user has elected to search for titled presentation elements or titled groups of elements/cells, working in search pop-up3962with the element ‘Play development time arrow270’ selected3964, to view the arrow titled element3922in the pop-up display. This ability to hunt previously created elements is a huge way to potentially reduce work and will likely motivate users to create libraries of elements for reuse.

That search capability could also be expanded to find connected data as shown inFIG.39D: the user is hunting data for a formula in their presentation page3932. Adding the ability to search for data across pages within the presentation, other presentations/spreadsheets or other data sources is another way to reduce work. One way of doing that would be to open a data library pop-up3966that lists the data available to the user. The user could then access that data in many ways to find what they are searching for. In the example shown inFIG.39D, the user utilized data library pop-up3966search capability3968to find candidate tables, worksheets and presentations that contain data relevant to the search. In this example, the user has expanded drop-down control ‘Step production’3974and selected one data set ‘Full production’3976to examine. That data set3969opens and, in this example, the user has selected the value of ‘4.2’3944as shown inFIG.39B. The user could instead have used the data as part of a calculation.

Elements with multiple documents and multiple connected types of instances and capabilities can be created and stored for reuse in the element library. The library can be set up to better show the user the different group configurations of the same element and linked other instances.FIG.51Ashows three different connected selective multi-way replication elements5101,5102and5103with an example of each of their group property differences for each of the builds. In this example, four of the six total builds are visible with the other two builds visible by scrolling down using scrollbar5114. The box element5124has a total of six different group variants within each build. Three different size variants5134and two different box fill variants5144. The Build35132bolded smaller size variant of the spreadsheet cell5152ofFIG.51Ais shown inFIG.51Bas cell5154, with its build properties5156shown. Similarly, the library box5104is shown used inFIG.51Cas box5166with its build properties shown in5168. This enablement of the library makes it very easy for users to quickly see all the different selective multi-way replication variants built into each of the three related elements. The user can quickly use those elements in their documents and, in this example, create a spreadsheet connected presentation, dashboard, form or Word document. The ability to access prebuild multi-way selective replicating elements and use them in individual or connected documents can dramatically reduce work, particularly if the document or documents are still changing, likely to go through multiple editing rounds, need some amount of formatting, or need connection with other documents.

Switching Between Spreadsheet and Presentation Views

The disclosed embodiments described supra cover the creation of different views, including spreadsheets, other documents, titled groups, libraries and other elements/cells, and describes ways to easily transfer elements and cells between those views to create spreadsheets and other document pages, worksheets, charts and other presentations. A user can turn on spreadsheet view4006while working on presentation page4022inFIG.40A. In this example, the user sees the spreadsheet in a movable pop-up4006within the work area4002of the presentation view. In this case, the user has then copied cell A104026and placed the cell copy4034on presentation page4032. The user can then move as many cells as they like to the presentation page and add typical presentation content of text, shapes, pictures, titled presentation elements, titled group elements/cells and other content to create a page such as page3405inFIG.34.

FIG.40Bshows other options for displaying the presentation and the spreadsheets views such as split screens4042within the app showing both the spreadsheet4044and presentation4054views.FIG.40Cshows the display of option of overlapping tiles4046allowing easy clicking forward and back between the spreadsheet4048and the presentation4056views. These are examples of the disclosed technology's features for making it easy for users to move from view to view, as the disclosed technology allows users to move content from many different views to a presentation, word, spreadsheet, dashboard, form, data visualization or other document view while retaining and replicating the properties of the content desired.

The foregoing description is merely illustrative in nature and is not intended to limit the implementations of the subject matter or the application and uses of such implementations. Furthermore, there is no intention to be bound by any expressed or implied theory presented in the technical field, background, or the detailed description. As used herein, the word “exemplary” means “serving as an example, instance, or illustration.” Any implementation described herein as exemplary is not necessarily to be construed as preferred or advantageous over other implementations, and the exemplary implementations described herein are not intended to limit the scope or applicability of the subject matter in any way.

Computer System

FIG.41is a simplified block diagram of an embodiment of a system4100that can be used for automatically coordinating updates to multiple pages in a presentation. Automatically coordinating updates to multiple pages in a presentation can be implemented using a computer program stored in system memory, or stored on other memory and distributed separately from the computer system.

Computer system4110typically includes a processor subsystem4172which communicates with a number of peripheral devices via bus subsystem4150. These peripheral devices may include a storage subsystem4126, comprising a memory subsystem4122and a file storage subsystem4136, user interface input devices4138, user interface output devices4178, and a network interface subsystem4176. The input and output devices allow user interaction with computer system4110and network and channel emulators. Network interface subsystem4174provides an interface to outside networks and devices of the system4100. The computer system further includes communication network4184that can be used to communicate with user equipment (UE) units; for example, as a device under test.

The physical hardware component of network interfaces are sometimes referred to as network interface cards (NICs), although they need not be in the form of cards: for instance they could be in the form of integrated circuits (ICs) and connectors fitted directly onto a motherboard, or in the form of microcells fabricated on a single integrated circuit chip with other components of the computer system.

User interface input devices4138may include a keyboard, pointing devices such as a mouse, trackball, touchpad, or graphics tablet, a scanner, a touch screen incorporated into the display, audio input devices such as voice recognition systems, microphones, and other types of input devices. In general, use of the term “input device” is intended to include all possible types of devices and ways to input information into computer system4110.

User interface output devices4178may include a display subsystem, a printer, a fax machine, or non-visual displays such as audio output devices. The display subsystem may include a cathode ray tube (CRT), a flat panel device such as a liquid crystal display (LCD) or LED device, a projection device, or some other mechanism for creating a visible image. The display subsystem may also provide non-visual display such as via audio output devices. In general, use of the term “output device” is intended to include all possible types of devices and ways to output information from computer system4110to the user or to another machine or computer system. The computer system further can include user interface output devices4178for communication with user equipment.

Storage subsystem4126stores the basic programming and data constructs that provide the functionality of certain embodiments of the present invention. For example, the various modules implementing the functionality of certain embodiments of the invention may be stored in a storage subsystem4126. These software modules are generally executed by processor subsystem4172.

Storage subsystem4126typically includes a number of memories including a main random access memory (RAM)4134for storage of instructions and data during program execution and a read only memory (ROM)4132in which fixed instructions are stored. File storage subsystem4136provides persistent storage for program and data files, and may include a hard disk drive, a CD ROM drive, an optical drive, or removable media cartridges. The databases and modules implementing the functionality of certain embodiments of the invention may have been provided on a computer readable medium such as one or more CD-ROMs, and may be stored by file storage subsystem4136. The host memory storage subsystem4126contains, among other things, computer instructions which, when executed by the processor subsystem4172, cause the computer system to operate or perform functions as described herein. As used herein, processes and software that are said to run in or on “the host” or “the computer”, execute on the processor subsystem4172in response to computer instructions and data in the host memory storage subsystem4126including any other local or remote storage for such instructions and data.

Bus subsystem4150provides a mechanism for letting the various components and subsystems of computer system4110communicate with each other as intended. Although bus subsystem4150is shown schematically as a single bus, alternative embodiments of the bus subsystem may use multiple busses.

Computer system4110itself can be of varying types including a personal computer, a portable computer, a workstation, a computer terminal, a network computer, a television, a mainframe, or any other data processing system or user device. Due to the ever changing nature of computers and networks, the description of computer system4110depicted inFIG.41is intended only as a specific example for purposes of illustrating embodiments of the present invention. Many other configurations of computer system4110are possible having more or less components than the computer system depicted inFIG.41.

Particular Implementations

Some particular implementations and features are described in the following discussion. The technology disclosed can be practiced as a variety of methods, devices or systems, or a computer readable media impressed with program instructions that, when executed on hardware, cause the hardware either to carry out a disclosed method or combine with the hardware to form a disclosed device or system.

One method implementation of the technology disclosed automatically coordinates updates to multiple elements in a document. In this context, the document can be a presentation deck, storyboard, a word processing document, a dashboard, a spreadsheet or a web page. Figures that illustrate multi-way replication outcomes includeFIG.1,2,315A-D,16A-B,18A-C,19. Element types subject to multi-way replication are inFIG.4and the text of the disclosure.

The implementation includes maintaining, for the document, multiple builds of property sets that include formatting and content properties, and publishing the property sets of the builds for use by elements of the document. The multiple builds are used for selectively multi-way replicating respective properties from the multiple builds onto the elements of the document that subscribe to the respective properties from the property sets of the respective builds. Publication and subscription are illustrated inFIGS.18-19andFIGS.43-46. Selectively replicating the respective properties to which an individual element subscribes, from one or more respective builds, includes controlling the replicating responsive to fine-grained selection among and subscription to the formatting and content properties in the property sets of the respective builds. The change to an element when a different build is selected is illustrated inFIG.131376,FIG.14A-D1434,1428,1454,1448. The selective multi-way replication to related elements, following a change to an element sharing the build of the altered property or properties, is illustrated inFIG.1,2,315A-D,16A-B,18A-C,19.

This method and other implementations of the technology disclosed can include one or more of the following features and/or features described in connection with additional methods disclosed. In the interest of conciseness, the combinations of features disclosed in this application are not individually enumerated and are not repeated with each base set of features. The method can be applied to replication in multiple documents, as illustrated inFIG.27,48,49. Default settings for multi-way replication element properties can be established, as illustrated inFIG.49. Named or titled groups of elements can be supported, as illustrated inFIG.20B-C,34. A named or titled group can be referenced as a single element. An element can be added to or removed from a group of elements, as illustrated inFIG.23. Elements that subscribe to a particular build can be visually identified, by highlighting, for instance, upon selection of a build identifier, as illustrated inFIG.44,45,46A-C.

In some implementations, the disclosed method further includes, when creating repeating elements on a page of the document in a group that begins with a base element, causing the repeating elements in the group to automatically subscribe to and share formatting properties subscribed to by the base element without subscribing to a content property of the base element.

The method can further include, responsive to a change in a formatting of any base or repeating element in the group, applying the change in formatting to other elements in the group that share a subscription to the formatting property changed. It can include, responsive to a change in a subscription to a formatting property of any base or repeating element in the group, differentiating the changed subscription from a shared subscription that is shared among other elements in the group. Elements can be automatically named in a group or outside a group, as illustrated inFIG.4. A user can change automatically named elements to have a user selected name.

Some implementations of the disclosed method include, in a build mode and responsive to a user change to properties in a first build while in the build mode, creating a second build that combines unchanged and changed properties in the property set of the first build, while leaving the first build unchanged. An implementation of this build mode feature is illustrated inFIG.9-FIG.11. While in the build creation mode, the technology disclosed includes auto recording of build properties as the user adds properties to or changes properties of an element or elements which are the subject of the build creation. So, in addition to extending a first build to a second build, recording can be used to formulate the first build.

One implementation of the disclosed method includes a library containing different variants of elements and builds. Some of the element builds are subject to shared subscriptions such that changes are selectively or totally applied across related elements within the library. The disclosed method can also include a library containing different variants of elements sharing common characteristics in which the elements are grouped together based on those common characteristics and share similar types of shared subscriptions of multi-way replication changes. The different elements may share common characteristics like the different Agenda pages shown inFIG.17Bor the different arrow charts shown inFIG.24A-C. The different builds may example their different properties in a visual way, as shown inFIG.51A, to make it easier for a user to specifically select what they want for use and better understand, what is shared selectively or totally across the different related elements sharing build properties.

In a library, the elements can be nested elements that include a parent element and children elements. The parent element controls an order in which the children elements visually appear. The parent element can include a graphic frame in which the children elements visually appear. The property sets of the children elements include an orientation property. Responsive to rotation of the graphic frame of the parent element in the document, the method includes adjusting orientation of children elements in the graphic frame responsive to respective orientation properties of the children elements.

Several the orientation property members are available, that can be used together or separately, in a library or without a library. Selective transposition, orientation shifting is illustrated inFIG.21,22,23,28A-C. Available orientations include a snap to axis orientation that causes content of a child element to retain a graphic orientation along a major axis of the graphic frame, when the graphic frame is rotated. Another is a snap to most horizontal axis orientation that causes content of the child element to assume a graphic orientation along a first or second axis of the graphic frame, whichever is most horizontal, when the graphic frame is rotated. In this context, the first and second axis are orthogonal. A third is an orient to horizontal orientation that causes content of the child element to retain a horizontal orientation within the graphic frame, when the graphic frame is rotated.

More generally, the technology can be implemented as a method that includes maintaining property set subscriptions for nested elements that include a parent element and children elements. The parent element controls an order in which the children elements visually appear. The property sets of the children elements include an orientation property. Responsive to rotation of the parent element in the document, adjusting orientation of children elements in the parent element responsive to respective orientation properties of the children elements.

Another method that implements the technology disclosed coordinates updates in a first document of a first document type to elements in a second document of a second document type that is different from the first document type. This method extends the previous method from within a document to among multiple documents of different types, with synchronization direction control. It includes maintaining, for the first document, multiple builds of property sets that include formatting and content properties, and publishing the property sets of the builds for use by elements of the document. Then, selectively multi-way replicating respective properties that subscribe to the respective properties from the property sets of the respective builds. Selectively replicating respective properties from the multiple builds onto an element of the second document to which the element subscribes, from one or more respective builds, includes controlling the replicating responsive to fine-grained selection among and subscription to the formatting and content properties in the property sets of the respective builds and controlling synchronization of the formatting and content properties of the first and second documents responsive to property-by-property specification of a direction of synchronization.

In some instances, the first document type is a spreadsheet and the second document type is a presentation. The direction of synchronization can include from the first document to the second document, from the second document to the first document, and both ways.

Default blocking of synchronization can be configured, depending on the first and second document types, so that values are cloned and embedded but not linked, or so that content is embedded and linked. Examples of the default settings for across document synchronization are shown inFIG.49,50A-B. In some instances, our technology automatically blocks the linkage of properties that do not translate from document type to document type well, such as size or location that has a very different meaning in a spreadsheet than in a presentation document. In some cases, our technology will also create a clone document, for example for a spreadsheet that is specifically attached to a presentation, form, dashboard, Word or other document for purposes of retaining presentation specific spreadsheet values without altering values of the original spreadsheet.

As explained above, the preceding following features and/or features described in connection with this and following additional methods. In the interest of conciseness, the combinations of features disclosed in this application are not individually enumerated and are not repeated with each base set of features.

Yet another method that implements the technology disclosed connects cells in a spreadsheet to cells on a page in a document. As above, document has a broad meaning. Atomization of cells copied in a grid is illustrated inFIG.29A-D,30A-D,34,35,36. The method includes both embedding and linking content of select cells within a grid of cells from a spreadsheet onto a page in a document. Content, in this context, includes values and formulas. The shape of a grid of cells depends on how it is selected. Lassoing cells selects a rectangle. An irregular grid of cells can be selected using a control-click selection, as shown inFIG.48-49. Individual embedded and linked cells are rearrangeable, on the page of the document, from a pattern of cells selected in the spreadsheet. Responsive to user commands that rearrange the cells in the grid of cells on the page, the method includes rearranging individual cells or adjoining groups cells to positions on the page separated from the grid, while maintaining the linking of content of the rearranged individual cells to corresponding non-rearranged cells in the spreadsheet. Rearranging the cells in the document does not rearrange their position in the spreadsheet.

As explained above, the preceding following features and/or features described in connection with this and following additional methods. In the interest of conciseness, the combinations of features disclosed in this application are not individually enumerated and are not repeated with each base set of features.

This method implementation can further include selectively replicating respective properties to which an individual cell on the page subscribes from property sets of one or more respective builds, independently of formatting in the spreadsheet linked to the page, responsive to fine-grained selection among and subscription to formatting properties in the property sets of the respective builds.

A similar method implementation connects graph elements in a spreadsheet or data table to a page in a document. Application of atomization to graph elements, similar to atomization of cells from a grid, is illustrated inFIG.31A-D,32A-D,33. This variation on the technology disclosed includes both embedding and linking content of graph elements from a spreadsheet onto a page in a document. Individual embedded and linked graph elements are rearrangeable, on the page of the document, from a pattern in the spreadsheet, without changing their positions in the spreadsheet. Responsive to user commands that rearrange the graph elements, rearranging individual graph elements or adjoining groups graph elements to positions on the page differing from the pattern the spreadsheet, while maintaining the linking of content of the rearranged individual graph elements on the page to corresponding graph elements in the spreadsheet.

Features can further include selectively replicating respective properties to which an individual graph element on the page subscribes from property sets of one or more of respective builds, allowing change from formatting in the spreadsheet linked to the page, responsive to fine-grained selection among and subscription to formatting properties in the property sets of the respective builds. The graph elements can include categorical labels and at least some of the categorical labels are rearranged from an axis to other positions on the page. The graph elements can include wedges of a pie or a donut chart and the rearranging includes rearranging a subset of wedges of the pie or donut chart. And, the graph elements can include bars of a bar graph and the rearranging includes rearranging an order of the bars on the page without changing formatting or content of the spreadsheet. Bars of a bar graph can be rearranged so at least some of the bars are positioned away from an axis used in the spreadsheet, rearranged to other positions on the page.

Some implementations of the disclosed technology can include the automatic creation of selective multi-way replicating capabilities for existing spreadsheet, presentation, or other document elements. This capability is exampled inFIG.42A-C,43where our technology automatically converts selected elements of an existing document into selective multi-way replicating elements automatically identifying and grouping differences in the content, formatting and other properties. One embodiment of this implementation includes analyzing a selected grid of cells in a document to determine formatting properties applied to the cells. While cells are referred to in this description, a presentation document might have text boxes or other elements, to which the technology disclosed equally applies. The example of cells in a spreadsheet may be the easiest to follow. The method continues with creating a build of property sets that includes formatting properties shared by the cells in the grid. For a formatting property that differs among the cells in the grid, automatically identifying each property value of the formatting property applied in any of the cells in the grid, and automatically establishing a build group that represents each property value with a distinct symbol. Then, publishing the build groups and property sets of the build for use by elements of the document.

Some method implementations further include, responsive to user selection of a first distinct symbol, causing display with emphasis on the cells in the selected grid which apply a property value corresponding to the first distinct symbol.

Other method implementations further include, responsive to user selection of a first distinct symbol in the context of an element of the document, applying a property value corresponding to the first distinct symbol to a corresponding property of the element of the document.

The method implementation of the technology disclosed also can be practiced as a device or system. A device can include a processor and memory, the memory loaded with instructions that, when executed, cause the device to locally implement any of the methods disclosed. A system can include a local device running a browser or light weight interface that uses network based web apps and connects to a server, instead of using traditional applications to implement the technology disclosed.

Yet another implementation may include a tangible, non-transitory computer readable storage media including computer program instructions that, when combined with computer hardware and executed, cause a computer to implement any of the methods described earlier. In this application, tangible computer readable storage media do not include non-patentable transitory signals. While the technology disclosed could be implemented using transitory signals, reference to tangible computer readable storage media does not include the non-patentable transitory signals. If the law changes and transitory signals become patentable, separate claims may be made to transitory signals.

Yet another implementation may include a tangible, non-transitory computer readable media, including program instructions loaded onto the media that, when combined with computer hardware, configures the hardware device to carry out any of the devices or systems described.

While the technology disclosed is disclosed by reference to the preferred embodiments and examples detailed above, it is to be understood that these examples are intended in an illustrative rather than in a limiting sense. It is contemplated that modifications and combinations will readily occur to those skilled in the art, which modifications and combinations will be within the spirit of the innovation and the scope of the following claims.