Wiirtual.Earth – A WPF Virtual Earth 3D Experiment … featuring the Nintendo WII Mote

Disclaimer: this is a hack, an experiment, not a finished application – no guarantees are given and the code is probably pretty horrible. It might max out your computer or break something, so use this at your own risk. Also, be sure to check out the great work of the poeple whose projects/source code I have used and studied to build this. Also, make sure to read the setup instructions before you start.

I have been digging deep into Virtual Earth recently – and the more I play with it, the more excited I get. I am especially intrigued with Virtual Earth 3D and have built a little project that pulls Virtual Earth into a WPF desktop application just to see what can be done with it. Well, I am proud to post this very first version of my little application up here. I have also demo’ed this application at Microsoft events in several countries and it seems that people like it …

In a nutshell, here is what it does:

  • Pretty WPF UI.
  • Virtual Earth 3D in a WPF application – using this code.
  • Control Virtual Earth properties from WPF via WPF data binding and UI.
  • Get VE info and bind it to WPF UI elements.
  • Pull in data into VE (GeoRSS, KML, Live collections, plain XML, Wikipedia, Flickr).
  • Control VE with a WIIMote (WIIMote acceleration sensors) – using Brian Peeks WIIMoteLib.
  • Control VE with the WII Balance Board – using Brian Peeks WIIMoteLib.
  • Win32 > WPF interop for mouse and keyboard.

All in all it is a pretty cool project but since I am not a developer undoubtedly there is a lot of crappy spaghetti code in there. I wrote it for a demo as an experiment. Anyways, if somebody has some comments, hints or can use this code, any feedback would be greatly appreciated! I am planning to turn this app into a series of WPF tutorials soon. In the meantime, here are the setup instructions (very important to follow those, otherwise it won’t work correctly or even start!), here is the executable (for Windows) and here is the source code. If you want to know what you can do with this app, read this quick intro document first.


Design & Build A Complete WPF Application in Expression

Greetings … long time no read, I have been rather inactive for a long time now. Apologies for that, but I have been extremely busy with holding presentations and trainings around Expression and Silverlight.

And this is the reason for this post: this post is about a complete WPF Training Hands On Lab. It contains instructions for designing and building a working WPF desktop application with the following features:

  • Dynamic XML data binding and data filtering
  • UI Styling with data and control templates
  • Triggers, events and animation

Download the lab manual here: Expression Blend End-to-End exercise manual. The assets (images and code files) can be found here. All the images used in this application are in the public domain or have been taken by me. Descriptions and art details come from Wikipedia.

This hands on lab is based on the incredible work of two of my colleagues at Microsoft – Celso Gomes and Kirupa Chinnathambi. They held a great presentation at MIX 08 called Applications = Designers and Developers where they went through the steps required to design and build such a working application from scratch. I have learned a lot of my WPF knowledge from this talk so I decided to create this hands on lab which has been modified from the original to only use the Expression tools and no code at all. (I am not a developer, so I wanted to only use Expression tools). Also, I wanted to tell a bit of a story around the demo to be able to include a bit of background info on XAML and Microsoft’s UX story.

If you want to see the presentation I usually do together with the demo, you can download the PPT here: The World of Expression.

You can access the video of Celso’s and Kirupa’s talk at http://sessions.visitmix.com. Watching this is highly recommended! And, if you want to know how to access SQL data from your WPF application, they are describing in detail how to do that using some code snippets. In general, the process and steps used in the lab manual to design this application are taken straight from this talk … they have made it so clear and easy it was like a revelation for me :-).


Expression Web Beginner’s Tutorial

Here is a nice tutorial for Expression Web that shows how to build a complete web site with ASP.net and Expression Web. This was designed as part of a curriculum for High Schools that want to teach their students web design skills:

Your Learning Guide to Expression Web provides a convenient method to learn valuable Web development skills using Microsoft® Expression® Web. In this self-paced, 55-page tutorial, you will learn the basics of using Microsoft Expression Web and build a creative, dynamic Web site from scratch with the design tools that IT professionals use.While creating a Web site using Expression Web, you will:

