AJAX (by )

Let's take an example - Google Maps.

Google Maps is an AJAX application; without Javascript enabled you can still view maps with a reduced user interface, since they have written a backup interface, but you can't (at the time of writing) get directions.

When you visit Google Maps you get a nice AJAX application which lets you enter a location, or scroll around and zoom on the shown map, and it will fetch map images from the server for you. Note, however, that whatever map you're looking at, the URL in the browser stays the same - you're still on the same page, although the AJAX app embedded in the page is allowing you to "navigate".

Now, implemented as an ARGON entity, we would have information but no publicly-visible message interface commands - this is purely an information service.

The information available would be of the form:

  1. I have a predicate called "postcode-location" that relates a string called "postcode" to a 2D rectangle called "location". The help for this predicate is "This predicate may be used to map a UK postcode to a coordinate rectangle that neatly covers the postcode. For a full postcode, it will give you a 100m square centered on the postcode. For a region (eg, SW7) it will give you the smallest rectangle that covers the whole region"
  2. I have a predicate called "map" that relates a 2D rectangle called "location" to an image. The help for this predicate is "This predicate may be used to map a coordinate rectangle to a map of the covered area."
  3. I have a predicate also called "map" that relates a 2D location called "location" and a number called "scale" to an image. The help for the predicate is "This predicate may be used to map coordinate rectangle to a map of the covered area. The coordinate rectangle is specified as a central location and a scale, where the scale is the distance around that location to show, in metres"
  4. I have a predicated called "route-plan" that maps a 2D location called "From" and a 2D location called "To" to a list of RoutePoint items, where a RoutePoint items consists of a 2D location, a bit of text called "Place Name", and a bit of text called "Instructions". The help for this predicate is "This predicate may be used to find a driving route between two locations. The result is a list of sequential steps in the route, given map coordinates, a place name (eg, "M5 Junction 3"), and driving directions.
  5. I have an applet that will provide a nice interface to myself given a mouse, keyboard, and display.

Now, that alone is not highly user-friendly, but it is machine readable. That means that users with strange viewers will be able to make sense of it. Ok, the blind are unlikely to want driving directions or maps, but an in-car computer with a speech input (and no mouse or keyboard) and display projected onto the windscreen would be able to let you manually find the location of two postcodes, then feed them into the route planner, and go through the list of driving directions (viewing the map for each). The in-car computer's programmer could easily look at that provided information and write a special viewer for the special environment of the car, that automatically fetches the maps for each step in the driving instructions and displays them in sequence. Or the map server itself could provide a new interface applet for those with in-car computers.

Pages: 1 2 3 4 5

No Comments

No comments yet.

RSS feed for comments on this post. TrackBack URI

Leave a comment

WordPress Themes

Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales
Creative Commons Attribution-NonCommercial-ShareAlike 2.0 UK: England & Wales