Todd helpfully re-published the Windows Mobile Silverlight roadmap recently. It does not make exciting reading. In amongst news of Impressive Google Android Apps, (and here) a T-Mobile Android phone this year (from HTC) and endless twitter about iPhone and 3G, the road map is hardly going to light any fires. Here's my take on the Windows Mobile roadmap in general, followed by my hope of a glimmer of light for all us WM developers and users...
- Windows Mobile 6.1 was just released - really nothing to write home about - threaded SMS is nice but there is not much else here - in particular the Getting Started Application is very lame - just a list of items, that when clicked show some text and links to the real apps. The worst is the "Make a Call" option shown below - really does this add anything? Couldn't a few more images or even a little animation have helped? Why have the icon shown for step 1 but not step 3? My mum was just baffled by this, and my 12 year old daughter just could not understand why anyone would find this useful.
- We are still waiting for Silverlight 1.0 support on Windows Mobile. At Mix08 I attended various mobile talks (Amit Chopra: "The wait is finally over, we have Silverlight for Windows Mobile" - from one of the less impressive sessions), where Silverlight 1.0 was promised shortly after Mix. According to Todd a CTP should be available soon - a CTP? of Silverlight 1? Come on guys, Silverlight 1 should be done and dusted by now, it was announced at Mix07, we need Silverlight 2 and a WPF-like UI.
- Todd says: "We'll get the first "official" Silverlight for Mobile (1.0) towards the end of this year, sometime after Silverlight 2.0 officially ships for the desktop. Around the same time we should get a CTP of Silverlight 2.0 for Mobile." - That isn't very positive language, "should" sounds a little shaky to me. (Todd isn't employed by Microsoft though, so perhaps we shouldn't read too much into that)
- Location Services - this is a high growth area - sales of Mobile Navigation devices has doubled and location based services are an important aspect of mobile development. Google look like they may make their Geolocation API public - this lets you get your location on devices that haven't got a built in GPS - using the Skyhook service, and is seen in Google Maps Mobile currently. Windows Mobile has the Intermediate GPS Driver and some sample code to get you started. However in our experience this sample is buggy and the Intermediate driver is implemented differently across different hardware manufacturers (ask me for details), making it hard for developers to take advantage of. Look how easy it is on Android - this is how it should be on Windows Mobile too.
- UI - We all know there is plenty wrong with Windows Mobile UI - and that IPhone sales are beating WM in the US (though both are behind RIM and Symbian) and the Android will do the same IMHO. Microsoft will be acutely aware of this too, so why the delay for Silverlight on Windows Mobile?
The glimmer of light
OK so Windows Mobile is not in a great way compared to the competition at the moment, but is there any hope that Microsoft is actually keeping their rapid development of Windows Mobile 7 behind closed doors, and that they may actually get a device to the market this year, together with Silverlight and a UI that can compete with IPhone and Android? Well there may be. Some clues:
I really hope Microsoft are planning to surprise us with Windows Mobile this year. Android is starting to get developers excited, and if they can get it out on more than the T-Mobile device, I think it offers real competition - we will certainly consider it for future mobile development, based on the look of the Api, but I would prefer to stay with Windows Mobile if it can improve it's api and UI support.
Cheers
Ian
For those delegates who attended this course in Helsinki, and have not received copies of the sample applications we used, but would like them, please email me at Ian@bbits.co.uk and I will forward them on.
Cheers
Ian
Mike Ormond has a nice post about how to use the Asp.Net routing capabilities of Asp.Net MVC, in your standard webforms sites.
In his example Mike goes through the essentials of how to set this up in Application_start and how to create and register your own IRouteHandler. Mike's example explains this really well with a simple example of routing a single parameter to a matching aspx page as follows:
I wanted to see how you can map multiple parameters to a single page and pass that parameter data to the page. So that the following mappings were made:
The first thing to do is to change the routes registered in global.asax, so that we have routes that expect our two parameters for username and area:
void Application_Start(object sender, EventArgs e)
{
RegisterRoutes(RouteTable.Routes);
}
private void RegisterRoutes(RouteCollection Routes)
{
Route r = new Route("{username}/{area}" ,new SimpleRouteHandler());
Route r2 = new Route("{username}", new SimpleRouteHandler());
Routes.Add(r);
Routes.Add(r2);
}
Next we need to modify the SimpleRouteHandler to deal with these routes. At first I expected an overload on the CreateInstanceFromVirtualPath method that let me pass some parameters, but that was not available. Instead I simple added the RouteData (which contains the username and area parameters) to the Context Items collection:
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
string virtualPath = string.Format("~/default.aspx");
foreach (var value in requestContext.RouteData.Values)
{
requestContext.HttpContext.Items[value.Key] = value.Value;
}
return (Page)BuildManager.CreateInstanceFromVirtualPath(virtualPath, typeof(Page));
}
Now I can work with those values on default.aspx (and in this case just display them):
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = string.Format("username:{0} area:{1}", Context.Items["username"], Context.Items["area"]);
}
Cheers
Ian
I have noticed that more and more places in the UK are getting the 3D treatment in Virtual Earth, but there doesn't seem to be a list of all of them (at least I couldn't find one). The UK models do not yet support the recent enhancements that some of the US cities have (such as Denver or Las Vegas) where vegetation is modelled as well as the buildings, but I expect that it is just a matter of time.
So anyway I have created a collection of places in the UK where I have spotted 3D models - bear in mind you need to switch to 3D view (doh) and that it takes a while for the models to fully load (keep your eye on the globe in the bottom left corner of the map - if it has not filled with colour then the map and models are not yet fully loaded in all their glory (my son : "that doesn't look very good dad it's just a load of colours - oh hang on, wow!"
The collection is here - I'll add to it as I spot any others, or if you see or know of any others, please let me know. Some examples below:
UPDATE: Found this collection of worldwide 3D cities: http://maps.live.com/?v=2&cid=320432CACC287CB4!101&encType=1#
Cardiff Millennium Stadium

Bristol Cathedral
Royal Pavilion in Brighton
Some tips for the 3D view
Enable "Continue Earth motion after dragging"
This is buried in the options > 3d settings dialog > preferences section, but really adds a nice effect when dragging the map - and if you zoom out to the entire globe, you can spin it round like a football!
Try the 3D tour
You can open any collection and tour it in 3D - just click the link above the collection:
Create your own 3D tours
You can control how your 3D tours are viewed by recording the best viewpoints, and adding info and images.
When you create a collection in 3D the properties for any pushpin has specific 3D options (shown below) such as capturing the current viewpoint, adding animations, waiting for the scene to load, and waiting before moving to the next pushpin.
In the collections editor you can then select Actions > Tour and make videos in 3D.
Turn your 3D tour into a video
It's really easy to turn a 3D tour into a video: In 3D tour window, just click the Record button, select some display options and click continue. It can take quite a while though, so you'll probably want to kick it off and go and make a cup of tea! Note that it does not seem to be too processor intensive for your machine, perhaps most of the work is being done on the server, so you could do some work rather than have a cup of tea, if you are that way inclined.

NOTE: The quality of the video can be set right up to HD quality, You need to do this before you click the record button in the options screen for VE (Click the options icon top right of the screen
). However my laptop (Lenovo T61p with 4GB Ram and Vista x64) fell over with an out of memory error when I tried to create a video at the highest 1920x1080 setting.
Host the video with Silverlight Streaming
if you create a video it is really very easy to host it for free at http://silverlight.live.com and embed it on any page you want (using Microsoft's bandwidth and infrastructure). This is free at the moment, and will remain so when the service goes live, provided you are happy for ads to appear on your videos. If you don't want ads then there will be a paid for service, or you can host the video yourself. Here's one I created earlier of a tour of the River Thames: