Thursday, July 5, 2007

Improved IP localization

We are constantly improving the traceurl.com service. Up to now the ratio of locatable IPs was not satisfying. Only about 70% of the accesses were resolved to a location. This was mainly because the hostip.info project does not yet have full coverage. The hostip.info project is a great idea and will certainly evolve over time. At the moment quality and coverage is just not where we would like it to be, so traceurl.com was looking for a solution.

We found an acceptable solution in still using the hostip.info database as the primary lookup source. In case an IP can not be found in the hostip.info database traceurl.com performs a second lookup against the geoiptool.com website. That way the coverage and quality of the two services are aggregated. With this solution traceurl.com reaches a ratio of locatable IP way above 90%!

Wednesday, June 27, 2007

HTTP referer

Traceurl users have been asking for more details on the clicked links. Well, this is not an easy task. All we do is evaluating the HTTP header. So there is only limited data about the visitor and her/his computer.

Actually there would be ways to get more information about the visitors computer. For instance by injection some JavaScript code. But I fear fiddling around with the redirected page, injecting code and things the like is neither modest nor legal and could pretty quick become a copyright or privacy issue.

None the less there are still unevaluated information in the HTTP header. One of them information is the HTTP referer. The so-called HTTP referer represents the adress of the website the visitor came from. Depending on the User Agent the referrer can be hidden and in case of a direct access the referrer information is also be missing. If available the referrer will now be shown in a new column in the table on the My URLs tab. In case a traceable URL has been published on multiple websites this is a very useful information.

Of course we try to improve the Traceurl service and will think of other ways to provide additional and useful data in the future.

Monday, June 25, 2007

Publications

The Traceurl.com website is listed on the programmableweb.com dashboard. And the Traceurl Google Gadget made it into the snipperoo.com directory. Feel free to have a look at the respective article and vote for Traceurl.com. I shall be delighted.

Thursday, June 14, 2007

Traceurl Google Gadget Update

A new Traceurl Google Gadget is online. By now the Gadget shows some more information and one can open a dialog displaying all access origins on a wold map (Google Map) from within the Gadget.

trace.png

Click here to add the Traceurl Google Gadget to your iGoogle page.

Wednesday, June 13, 2007

Continuous zoom

In the previous post I have been talking about this continuous zoom function of the Google Map API. I did not find a lot of information about animated/continuous zoom, thus I decided to share the code I wrote.

First of all, this seems to look best in IE. In IE the animation looks very smooth, other i browser tend to flicker while zooming in. Anyways this is a quite new feature and I assume it will be improved in the future.

A good resource to start with things is the Class Reference and an insider tip it this Unofficial Reference. I assume you already know how to get started, otherwise this tutorial can help. I omit the code around and just post my essential function:

function load() {

if (GBrowserIsCompatible()) {
var map = new GMap2(document.getElementById("map"));
map.addControl(new GLargeMapControl());
map.addControl(new GMapTypeControl());
map.setCenter(new GLatLng(37.4419, -122.1419), 1);
map.setMapType(G_NORMAL_MAP);
map.enableDoubleClickZoom();
map.enableContinuousZoom();

var point = new GLatLng(47.5,8.75);
var marker1 = new GMarker(point);

map.addOverlay(marker1);

window.setTimeout(function() {
map.panTo(new GLatLng(47.5,8.75));
}, 1000);

for (var i = 1500; i < 4500; i = i + 500) {
window.setTimeout(function() {
map.zoomIn(new GLatLng(47.5,8.75), false, true);
}, i);
}

}
}

The map.enableDoubleClickZoom(); is very important, otherwise the zooming won't be smooth at all. The call to map.zoomIn(...) triggers a one step zoom and the loop around it is where the real magic happens. With the 500ms delay between the calls we can fake some kind of continuous animated zoom in. I am not sure about the 500ms, you may want to play around with this value. Please post a comment in case you figure out a more adequate setting.

Google Map integration

I have just installed a new version of traceurl.com. The major new feature is the Google Map integration.

The origin of several accesses can now be displayed (watch out for the map.gif icon) on a world map. An access is shown as a mm_20_red.png marker on the map, accesses that have the same origin are combined into one marker. Click on a marker to get more information (IP, access time...).

The hostip.info applet has also been repaced with a Google Map. The familiar functionality of the applet is mimiced with the Google Map's continuous zoom capacity.

This is the way the map used to look using the hostip.info applet. An here you can see the new traceurl.com Google Maps integration.

Friday, June 8, 2007

GWT Demystified

People that want to know more about the insides of the Google Web Toolkit should read Ray Cromwell's GWT Demystified Triology. Ray Cromwell promises to digg deep into some of the more esoteric functionality of the Google Web Toolkit. His tutorials and essays are an interesting read for every advanced (or enroute to become advanced) GWT developer.