• Learn about ASP.NET
• Create page layouts with layers
• Incorporate images
• Format text with Style Sheets
• Use CSS with other elements
• Design and use Master Pages
• Create links
• Include an interactive calendar

You will be able to apply what you discover in this tutorial to create many styles of Web sites.

This tutorial can be used as a stand-alone resource or to accompany the Expression Web Curriculum for Pre-collegiate Students.

Head over to this site for more information: http://www.microsoft.com/facultyconnection/precollegiate.

Cheers Koestie

A new WPF starter kit has been published!

Have you ever seen the New York Times Reader? It is one of the top WPF apps out there, allowing you to read the NYT on your computer. It is a totally different experience from going to a website. Microsoft has now released a new starter kit that gives you the opportunity to build your own reader application and connect it to the data feeds of your choice. Here is the abstract:

We are very excited to take the wraps off of our newest addition to .Net client development – a Starter Kit designed to make it easy to create rich, syndicated multimedia and content experiences which engage the user, from documents and photos to videos and podcasts.

These Syndicated Client Experiences (SCE) applications exploit the push capabilities of RSS in a model where content is synced down to the local computer and each application retains full control over the presentation of the content. Microsoft’s Sync Framework-based Subscription Center takes care of syncing, local storage, subscription management and the safe caching of authentication credentials. These building blocks and services are designed to help application developers focus on what matters to them most: providing an optimal, highly-differentiated content experience on the desktop with very rich content, branding, skinning and custom user interface elements.

I am just now looking into this – I want to build my very own Digg reader application with :-). Here is the link: http://windowsclient.net/wpf/starter-kits/sce.aspx


New year, new resolutions

A long time has passed since my last post – but anyway, the time before christmas is always very busy @ Microsoft. Right now, we are reviewing the first half of the year and looking at the results as well as planning the second half. Designer business looks actually pretty good, we are seeing quite some traction and a lot of interest in Silverlight and Expression. Still, there are lots of areas of improvement, chiefly among them the need for additional training resources. Which brings me to the topic of today’s post: if you are looking for a quick way to ramp up on Silverlight, check out the Silverlight Firestarter at http://www.visitmix.com:

The Silverlight 1.0 Fire Starter is a one-day event providing developers and designers information on the concept behind Silverlight as a technology, what tools are useful in development and the knowledge in order to start building their own applications. The eight sessions are available to watch here and can be downloaded in video and audio-only formats.

So, if you have a bit of free time, take a look.


MIX 08 Registration now open!


MIX 08, the conference that covers everything next web will take place March 5-7 2008 in glitzy Las Vegas. This is a great event where you can catch up on the latest Microsoft technologies and also see what others are doing with Silverlight and Expression – highly recommended! Here is what the people at Microsoft say:

Now in its third year, MIX is an intimate opportunity for cutting-edge technical, creative and business strategists to engage Microsoft in a conversation about the future of the web. Come explore the latest wave of opportunities and help redefine the boundaries between: content and commerce, PC and TV, Windows and the Web.

If you register before January 15 you can get a $200 discount on the admission price. So don’t wait too long! http://www.visitmix.com/2008/index.html.

Also very interesting is http://sessions.visitmix.com/. Here you can watch the recorded presentations from the previous MIX events – so you can check out what it will be like before booking.

I’ll be there as well by the way … woohoo :-).


Free Expression Web eBook

UPDATE – thanks for the comment, I have changed the post accordingly – actually, it came to me too late that deep-linking directly to content  on other sites is not very good form … so apologies for that & please get the book on the web site.

If you are building your web site with Expression Web, you might be interested in this free eBook by Microsoft MVP Tina Clarke. The book shows you how to implement and use Dynamic Web Templates in Expression Web:

Free Expression Web Dynamic Web Template Ebook By Tina Clarke Microsoft MVP – FrontPage.

How to make DWTs and prepare your site.

  • Do you want to spend less time adding new menus and content that appears on every page
  • Would you like to be able to change your template in a few minutes?
  • Do you find the maintenance of your site tedious?

If so get my free Expression Web Dynamic Web Template Ebook and learn how to change your site into any easy chore today.

 The book is offered as an .exe file (no PDF or text) with an included reader. Get it here …