Live action Popfly tutorial

The Popfly development team have produced a funny tutorial over the holidays where the team members play the roles of the Popfly blocks (modules). In the video they create a facebook mashup to display facebook friends on Virtual Earth. GeoNames is used to geocode the friend’s locations.

GeoNames is a handy web service that will find the longitude and the latitude for a given location.

via go2web20 blog and John Montgomery

see also our blog posting on the initial Popfly release.


GeoNames does geocoding for Popfly

Microsoft released Popfly, a new mashup tool, in private alpha today. There are around 50 predefined blocks which can be dragged to the design surface where the blocks are connected to create a new mashup. Popfly is kind of a foolproof, slick version of Yahoo! pipes based on the Silverlight browser plugin. For geocoding there is a predefined block GeoNames to access web services. Here a screen shot from the tutorial :

The GeoNames block supports five operations, all of which are restricted to the US:

  1. getLatitudeAndLongitude : geocoding, returns lat/lng
  2. lookupOnPlaceName : geocoding, returns lat/lng and place info
  3. lookupOnZipCode : geocoding with zipcode
  4. lookupOnCityState : geocoding with US state and city
  5. lookupOnLatitudeLongitude : reverse geocoding (findNearbyPostalCodes)

TechCrunch writes about Popfly : “Microsoft are the latest entrants in this market, and they have completely leapfrogged every other application we have seen so far.

John Montgomery, the GPM of Popfly, is blogging about the Genesis of Popfly.

Watch the demo screen cast to see how easy it is to geocode the location of twitter users and display it on VirtualEarth. (WMV, Quicktime)
Not only if Popfly a funny toy it also has the potential to help web service providers monetize their services. It is still difficult if not impossible to combine web services with advertisements. A centralized mashup platform like Popfly could include ads in the presentation layer and share revenues with the mashup creator and the web service providers. Is Popfly going to be the google adsense killer the world is desperately waiting for?

Geonames OpenSearch

Searching for geographical names with your web browser has now become even easier. We have added an OpenSearch description to geonames that allows you to directly search the geonames database from your browsers search bar. OpenSearch is supported by Firefox 2.0 and InternetExplorer 7.
Installation of this small plugin is very simple. Just go to the geonames home page and open the drop down list of your search bar. You will see an option add “geonames”. Select this option and the geonames search engine will be added to your search bar. From now on you can just type into your browsers search bar to search for geographical names.

km42 – Spiegel Online

Every now and then I would like to write about a geoname user. Todays posting is about a user who has joined the geonames user community these days.

km42 is the continuation of the Grimme award winning interactive travel report project Reporter Jörg Peiffer is travelling and reporting about places suggested by visitors of the project website.

The project website displays the current position of the reporter on a map as well as the path taken so far. Clicking on the icons on the map will lead to the reports as texts, pod casts or video casts. Interaction with the reporter is possible via an internet forum and suggestions. The place name search for the suggestion feedback is powered by geonames.

Spiegel Online Km42 is a Spiegel Online project and thus part of one of the largest news sites in the German speaking world.

I am sure there is a lot of interesting, unexpected and surprising stuff in your part of the world. Post you suggestions to the km42 website or the comments section below and I forward them to the km42 project.

Place Name Disambiguation

One of the most interesting parts of the 'natural language geocoder' is Place Name Disambiguation. Depending on the context, the grammatical structure or the language a term may have one of several possible meanings. Examples :

  • Hayden : the CIA director Michael Hayden or the city in Idaho.
  • Java : the island or the programming language
  • Brisbane : city in Australia or city in California, USA
  • Como : city in Italy or a very frequent word in Spanish.

We are using several processing steps to tackle this problem. First we identify the language of the text and the contexts (Example : In an IT context the term java most likely stands for the programming language).

Then we try to find person names and we do some simple grammatical analysis using coocurrences of left and right neighbours (Example : If the term we are looking at is preceded by the expression 'south of', we can be nearly certain that the term has a geographical meaning.)

Composite Country Names

In a previous posting I have written about searching with country names in different languages and was asking our readers to find problems with the algorithm. No one found was able to spot the problem, but this does not stop us from fixing it.

The problem was with the country aliaser for composite country names in foreign languages. A search for 'Seoul, Süd Korea' would not have found anything as the aliaser was only looking at single tokens and was not considering composite country names.

The aliaser has been refactored and is now using a look ahead to see what other tokens are following and whether a sequence of tokens is matching a well known country name.

It is working flawless now, as you can see yourself :üd+korea+seoul

RSS to GeoRSS converter

The brand new Geonames RSS-to-GeoRSS-Converter reads each entry in an RSS feed and tries to determine a geo location for the entry using a modified version of the Geonames full text search. If a geo location is found, its latitude and longitude in GeoRSS format are added to the feed entry. It works for any RSS feed, just pass the feed url as a parameter to the converter and your feed entries will get latitude and longitude in real time.

Here the Reuters WorldNews Feed enriched with lat/lng by Geonames and displayed on the Acme GeoRSS Mapper. It works like a unix pipe : the orginal Reuters feed is piped through the Geonames converter and the result is displayed on the Acme Viewer. You could imagine to pipe the result through a translation service, trough a filter service, trough a sort service, merge with an other feed and so on. In the end you have the original feed translated into your language, filtered by some keywords, enriched with geo information and sorted by distance to your home address. I digress, lets go back to our service.

In addition to adding GeoRSS information the converter is also able to convert from one rss dialect to an other RSS dialect. This is useful if the converted feed with the geo information should be displayed with a GeoRSS viewer which does not support the RSS dialect of the original feed. Just add the parameter type to the url with the target RSS dialect.

The converter has to take the language of the feed into account. Supported languages are English, German, Spanish, Italian and French. The automatic language detection of the converter is rudimentary and only uses the top level domain of the feed to determine the language (.de > de, .it > it ,….). The parameter lang can be used to pass a language and circumvent the automatic language detection.

This a very first release for this service and there is a lot of way for improvement. Don't hesitate to use the comments form below for your ideas and feedback.

Link :

Postal Code Search improvements

The postal code search engine result page (SERP) positions in geonames have been improved for Austria. The most relevant place is now more likely to be on the top position of the postal code search page and the geonames webservice xml or JSON response.

This is best illustated with and example :

A search for code 6020 in Austria returns 124 rows as 124 places share the same postal code. Before this update the top position returned by this search was ‘Rum’ with ‘Sillwerk’ at the second position. Innsbruck was at position 44.

With the improved search algorithm Innsbruck is now on top :

We are using the Yahoo websearch to determine the relevance of a postal code and placename. A search in Yahoo for ‘6020 Innsbruck’ returns 500,000 hits whereas the search for ‘6020 Rum’ returns only 17 hits. These numbers are now part of the search algorithm for postal codes in geonames.

Improvements for other countries will be visible as soon as the numbers to determine the relevancy are available. A batch job on the developement server is working on this.

Searching with Country Names in different languages

The geonames search function now understands Country Names in different languages and has better support for non-english search queries.

Here some examples :

Country name Italy :

Country name Italien :

Country name Italia :

Country name इटली :इटली

Country name ايطاليا :ايطاليا

The geonames search engine is able to correctly identify the country name in different languages and returns the correct result.

(For most countries at least, there are some country names for which it does not yet work. Can you find some of these exceptions?)

Edit May 14 2006 : The problem I was referring to is fixed now, glad no one found it 😉