On the cross-fertilization of geospatial and semantic web technology

Microblogging mashups

Twitter is a popular micro-blogging web service. Micro-blogging services differ from the traditional blogging services in that they restrict the maximum length of a blog entry — e.g., Twitter blogs must contain less than 140 characters. Twitter is one of the hottest social web applications today.

Many mashups have been developed around Twitter. Here is a few interesting map-related Twitter mashups:

  1. TwitterMap: displays latest twitter messages on a map based on the author’s physical location.
  2. TwitterVision: an animated mashup that cycles through latest twitter messages on a map.
  3. TwitterVision 3D: same as TwitterVision, except that messages are displayed on a 3D Earth globe.
  4. TwitterWhere: given a location name and this service will return an RSS feed of twitter messages that came from the vicinity of this location.

I’m not an active Twitter user, but I enjoy playing with Twitter mashups. Reading random Tweets (Twitter messages) are actually entertaining. As the Social Web embraces micro-blogging, there is much to be learned from the world of Tweets.

OpenSearch is not for describing web services

OpenSearch is a collection of specifications that describe how search results can be shared between search engines and meta-search engines. A recent discussion thread on the GeoRSS mailing list brought about a debate over whether OpenSearch’s Geo extension is better than OGC’s Catalogue Service and vice verse.

OpenSearch was founded by A9 Inc., a subsidiary of Amazon.com. It’s a widely adopted specification on the Web today. Popular web search engines implement OpenSearch protocols and service descriptions. Modern browsers like IE7 and Mozilla Firefox have built-in support for OpenSearch extensions. For example, when you enter the string (e.g., “sea”) in the Firefox’s Search Engine toolbar, the toolbar will automatically display a list of possible matching keywords (e.g., “sears”, “search engines”, “sears.com” and “seattle times”). This feature is built-on the OpenSearch specification.

Some people see OpenSearch to be a direct competitor of other Web service description languages and specifications, including CSW, OWL-S and WSDL. I would agree with this thinking only if OpenSearch were designed to solve problems that others are trying to solve. In reality, this is not the case.

Read the rest of this entry »

Past, present and future software development

Alex Iskold at the Read/WriteWeb blog wrote an excellent essay on software development. His article reminds us that software development is an evolution process.

In the 70’s people thought the process of software development should be about the same as the process of civil engineering — gather requirements, then write code, then do testing, and then finally delivery the software to the client. Based on our experiences, we learned that this model doesn’t work. Software development is a non-linear process — requirements can change while the development is still going on. For that reason, we need a more agile development methodology — e.g., release often, embrace changes, refactor, and do unit tests.

Through out the years, not only our software development process has evolved, but also the characteristics of our programming languages have changed. We no longer program with the “programming languages”, but we program with their built-in libraries. C and C++ are great programming languages, but their programming libraries are not as rich as Java, for example. In the community adoption of scripting languages, we have evolved from Perl and PHP to Python and Ruby.

The science of software development is relatively young comparing to other fields of engineering. It’s amazing to see how much has changed in the past short 30 years. I wonder how we will change again in the next 30 years?

Playing with Yahoo! Mapmixer

Yahoo! Mapmixer is a mashup service that allows users to overlay map images on the top of Yahoo! maps. Many people will find this service useful and fun because they can combine atypical map data with the standard street map and satellite map.

I played around with the Mapmixer and created a UMBC’s campus map.The service is relatively easy to use. No special GIS knowledge is required. There is one technical problem with the overlay function. The Mapmixer works great if the uploaded map image is scaled properly (e.g., Yosemite Valley Hiking Map) . If the image is a pictural map, for example, the resulting map will contain serious image distortion. This is case for the UMBC campus that I have created.