“Web 1.0” is the term associated with the first generation of internet browser applications and programs, along with the associated client-side software entities and server-side software entities used to support and access information using the Internet. Such Web 1.0 technologies, like most first-generation technologies, are geared more to enabling a workable system and to the capabilities of the available software and hardware platforms, rather than to creating a rich and efficient experience for the system's users. Thus, conventional Web 1.0 technologies, while efficient for machines, are often highly inefficient and frustrating for their human users.
In particular, Web 1.0 technologies operate on a “click-wait” or a “start-stop” philosophy. That is, when a user wishes to view a web page, the user must generate a request using the client-side browser software, and send that request to the server. The user must then wait for the server to respond to the request and forward the requested data. The user must further wait for all of the requested data to be received by the client-side browser software and for the browser software to parse and display all of the requested information before the user is allowed to interact with the requested web page.
This is frustrating for most users on a number of levels. First, for slow or bandwidth-limited Internet connections, obtaining all of the requested data can often take a relatively long time. Furthermore, even when the user has high-speed access to the Internet, a web page that requires data to be re-loaded or refreshed on a fairly regular basis, such as mapping web pages, sporting events scores, or play-by-play web pages and the like, can cause significant delays. This is typically due to Web 1.0 requirements that the entire web page be retransmitted even if no or only minimal changes have occurred to the displayed information.
Accordingly, the next generation of technologies used to access and support the Internet is currently being developed and collected under the rubric “Web 2.0”. A key feature in the “Web 2.0” concept is to eliminate the above-outlined “click-wait” or “start-stop” cycle, by asynchronously supplying data associated with a particular web page to the user from the associated web server. The transfer occurs as a background process, while a user is still viewing and possibly interacting with the web page, which anticipates the fact that the user will wish to access that asynchronously-supplied data. A number of important technologies within the “Web 2.0” concept have already been developed. These include “AJAX”, SVG, and the like.
Asynchronous JavaScript and XML, or “AJAX”, is a web development technique used to create interactive web applications. AJAX is used to make web pages feel more responsive by exchanging small amounts of data between the client application and the server as a background process. Accordingly, by using AJAX, an entire web page does not have to be re-loaded each time a portion of the page needs to be refreshed or the user makes a change to the web page at the client side. AJAX is used to increase the web page's interactivity, speed, and usability. AJAX itself makes use of a number of available techniques and technologies, including XHTML (extended hypertext markup language) and CSS (cascading style sheets), which are used to define web pages and provide markup and styling information for the web pages. It also makes use of a client-side scripting language, such as JavaScript, that allows the DOM (document object model) to be accessed and manipulated, so that the information in the web page can be dynamically displayed and can be interacted with by the user.
Other important technologies include the XMLHttpRequest object, which is used to exchange data asynchronously between the client-side browser software and the server supporting the web page being displayed, and XML, RSS and other data exchange standards, which are used as the format for transferring data from the server to the client-side browser application. Finally, SVG (scalable vector graphics) is used to define the graphical elements of the web page to be displayed using the client-side browser application.
In addition to Web 1.0 and Web 2.0 technologies, an entirely different set of software technologies are used to access other data available over local area networks, wide area networks, the internet and the like. These technologies are traditionally referred to as “client-server applications”, where a complex software application having a rich set of features is installed on a particular client computer. This software application executes on the client computer and is used to access, display and interact with information stored on a server that is accessed via a local area network, a wide area network, the Internet or the like. While such client-server applications allow for dynamic displays and make manipulating information easy, such client-server applications are difficult to deploy to all of the client machines, and are difficult to update.
Timelines for displaying data are known. The SIMILE project has a thin client Timeline that is interactive. However, it lacks many desirable features. For example, there is no toolbar that is able to interact with the Timeline. Also, the SIMILE timeline only supports a proprietary data format and does not ingest standard formats like RSS and GeoRSS. Once the data is read in, it does not link to other visualizations or support selection or highlighting. The ability to zoom in or out and the ability to change scales are also not included in SIMILE's Timeline.
The focus of “Business Intelligence” is to enable corporations to analyze their business data and gain insights that result in better business performance. Business Intelligence software vendors have been successful by providing better reporting tools, analytic dashboards, and data analysis capability that help corporations improve operating efficiency. One type of data that is underutilized by Business Intelligences systems is that involving locations. It is estimated that 80% of all data maintained by corporations has a location component. Location data is either stored directly, such as storing the latitude and longitude of tracked objects in a database, or the location is implied, such as storing the street address which can be decoded into geo-coordinates. In the past, geographic data was passed to the GIS (Geographic Information System) department for processing where reports were prepared for the analysts and decision makers. These GIS systems were heavy desktop applications, which needed dedicated machines and highly trained staff to use. This process was often lengthy, and therefore rarely used by analysts needing to make quick decisions.
Location data is traditionally latitude-longitude based data. Map companies, for example, present information in the form of latitude-longitude based data. Items that have map based coordinates may include merchandise shelf position or aisle location in a store.
Planograms are also a tool used by retailers to optimize the layout and location of merchandise. In this application the planogram is a visual planning tool used by merchants and planners to analyze, plan and communicate to stores how product should be laid out and configured. Retailers utilize this application of the planogram more than consumer goods manufacturers. For the most part, retailers guard their planograms closely as competitive information.
Recently, with advances in hardware technology and the emergence of “Web 2.0 AJAX” applications, these untapped location data sources can now be made available to users. Thin client, geospatial mapping platforms provide innovative GIS functionality. These platforms are inexpensive, are bundled with image and map content, provide rich functionality, and are totally browser-based. Today, it is possible to do live interactive maps without needing to install complex client software. As a result they have dramatically broadened access to GIS and mapping technology.
In parallel with the emergence of these thin client GIS web platforms, new standards have emerged for publishing and consuming geo-encoded information. Three standards are widely used. First, GeoRSS is a rather simple extension of RSS, an XML specification for publishing information best described as a sequence of items in channels. GeoRSS extends RSS by including geographical encodings to describe the location of the event items. These encodings can range from a simple Latitude/Longitude point location up to a complex polygon describing a geographical region. These points are encoded using the GML (geographic markup language) standard. Second, KML (Keyhole Markup Language, named after the company which developed it, Keyhole Technologies) is the language used to describe three dimensional spatial planes. Third, GPX is a standard popularized by Garmin GPS units to encode “GPS Tracks” of the device. These formats are similar enough that many open source programs exist to translate between the three data formats.
Web applications that combine geospatial maps with geo-encoded information from various sources are often called mashups. Mashups typically take spatial and non-spatial data, combining or “mashing” the data sets together to a display. Common examples of mashups are “Amazon book purchases overlaid by region,” “Real estate price by neighborhood,” and “earthquake events published by the USGS” plotted geospatially on a Google Map. Although the public domain data was always available, the merging of the data onto a map was difficult. What has changed is that good-enough GIS software is widely available and interesting geo-encoded datasets are now published using geospatial standards. As a result, the number of mashup applications has grown dramatically and there are literally hundreds of thousands of mashup sites.