Thursday, May 15, 2008

Google Maps Street View

Where the hell have I been? Almost 1 year later and I find out about Google Maps Street View and it is amazing. More info on the Street View at Techcrunch and Lifehacker.

Friday, May 9, 2008

Today's Woot, JS Modular

I took a screenshot of todays woot on woot. View Screenshot. Its hilarious...

update from Milyusha on twitter.

Tuesday, May 6, 2008

Suva, Fiji Mapped on OpenStreetMap.org

Watching live twits for the keyword "Suva" in the twitter mashup I'm creating, I came across this twit from strangepants:

Slowly mapping Suva on OpenStreetMap.org: http://tinyurl.com/5bszrn.
Checking it out I find the beginning of an up to date and accurate street map for Suva, Fiji.

Even living in Fiji you can't find good maps of Suva. The ones sold here are outdated with inaccurate street names and locations. Google Maps does not have coverage of Suva and Google earth has very limited coverage.

This is another example of how openly edited initiatives (eg: OpenStreetMap.org) are superior to closed proprietary initiatives (eg: Google Maps, Yahoo Maps).

Monday, May 5, 2008

IE8 and the Activities Feature for Developers

The IE8 Features for developers is pretty impressive. Heres is a bit on the "Activities" Feature.

Activities

This should probably have a better name for developers, something like "open service". (ed. Its actually called OpenService and there is a proposed extension on the MicroFormats Wiki. ) The IE8 feature allows a developer to embed a web service into the HTML page. If you're familiar with Open Search, this is a very similar protocol for embedding any service into a HTML page and follows the same technique.

Open Search is an XML format for mapping out query URLs for Search Engines. EG:

<?xml version="1.0" encoding="UTF-8"?>
 <OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
   <ShortName>Web Search</ShortName>
   <Description>Use Example.com to search the Web.</Description>
   <Tags>example web</Tags>
   <Contact>admin@example.com</Contact>
   <Url type="application/rss+xml" 
        template="http://example.com/?q={searchTerms}&pw={startPage?}&format=rss"/>
 </OpenSearchDescription>
This then allows an Open Search Client such as the browser to make a Search Request based on the XML provided for a Search Engine Service. This is what is used each time you type a search into the little search bar on the top right in Firefox or IE.

IE8 feeds of a similar XML schema for its Activities - which maps out queries for web services, I'd guess RESTFUL webservices. EG:

<?xml version="1.0" encoding="UTF-8"?>
  <openServiceDescription xmlns=”http://www.microsoft.com/schemas/openservicedescription/1.0”>
  <homepageUrl>http://maps.live.com</homepageUrl>
  <display>
    <name>Map with Windows Live</name>
    <icon>http://www.live.com/favicon.ico</icon>
  </display>
  <activity category=”map”>
    <activityAction context=”selection”>
      <preview action= ”http://maps.live.com/geotager.aspx">
        <parameter name="b" value="{selection}"/>
        <parameter name="clean" value="true"/>
        <parameter name="w" value="320"/>
        <parameter name="h" value="240"/>
        </preview>
      <execute action="http://maps.live.com/default.aspx">
        <parameter name="where1" value="{selection}" type="text" />
      </execute>
    </activityAction>
  </activity>
</openServiceDescription>
Unfortunately following the namespace for the openServiceDescription XML document yields an equivalent of a 404 page. Wow Microsoft, nice documentation. Guess you'll have to Google it.

You may or may not be aware that this is a standardization of a number of existing data formats and widgets used to display exactly the same thing, links that enable you to add a piece of HTML directly to an external web service.

Generally, a developer develops a web service, they have to syndicate that service some how. They have choices such as JSON, RSS, ATOM, or AJAX widgets etc. The problems with these is that it does not allow an external service to make a dynamic request or query to their service in a standard way. Open Search was developed to standardize this for Search Engines. Now it looks like Microsoft has come up a similar standard for general web service.

The key difference between a standardized format for querying a web service and the web service description provided by the web service itself is simplicity. You can query any web service if you have the technical expertize to read the documentation, and implement a web service request and consume its response. However, you cannot implement the description of one web service directly to another unless you have a standard description for querying both - Open Service Description.

In other words, this is how IE8/Microsoft aims to have web services come to them, instead of having to go out and implement every web service description out there, developers of web services will be sending their Open Service Descriptions to IE8.

As a developer, this is good news. Now you can hitch a ride with IE8, consume any web service descriptions designed for IE8 and implement them into your own mashups, website, webapp or web service.

Google Maps Geocoding API Launched, Finally!

Looks like Google finally releases a (edit: an improved) Geocoding service for the Google Maps API. Try it out here. I wonder how compares to the Yahoo Maps API Geocoding service that has been available for some time.

edit. Google Maps API has had geocoding available since June 11th, 2006 according to their blog article "Geocoding at Last". They've since then added geocoding for the UK, Australia and New Zealand.

It would be interesting to see a street/address based geocoding service from OpenStreetMap.org. From data alone it is obvious that it would have more world coverage then Google Maps or Yahoo Maps Geocoding. At the moment they only offer geocoding based on "geographical object names" with help from Geonames.org. It should be quite trivial to write a street/address geocoding algorithm using the OpenStreetMap.org data. Half the world lives outside the data covered by Google and Yahoo! Geocoding - the exotic half.

Sunday, May 4, 2008

Twitter API and AJAX

Twitter is a very exciting service. I've been playing around with a twitter mashup in my spare time that I will post here.

Friday, May 2, 2008

Open source, distributed, multi-platform, web browser screenshots!

If you're an XHTML and CSS designer you've had the problem where your beautiful design breaks in different browsers. Therefore, you have to recheck your designs in the major browsers. I normally go with IE6+ and Firefox 1.5+.

Due to the huge number of different browsers out there on different Operating Systems, it usually isn't possible to have access to each browser/OS configuration. That is why many designers use as services such as browsercam.com; which is a paid service that generates screenshots of web pages in different browsers running on different operating systems.

Today while looking for alternatives I stumbled upon http://browsershots.org/. This is an Open Source service that takes screenshots of web pages in different browsers and Operating Systems on distributed computers working together via XML-RPC. Contributers to the service register as Screenshot Factories which poll the Server's for screenshot requests in its queue.

The author of project, Johann C. Rocholl, came up with the idea in November 2004. The service has been around since Feb 2005.