The W3C has created a standard for location sharing called Geolocation. It allows any person to share her location with any website at the click of a button. Imagine the possibilities with this.
Here is a scenario:
You’ve arrived in a new city, a new continent, a new coffee shop. You don’t really know where you are, and are looking for a good place to eat. You pull out your laptop, fire up Firefox, and go to your favorite review site. It automatically deduces your location, and serves up some delicious suggestions a couple blocks away and plots directions there.
Firefox 3.1 will have this build in, but until then we can use a Firefox add-on called Geode. Basically, it uses your Wi-Fi network to find your exact location and then passes it to a JavaScript callback method on your website. Already now, services like Pownce, Fire Eagle and ZYB uses this to improve the user experience of their services.
Here is a screenshot of what it looks like when Geode ask for a location:
Getting started using Geode
You should start by downloading the Geode add-on for Firefox and make sure your Wi-Fi is turned on. Then fire up your HTML editor and add this JavaScript to one of your pages:
function geodeAsk()
{
if (navigator.geolocation)
navigator.geolocation.getCurrentPosition(geoFound, geoNotFound);
}
function geoFound(pos)
{
var lat = pos.latitude;
var lon = pos.longitude;
alert(lat + ', ' + lon);
}
function geoNotFound()
{
alert('You must be on a wifi network for us to determine your location');
}
// Ask the browser for its location
geodeAsk();
Open the page in Firefox. Geode will now ask you if you want to share your location with the page. It’s that simple. Geode then sends the latitude and longitude to the JavaScript callback method and you can now do whatever you want with it. If you want to retrieve the address based on the location, then you need to do a simple reverse GEO lookup.
I’ve been a bit inactive for the last few months. Here’s an update.
New laptop
My old laptop was 2½ years old so I thought it was about time to upgrade to a newer machine. I’ve been happy with Dell, so I got a new XPS M1530 laptop. Here is what I customized it with:
-
4GB memory
-
64GB solid state HDD
-
HDMI out
-
Blue-ray drive
-
Wireless N (really fast)
It results in this Windows Experience Index.
BlogEngine.NET
It’s been awhile since the team and I have given any information about the next version of BlogEngine.NET. Truth be told, we haven’t had much time to work on it since the last release back in August. Many bugs have been fixed and more will be during the next weeks. The roadmap has been conservatively updated. We might change it to add more things to it.
Since I got my new laptop I’ve updated BlogEngine.NET to run in both IIS 6 + 7 out-of-the-box. The solution has also been updated to Visual Studio 2008. One of the major things that I will focus on in BlogEngine.NEXT is refactoring and cleaning of the code. We are also working with the Windows Live Writer team to implement support for the newest version that is currently in beta.
Another thing I really want to add is life streaming. The ability to have Facebook updates, Twitter tweets etc. to be listed alongside blog posts in a chronological order. This will bridge the gap between blogging and microblogging in a nice way I think. I’ll soon have something to show here on this blog.
SemanticEngine.NET
Since I published the bits on CodePlex a few months ago, I haven’t had time to do a follow up. I still haven’t time. That’s why I asked for people to help out, but so far no one have volunteered. I’ll probably do some polishing and make an official release around Christmas. Still, if you have the time to help out please drop me a note.
Blogging
I’ve been so busy that I haven’t had the time to blog – or the energy. Time is only one part of blogging. The other part is having something interesting to write about. Normally I get ideas from code that I experiment with or play with at home or at work. Lately, I’ve been so swamped at work that I haven’t had the time to play around with code as I normally do. That is changing now since we have hired some new developers to balance the work load.
I’ve just upgraded to Visual Studio 2008 (about bloody time!) so I’ll have a lot of experimenting to do and will of course blog about some of that.