systems and methods for generating and sharing interactive charts are described. The interactive charts are generated in an online portal that allows users to customize the interactive features of the chart. An online portal may also be provided to allow users to automatically embed interactive chart(s) in another website without reprogramming the code of the website each time the interactive chart(s) are changed or new interactive chart(s) are added.
|
11. A system for presenting interactive chart data, the system comprising;
a processor;
a user interface generated by the processor executing instructions stored in memory, the user interface receiving a first data selection and a first chart selection, the first data selection including a first data set from a data store, the first chart selection including a first chart template;
a chart generator module stored in memory and executed by the processor thereby generating an embed code having markup data; and
a chart sharing module stored in memory and executed by the processor that transmits at least the embed code to a user device that is associated with sharing of interactive chart data, wherein insertion of the embed code into a digital file modifies the digital file so that rendering the digital file includes rendering the first data set within the first chart template thereby rendering an interactive chart that retains interactivity, wherein rendering the interactive chart further includes:
receiving a second chart selection including a second chart template, and
updating the interactive chart by rendering the first data set within the second chart template.
1. A system for presenting interactive chart data, the system comprising:
a processor;
a user interface generated by the processor executing instructions stored in memory, the user interface receiving a first data selection and a first chart selection, the first data selection including a first data set from a data store, the first chart selection including a first chart template;
a chart generator module stored in memory and executed by the processor thereby generating an embed code having markup data; and
a chart sharing module stored in memory and executed by the processor that transmits at least the embed code to a user device that is associated with sharing of interactive chart data, wherein insertion of the embed code into a digital file modifies the digital file so that rendering the digital file includes rendering the first data set within the first chart template thereby rendering an interactive chart that retains interactivity, wherein rendering the interactive chart further includes:
receiving a second data selection including a second data set, the second data set being from the data store, and
updating the interactive chart by rendering at least the second data set within the first chart template.
2. The system of
3. The system of
4. The system of
5. The system of
6. The system of
7. The system of
8. The system of
9. The system of
10. The system of
12. The system of
13. The system of
14. The system of
15. The system of
16. The system of
17. The system of
19. The system of
|
The present application is a continuation of U.S. patent application Ser. No. 12/372,696, filed Feb. 17, 2009, which is a continuation-in-part application of U.S. patent application Ser. No. 12/205,802, filed Sep. 5, 2008 and entitled “CREATION, SHARING AND EMBEDDING OF INTERACTIVE CHARTS,” which claims priority to U.S. provisional application Ser. No. 61/077,728, filed on Jul. 2, 2008, the entireties of which are hereby incorporated by reference.
1. Field
The subject invention relates to interactive charts and, in particular, to the creation, sharing and embedding of interactive charts.
2. Related Art
Microsoft Excel is typically used to enter data into spreadsheets and sometimes make charts or graphs from that data. Users typically enter the data into a spreadsheet in columns and rows. Users can then highlight the data that they want to use to make a chart and then select a chart type. Excel then generates the chart, which can be copied and pasted into other documents (e.g., Microsoft Word documents, web pages, portable document format files (PDFs), etc.). These charts, however, are not interactive.
Google offers an online service that allows users to create interactive charts using an interactive chart widget. Users enter data in an online spreadsheet having a look and feel similar to the Excel spreadsheet. Users can then highlight the data they want to use to make a chart and select a chart type. The widget generates the interactive chart. The interactive features include a zoom feature and a mouse over pop-up window of data. These interactive charts can be embedded in online pages; however, the data in these charts is not secure because the widget fetches data when the screen is refreshed. Any HTML programmer can easily intercept the data stream from the Goggle spreadsheet. In addition, when the charts are copied into other documents (e.g., Microsoft Word documents, PDFs, etc.), the charts are no longer interactive. In addition, other users cannot access the data associated with the interactive chart or copy the interactive chart for their own use.
The following summary of the invention is included in order to provide a basic understanding of some aspects and features of the invention. This summary is not an extensive overview of the invention and as such it is not intended to particularly identify key or critical elements of the invention or to delineate the scope of the invention. Its sole purpose is to present some concepts of the invention in a simplified form as a prelude to the more detailed description that is presented below.
According to an aspect of the invention, a method is provided that includes sending a request from a first server to a second server to retrieve a flash file of an interactive chart, receiving the flash file of the interactive chart from the second server at the first server, and displaying the interactive chart at a website hosted by the second server.
The request may be sent via a chart box embedded in the website. The interactive chart may be displayed in the chart box embedded in the website.
The request may be to retrieve a plurality of flash files, each flash file corresponding to an interactive chart, and the method may further include receiving the plurality of flash files and displaying the plurality of interactive charts.
The request may be sent each time the website is accessed. The request may be sent each time the website is refreshed.
According to another aspect of the invention, a method is provided that includes providing a tool on a first website for embedding at least one interactive chart in a chart box, the chart box embedded on a second website, the first website hosted by a first server that stores a plurality of interactive charts, the at least one interactive chart embedded in the chart box being one of the plurality of interactive charts stored on the first server; and allowing a user to select at least one of the plurality of interactive charts to be embedded in the chart box, wherein the at least one of the plurality of interactive charts is automatically displayed in the chart box on the second website when the user selects the at least one of the plurality of interactive charts.
The user may select the at least one of the plurality of interactive charts by dragging and dropping the at least one of the plurality of interactive charts into a chart box folder of the tool.
The chart box may be a flash widget.
The method may also include allowing a user to select a plurality of the plurality of interactive charts for display in the chart box on the second website.
The method may also include allowing a user to select a plurality of interactive charts to be embedded in a plurality of chart boxes on the first website.
The interactive chart may be automatically displayed using a data feed from the first web site to the second web site.
According to a further aspect of the invention, a method is provided that includes allowing a user to drag and drop at least one of a plurality of interactive charts displayed in a user interface into a chart box folder of the user interface, and transmitting the at least one of the plurality of interactive charts from a first website to a chart box embedded in a second website in response to the user dropping the at least one of the plurality of interactive charts into the chart box folder.
The chart box may be a flash widget.
The method may also include allowing a user to drag and drop a plurality of the plurality of interactive charts into the chart box.
Dragging and dropping the at least one interactive chart may embed the at least one interactive chart in the second web site.
According to another aspect of the invention, a computer system is provided that includes memory configured to store a plurality of interactive charts, and a processor coupled to the memory, the processor configured to allow a user to drag and drop at least one of the plurality of interactive charts into a chart box pane of a user interface accessed at a first website hosted by a first server and transmit the at least one of the plurality of interactive charts from the first server to a second server for display of the at least one of the plurality of interactive charts on a second website hosted by the second server.
The chart box may be a flash widget.
The processor may further allow the user to drag and drop a plurality of the plurality of interactive charts into the chart box.
The processor may further embed the at least one interactive chart in the second website.
The accompanying drawings, which are incorporated in and constitute a part of this specification, exemplify the embodiments of the present invention and, together with the description, serve to explain and illustrate principles of the invention. The drawings are intended to illustrate major features of the exemplary embodiments in a diagrammatic manner. The drawings are not intended to depict every feature of actual embodiments nor relative dimensions of the depicted elements, and are not drawn to scale.
Embodiments of the invention relate to an on-line service for creating, sharing and embedding interactive charts. In one embodiment, an online portal is provided that allows users to enter or upload data. The online portal or user interface allows users to drag and drop the data from a data pane to a charting pane, automatically creating the interactive chart. Exemplary interactive features include a zoom feature, a data mouse-over pop-up window, a data hide/share feature, an audio and/or video feature, an animation feature, a drill-down feature, a data gliding feature, etc., all of which are optionally selectable or deselectable by the user. The user can then publish the interactive chart online or download and embed the chart into an electronic document, such as, for example, a PDF, .ppt, etc. file, where the chart retains its interactivity. In one embodiment, the interactive charts that are embedded online are searchable by search engines. The interactive charts and/or the data associated with the interactive charts can also be purchased in an online store environment. Once the charts have been purchased or otherwise shared with another user, the other user can customize the chart to have the interactive features, the data, the look and feel, and the like that suits their needs. The interactive charts can also be embedded in other websites without the need to reprogram the other websites each time an interactive chart is embedded in those websites using a chart box tool.
In the following detailed description of the present invention numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, in order to avoid obscuring the present invention.
Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment.
Some portions of the detailed description that follow are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “processing” or “computing” or “calculating” or “determining” or “displaying” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.
The present invention also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but is not limited to, any type of disk including floppy disks, optical disks, compact disc read only memories (CD-ROMs), and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), Erasable Programmable Read-Only Memories (EPROMs), Electrically Erasable Programmable Read-Only Memories (EEPROMs), magnetic or optical cards, or any type of media suitable for storing electronic instructions, and each coupled to a computer system bus.
The algorithms and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear from the description below. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein.
The instructions of the programming language(s) may be executed by one or more processing devices (e.g., processors, controllers, control processing units (CPUs),
An embodiment of the invention will now be described in detail with reference to
The server 104 is configured to receive requests from computers 112, process the requests and provide responses to the requests to the computers 112. The server 104 may include one or more server computers networked to one another. An exemplary server is the Apache server. The server 104 includes a processor 116 to execute instructions, which is connected to memory 120 that stores data. The processor 116 executes instructions and accesses data in the memory 120 to, for example, generate the interactive charts, modify the interactive charts, allow users to purchase the interactive charts, share the interactive charts, and the like. It will be appreciated that the server 104 may be implemented with any type of hardware and software, and that the server 104 may have a different configuration than shown in
The network 108 may be any type of communications channel, a local area network (LAN), a wide area network (WAN), such as the Internet, direct computer connections, and the like. The connection may be accomplished in a wireless manner using radio frequency, infrared, or other technologies, using any type of communication hardware and protocols, through other communication mediums, such as electric cable, fire optic cable, and/or through other technologies.
The computers 112 access the server 104 through the network 108. The computers 112 may also communicate with one another over the network 108. The computer 112 may be a server, a personal computer, a portable computer, a hand held device, a wireless device, and the like. The computer may be a single device at a single location or multiple devices at a single or multiple locations that are connected together using an appropriate communication protocol over any communication medium.
In one embodiment, the server 104 generates an interactive chart based on input received from one of the computers 112 and shares the interactive chart with users located at one of the computers 112 over the network 108. For example, the server 104 may include a website that is accessible by the computer 112 through a web browser located at the computer 112 over the network 108. The website provides the interactive chart generated by the user at computer 112, or the website provides an interactive chart generated by another user. Alternatively, the server 104 may embed the interactive chart in an electronic document (e.g., ppt, pdf, doc, etc. file) and transmit the electronic document having the interactive chart to the user over the network 108 to the computer 112 through the web browser located at the computer 112. In one embodiment, the user can download the interactive chart to the computer 112 from the server 104 over the network 108. The user can then embed the interactive chart in an electronic document (e.g., ppt, pdf, doc, etc. file).
In another embodiment, the server 104 allows users at one of the computers 112 to purchase interactive charts over the network 108. For example, the server 104 may include a website that provides purchasable charts at a computer 112 over the network 108. The user communicates a request to purchase an interactive chart from the computer 112 to the server 104 over the network 108. The server 104 then provides the user access to the interactive chart through the website or by transmitting a copy of the interactive chart to the user at the computer 112 over the network 108.
The interactive chart online portal 200 includes an interactive chart generator 204, an interactive chart sharer 208, a user interface 212, a data store 216 and a chart template data store 220. It will be appreciated that the interactive chart online portal 200 may include fewer or additional components and may have a different arrangement than illustrated in
The user interface 212 is accessed through a website 224 which provides an online portal to the interactive chart generator 204 and the interactive chart sharer 208. It will be appreciated that in alternative embodiments one online portal may provide access to the interactive chart generator 204 while another online portal provides access to the interactive chart sharer 208. Users upload or enter data at the web site 224 through the user interface 212 which stores the data in the data store 216. The interactive chart generator 204 uses the data and chart templates stored in the chart template data store 220 to generate the interactive charts.
The interactive chart sharer 208 is also accessed through the website 224 and the user interface 212. The generated interactive chart can be published on an external webpage 228 as an interactive chart or a static chart. The generated interactive chart can also be embedded in an external document 232 as an interactive chart or a static chart. Exemplary external documents 232 include PPT (e.g., power point) documents, PDF (e.g., Adobe) documents, DOC (e.g., Word) documents and the like. It will be appreciated that the interactive chart can be embedded in open source versions of the external documents 232 (e.g., Writer, Impress, etc.) or in other external document types. The generated interactive chart can also be shared by allowing users to purchase the interactive charts (by providing users with a copy of the interactive chart and/or the data associated with the interactive chart).
Online charts are created and stored online as flash files in the web portal. If a chart is embedded into a web-site, a retrieve code is embedded into that sites' HTML code that fetches the flash file from the server when the web page of that site is requested by a user. A lot of web-sites today offer widgets where the embed code can be pasted into the code, avoiding any particular knowledge of coding or HTML. If a chart is updated with new data, the flash file gets recreated and stored. The next time the web page where an interactive charts has been embedded (that is where the embed code that fetches the chart has been implemented) is refreshed, the updated chart is displayed. In one embodiment, the page may be refreshed automatically for a semi-live stream of data or the data may stored separate from the flash file, the separate data file fetched dynamically for real time feeds.
The interactive charts that are downloaded are self-contained flash files that can exist independent of the web portal. The user only requires Adobe Reader (containing Adobe flash player) to execute the code in the flash file. Any electronic document that can play flash can show the interactive charts.
It will be appreciated that although the interactive chart 300 has been described as a flash chart other files having similar features may be used. An exemplary program that is configured to create such a file is Microsoft's Silverlight.
Although the interactive chart 300 shown in
As shown in
As described above, the interactive chart 300 is an interactive chart. That is, the chart 300 has interactive features that allow a user to interact with the chart to, for example, modify or change their view of the chart, learn more about the chart data, and the like. Exemplary interactive features include a zoom feature, a data mouse-over pop-up window, a data hide/share feature, an audio playback feature, a drill down feature, a data gliding feature and the like. Another exemplary interactive feature includes a “Copy-to-my-account” feature which allows a user to copy the chart to an account at an interactive chart, generation and sharing web portal anywhere the user sees the chart online. When the user clicks the “Copy-to-my-account” button, the user is taken to the web portal. The user can then access his account (or create an account) to receive a copy of the chart. The “Copy-to-my-account” feature, therefore, enables chart proliferation outside the web portal (at least initiation of chart proliferation). As will be described in further detail hereinafter, once the chart is in the user's account, the user can modify and/or reformat the chart based on the user's needs.
In one example of an interactive feature,
In another example,
As shown in
Generating the interactive chart 804 may include selecting a chart (block 812), uploading data or entering data (block 816), dragging and dropping data on the chart (block 820), automatically generating the chart with interactive features (block 824) and customizing the interactive features (block 828).
Sharing the interactive chart 808 may include publishing the chart in a web page (block 832), embedding the chart in an electronic document (block 836), downloading the chart as an interactive self-contained object that can be embedded elsewhere, publishing the chart to the public section of the web portal, allowing the chart to be purchased (block 840), and/or emailing the chart (block 848). The chart may also be automatically updated (block 852).
The user interface 212 may be accessed using an Internet browser 908 such as Internet Explorer, Opera, Safari, Firefox, etc. The Internet browser 908 includes an address box 912, a “Go” button 916, forward and backward buttons 920, 924 and a pointer 928 that allow the user to interact with the Internet browser 908. Users access the user interface 212 by, for example, entering a web address associated with the online portal and user interface 212 in the address box 912 and pressing the “Enter” key on the keyboard or pressing the “Go” button 916. Users can navigate through the website by selecting links on the web pages with the pointer 928 and/or pressing keys on they keyboard and/or pressing the forward and backward buttons 920, 924, as known in the art.
When a user clicks on the charting pane 1400, several chart types 1500 are displayed in the chart type tab 1424 of the data pane 1404, as shown in
When a user selects a chart type 1500, a blank charting area is shown in the charting pane 1400, as shown in
As shown in
When the user drags and drops the data on the chart pane 1400, an interactive chart 1700 is automatically generated as shown in
The user can then manipulate the chart 1700 to have the look and feel and interactive features that the user desires as shown in
When a user has completed customization of the chart 1700, the user can preview the chart 1700 by selecting the preview ichart tab 1440 or the preview ichart tab 1428 as shown in
In one embodiment, users can store the chart 1700 as a chart template by selecting the save as preset button 1612. Chart templates allow the users to create interactive charts in the future that have the same look and feel as the generated chart 1700.
As shown in
Users can also modify existing charts, as shown in
As shown in
The interactive charts can also be shared using the online portal. For example, users can select to share the chart with other registered users of the online portal by selecting the share ichart button 1620. When the share ichart button 1620 is selected, the popup window 2900 is accessed, as shown in
If the user chooses to embed the ichart, the popup window 3100 is displayed as shown in
Users can search the charts in the online store environment 3300 using the search box 3316 because the interactive charts are searchable. As described above, the charts are flash objects. When the flash objects are generated searchable tags are also generated. The chart may also include a detail page that contains rich tagging, which is also searchable (see
When a user selects one of the charts 3336 from the charts region 3332, the user is presented with a detailed view 3400 of the selected chart 3336 as shown in
When a user selects to purchase the chart, report and/or data through one or more of the purchase options 3412, the chart is added to the myicharts page 3500 (associated with the myicharts tab 3312), as shown in
The detail page is automatically search engine optimized by pulling chart content (title, comment, labels) into invisible tags that are embedded onto the page (not visible for the user). Once this page gets is indexed by a search engine, such as Google et al, the tags are picked up and the chart becomes searchable. As described above, the chart flash object itself also contains tags. Search engines that are configured to search and index flash content can index the charts making the charts themselves searchable on pages where the chart has been embedded.
The interactive chart also includes a “Copy-To-My-Account” function that is enabled by the owner of the chart. If a visitor uses this function, a copy of the chart is created in the user's account. The user can then edit and republish the chart (using, for example, different formats and colors). This feature can be useful when a user wants to reuse a chart but use the user's own look & feel.
One use for the interactive charts described herein is PDF reports.
In one embodiment, the PDF report 4100 is generated by the user. The user downloads the chart as a flash file and then embeds the flash file into the PDF document using standard functions and features.
In one embodiment, a PPT document that includes an interactive chart is generated using a live cycle data services (i.e., flex data services) of a flex engine. The live cycle data service includes an API for generating PPT documents by merging client data or graphics with templates stored on the server. Alternatively, the PPT file can be created by the user by downloading the chart as a flash file and then embedding the flash file into the PPT document using standard functions and features.
When the data for the interactive chart is updated in the online portal, the chart on the web page is automatically updated. For example, the data on the webpage can be updated using a new flash file. If embed code has been implemented in a web page, the web page fetches the new flash file from the server and displays it. When the user refreshes the web page, the new flash chart is displayed. In another example, the data on the webpage can be updated using a data feed (e.g., RSS feed, Atom Feed, etc.). In another example, if the online portal is a flex engine that includes live cycle data services (i.e., flex data services), the online portal has data management and messaging services that can automatically track changes and publishes the changes in the document or on the web page.
Because the interactive chart includes tags, the chart can be indexed by a search engine. Thus, the charts are searchable by search engines. The search engine crawls the website having the interactive chart, indexes the website and tags associated with the chart and stores the tags in a searchable database as known in the art.
In one embodiment, the chart box 4304 is a flash widget. The chart box 4304 may be embedded once using an embed code onto a customer site. The embed code for the chart box 4304 may include retrieve code to fetch the interactive chart(s) selected for the chart box 4304 embedded in the customer site. Alternatively, the embed code may include a data feed, such as an ATOM feed, RSS feed, XML feed, etc., that is used to automatically update the interactive chart(s) displayed in the chart box 4304. The chart box 4304 may be customizable (e.g., fonts, style, size, color and the like).
The illustrated chart box 4304 includes a viewing pane 4306 configured to display an interactive chart 4308. The chart box 4304 also includes multiple interactive charts 4312 in a chart selection pane 4314. Each of the interactive charts 4312 may be selected for display in the viewing pane 4306. As shown in
As shown in
It will be appreciated that in order to develop and incorporate the interactive charts conventionally, a programmer must be hired to develop the chart, link it to a data source and embed it onto the web-site. The cost to pay a programmer to build and embed a new interactive chart on a website can be $5,000 to $25,000, depending on the complexity of chart. In contrast, by embedding the charts with the chart box 4304 in the website and using the chart box tool 4500, no programming is required to embed charts in the website. In addition, the number of charts that can be displayed using the chart box 4304 is unlimited. In order to change the charts displayable in the chart box, no programming is required because a user only needs to drag and drop the chart(s) using the tool 4500. The costs are therefore a fraction of the present cost, effectively removing a barrier to more visual data content on the web.
The exemplary computer system 4600 includes a processor 4602 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 4604 (e.g., read only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM) or Rambus DRAM (RDRAM), etc.) and a static memory 4606 (e.g., flash memory, static random access memory (SRAM), etc.), which communicate with each other via a bus 4608.
The computer system 4600 may further include a video display unit 4610 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). The computer system 4600 also includes an alphanumeric input device 4612 (e.g., a keyboard), a cursor control device 4614 (e.g., a mouse), a disk drive unit 4616, a signal generation device 4620 (e.g., a speaker) and a network interface device 4622.
The disk drive unit 4616 includes a machine-readable medium 4624 on which is stored one or more sets of instructions (e.g., software 4626) embodying any one or more of the methodologies or functions described herein. The software 4626 may also reside, completely or at least partially, within the main memory 4604 and/or within the processor 4602 during execution thereof by the computer system 4600, the main memory 4604 and the processor 4602 also constituting machine-readable media.
The software 4626 may further be transmitted or received over a network 4628 via the network interface device 4622.
While the machine-readable medium 4624 is shown in an exemplary embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present invention. The term “machine-readable medium” shall accordingly be taken to include, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.
It should be understood that processes and techniques described herein are not inherently related to any particular apparatus and may be implemented by any suitable combination of components. Further, various types of general purpose devices may be used in accordance with the teachings described herein. It may also prove advantageous to construct specialized apparatus to perform the method steps described herein. The present invention has been described in relation to particular examples, which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will appreciate that many different combinations of hardware, software, and firmware will be suitable for practicing the present invention.
The present invention has been described in relation to particular examples, which are intended in all respects to be illustrative rather than restrictive. Those skilled in the art will appreciate that many different combinations of hardware, software, and firmware will be suitable for practicing the present invention. Moreover, other implementations of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. Various aspects and/or components of the described embodiments may be used singly or in any combination. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
Duncker, Seymour, Montgomery, Tyron
Patent | Priority | Assignee | Title |
10031906, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Images and additional data associated with cells in spreadsheets |
10289741, | Mar 30 2016 | Microsoft Technology Licensing, LLC | Using relevant objects to add content to a collaborative repository |
10366157, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Images on charts |
10503824, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Video on charts |
10579724, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Rich data types |
10599764, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Operations on images associated with cells in spreadsheets |
10713428, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Images associated with cells in spreadsheets |
10740549, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Sound on charts |
11106865, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Sound on charts |
11157689, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Operations on dynamic data associated with cells in spreadsheets |
11200372, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Calculations on images within cells in spreadsheets |
11630947, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Compound data objects |
11656750, | Mar 23 2020 | Shenzhen Futu Network Technology Co., Ltd. | Method and device for reference-diagram editing for chart and non-transitory computer-readable storage medium |
9665654, | Apr 30 2015 | ICHARTS LLC | Secure connections in an interactive analytic visualization infrastructure |
9712595, | Jul 02 2008 | ICHARTS LLC | Creation, sharing and embedding of interactive charts |
9716741, | Jul 02 2008 | ICHARTS LLC | Creation, sharing and embedding of interactive charts |
9843609, | Jul 02 2008 | ICHARTS, INC | Creation, sharing and embedding of interactive charts |
9979758, | Jul 02 2008 | ICHARTS LLC | Creation, sharing and embedding of interactive charts |
9990349, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Streaming data associated with cells in spreadsheets |
9990350, | Nov 02 2015 | Microsoft Technology Licensing, LLC | Videos associated with cells in spreadsheets |
Patent | Priority | Assignee | Title |
5414809, | Apr 30 1993 | GOOGLE LLC | Graphical display of data |
5859641, | Oct 10 1997 | InterVoice Limited Partnership | Automatic bandwidth allocation in multimedia scripting tools |
5917499, | Apr 05 1996 | Microsoft Technology Licensing, LLC | Interactive graph display system |
6304272, | Dec 10 1996 | MICROGRAFX, LLC; 8324450 CANADA INC | Graphics system and method having objects conformed to a template |
6757573, | Nov 02 1999 | Microsoft Technology Licensing, LLC | Method and system for authoring a soundscape for a media application |
7080070, | Jul 02 1999 | Amazon Technologies, Inc | System and methods for browsing a database of items and conducting associated transactions |
7113190, | Nov 27 2002 | CHART TRADING DEVELOPMENT, LLC | Systems and methods for providing an interactive graphical representation of a market for an electronic trading system |
7398281, | Feb 28 2005 | GOOGLE LLC | Document repository |
7409634, | Jul 26 2006 | International Business Machines Corporation | Method and apparatus for end-to-end content publishing system using XML with an object dependency graph |
7512875, | May 21 1999 | E-Numerate Solutions, Inc. | Chart view for reusable data markup language |
7584415, | Sep 15 2004 | Microsoft Technology Licensing, LLC | Common charting using shapes |
7667582, | Oct 14 2004 | Oracle America, Inc | Tool for creating charts |
7737979, | Feb 12 2007 | Microsoft Technology Licensing, LLC | Animated transitions for data visualization |
7837247, | Jul 18 2006 | NORGREN AUTOMATION SOLUTIONS, INC | Gripper with central support |
7840937, | Feb 12 2004 | Raju, Chiluvuri | Building software components |
7961188, | Dec 05 2005 | Microsoft Technology Licensing, LLC | Persistent formatting for interactive charts |
8190987, | Oct 25 2007 | Microsoft Technology Licensing, LLC | Private views of data and local calculations during real time collaboration |
8255791, | Nov 29 2000 | Collaborative, flexible, interactive real-time displays | |
8271892, | Jul 02 2008 | ICHARTS LLC | Creation, sharing and embedding of interactive charts |
8520000, | Jul 02 2008 | ICHARTS LLC | Creation, sharing and embedding of interactive charts |
8661358, | Jul 02 2008 | ICHARTS LLC | Creation, sharing and embedding of interactive charts |
8667394, | Jun 19 2007 | System for generating an intelligent cross-platform document | |
8749553, | Oct 07 2011 | GOOGLE LLC | Systems and methods for accurately plotting mathematical functions |
8812947, | Dec 08 2011 | GOOGLE LLC | Ranking graphical visualizations of a data set according to data attributes |
9037964, | Jan 12 2012 | International Business Machines Corporation | Providing direct manipulation of an analytics data visualization within an analytics report |
9070227, | Mar 04 2013 | Microsoft Technology Licensing, LLC | Particle based visualizations of abstract information |
20020063733, | |||
20020156806, | |||
20020169975, | |||
20040119713, | |||
20040164983, | |||
20040254844, | |||
20040264697, | |||
20040265632, | |||
20050068320, | |||
20050149538, | |||
20050232055, | |||
20050288899, | |||
20060004731, | |||
20060136535, | |||
20060136819, | |||
20070126736, | |||
20070203720, | |||
20070203917, | |||
20070203945, | |||
20070245238, | |||
20080109740, | |||
20080134059, | |||
20080183664, | |||
20080189254, | |||
20080189408, | |||
20080192056, | |||
20080195930, | |||
20080316304, | |||
20090018961, | |||
20090024405, | |||
20090079833, | |||
20090113091, | |||
20090119399, | |||
20090199077, | |||
20090265632, | |||
20090307105, | |||
20100005008, | |||
20100005411, | |||
20100058250, | |||
20100095235, | |||
20100192166, | |||
20100214299, | |||
20100251128, | |||
20100277481, | |||
20100283606, | |||
20100318611, | |||
20100332465, | |||
20110016131, | |||
20110035692, | |||
20110041087, | |||
20120066088, | |||
20120144303, | |||
20120151378, | |||
20130111321, | |||
20140164008, | |||
20150058755, | |||
20150095807, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jan 27 2009 | DUNCKER, SEYMOUR | ICHARTS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031089 | /0961 | |
Jan 27 2009 | MONTGOMERY, TYRON | ICHARTS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 031089 | /0961 | |
Aug 08 2013 | ICHARTS, INC. | (assignment on the face of the patent) | / | |||
Dec 12 2014 | DUNCKER, SEYMOUR | ICHARTS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034665 | /0474 | |
Dec 12 2014 | MONTGOMERY, TYRON | ICHARTS, INC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034665 | /0474 | |
Aug 25 2023 | ICHARTS, LLC | BR IP VENTURES, LP | SECURITY INTEREST SEE DOCUMENT FOR DETAILS | 065421 | /0783 |
Date | Maintenance Fee Events |
Oct 14 2019 | REM: Maintenance Fee Reminder Mailed. |
Mar 30 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Feb 23 2019 | 4 years fee payment window open |
Aug 23 2019 | 6 months grace period start (w surcharge) |
Feb 23 2020 | patent expiry (for year 4) |
Feb 23 2022 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 23 2023 | 8 years fee payment window open |
Aug 23 2023 | 6 months grace period start (w surcharge) |
Feb 23 2024 | patent expiry (for year 8) |
Feb 23 2026 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 23 2027 | 12 years fee payment window open |
Aug 23 2027 | 6 months grace period start (w surcharge) |
Feb 23 2028 | patent expiry (for year 12) |
Feb 23 2030 | 2 years to revive unintentionally abandoned end. (for year 12) |