WO2009085526A1 - Creating and editing dynamic graphics via a web interface - Google Patents

Creating and editing dynamic graphics via a web interface Download PDF

Info

Publication number
WO2009085526A1
WO2009085526A1 PCT/US2008/085054 US2008085054W WO2009085526A1 WO 2009085526 A1 WO2009085526 A1 WO 2009085526A1 US 2008085054 W US2008085054 W US 2008085054W WO 2009085526 A1 WO2009085526 A1 WO 2009085526A1
Authority
WO
WIPO (PCT)
Prior art keywords
dynamic graphic
request
modified
dynamic
graphic
Prior art date
Application number
PCT/US2008/085054
Other languages
French (fr)
Inventor
Lawrence Waldman
Thomas Charles Underhill
Scott Harrison Douglas
Robert Emmett Kolba Jr.
Original Assignee
Microsoft Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corporation filed Critical Microsoft Corporation
Priority to EP08868960.9A priority Critical patent/EP2248000A4/en
Priority to KR1020107013927A priority patent/KR101531435B1/en
Priority to JP2010540712A priority patent/JP5687065B2/en
Priority to CN200880123232.9A priority patent/CN101910990B/en
Publication of WO2009085526A1 publication Critical patent/WO2009085526A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel

Definitions

  • Desktop productivity software applications allow users to create word processing documents, spreadsheet documents, presentation documents, and other kinds of documents. These types of productivity software applications often also provide advanced functionality for creating sophisticated graphics. For example, through the use of certain desktop presentation application programs, a user can create presentation documents that include dynamic graphics (also referred to as SmartArtTM graphics).
  • Dynamic graphics include a potentially infinite number of shapes that are dynamically added, positioned, and sized to accommodate specified text data.
  • one type of dynamic graphic is a flow chart diagram in which new shapes are dynamically added, sized, and positioned each time a new data element is added to the flowchart.
  • Dynamic graphics allow users to easily create sophisticated and highly polished graphic diagrams that include textual or numeric data.
  • a Web service is provided and exposed for generating dynamic graphics in response to Web service requests received from Web-based clients.
  • the Web service is configured to receive a request for a dynamic graphic from a client computer. In response to such a request, the Web service generates the requested dynamic graphic and returns the graphic to the client computer.
  • the request received by the Web service includes parameters specifying how the dynamic graphic is to be generated.
  • the request includes a list of text items along with data identifying a layout type for the dynamic graphic.
  • the Web service utilizes the list of text items and data identifying the layout type to generate the requested dynamic graphic.
  • a dynamic graphic may be generated that has shapes corresponding to the text items that are arranged according to the specified layout type.
  • the request may further include parameters that identify a visual style and a set of colors for the dynamic graphic. The Web service may utilize these parameters to generate the dynamic graphic in the visual style and colors specified by the request.
  • a visual style is a collection of properties that define visual aspects of the dynamic graphic.
  • a style may define a set of colors, visual effects, typefaces, and other properties for a dynamic graphic.
  • a Web interface is provided for creating a dynamic graphic.
  • a user interface is provided by way of a Web browser application program for specifying a list of text items and a layout type for a dynamic graphic.
  • a request to generate the dynamic graphic may also be received through the user interface.
  • a request for the dynamic graphic is transmitted to the Web service.
  • the request may include parameters identifying the list of text items and the layout type.
  • the requested dynamic graphic is then received from the Web service and displayed by way of the Web browser.
  • the user interface may also provide functionality for specifying a visual style and color for the dynamic graphic.
  • the dynamic graphic may also be modified through the use of the user interface.
  • FIGURE 1 is a network and computer architecture diagram showing aspects of an illustrative operating environment and several software components provided by the embodiments presented herein;
  • FIGURES 2-9 are screen diagrams showing illustrative screen displays generated by a Web browser application for creating and editing dynamic graphics;
  • FIGURES 10A- 1OB are flow diagrams showing aspects of one illustrative process provided herein for creating and editing dynamic graphics via a Web interface;
  • FIGURE 11 is a computer architecture diagram showing an illustrative computer hardware and software architecture for a computing system capable of implementing aspects of the embodiments presented herein.
  • program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
  • program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
  • program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types.
  • the subject matter described herein may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.
  • FIGURE 1 shows aspects of a system 100 capable of providing functionality for creating and editing dynamic graphics via a Web interface.
  • the system 100 includes a client computer 102 and a server computer 104.
  • the client computer 102 and the server computer 104 are interconnected through one or more local and wide area networks, such as the network 106. It should be appreciated that many more network connections may be utilized than illustrated in FIGURE 1.
  • the client computer 102 illustrated in FIGURE 1 comprises a standard desktop or laptop computer system capable of executing an operating system and one or more application programs. It should be appreciated, however, that in other embodiments the client computer 102 comprises another type of computing device.
  • the client computer 102 may comprise a mobile computing device such as a mobile telephone, a smart phone, an ultra-mobile personal computer, a tablet personal computer, or another type of mobile computing device. Other devices may also be utilized in a similar manner.
  • the client computer 102 is operative to execute a presentation application 108.
  • the presentation application 108 comprises a desktop productivity software application for creating presentation documents.
  • the presentation application 108 comprises the POWERPOINT presentation application from MICROSOFT CORPORATION of Redmond, Washington.
  • the presentation application 108 also provides functionality for creating dynamic graphics for inclusion in a presentation document.
  • dynamic graphics are graphics that include a potentially infinite number of shapes that are dynamically added, positioned, and sized to accommodate specified textual or numeric data. Any number of text items (0...N) may appear in each shape.
  • the Web site 116 is a server-based application that provides companion functionality to the presentation application 108.
  • the application provided by the Web site 116 includes functionality for creating presentation documents through the use of a standard Web browser application program 110 ("Web browser") executing on the client computer 102.
  • Web browser Web browser
  • the Web site 116 may be accessible through a Web browser 110 as described herein or through the use of another client application capable of requesting and rendering the Web site 116.
  • the Web site 116 also provides functionality for creating and editing dynamic graphics within a presentation document via a Web interface. It should be appreciated that although the embodiments presented herein are discussed in the context of a Web site 116 that provides functionality for creating and editing presentation documents, the concepts and technologies presented herein for generating dynamic graphics are not limited to such an environment. Rather, the concepts and technologies presented herein for generating dynamic graphics may be utilized with any type of Web site configured for virtually any purpose or with other types of applications.
  • a server computer 104 provides the Web site 116 described herein.
  • the server computer 104 comprises a standard server computer system capable of executing an operating system and one or more other programs.
  • the server computer 104 executes a Web server application 114 that is configured to receive and respond to requests for the Web site 116 and its component resources.
  • a Web service 118 also executes on the server computer 104 in conjunction with the provision of the Web site 116.
  • the Web service 118 provides functionality for generating dynamic graphics in response to requests received from the Web browser 110.
  • the Web browser 110 may execute client- side code 112.
  • the client- side code 112 operates in conjunction with the Web site 116 and the Web service 118 to provide the user interface functionality described herein.
  • the client- side code 112 may comprise JAVASCRIPT or another suitable technology for executing client- side code in conjunction with the display of a Web page. Additional details regarding the functionality provided by the Web site 116 and the Web service 118 are provided below with respect to FIGURES 2- 1OB.
  • FIGURES 2-9 are screen diagrams showing illustrative screen displays provided by the Web browser 110 in various embodiments presented herein. Referring now to FIGURE 2, additional details regarding the functionality provided by the Web site 116 in one embodiment will be presented.
  • the screen display 200A shown in FIGURE 2 illustrates a rendering of the Web site 116 generated by the Web browser 110.
  • the screen display 200A generated by the Web browser 110 includes user interfaces for creating and editing a presentation slide 202 (a "slide").
  • thumbnail images (“thumbnails”) 204A-204C are shown that correspond to slides created using the Web site 116.
  • the thumbnail 204 A corresponds to the displayed slide 202.
  • the thumbnails 204B-204C correspond to slides not shown by the Web browser 110.
  • the slide 202 may contain virtually any type of content including, but not limited to, text, static graphics, tables, video, sound, animation, and other types of multimedia content.
  • the user interface buttons 206A, 206B, and 206D may be selected using an appropriate user input device to insert a table, a picture, or a text box, respectively.
  • a placeholder 210 is provided in one embodiment to define the location on the slide 202 at which a newly inserted object will be placed. According to other embodiments, new objects may be freely inserted at any location on the slide 202 without the use of the placeholder 210.
  • the Web site 116 may also provide other suitable user interfaces not illustrated or described further herein for designing, editing, reviewing, and sharing presentation slides.
  • the presentation slide 202 may also include dynamic graphics.
  • a user interface button 206C is provided which, when selected, will initiate a process for placing a new dynamic graphic at the location of the placeholder 210.
  • a user may select the user interface button 206C using a mouse cursor 212 or other suitable user input device to begin this process.
  • a request is transmitted to the Web service 118 for data identifying available layout types for the new dynamic graphic.
  • the available layout types are then displayed and a user is permitted to select one of the available layout types for the new dynamic graphic. Additional details regarding this process are provided below with respect to FIGURE 3.
  • FIGURE 3 shows a screen display 200B generated by the Web browser 110 following the selection of the user interface button 206C.
  • selection of the user interface button 206C will cause a request to be transmitted to the Web service 118 for data identifying the available layout types for a new dynamic graphic.
  • a layout defines the manner in which the shapes within the dynamic graphic will be laid out.
  • available diagram types may include process diagrams, list diagrams, hierarchy diagrams, relationship diagrams, matrix diagrams, pyramid diagrams, and others.
  • the Web service 118 In response to receiving a request for the available layout types, the Web service 118 returns thumbnails 302A-302F corresponding to the available layouts in one embodiment.
  • the thumbnails 302A-302F are displayed by the Web browser 110 in a dialog box 300 and made available for user selection.
  • the thumbnail 302 A corresponds to a pyramid diagram
  • the thumbnails 302B-302D correspond to cycle diagrams
  • the thumbnail 302C corresponds to a process diagram
  • the thumbnail 302E corresponds to a hierarchy diagram
  • the thumbnail 302F corresponds to a list diagram.
  • Other types of layouts may also be provided.
  • a user may utilize an appropriate user input device to select one of the thumbnails 302A-302F. For instance, as shown in FIGURE 3, the thumbnail 302C may be selected using the mouse cursor 212. This causes a dynamic graphic having a process diagram layout to be inserted onto the slide 202.
  • a user may select the user interface button 206E to complete the insertion of the new dynamic graphic or may select the user interface button 206F to cancel the insertion process and return to the screen display 200A shown in FIGURE 2.
  • user interfaces are provided for editing and otherwise modifying the dynamic graphic. Details in this regard are provided below with respect to FIGURES 4-9.
  • FIGURE 4 shows a screen display 200C generated by the Web browser 110 following the insertion of a new dynamic graphic 402 onto the slide 202.
  • the dynamic graphic 402 was generated by the Web service 118 following the selection by a user of a desired layout type, as discussed above with respect to FIGURE 3. Details regarding the communication between the Web browser 110 and the Web service 118 for generating the dynamic graphic 402 are provided below with respect to FIGURES 10A- 1OB.
  • the exemplary dynamic graphic 402 shown in FIGURE 4 is a process diagram that includes the shapes 404A-404C.
  • Text items 406A-406C are also provided within each of the shapes 404A-404C, respectively. Default placeholder text is inserted into each of the shapes 404A-404C when a new dynamic graphic is created.
  • a user may edit the text items 406A-406C directly by selecting the text with an appropriate user input device and typing new text.
  • another user interface may be provided for editing the text, adding new shapes, arranging the order of the shapes, and performing other functions.
  • Such an interface may be displayed in response to the selection of the user interface tab 408B or the user interface button 206G using an appropriate user input mechanism, such as the mouse cursor 212.
  • an appropriate user input mechanism such as the mouse cursor 212.
  • user interfaces may also be provided for modifying the layout of the dynamic graphic 402, for changing the colors of the dynamic graphic 402, and for modifying the visual style of the dynamic graphic 402.
  • the user interface buttons 302A-302C may be utilized to display thumbnails of the available layout types. Selection of one of the user interface buttons 302A-302C will cause the dynamic graphic 402 to be reformatted according to the layout type corresponding to the selected user interface button.
  • a call to the Web service 118 returns the modified dynamic graphic 402.
  • the client-side code 112 may monitor the location of the mouse cursor 212. If the mouse cursor 212 "hovers" over one of the user interface buttons 302A-302C, a call is made to the Web service 118 for an updated dynamic graphic 402. The dynamic graphic 402 may then be displayed to the user to provide a live preview of the layouts corresponding to the user interface buttons 302 A- 302C. Additional details regarding modification of the layout type of the dynamic graphic 402 will be provided below with respect to FIGURE 8.
  • buttons 410A-410C may be utilized in a similar manner to the buttons 302A-302C to modify the visual style of the dynamic graphic 402. For instance, styles may be applied through the selection of the buttons 410A-410C for modifying the material, three-dimensional properties, outline properties, fill properties, and shadow of the dynamic graphic 402. Other visual aspects may be modified in a similar manner.
  • a live preview of the available styles may also be provided in the manner described above. It should be appreciated that other user interface controls may also be provided to show the user a large number of available layout types and styles.
  • a user interface button 2061 may also be provided which, when selected, will reset the dynamic graphic 402 to its original visual state.
  • FIGURE 5 shows a screen diagram 200D generated by the Web browser 110 following the selection by a user of the user interface tab 408B using an appropriate user input device, such as the mouse cursor 212.
  • the user interface illustrated in FIGURE 5 includes a list 504 showing all of the text items 406A-406C corresponding to the shapes 404A-404C in the dynamic graphic 402.
  • the content of the list 504 is utilized by the Web service 118 to layout and render the appropriate dynamic graphic 402.
  • the illustrative list 504 shown in FIGURE 5 includes three text items 406A-406C.
  • the dynamic graphic 402 generated based upon the list 504 will include three shapes 404A-404C, with each shape containing one of the text items 406A-406C, respectively.
  • the text items 406A-406C may be selected and edited directly to change their content. For instance, in one example illustrated in FIGURE 6, the default text has been replaced for the text items 406A-406C with the custom text "DEPLOY”, “SERVICE”, and “UPGRADE”, respectively.
  • the user interface tab 408A When a user selects the user interface tab 408A to return to the view of the dynamic graphic 402, the customized text items 406A-406C are reflected on the dynamic graphic 402 as illustrated in FIGURE 7.
  • a user interface button 206N may also be provided which, when selected, will cause the modifications to the list 504 to be applied to the dynamic graphic. The user interface button 206P may be selected to cancel any modifications to the list 504.
  • a Web service call is performed to the Web service 118 with the modified text items 406A-406C to generate the updated dynamic graphic 402 shown in FIGURE 7.
  • the Web service 118 is called to process modifications to the list 504 in real-time as the modifications are made. In this manner, the list 504 and the dynamic graphic 402 are updated in real-time. Because the modifications to the list 504 are processed as they are made, the user interface button 206N is not utilized in this embodiment.
  • the user interface illustrated in FIGURE 5 also provides functionality for modifying the order of the text items 406A-406C in the list 504.
  • the user interface button 206J may be selected to promote a selected text item 406 in the list 504.
  • the user interface button 206K may be similarly selected to demote a selected text item 206 in the list 504. Modifications to the order of the text items 406A-406C will be reflected in the dynamic graphic 402.
  • the user interface button 206L may also be selected to add a new text item to the list 504, and the user interface button 206M may be selected to remove a text item from the list 504.
  • these modifications are reflected in the dynamic graphic 402 through a Web service call to the Web service 118.
  • the Web service 118 In response to such a call, the Web service 118 generates a new dynamic graphic 402. Additional details regarding this process are provided below with respect to FIGURES 10A- 1OB.
  • FIGURE 8 is a screen display 200G generated by the Web browser 110 that illustrates functionality provided herein for modifying the layout type of the dynamic graphic 402.
  • the user interface buttons 302A-302C may be utilized to display thumbnails of the available layout types. Selection of one of the user interface buttons 302A-302C will cause the dynamic graphic 402 to be reformatted according to the layout type corresponding to the selected user interface button.
  • the user interface button 302B has been selected using the mouse cursor 212.
  • a Web service call is made to the Web service 118 to regenerate the dynamic graphic 402 in a layout type corresponding to the thumbnail shown on the user interface button 302B.
  • the layout type for the dynamic graphic 402 has been changed from the process diagram shown previously to a cycle diagram as shown in FIGURE 8.
  • the shapes 406A- 406C have been changed to circles, resized, and re-positioned.
  • the text items 404A-404C within each of the shapes 406A-406C remain the same. This modification is accomplished through a call to the Web service 118 following the selection of the user interface button 302B. Additional details regarding this process will be provided below with respect to FIGURES 10A- 1OB.
  • FIGURE 9 is a screen display 200H generated by the Web browser 110 that illustrates functionality provided herein for modifying the visual style of the dynamic graphic 402.
  • the user interface buttons 410A-410C may be utilized to display thumbnails corresponding to different visual styles for the dynamic graphic 402. Selection of one of the user interface buttons 410A-410C will cause the dynamic graphic 402 to be reformatted according to the visual style corresponding to the selected user interface button.
  • the user interface button 410A has been selected using the mouse cursor 212.
  • a Web service call is made to the Web service 118 to regenerate the dynamic graphic 402 in a visual style corresponding to the thumbnail shown on the user interface button 410A.
  • the visual style for each of the shapes 404A-404C has been modified. It should be appreciated that the color of all of the shapes in the dynamic graphic, or one shape individually, may be modified in a similar manner. Additional details regarding the communication with the Web service 118 for modifying the visual style of the dynamic graphic 402 will be provided below with respect to FIGURES 10A- 1OB.
  • FIGURES 10A-10B are flow diagrams showing a routine 1000 and a routine 1050 that together illustrate aspects of the operation of the client computer 102 and the server computer 104 for providing the functionality described herein for creating and editing a dynamic graphic via a Web interface.
  • the routine 1000 illustrates the operation of the client computer 102 in this regard while the routine 1050 illustrates the operation of the server computer 104.
  • the routines 1000 and 1050 are discussed together herein.
  • the logical operations described herein are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance and other requirements of the computing system. Accordingly, the logical operations described herein are referred to variously as states operations, structural devices, acts, or modules. These operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof. It should also be appreciated that more or fewer operations may be performed than shown in the figures and described herein. These operations may also be performed in a different order than those described herein.
  • the routine 1000 begins at operation 1002, where the Web browser 110 executing on the client computer 102 requests a page of the Web site 116 from the server computer 104.
  • the server computer 104 receives the request at operation 1052 of the routine 1050.
  • the server computer 104 returns the requested page to the Web browser 110 at operation 1054 of the routine 1050.
  • the client computer 102 receives the page of the Web site 116 at operation 1004 and renders the page.
  • the screen display provided by the Web browser 110 following the rendering of the page may appear similar to the screen display 200A described above with respect to FIGURE 2.
  • the routine 1000 continues to operation 1006, where the Web browser 110 receives a request to insert a new dynamic graphic 402 into the slide 202.
  • a request may come in the form of a user selection of the user interface button 206C.
  • the Web browser 110 transmits a request to the Web service 118 for data identifying the available layout types for a new dynamic graphic 402.
  • the Web service 118 provides thumbnails 302A-302F that graphically illustrate the available layout types for a new dynamic graphic 402 in response to such a request.
  • the Web service 118 receives this request and returns the thumbnails at operations 1056 and 1058 of the routine 1050, respectively.
  • Each of the thumbnails 302A- 302F may be associated with a parameter that uniquely identifies a corresponding layout type.
  • the Web browser 110 receives the thumbnails 302A-
  • a selection is then received from a user at operation 1012 of one of the available layout types. For instance, a user may utilize the mouse cursor 212 to select a thumbnail 302A-302F corresponding to the desired layout type. This process is discussed in detail above with respect to FIGURE 3. From operation 1012, the routine 1000 continues to operation 1014, illustrated in FIGURE 1OB.
  • the Web browser 110 transmits a request to the Web service 118 for the dynamic graphic 402.
  • the request may include the list 502 of text items 406A-406C that are utilized to generate the dynamic graphic 402.
  • Data identifying the selected layout type for the dynamic graphic may also be transmitted in the request.
  • the Web service 118 utilizes this data to layout and render the dynamic graphic 1014 in the specified layout type, including shapes corresponding to each of the text items 406A-406C in the list 502.
  • additional parameters may also be included with the request, including data identifying a style and a color for the dynamic graphic 402.
  • the Web service 118 likewise uses these parameters to generate the dynamic graphic 402 in the desired visual style and color.
  • the Web service 118 receives the request for a dynamic graphic 402 at operation 1060 of the routine 1050. In response to receiving the request, the Web service 118 lays out and renders the dynamic graphic 402 at operation 1062 in the manner described above.
  • the rendered dynamic graphic 402 is returned to the Web browser 110 in response to the request at operation 1064 of the routine 1050.
  • the dynamic graphic 402 may be rendered using a standard graphic file format suitable for transmission on the Web, such as the Portable Network Graphics ("PNG”) format.
  • PNG Portable Network Graphics
  • the Web browser 110 receives the dynamic graphic 402 at operation 1016 and displays the dynamic graphic 402 as described above with respect to FIGURES 2-9.
  • the routine 1000 then continues to operation 1020, where the client-side code 112 determines whether a request has been made to modify the dynamic graphic, such as the modification of the text items contained in the graphic or a modification to the layout, style, or color of the dynamic graphic 402. User interfaces for modifying these aspects of the dynamic graphic 402 are described above with reference to FIGURES 4-9. [0052] If, at operation 1020, it is determined that the dynamic graphic 402 has been modified, the routine 1000 continues to operation 1022 where a second request is transmitted to the Web service 118 for a dynamic graphic 402.
  • the second request includes parameters corresponding to the modifications to the dynamic graphic 402. For instance, if the layout of the dynamic graphic 402 was modified, the request transmitted at operation 1022 would include data identifying the modified layout type for the dynamic graphic 402. Similarly, if the list 504 of text items 406A-406C, the style, or the color of the dynamic graphic 402 were modified, the request transmitted at operation 1022 would include a modified list of text items, data identifying the modified style, and/or data identifying the modified color, respectively. Such a request may be transmitted to the Web service 118 each time a modification to the dynamic graphic 402 is made. Alternatively, a sequence of modifications may be recorded and transmitted to the Web service 118 all at once to conserve network bandwidth.
  • the Web service 118 receives the second request for a dynamic graphic 402 at operation 1066 of the routine 1050. In response to receiving the request, the Web service 118 lays out and renders the modified dynamic graphic 402 at operation 1068 in the manner described above. The Web service 118 then returns the rendered dynamic graphic 402 to the Web browser 110 in response to the request at operation 1070 of the routine 1050. From operation 1070, the routine 1050 continues to operation 1072, where it ends. [0054] At operation 1024 of the routine 1000, the Web browser 110 receives and displays the modified dynamic graphic. The routine 1000 then continues to operation 1026, where a determination is made as to whether additional modifications have been made to the dynamic graphic 402. If so, the routine 1000 returns to operation 1022, described above, where the modifications are processed by sending additional requests to the Web service 118 for the dynamic graphic 402. If no additional modifications have been made, the routine 1000 continues to operation 1028, where it ends.
  • the Web service 118 operates in a stateless mode of operation. In this mode of operation, the Web service 118 does not maintain any information regarding the state of the dynamic graphic 402. Each time the Web browser 110 transmits a request for a dynamic graphic 402, all of the parameters are provided. In this manner, the Web service 118 can remain stateless with respect to the Web browser 110.
  • the Web service 118 operates in a state ful mode of operation wherein it maintains the state of the dynamic graphic 402.
  • the Web service 118 may maintain data identifying the layout type, list 504 of text items 406, style, and color, for the dynamic graphic 402.
  • the Web browser 110 only needs to transmit changed parameters to the Web service 118 rather than all of the parameters, thereby saving network bandwidth.
  • This mode of operation may be useful when multiple users are concurrently permitted to edit the presentation slide 202 and the dynamic graphic 402.
  • FIGURE 11 shows an illustrative computer architecture for a computer 1100 capable of executing the software components described herein for creating and editing dynamic graphics via a Web interface in the manner presented above.
  • the computer architecture shown in FIGURE 11 illustrates a conventional desktop, laptop, or server computer and may be utilized to execute any aspects of the software components presented herein described as executing on the client computer 102 or the server computer 104.
  • the computer architecture shown in FIGURE 11 includes a central processing unit 1102 ("CPU"), a system memory 1108, including a random access memory 1114 (“RAM”) and a read-only memory (“ROM”) 1116, and a system bus 1104 that couples the memory to the CPU 1102.
  • CPU central processing unit
  • RAM random access memory
  • ROM read-only memory
  • the computer 1100 further includes a mass storage device 1110 for storing an operating system 1118, application programs, and other program modules, which are described in greater detail herein.
  • the mass storage device 1110 is connected to the CPU 1102 through a mass storage controller (not shown) connected to the bus 1104.
  • the mass storage device 1110 and its associated computer-readable media provide non-volatile storage for the computer 1100.
  • computer-readable media can be any available computer storage media that can be accessed by the computer 1100.
  • computer-readable media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data.
  • computer-readable media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks ("DVD”), HD-DVD, BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 1100.
  • the computer 1100 may operate in a networked environment using logical connections to remote computers through a network such as the network 106.
  • the computer 1100 may connect to the network 106 through a network interface unit 1106 connected to the bus 1104. It should be appreciated that the network interface unit 1106 may also be utilized to connect to other types of networks and remote computer systems.
  • the computer 1100 may also include an input/output controller 1112 for receiving and processing input from a number of other devices, including a keyboard, mouse, or electronic stylus (not shown in FIGURE 11). Similarly, an input/output controller may provide output to a display screen, a printer, or other type of output device (also not shown in FIGURE 11).
  • a number of program modules and data files may be stored in the mass storage device 1110 and RAM 1114 of the computer 1100, including an operating system 1118 suitable for controlling the operation of a networked desktop, laptop, or server computer.
  • the mass storage device 1110 and RAM 1114 may also store one or more program modules.
  • the mass storage device 1110 and the RAM 1114 may store the Web browser 110, client-side code 112, and the Web service 118, each of which was described in detail above with respect to FIGURES 1-lOB.
  • the mass storage device 1110 and the RAM 1114 may also store other types of program modules.

Abstract

Technologies are described herein for creating and editing dynamic graphics via a World Wide Web ('Web') interface. A Web service is provided for generating dynamic graphics in response to requests received from client computers. In response to requests from client computers, the Web service generates requested dynamic graphics and returns the generated dynamic graphics to the client computers in response to the requests. Parameters may be provided to the Web service indicating a list of text items, a layout type, a visual style, a color, and other aspects of a dynamic graphic. A user interface is also provided for creating and editing a dynamic graphic within a Web browser application.

Description

CREATING AND EDITING DYNAMIC GRAPHICS VIA A WEB INTERFACE
BACKGROUND
[0001] Desktop productivity software applications allow users to create word processing documents, spreadsheet documents, presentation documents, and other kinds of documents. These types of productivity software applications often also provide advanced functionality for creating sophisticated graphics. For example, through the use of certain desktop presentation application programs, a user can create presentation documents that include dynamic graphics (also referred to as SmartArt™ graphics).
[0002] Dynamic graphics include a potentially infinite number of shapes that are dynamically added, positioned, and sized to accommodate specified text data. For example, one type of dynamic graphic is a flow chart diagram in which new shapes are dynamically added, sized, and positioned each time a new data element is added to the flowchart. Dynamic graphics allow users to easily create sophisticated and highly polished graphic diagrams that include textual or numeric data.
[0003] Unfortunately, the capability for creating dynamic graphics has previously been limited to desktop productivity software applications. If a user does not have a locally installed software application program capable of creating dynamic graphics, it may be a very difficult and arduous process for a user to create a professional looking graphic with text. It may be similarly difficult for a user to modify the graphic to change the content, layout, style, color, or other visual characteristics of the graphic.
[0004] It is with respect to these considerations and others that the disclosure made herein is presented.
SUMMARY
[0005] Technologies are described herein for creating and editing dynamic graphics via a World Wide Web ("Web") interface. In particular, through the use of the embodiments presented herein, dynamic graphics can be created and edited within a Web browser application rather than through the use of a desktop productivity software application. This allows users to create and edit dynamic graphics even when a full- featured desktop productivity software application capable of creating dynamic graphics is unavailable. [0006] According to one aspect presented herein, a Web service is provided and exposed for generating dynamic graphics in response to Web service requests received from Web-based clients. In particular, the Web service is configured to receive a request for a dynamic graphic from a client computer. In response to such a request, the Web service generates the requested dynamic graphic and returns the graphic to the client computer.
[0007] According to other aspects, the request received by the Web service includes parameters specifying how the dynamic graphic is to be generated. For instance, in one implementation the request includes a list of text items along with data identifying a layout type for the dynamic graphic. The Web service utilizes the list of text items and data identifying the layout type to generate the requested dynamic graphic. For instance, a dynamic graphic may be generated that has shapes corresponding to the text items that are arranged according to the specified layout type. According to other aspects, the request may further include parameters that identify a visual style and a set of colors for the dynamic graphic. The Web service may utilize these parameters to generate the dynamic graphic in the visual style and colors specified by the request. A visual style is a collection of properties that define visual aspects of the dynamic graphic. For instance, a style may define a set of colors, visual effects, typefaces, and other properties for a dynamic graphic. [0008] According to other aspects presented herein, a Web interface is provided for creating a dynamic graphic. In one implementation, a user interface is provided by way of a Web browser application program for specifying a list of text items and a layout type for a dynamic graphic. A request to generate the dynamic graphic may also be received through the user interface. In response to receiving such a request, a request for the dynamic graphic is transmitted to the Web service. The request may include parameters identifying the list of text items and the layout type. The requested dynamic graphic is then received from the Web service and displayed by way of the Web browser. The user interface may also provide functionality for specifying a visual style and color for the dynamic graphic. The dynamic graphic may also be modified through the use of the user interface.
[0009] It should be appreciated that the above-described subject matter may also be implemented as a computer-controlled apparatus, a computer process, a computing system, or as an article of manufacture such as a computer-readable medium. These and various other features will be apparent from a reading of the following Detailed Description and a review of the associated drawings. [0010] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended that this Summary be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
BRIEF DESCRIPTION OF THE DRAWINGS
[0011] FIGURE 1 is a network and computer architecture diagram showing aspects of an illustrative operating environment and several software components provided by the embodiments presented herein;
[0012] FIGURES 2-9 are screen diagrams showing illustrative screen displays generated by a Web browser application for creating and editing dynamic graphics; [0013] FIGURES 10A- 1OB are flow diagrams showing aspects of one illustrative process provided herein for creating and editing dynamic graphics via a Web interface; and [0014] FIGURE 11 is a computer architecture diagram showing an illustrative computer hardware and software architecture for a computing system capable of implementing aspects of the embodiments presented herein.
DETAILED DESCRIPTION
[0015] The following detailed description is directed to technologies for creating and editing dynamic graphics via a Web interface. In the following detailed description, references are made to the accompanying drawings that form a part hereof, and which are shown by way of illustration specific embodiments or examples. Referring now to the drawings, in which like numerals represent like elements throughout the several figures, technologies for creating and editing dynamic graphics via a Web interface will be described.
[0016] While the subject matter described herein is presented in the general context of program modules that execute in conjunction with the execution of an operating system and application programs on a computer system, those skilled in the art will recognize that other implementations may be performed in combination with other types of program modules. Generally, program modules include routines, programs, components, data structures, and other types of structures that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the subject matter described herein may be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, minicomputers, mainframe computers, and the like.
[0017] Turning now to FIGURE 1, details will be provided regarding an illustrative operating environment and several software components provided by the embodiments presented herein. In particular, FIGURE 1 shows aspects of a system 100 capable of providing functionality for creating and editing dynamic graphics via a Web interface. The system 100 includes a client computer 102 and a server computer 104. As illustrated in FIGURE 1, the client computer 102 and the server computer 104 are interconnected through one or more local and wide area networks, such as the network 106. It should be appreciated that many more network connections may be utilized than illustrated in FIGURE 1.
[0018] In one embodiment, the client computer 102 illustrated in FIGURE 1 comprises a standard desktop or laptop computer system capable of executing an operating system and one or more application programs. It should be appreciated, however, that in other embodiments the client computer 102 comprises another type of computing device. For instance, according to embodiments, the client computer 102 may comprise a mobile computing device such as a mobile telephone, a smart phone, an ultra-mobile personal computer, a tablet personal computer, or another type of mobile computing device. Other devices may also be utilized in a similar manner.
[0019] According to embodiments the client computer 102 is operative to execute a presentation application 108. The presentation application 108 comprises a desktop productivity software application for creating presentation documents. For instance, in one implementation the presentation application 108 comprises the POWERPOINT presentation application from MICROSOFT CORPORATION of Redmond, Washington. The presentation application 108 also provides functionality for creating dynamic graphics for inclusion in a presentation document. As discussed briefly above, dynamic graphics are graphics that include a potentially infinite number of shapes that are dynamically added, positioned, and sized to accommodate specified textual or numeric data. Any number of text items (0...N) may appear in each shape.
[0020] If the client computer 102 is not configured with the presentation application
108, it may be difficult or impossible for a user of the client computer 102 to create presentation documents that include dynamic graphics. In order to address this difficulty, the embodiments presented herein provide a presentation application companion Web site 116 (the "Web site"). The Web site 116 is a server-based application that provides companion functionality to the presentation application 108. In particular, the application provided by the Web site 116 includes functionality for creating presentation documents through the use of a standard Web browser application program 110 ("Web browser") executing on the client computer 102. It should be appreciated that although the Web site 116 is described herein as being accessible through the public Internet, the Web site 116 may also be made available on a private internal Web site. Moreover, the Web site 116 may be accessible through a Web browser 110 as described herein or through the use of another client application capable of requesting and rendering the Web site 116. [0021] The Web site 116 also provides functionality for creating and editing dynamic graphics within a presentation document via a Web interface. It should be appreciated that although the embodiments presented herein are discussed in the context of a Web site 116 that provides functionality for creating and editing presentation documents, the concepts and technologies presented herein for generating dynamic graphics are not limited to such an environment. Rather, the concepts and technologies presented herein for generating dynamic graphics may be utilized with any type of Web site configured for virtually any purpose or with other types of applications.
[0022] A server computer 104 provides the Web site 116 described herein. The server computer 104 comprises a standard server computer system capable of executing an operating system and one or more other programs. In particular, in the embodiments presented herein the server computer 104 executes a Web server application 114 that is configured to receive and respond to requests for the Web site 116 and its component resources. A Web service 118 also executes on the server computer 104 in conjunction with the provision of the Web site 116. As will be described in greater detail below, the Web service 118 provides functionality for generating dynamic graphics in response to requests received from the Web browser 110. In this regard, the Web browser 110 may execute client- side code 112. The client- side code 112 operates in conjunction with the Web site 116 and the Web service 118 to provide the user interface functionality described herein. The client- side code 112 may comprise JAVASCRIPT or another suitable technology for executing client- side code in conjunction with the display of a Web page. Additional details regarding the functionality provided by the Web site 116 and the Web service 118 are provided below with respect to FIGURES 2- 1OB. [0023] FIGURES 2-9 are screen diagrams showing illustrative screen displays provided by the Web browser 110 in various embodiments presented herein. Referring now to FIGURE 2, additional details regarding the functionality provided by the Web site 116 in one embodiment will be presented. The screen display 200A shown in FIGURE 2 illustrates a rendering of the Web site 116 generated by the Web browser 110. In particular, the screen display 200A generated by the Web browser 110 includes user interfaces for creating and editing a presentation slide 202 (a "slide"). In one implementation, thumbnail images ("thumbnails") 204A-204C are shown that correspond to slides created using the Web site 116. For instance, the thumbnail 204 A corresponds to the displayed slide 202. The thumbnails 204B-204C correspond to slides not shown by the Web browser 110.
[0024] The slide 202 may contain virtually any type of content including, but not limited to, text, static graphics, tables, video, sound, animation, and other types of multimedia content. The user interface buttons 206A, 206B, and 206D may be selected using an appropriate user input device to insert a table, a picture, or a text box, respectively. A placeholder 210 is provided in one embodiment to define the location on the slide 202 at which a newly inserted object will be placed. According to other embodiments, new objects may be freely inserted at any location on the slide 202 without the use of the placeholder 210. The Web site 116 may also provide other suitable user interfaces not illustrated or described further herein for designing, editing, reviewing, and sharing presentation slides.
[0025] According to embodiments, the presentation slide 202 may also include dynamic graphics. In this regard, a user interface button 206C is provided which, when selected, will initiate a process for placing a new dynamic graphic at the location of the placeholder 210. For example, as shown in FIGURE 2, a user may select the user interface button 206C using a mouse cursor 212 or other suitable user input device to begin this process. Upon receiving such a selection, a request is transmitted to the Web service 118 for data identifying available layout types for the new dynamic graphic. The available layout types are then displayed and a user is permitted to select one of the available layout types for the new dynamic graphic. Additional details regarding this process are provided below with respect to FIGURE 3.
[0026] Referring now to FIGURE 3, additional details regarding one process for inserting a new dynamic graphic onto the slide 202 will be described. In particular, FIGURE 3 shows a screen display 200B generated by the Web browser 110 following the selection of the user interface button 206C. As mentioned briefly above, selection of the user interface button 206C will cause a request to be transmitted to the Web service 118 for data identifying the available layout types for a new dynamic graphic. A layout defines the manner in which the shapes within the dynamic graphic will be laid out. For instance, available diagram types may include process diagrams, list diagrams, hierarchy diagrams, relationship diagrams, matrix diagrams, pyramid diagrams, and others. [0027] In response to receiving a request for the available layout types, the Web service 118 returns thumbnails 302A-302F corresponding to the available layouts in one embodiment. The thumbnails 302A-302F are displayed by the Web browser 110 in a dialog box 300 and made available for user selection. The thumbnail 302 A corresponds to a pyramid diagram, the thumbnails 302B-302D correspond to cycle diagrams, the thumbnail 302C corresponds to a process diagram, the thumbnail 302E corresponds to a hierarchy diagram, and the thumbnail 302F corresponds to a list diagram. Other types of layouts may also be provided.
[0028] In order to insert a dynamic graphic corresponding to one of the available layout types onto the slide 202, a user may utilize an appropriate user input device to select one of the thumbnails 302A-302F. For instance, as shown in FIGURE 3, the thumbnail 302C may be selected using the mouse cursor 212. This causes a dynamic graphic having a process diagram layout to be inserted onto the slide 202. A user may select the user interface button 206E to complete the insertion of the new dynamic graphic or may select the user interface button 206F to cancel the insertion process and return to the screen display 200A shown in FIGURE 2. Once the new dynamic graphic has been placed onto the slide 202, user interfaces are provided for editing and otherwise modifying the dynamic graphic. Details in this regard are provided below with respect to FIGURES 4-9. [0029] Referring now to FIGURE 4, additional details regarding the user interfaces provided herein for editing a newly inserted dynamic graphic 402 will be described. In particular, FIGURE 4 shows a screen display 200C generated by the Web browser 110 following the insertion of a new dynamic graphic 402 onto the slide 202. The dynamic graphic 402 was generated by the Web service 118 following the selection by a user of a desired layout type, as discussed above with respect to FIGURE 3. Details regarding the communication between the Web browser 110 and the Web service 118 for generating the dynamic graphic 402 are provided below with respect to FIGURES 10A- 1OB. [0030] The exemplary dynamic graphic 402 shown in FIGURE 4 is a process diagram that includes the shapes 404A-404C. Text items 406A-406C are also provided within each of the shapes 404A-404C, respectively. Default placeholder text is inserted into each of the shapes 404A-404C when a new dynamic graphic is created. In one embodiment, a user may edit the text items 406A-406C directly by selecting the text with an appropriate user input device and typing new text. Alternatively, another user interface may be provided for editing the text, adding new shapes, arranging the order of the shapes, and performing other functions. Such an interface may be displayed in response to the selection of the user interface tab 408B or the user interface button 206G using an appropriate user input mechanism, such as the mouse cursor 212. One such user interface is described in detail below with respect to FIGURES 5-6. Following the editing of the dynamic graphic 402 using the user interface shown in FIGURES 5-6 and described below, a user may return to the user interface shown in FIGURE 4 by selecting the user interface tab 408A.
[0031] According to embodiments, user interfaces may also be provided for modifying the layout of the dynamic graphic 402, for changing the colors of the dynamic graphic 402, and for modifying the visual style of the dynamic graphic 402. For instance, in one embodiment, the user interface buttons 302A-302C may be utilized to display thumbnails of the available layout types. Selection of one of the user interface buttons 302A-302C will cause the dynamic graphic 402 to be reformatted according to the layout type corresponding to the selected user interface button. A call to the Web service 118 returns the modified dynamic graphic 402.
[0032] According to other embodiments, the client-side code 112 may monitor the location of the mouse cursor 212. If the mouse cursor 212 "hovers" over one of the user interface buttons 302A-302C, a call is made to the Web service 118 for an updated dynamic graphic 402. The dynamic graphic 402 may then be displayed to the user to provide a live preview of the layouts corresponding to the user interface buttons 302 A- 302C. Additional details regarding modification of the layout type of the dynamic graphic 402 will be provided below with respect to FIGURE 8.
[0033] The user interface buttons 410A-410C may be utilized in a similar manner to the buttons 302A-302C to modify the visual style of the dynamic graphic 402. For instance, styles may be applied through the selection of the buttons 410A-410C for modifying the material, three-dimensional properties, outline properties, fill properties, and shadow of the dynamic graphic 402. Other visual aspects may be modified in a similar manner. A live preview of the available styles may also be provided in the manner described above. It should be appreciated that other user interface controls may also be provided to show the user a large number of available layout types and styles. A user interface button 2061 may also be provided which, when selected, will reset the dynamic graphic 402 to its original visual state. Additional details regarding modification of the visual style of the dynamic graphic 402 will be provided below with respect to FIGURE 9. [0034] Turning now to FIGURE 5, additional details will be provided regarding one user interface provided herein for editing the dynamic graphic 402, including editing the text items 406A-406C, adding new shapes, arranging the order of the shapes, and performing other functions. In particular, FIGURE 5 shows a screen diagram 200D generated by the Web browser 110 following the selection by a user of the user interface tab 408B using an appropriate user input device, such as the mouse cursor 212. [0035] The user interface illustrated in FIGURE 5 includes a list 504 showing all of the text items 406A-406C corresponding to the shapes 404A-404C in the dynamic graphic 402. The content of the list 504 is utilized by the Web service 118 to layout and render the appropriate dynamic graphic 402. For instance, the illustrative list 504 shown in FIGURE 5 includes three text items 406A-406C. As a result, the dynamic graphic 402 generated based upon the list 504 will include three shapes 404A-404C, with each shape containing one of the text items 406A-406C, respectively.
[0036] Addition of a new text item to the list 504 will cause an additional shape to be added to the dynamic graphic 402 in a visually appropriate fashion. Removal of one of the text items 406A-406C from the list 504 will cause the layout of the shapes corresponding to the remaining text items to be adjusted appropriately. Once mechanism for laying out shapes in a dynamic graphic in this manner is described in U.S. Patent Publication No. US2006/0209093A1, entitled "METHOD AND COMPUTER- READABLE MEDIUM FOR GENERATING GRAPHICS HAVING A FINITE NUMBER OF DYNAMICALLY SIZED AND POSITIONED SHAPES", published on September 21, 2006, which is assigned to the assignee of the instant patent application and expressly incorporated by reference herein in its entirety.
[0037] According to embodiments, the text items 406A-406C may be selected and edited directly to change their content. For instance, in one example illustrated in FIGURE 6, the default text has been replaced for the text items 406A-406C with the custom text "DEPLOY", "SERVICE", and "UPGRADE", respectively. When a user selects the user interface tab 408A to return to the view of the dynamic graphic 402, the customized text items 406A-406C are reflected on the dynamic graphic 402 as illustrated in FIGURE 7. According to embodiments, a user interface button 206N may also be provided which, when selected, will cause the modifications to the list 504 to be applied to the dynamic graphic. The user interface button 206P may be selected to cancel any modifications to the list 504. As will be described in greater detail below, a Web service call is performed to the Web service 118 with the modified text items 406A-406C to generate the updated dynamic graphic 402 shown in FIGURE 7. In another embodiment, the Web service 118 is called to process modifications to the list 504 in real-time as the modifications are made. In this manner, the list 504 and the dynamic graphic 402 are updated in real-time. Because the modifications to the list 504 are processed as they are made, the user interface button 206N is not utilized in this embodiment.
[0038] According to other aspects, the user interface illustrated in FIGURE 5 also provides functionality for modifying the order of the text items 406A-406C in the list 504. For instance, in one embodiment the user interface button 206J may be selected to promote a selected text item 406 in the list 504. The user interface button 206K may be similarly selected to demote a selected text item 206 in the list 504. Modifications to the order of the text items 406A-406C will be reflected in the dynamic graphic 402.
[0039] According to embodiments, the user interface button 206L may also be selected to add a new text item to the list 504, and the user interface button 206M may be selected to remove a text item from the list 504. As discussed above, these modifications are reflected in the dynamic graphic 402 through a Web service call to the Web service 118. In response to such a call, the Web service 118 generates a new dynamic graphic 402. Additional details regarding this process are provided below with respect to FIGURES 10A- 1OB.
[0040] Referring now to FIGURE 8, additional details will be provided regarding one user interface disclosed herein for modifying the layout type of the dynamic graphic 402. In particular, FIGURE 8 is a screen display 200G generated by the Web browser 110 that illustrates functionality provided herein for modifying the layout type of the dynamic graphic 402. As discussed briefly above, the user interface buttons 302A-302C may be utilized to display thumbnails of the available layout types. Selection of one of the user interface buttons 302A-302C will cause the dynamic graphic 402 to be reformatted according to the layout type corresponding to the selected user interface button. [0041] In one example shown in FIGURE 8, the user interface button 302B has been selected using the mouse cursor 212. In response to such a selection, a Web service call is made to the Web service 118 to regenerate the dynamic graphic 402 in a layout type corresponding to the thumbnail shown on the user interface button 302B. In this example, the layout type for the dynamic graphic 402 has been changed from the process diagram shown previously to a cycle diagram as shown in FIGURE 8. As a result, the shapes 406A- 406C have been changed to circles, resized, and re-positioned. The text items 404A-404C within each of the shapes 406A-406C remain the same. This modification is accomplished through a call to the Web service 118 following the selection of the user interface button 302B. Additional details regarding this process will be provided below with respect to FIGURES 10A- 1OB.
[0042] Turning now to FIGURE 9, additional details will be provided regarding one user interface provided herein for modifying the visual style of the dynamic graphic 402. In particular, FIGURE 9 is a screen display 200H generated by the Web browser 110 that illustrates functionality provided herein for modifying the visual style of the dynamic graphic 402. As discussed briefly above, the user interface buttons 410A-410C may be utilized to display thumbnails corresponding to different visual styles for the dynamic graphic 402. Selection of one of the user interface buttons 410A-410C will cause the dynamic graphic 402 to be reformatted according to the visual style corresponding to the selected user interface button.
[0043] In the example shown in FIGURE 9, the user interface button 410A has been selected using the mouse cursor 212. In response to such a selection, a Web service call is made to the Web service 118 to regenerate the dynamic graphic 402 in a visual style corresponding to the thumbnail shown on the user interface button 410A. In this example, the visual style for each of the shapes 404A-404C has been modified. It should be appreciated that the color of all of the shapes in the dynamic graphic, or one shape individually, may be modified in a similar manner. Additional details regarding the communication with the Web service 118 for modifying the visual style of the dynamic graphic 402 will be provided below with respect to FIGURES 10A- 1OB. [0044] Referring now to FIGURES 10A-10B, additional details will be provided regarding the embodiments presented herein for creating and editing a dynamic graphic via a Web interface. In particular, FIGURES 10A- 1OB are flow diagrams showing a routine 1000 and a routine 1050 that together illustrate aspects of the operation of the client computer 102 and the server computer 104 for providing the functionality described herein for creating and editing a dynamic graphic via a Web interface. The routine 1000 illustrates the operation of the client computer 102 in this regard while the routine 1050 illustrates the operation of the server computer 104. The routines 1000 and 1050 are discussed together herein. [0045] It should be appreciated that the logical operations described herein are implemented (1) as a sequence of computer implemented acts or program modules running on a computing system and/or (2) as interconnected machine logic circuits or circuit modules within the computing system. The implementation is a matter of choice dependent on the performance and other requirements of the computing system. Accordingly, the logical operations described herein are referred to variously as states operations, structural devices, acts, or modules. These operations, structural devices, acts and modules may be implemented in software, in firmware, in special purpose digital logic, and any combination thereof. It should also be appreciated that more or fewer operations may be performed than shown in the figures and described herein. These operations may also be performed in a different order than those described herein.
[0046] The routine 1000 begins at operation 1002, where the Web browser 110 executing on the client computer 102 requests a page of the Web site 116 from the server computer 104. The server computer 104 receives the request at operation 1052 of the routine 1050. The server computer 104 returns the requested page to the Web browser 110 at operation 1054 of the routine 1050. The client computer 102 receives the page of the Web site 116 at operation 1004 and renders the page. The screen display provided by the Web browser 110 following the rendering of the page may appear similar to the screen display 200A described above with respect to FIGURE 2.
[0047] From operation 1004, the routine 1000 continues to operation 1006, where the Web browser 110 receives a request to insert a new dynamic graphic 402 into the slide 202. As discussed above with respect to FIGURES 2-3, such a request may come in the form of a user selection of the user interface button 206C. In response to receiving such a request, the Web browser 110 transmits a request to the Web service 118 for data identifying the available layout types for a new dynamic graphic 402. As discussed above, in one implementation the Web service 118 provides thumbnails 302A-302F that graphically illustrate the available layout types for a new dynamic graphic 402 in response to such a request. The Web service 118 receives this request and returns the thumbnails at operations 1056 and 1058 of the routine 1050, respectively. Each of the thumbnails 302A- 302F may be associated with a parameter that uniquely identifies a corresponding layout type.
[0048] At operation 1010, the Web browser 110 receives the thumbnails 302A-
302F and displays the dialog box 300 discussed above with reference to FIGURE 3. A selection is then received from a user at operation 1012 of one of the available layout types. For instance, a user may utilize the mouse cursor 212 to select a thumbnail 302A-302F corresponding to the desired layout type. This process is discussed in detail above with respect to FIGURE 3. From operation 1012, the routine 1000 continues to operation 1014, illustrated in FIGURE 1OB.
[0049] At operation 1014, the Web browser 110 transmits a request to the Web service 118 for the dynamic graphic 402. According to embodiments, several parameters are included with the request. For instance, the request may include the list 502 of text items 406A-406C that are utilized to generate the dynamic graphic 402. Data identifying the selected layout type for the dynamic graphic may also be transmitted in the request. As discussed above, the Web service 118 utilizes this data to layout and render the dynamic graphic 1014 in the specified layout type, including shapes corresponding to each of the text items 406A-406C in the list 502. According to other embodiments, additional parameters may also be included with the request, including data identifying a style and a color for the dynamic graphic 402. The Web service 118 likewise uses these parameters to generate the dynamic graphic 402 in the desired visual style and color. [0050] The Web service 118 receives the request for a dynamic graphic 402 at operation 1060 of the routine 1050. In response to receiving the request, the Web service 118 lays out and renders the dynamic graphic 402 at operation 1062 in the manner described above. The rendered dynamic graphic 402 is returned to the Web browser 110 in response to the request at operation 1064 of the routine 1050. It should be appreciated that the dynamic graphic 402 may be rendered using a standard graphic file format suitable for transmission on the Web, such as the Portable Network Graphics ("PNG") format. [0051] The Web browser 110 receives the dynamic graphic 402 at operation 1016 and displays the dynamic graphic 402 as described above with respect to FIGURES 2-9. The routine 1000 then continues to operation 1020, where the client-side code 112 determines whether a request has been made to modify the dynamic graphic, such as the modification of the text items contained in the graphic or a modification to the layout, style, or color of the dynamic graphic 402. User interfaces for modifying these aspects of the dynamic graphic 402 are described above with reference to FIGURES 4-9. [0052] If, at operation 1020, it is determined that the dynamic graphic 402 has been modified, the routine 1000 continues to operation 1022 where a second request is transmitted to the Web service 118 for a dynamic graphic 402. The second request includes parameters corresponding to the modifications to the dynamic graphic 402. For instance, if the layout of the dynamic graphic 402 was modified, the request transmitted at operation 1022 would include data identifying the modified layout type for the dynamic graphic 402. Similarly, if the list 504 of text items 406A-406C, the style, or the color of the dynamic graphic 402 were modified, the request transmitted at operation 1022 would include a modified list of text items, data identifying the modified style, and/or data identifying the modified color, respectively. Such a request may be transmitted to the Web service 118 each time a modification to the dynamic graphic 402 is made. Alternatively, a sequence of modifications may be recorded and transmitted to the Web service 118 all at once to conserve network bandwidth.
[0053] The Web service 118 receives the second request for a dynamic graphic 402 at operation 1066 of the routine 1050. In response to receiving the request, the Web service 118 lays out and renders the modified dynamic graphic 402 at operation 1068 in the manner described above. The Web service 118 then returns the rendered dynamic graphic 402 to the Web browser 110 in response to the request at operation 1070 of the routine 1050. From operation 1070, the routine 1050 continues to operation 1072, where it ends. [0054] At operation 1024 of the routine 1000, the Web browser 110 receives and displays the modified dynamic graphic. The routine 1000 then continues to operation 1026, where a determination is made as to whether additional modifications have been made to the dynamic graphic 402. If so, the routine 1000 returns to operation 1022, described above, where the modifications are processed by sending additional requests to the Web service 118 for the dynamic graphic 402. If no additional modifications have been made, the routine 1000 continues to operation 1028, where it ends.
[0055] It should be appreciated that, according to embodiments, the Web service
118 operates in a stateless mode of operation. In this mode of operation, the Web service 118 does not maintain any information regarding the state of the dynamic graphic 402. Each time the Web browser 110 transmits a request for a dynamic graphic 402, all of the parameters are provided. In this manner, the Web service 118 can remain stateless with respect to the Web browser 110.
[0056] According to other implementations, the Web service 118 operates in a state ful mode of operation wherein it maintains the state of the dynamic graphic 402. For instance, the Web service 118 may maintain data identifying the layout type, list 504 of text items 406, style, and color, for the dynamic graphic 402. In this manner, the Web browser 110 only needs to transmit changed parameters to the Web service 118 rather than all of the parameters, thereby saving network bandwidth. This mode of operation may be useful when multiple users are concurrently permitted to edit the presentation slide 202 and the dynamic graphic 402.
[0057] FIGURE 11 shows an illustrative computer architecture for a computer 1100 capable of executing the software components described herein for creating and editing dynamic graphics via a Web interface in the manner presented above. The computer architecture shown in FIGURE 11 illustrates a conventional desktop, laptop, or server computer and may be utilized to execute any aspects of the software components presented herein described as executing on the client computer 102 or the server computer 104. [0058] The computer architecture shown in FIGURE 11 includes a central processing unit 1102 ("CPU"), a system memory 1108, including a random access memory 1114 ("RAM") and a read-only memory ("ROM") 1116, and a system bus 1104 that couples the memory to the CPU 1102. A basic input/output system containing the basic routines that help to transfer information between elements within the computer 1100, such as during startup, is stored in the ROM 1116. The computer 1100 further includes a mass storage device 1110 for storing an operating system 1118, application programs, and other program modules, which are described in greater detail herein.
[0059] The mass storage device 1110 is connected to the CPU 1102 through a mass storage controller (not shown) connected to the bus 1104. The mass storage device 1110 and its associated computer-readable media provide non-volatile storage for the computer 1100. Although the description of computer-readable media contained herein refers to a mass storage device, such as a hard disk or CD-ROM drive, it should be appreciated by those skilled in the art that computer-readable media can be any available computer storage media that can be accessed by the computer 1100.
[0060] By way of example, and not limitation, computer-readable media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. For example, computer-readable media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, digital versatile disks ("DVD"), HD-DVD, BLU-RAY, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 1100. [0061] According to various embodiments, the computer 1100 may operate in a networked environment using logical connections to remote computers through a network such as the network 106. The computer 1100 may connect to the network 106 through a network interface unit 1106 connected to the bus 1104. It should be appreciated that the network interface unit 1106 may also be utilized to connect to other types of networks and remote computer systems. The computer 1100 may also include an input/output controller 1112 for receiving and processing input from a number of other devices, including a keyboard, mouse, or electronic stylus (not shown in FIGURE 11). Similarly, an input/output controller may provide output to a display screen, a printer, or other type of output device (also not shown in FIGURE 11).
[0062] As mentioned briefly above, a number of program modules and data files may be stored in the mass storage device 1110 and RAM 1114 of the computer 1100, including an operating system 1118 suitable for controlling the operation of a networked desktop, laptop, or server computer. The mass storage device 1110 and RAM 1114 may also store one or more program modules. In particular, the mass storage device 1110 and the RAM 1114 may store the Web browser 110, client-side code 112, and the Web service 118, each of which was described in detail above with respect to FIGURES 1-lOB. The mass storage device 1110 and the RAM 1114 may also store other types of program modules.
[0063] Based on the foregoing, it should be appreciated that technologies for creating and editing a dynamic graphic via a Web user interface are provided herein. It should be appreciated that the user interface controls shown in the FIGURES and described herein are merely illustrative and that any suitable user interface control or screen layout may be utilized. It should also be appreciated that other client- or server-side applications, scripts, or other program components may utilize the Web service 118 provided herein programmatically without the provision of a user interface for creating or editing the dynamic graphic. In these embodiments, a program component may call the Web service 118 in the manner described herein to generate a dynamic graphic. The program component may then utilize the dynamic graphic for any suitable purpose. Additional calls may be made to modify the dynamic graphic as presented herein. It should also be appreciated that other properties of a dynamic graphic, including properties unrelated to the visual appearance of a dynamic graphic, may be modified using the technologies and concepts presented herein.
[0064] It should also be appreciated that although the subject matter presented herein has been described in language specific to computer structural features, methodological acts, and computer readable media, the invention defined in the appended claims is not necessarily limited to the specific features, acts, or media described herein. Rather, the specific features, acts and mediums are disclosed as example forms of implementing the claims.
[0065] The subject matter described above is provided by way of illustration only and should not be construed as limiting. Various modifications and changes may be made to the subject matter described herein without following the example embodiments and applications illustrated and described, and without departing from the true spirit and scope of the present invention, which is set forth in the following claims.

Claims

What is claimed is:
1. A method for creating a dynamic graphic (402) via a world wide web (Web) interface, the method comprising: exposing a Web service (118) at a server computer (104); receiving a request at the Web service (118) for a dynamic graphic (402); in response to receiving the request, generating the dynamic graphic (402) based upon the request; and returning the dynamic graphic (402) in response to the request.
2. The method of claim 1, wherein the request comprises a list of text items for the dynamic graphic and data identifying a layout type for the dynamic graphic.
3. The method of claim 2, wherein generating the dynamic graphic comprises generating a dynamic graphic having a type corresponding to the layout type and including shapes corresponding to the text items identified in the request.
4. The method of claim 3, wherein the request further comprises data identifying a visual style for the dynamic graphic.
5. The method of claim 4, wherein generating the dynamic graphic comprises generating the dynamic graphic having a style corresponding to the visual style identified in the request.
6. The method of claim 5, wherein the request further comprises data identifying a set of colors for the dynamic graphic.
7. The method of claim 6, wherein generating the dynamic graphic comprises generating the dynamic graphic in the set of colors identified in the request.
8. A method for creating a dynamic graphic (402) via a world wide web (Web) interface, the method comprising: providing by way of a Web browser (110) a user interface for specifying a list of text items (504) for the dynamic graphic (402) and a layout type for the dynamic graphic (402); receiving a request at the Web browser (110) to generate the dynamic graphic
(402); in response to receiving the request to generate the dynamic graphic (402), transmitting a request for the dynamic graphic (402) to a Web service (118), the request for the dynamic graphic (402) comprising the list of text items (504) and data identifying the layout type for the dynamic graphic (402); receiving from the Web service (118) the dynamic graphic (402); and displaying the received dynamic graphic (402) by way of the Web browser (110).
9. The method of claim 8, further comprising: determining whether a property of the dynamic graphic has been modified; in response to determining that a property of the dynamic graphic has been modified, transmitting a second request for the dynamic graphic to the Web service, the second request for the dynamic graphic comprising the modified property; receiving from the Web service a modified dynamic graphic; and displaying the modified dynamic graphic by way of the Web browser.
10. The method of claim 8, further comprising: determining whether the text items have been modified; in response to determining that the text items have been modified, transmitting a second request for the dynamic graphic to the Web service, the second request for the dynamic graphic comprising a modified list of text items; receiving from the Web service a modified dynamic graphic; and displaying the modified dynamic graphic by way of the Web browser.
11. The method of claim 8, further comprising: determining whether the layout type has been modified; in response to determining that the layout type has been modified, transmitting a second request for the dynamic graphic to the Web service, the second request for the dynamic graphic comprising data identifying a modified layout type for the dynamic graphic; receiving from the Web service a modified dynamic graphic; and displaying the modified dynamic graphic by way of the Web browser.
12. The method of claim 8, further comprising providing within the Web browser a user interface for specifying a style for the dynamic graphic, and wherein the request for the dynamic graphic transmitted to the Web service further comprises data identifying the style.
13. The method of claim 12, further comprising: determining whether the style for the dynamic graphic has been modified; in response to determining that the style has been modified, transmitting a second request for the dynamic graphic to the Web service, the second request for the dynamic graphic comprising data identifying a modified style for the dynamic graphic; receiving from the Web service a modified dynamic graphic; and displaying the modified dynamic graphic by way of the Web browser.
14. The method of claim 8, further comprising providing within the Web browser a user interface for specifying a color for the dynamic graphic, and wherein the request for the dynamic graphic transmitted to the Web service further comprises data identifying the color.
15. The method of claim 14, further comprising: determining whether the color for the dynamic graphic has been modified; in response to determining that the color has been modified, transmitting a second request for the dynamic graphic to the Web service, the second request for the dynamic graphic comprising data identifying a modified color for the dynamic graphic; receiving from the Web service a modified dynamic graphic; and displaying the modified dynamic graphic by way of the Web browser.
16. A computer storage medium having computer executable instructions stored thereon which, when executed by a computer, cause the computer to: expose a world wide web (Web) service (118) for generating a dynamic graphic
(402) based upon one or more supplied parameters; receive at the Web service (118) a request for a dynamic graphic (402), the request supplying the parameters; generate a dynamic graphic (402) based upon the parameters in response to the request; and return the dynamic graphic (402) as a response to the request for a dynamic graphic
(402).
17. The computer storage medium of claim 15, wherein the parameters specify a layout type and a list of text items for the dynamic graphic.
18. The computer storage medium of claim 16, wherein the parameters further specify a style for the dynamic graphic.
19. The computer storage medium of claim 17, wherein the parameters specify a color for the dynamic graphic.
20. The computer storage medium of claim 18, wherein the Web service operates in a stateless mode of operation or a stateful mode of operation, wherein when operating in the stateful mode of operation the Web service maintains a state identifying the layout type, list of text items, style, and color for the dynamic graphic.
PCT/US2008/085054 2007-12-28 2008-11-27 Creating and editing dynamic graphics via a web interface WO2009085526A1 (en)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP08868960.9A EP2248000A4 (en) 2007-12-28 2008-11-27 Creating and editing dynamic graphics via a web interface
KR1020107013927A KR101531435B1 (en) 2007-12-28 2008-11-27 Creating and editing dynamic graphics via a web interface
JP2010540712A JP5687065B2 (en) 2007-12-28 2008-11-27 Create and edit dynamic graphics via web interface
CN200880123232.9A CN101910990B (en) 2007-12-28 2008-11-27 Creating and editing dynamic graphics via a web interface

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/965,774 2007-12-28
US11/965,774 US9037974B2 (en) 2007-12-28 2007-12-28 Creating and editing dynamic graphics via a web interface

Publications (1)

Publication Number Publication Date
WO2009085526A1 true WO2009085526A1 (en) 2009-07-09

Family

ID=40800212

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/085054 WO2009085526A1 (en) 2007-12-28 2008-11-27 Creating and editing dynamic graphics via a web interface

Country Status (6)

Country Link
US (2) US9037974B2 (en)
EP (1) EP2248000A4 (en)
JP (1) JP5687065B2 (en)
KR (1) KR101531435B1 (en)
CN (1) CN101910990B (en)
WO (1) WO2009085526A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037974B2 (en) 2007-12-28 2015-05-19 Microsoft Technology Licensing, Llc Creating and editing dynamic graphics via a web interface
WO2017083169A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc Content file layout arrangement suggestions
US9824291B2 (en) 2015-11-13 2017-11-21 Microsoft Technology Licensing, Llc Image analysis based color suggestions
US10282075B2 (en) 2013-06-24 2019-05-07 Microsoft Technology Licensing, Llc Automatic presentation of slide design suggestions
US10528547B2 (en) 2015-11-13 2020-01-07 Microsoft Technology Licensing, Llc Transferring files

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8117225B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC Drill-down system, method, and computer program product for focusing a search
US8117242B1 (en) 2008-01-18 2012-02-14 Boadin Technology, LLC System, method, and computer program product for performing a search in conjunction with use of an online application
JP2010033551A (en) * 2008-06-26 2010-02-12 Canon Inc Design editing apparatus, design editing method, and design editing program
US8073590B1 (en) 2008-08-22 2011-12-06 Boadin Technology, LLC System, method, and computer program product for utilizing a communication channel of a mobile device by a vehicular assembly
US8078397B1 (en) 2008-08-22 2011-12-13 Boadin Technology, LLC System, method, and computer program product for social networking utilizing a vehicular assembly
US8131458B1 (en) 2008-08-22 2012-03-06 Boadin Technology, LLC System, method, and computer program product for instant messaging utilizing a vehicular assembly
US8265862B1 (en) 2008-08-22 2012-09-11 Boadin Technology, LLC System, method, and computer program product for communicating location-related information
US8190692B1 (en) 2008-08-22 2012-05-29 Boadin Technology, LLC Location-based messaging system, method, and computer program product
US8255186B2 (en) * 2009-07-09 2012-08-28 Air Liquide Large Industries U.S. Lp Presenting dynamic SCADA data
JP5531497B2 (en) * 2009-08-18 2014-06-25 ソニー株式会社 Display device and display method
US20120166953A1 (en) * 2010-12-23 2012-06-28 Microsoft Corporation Techniques for electronic aggregation of information
US10699063B2 (en) * 2011-08-19 2020-06-30 Apple Inc. Authoring content for digital books
US9372603B2 (en) * 2013-03-12 2016-06-21 Air Liquide Large Industries U.S. Lp Data sampling method for determining salient values in a large data stream
US10366149B2 (en) * 2013-03-15 2019-07-30 Wolfram Research, Inc. Multimedia presentation authoring tools
US20140282188A1 (en) * 2013-03-15 2014-09-18 Moresteam Development Llc Computer graphical user interface, system, and method
US9619128B2 (en) * 2013-07-01 2017-04-11 Microsoft Technology Licensing, Llc Dynamic presentation prototyping and generation
WO2015042901A1 (en) 2013-09-29 2015-04-02 Microsoft Technology Licensing, Llc Media presentation effects
CN104598436B (en) * 2013-10-31 2018-05-01 艾迪普(北京)文化科技股份有限公司 A kind of dynamic creation method and device of three-dimensional chart
US10339681B2 (en) * 2013-11-22 2019-07-02 Raytheon Company Interactive multimedia process flow chart builder
JP6031535B2 (en) * 2014-02-10 2016-11-24 ネイバー コーポレーションNAVER Corporation Site management method and system for supporting site production using various types of cards
US9280325B2 (en) * 2014-05-30 2016-03-08 International Business Machines Corporation Customized ready-to-go componentized application definitions
USD799535S1 (en) * 2014-06-24 2017-10-10 Robert Bosch Gmbh Display screen with graphical user interface
CN106462558A (en) * 2014-10-30 2017-02-22 微软技术许可有限责任公司 Authoring tools for synthesizing hybrid slide-canvas presentations
CN104808904A (en) * 2015-04-29 2015-07-29 北京奇虎科技有限公司 Dynamic display method and dynamic display device of navigation elements in page
WO2016185551A1 (en) * 2015-05-19 2016-11-24 三菱電機株式会社 User interface device and screen display method for user interface device
AU2016276284B9 (en) * 2015-06-07 2020-05-21 Wix.Com Ltd System and method for the generation of an adaptive user interface in a website building system
CN106648567B (en) * 2015-10-30 2020-06-05 北京国双科技有限公司 Data acquisition method and device
CN107783986A (en) * 2016-08-25 2018-03-09 平安科技(深圳)有限公司 A kind of web graph shape edit methods and terminal
CN109753198A (en) * 2017-11-07 2019-05-14 阿里巴巴集团控股有限公司 Interface access method, display methods, equipment, medium
CN108805962A (en) * 2018-05-29 2018-11-13 广州梦映动漫网络科技有限公司 A kind of generation method and electronic equipment of dynamic caricature
CN108989183A (en) * 2018-06-22 2018-12-11 周士志 A kind of information exchanging system and method
CN113516740A (en) * 2020-04-10 2021-10-19 阿里巴巴集团控股有限公司 Method and device for adding static elements and electronic equipment
US11605187B1 (en) * 2020-08-18 2023-03-14 Corel Corporation Drawing function identification in graphics applications
KR102560619B1 (en) * 2023-03-17 2023-07-27 (주)데브게이트 Electronic device providing no-code tool service and method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040003121A1 (en) * 2002-04-12 2004-01-01 Murata Kikai Kabushiki Kaisha Document server and recording medium recording document processing program
US20050262437A1 (en) * 1999-04-24 2005-11-24 Patterson Dennis M Process for creating and printing customized document at end user computer and printer
KR100560302B1 (en) * 2003-08-11 2006-03-10 삼성에스디에스 주식회사 Method for making compiling frame of publication on web browser using internet
US20070094597A1 (en) * 2004-11-04 2007-04-26 Rostom Mohamed A Dynamic graphical user interface for a desktop environment

Family Cites Families (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU6826794A (en) * 1993-05-10 1994-12-12 Apple Computer, Inc. Computer-human interface system which manipulates parts between a desktop and a document
US5555369A (en) * 1994-02-14 1996-09-10 Apple Computer, Inc. Method of creating packages for a pointer-based computer system
US6098092A (en) * 1996-11-08 2000-08-01 Silicon Graphics, Inc. Server to dynamically generate graphics for the world wide web
US6243761B1 (en) * 1998-03-26 2001-06-05 Digital Equipment Corporation Method for dynamically adjusting multimedia content of a web page by a server in accordance to network path characteristics between client and server
US6614433B1 (en) * 1998-06-05 2003-09-02 Unisys Corporation Method and system for distributed, dynamic generation of graphics files
US6320600B1 (en) 1998-12-15 2001-11-20 Cornell Research Foundation, Inc. Web-based video-editing method and system using a high-performance multimedia software library
AUPQ228699A0 (en) 1999-08-18 1999-09-09 Champion Forms Pty Ltd Multi-layer continuous paper printer
US6826727B1 (en) * 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
US7246316B2 (en) * 1999-11-30 2007-07-17 Siebel Systems, Inc. Methods and apparatus for automatically generating presentations
US7277925B2 (en) 1999-12-08 2007-10-02 Warnock Kevin L Internet document services
US7050079B1 (en) * 2000-01-04 2006-05-23 International Business Machines Corporation System and method for dynamically generating viewable graphics
US20010048436A1 (en) * 2000-04-03 2001-12-06 Sanger Terence David Method and apparatus for sending electronic mail using human handwriting
US20020091582A1 (en) * 2000-05-11 2002-07-11 Palmer John F. Systems and methods for e-commerce facilitation and implementation
US6760043B2 (en) 2000-08-21 2004-07-06 Intellocity Usa, Inc. System and method for web based enhanced interactive television content page layout
US20060129933A1 (en) * 2000-12-19 2006-06-15 Sparkpoint Software, Inc. System and method for multimedia authoring and playback
US6973618B2 (en) 2000-12-29 2005-12-06 International Business Machines Corporation Method and system for importing MS office forms
US6996780B2 (en) * 2000-12-29 2006-02-07 International Business Machines Corporation Method and system for creating a place type to be used as a template for other places
WO2002069541A2 (en) 2001-01-17 2002-09-06 Dmind Method and system for generation and management of content and services on a network
ATE417332T1 (en) * 2001-11-28 2008-12-15 Nokia Corp METHOD FOR GENERATING A GRAPHIC IMAGE REPRESENTATION IN A MOBILE TERMINAL
US6922200B1 (en) * 2001-11-30 2005-07-26 Oracle International Corporation Delivering a graphical object to a browser
US7310784B1 (en) * 2002-01-02 2007-12-18 The Jellyvision Lab, Inc. Methods for identifying cells in a path in a flowchart and for synchronizing graphical and textual views of a flowchart
JP3826039B2 (en) * 2002-01-22 2006-09-27 キヤノン株式会社 Signal processing device
US20030159128A1 (en) * 2002-02-20 2003-08-21 Thomas Kunzler Generating instructions for drawing a flowchart
US20040041818A1 (en) * 2002-08-29 2004-03-04 Jvolution Limited Design system for website text graphics
FR2846769B1 (en) * 2002-11-06 2005-04-15 France Telecom METHOD AND SYSTEM FOR DYNAMIC IMAGE ENABLING
US7619638B2 (en) * 2002-11-06 2009-11-17 Vista Print Technologies Limited Custom composite image system and method
US8036475B2 (en) * 2002-12-13 2011-10-11 Ricoh Co., Ltd. Compression for segmented images and other types of sideband information
US20040250205A1 (en) 2003-05-23 2004-12-09 Conning James K. On-line photo album with customizable pages
US7322007B2 (en) * 2003-05-30 2008-01-22 Vistaprint Technologies Limited Electronic document modification
US7339598B2 (en) * 2003-07-11 2008-03-04 Vistaprint Technologies Limited System and method for automated product design
US7275212B2 (en) * 2003-10-23 2007-09-25 Microsoft Corporation Synchronized graphics and region data for graphics remoting systems
US7707503B2 (en) * 2003-12-22 2010-04-27 Palo Alto Research Center Incorporated Methods and systems for supporting presentation tools using zoomable user interface
JP2005310110A (en) * 2004-03-22 2005-11-04 Fuji Photo Film Co Ltd Image generating device and image generating method, and program
US7428704B2 (en) * 2004-03-29 2008-09-23 Lehman Brothers Holdings Inc. Dynamic presentation generator
US20050276577A1 (en) * 2004-04-15 2005-12-15 Fuji Photo Film Co., Ltd. Recording medium, image recording apparatus, image recording method, and image recording program
US8510657B2 (en) * 2004-09-30 2013-08-13 Microsoft Corporation Editing the text of an arbitrary graphic via a hierarchical list
US7805679B2 (en) * 2005-02-24 2010-09-28 Fujifilm Corporation Apparatus and method for generating slide show and program therefor
US7750924B2 (en) 2005-03-15 2010-07-06 Microsoft Corporation Method and computer-readable medium for generating graphics having a finite number of dynamically sized and positioned shapes
US7747946B2 (en) * 2005-04-11 2010-06-29 Microsoft Corporation System and method for adorning shapes with data driven objects
JP2006331393A (en) * 2005-04-28 2006-12-07 Fujifilm Holdings Corp Album creating apparatus, album creating method and program
US20060263133A1 (en) 2005-05-17 2006-11-23 Engle Jesse C Network based method and apparatus for collaborative design
US7844966B1 (en) * 2005-07-12 2010-11-30 American Express Travel Related Services Company, Inc. System and method for generating computing system job flowcharts
US20070115300A1 (en) * 2005-11-23 2007-05-24 Interactive Investments, Llc System and method for creation of motor vehicle graphics
US8140987B2 (en) * 2005-12-29 2012-03-20 Sap Ag GUI modeling of web services
US20070156433A1 (en) * 2005-12-30 2007-07-05 Eric Thorson Electronic commerce method and system with customizable product displays
US7778486B2 (en) 2006-02-24 2010-08-17 The Go Daddy Group, Inc. Online image processing systems and methods
US20090129740A1 (en) 2006-03-28 2009-05-21 O'brien Christopher J System for individual and group editing of networked time-based media
US7984383B2 (en) * 2006-04-28 2011-07-19 Business Objects Software, Ltd. Apparatus and method for using a panel layout to consolidate dynamic and interactive graphics representative of input and output data
US8127238B2 (en) * 2006-12-14 2012-02-28 The Jellyvision Lab, Inc. System and method for controlling actions within a programming environment
US8352863B2 (en) * 2007-01-03 2013-01-08 Vistaprint Technologies Limited Electronic product design using layered images
US8276058B2 (en) * 2007-02-08 2012-09-25 The Jellyvision Lab, Inc. Method of automatically populating and generating flowerchart cells
US9037974B2 (en) 2007-12-28 2015-05-19 Microsoft Technology Licensing, Llc Creating and editing dynamic graphics via a web interface

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262437A1 (en) * 1999-04-24 2005-11-24 Patterson Dennis M Process for creating and printing customized document at end user computer and printer
US20040003121A1 (en) * 2002-04-12 2004-01-01 Murata Kikai Kabushiki Kaisha Document server and recording medium recording document processing program
KR100560302B1 (en) * 2003-08-11 2006-03-10 삼성에스디에스 주식회사 Method for making compiling frame of publication on web browser using internet
US20070094597A1 (en) * 2004-11-04 2007-04-26 Rostom Mohamed A Dynamic graphical user interface for a desktop environment

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2248000A4 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037974B2 (en) 2007-12-28 2015-05-19 Microsoft Technology Licensing, Llc Creating and editing dynamic graphics via a web interface
US10282075B2 (en) 2013-06-24 2019-05-07 Microsoft Technology Licensing, Llc Automatic presentation of slide design suggestions
US11010034B2 (en) 2013-06-24 2021-05-18 Microsoft Technology Licensing, Llc Automatic presentation of slide design suggestions
WO2017083169A1 (en) * 2015-11-13 2017-05-18 Microsoft Technology Licensing, Llc Content file layout arrangement suggestions
US9824291B2 (en) 2015-11-13 2017-11-21 Microsoft Technology Licensing, Llc Image analysis based color suggestions
US10528547B2 (en) 2015-11-13 2020-01-07 Microsoft Technology Licensing, Llc Transferring files
US10534748B2 (en) 2015-11-13 2020-01-14 Microsoft Technology Licensing, Llc Content file suggestions

Also Published As

Publication number Publication date
JP5687065B2 (en) 2015-03-18
JP2011508344A (en) 2011-03-10
US20090172559A1 (en) 2009-07-02
CN101910990A (en) 2010-12-08
US9037974B2 (en) 2015-05-19
KR20100110307A (en) 2010-10-12
EP2248000A4 (en) 2017-06-28
US20150227494A1 (en) 2015-08-13
KR101531435B1 (en) 2015-06-24
EP2248000A1 (en) 2010-11-10
CN101910990B (en) 2014-08-27

Similar Documents

Publication Publication Date Title
US9037974B2 (en) Creating and editing dynamic graphics via a web interface
US9098597B2 (en) Presenting and managing clipped content
US9141718B2 (en) Clipview applications
KR101624446B1 (en) User interface for accessing documents from a computing device
JP5190452B2 (en) Chart correction
JP4920161B2 (en) System for automatically providing peripheral awareness of information and method for providing dynamic objects
US11050851B2 (en) Drag-and-drop clipboard for HTML documents
US8707209B2 (en) Save preview representation of files being created
US20160139780A1 (en) Website image carousel generation
US20060225094A1 (en) Enabling customization and personalization of views in content aggregation frameworks
US20060277481A1 (en) Presenting clips of content
US20060277460A1 (en) Webview applications
US7814411B2 (en) Method and apparatus for adapting external controls to a portal design
US9990102B2 (en) Creating and editing digital content works
AU2008288768B2 (en) Defining an interactive user interface
US20060070013A1 (en) Method and system to drill down graphically
US20060225091A1 (en) Customizing and personalizing views in content aggregation frameworks
US7640505B1 (en) Element view toggling
US20090287724A1 (en) Data Viewer Management
US20120030597A1 (en) Method and apparatus for controlling a workflow

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200880123232.9

Country of ref document: CN

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

Ref document number: 08868960

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 4508/DELNP/2010

Country of ref document: IN

ENP Entry into the national phase

Ref document number: 20107013927

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2010540712

Country of ref document: JP

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2008868960

Country of ref document: EP