Milestone One
Milestone Two
Milestone Three
Code Samples
background image
m1.12 Caching to the Max.
Every time a key is pressed Google Suggest initiates a new request. This makes the
process of retrieving suggestions very intensive for both server and client. The web-
client uses caching to help reduce the overheads and improve the responsiveness of the
We can demonstrate this by using the same search query a second time. Returning to
example, we discover that the second time we enter the query, no requests
are made. Interestingly this seems to be browser-wide: that is to say, using the same
query in a new tab or window, or the built-in browser search box, the requests are not
re-created. Uncovered Statistics
An interesting side-effect of Google Suggest is that we can determine current common
search criteria [Lev07]. For example, if we wanted to discover what the common
searches were beginning with
, by entering these into the Google suggest
box, we obtain a list of common search criteria starting with
As a webmaster we could take this type of information and apply it to our content using
SEO techniques. This is potentially a problem because webmasters could use this to
increase their page-ranking by falsifying information about their content. Put simply, it
makes it easier for webmasters to `play-the-system'.
2.5 Ajax
Ajax (Asynchronous JavaScript and XML) is the term used to express the use of
JavaScript to communicate asynchronously via HTTP to create responsive internet
applications. Put simply, Ajax is a collection of client-side techniques used to gracefully
update areas of a webpage without reloading the entire page.
Ajax is the technology that this project will be using client-side to request and retrieve
the results of a Web-Service. There are several ways in which Ajax can consume Web-
Services. We will examine the basics of Ajax, Ajax and Web-Services, and using
JavaScript frameworks that implement Ajax.
When discussing Web-Services, the terms consume and deploy describe the roles
of the client and the server respectively i.e. the client consumes the Web-Services that
the server deploys
Jesse Garrett, credited with coining the term Ajax, describes Ajax as eliminating "the
start-stop-start-stop nature of interaction on the Web by introducing an intermediary
between the user and the server" [Gar05].
Although the term Ajax is relatively new, the technologies that support it are not. At the
heart of Ajax lies the JavaScript XMLHttpRequest interface, which was originally