Help Wanted

Project Description
This is a world clock using Virtual Earth for the world clock. It uses Silverlight and Virtual Earth through the VIEWS wrapper (also a codeplex project). Originally it was created as a simple, but flashy :) demo of Silverlight for global aware apps.

SilverTime is an example of a Silverlight application. Initially it was intended to be a quickly written demo for a presentation, with a global aspect. The VIEWS Virtual Earth Silverlight wrapper was chosen because it made it easy to get a map and reasonable latitude/longitude coordinates from that map. Besides its really cool, and extreme overkill for a world clock :)

Serious Bugs
This was intended for flashiness, but I ran out of time to make the daylight savings times behave properly:
  • Daylight savings times are recognized, but the transition between daylight and standard time (and vice versa) is very inaccurate. DO NOT USE.
  • I didn't really parse the data for the transition very well.
  • I used the Pythagorean theorem to figure out how far from a timezone point a click is.
    • This doesn't account for the fact that the earth is round, so some points are "closer" in real life, even though the latitude is way different.
    • This only gets you the closest city. So if you click somewhere that in real life is within a time zone, but the closest known city is in another, you'll get inaccurate results (except that the city name may help you catch the error).

Things that'd be cool to do
Again, I didn't do everything that'd be cool
  • It'd be nice to have better timezone regions, and perhaps the UTC+/- timezones for places in the middle of an ocean or otherwise lacking a nearby city.
  • Highlighting the found city/point would be cool.
  • Bird's Eye view for the found point would be fun.
  • Comparing multiple locations would be fun.
  • Etc., etc. etc.
  • The tz data includes city/timezone latitude and longitude information.

Making it work

Silverlight Virtual Earth World Clock

To just run it:
  1. Install Silverlight Beta 2 Runtime
  2. Download the release and unzip it locally.
  3. Open WorldClock.html

or to get the source project
  1. Install Visual Studio and Silverlight Tools Beta 2 (not just the runtime)
  2. Download the project from the source code tab
  3. Unzip, open the project, Build & Run.

Updating the Project
  • You can grab new bits from the VIEWS project when its available (2 dlls and a .js file)
  • You can grab the latest tz database. That's a bit more of a pain because it needs to be ported into the format of the data.cs file.

Last edited Sep 22, 2009 at 5:19 PM by ShawnSte, version 13