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.

Cheers
Koestie

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 :-).

Cheers
Michael

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

Jazz’n’Groove Galore

Podcasts are a great thing but finding those truly great examples which you want to keep in your library is another story. If you are a fan of da groovy tunez, here is a great podcast for you at http://www.bendingcorners.com/. I really love each and every episode – between 1 and 2 hours of jazz and groove music, expertly mixed and arranged. And: no talking whatsoever! In the words of the proprietor:

Welcome to BendingCorners, a monthly jazz~n~groove podcast of jazz and jazz-inspired grooves. If you enjoy the groove side of all things “jazz”, this is your thang. BendingCorners explores the groove within: acid jazz, afro-beat, bop, cool jazz, cosmic jazz, dub, downtempo, electro-jazz, fusion, future jazz, groove jazz, jazzatronic, jazz dance, jazz-funk, jazz-rock, kozmigroov, modal, phusion, progressive, modern, nu-jazz, soul-jazz, spiritual, and world.

Yes, it really is good!

Cheers
Koestie

31 Demos in 39 Minutes …

If you want to know what cool technologies Microsoft has to offer (and which you can leverage as well), head on over to fellow MS colleague Nigel and watch his video 31 Demos in 39 Minutes. It is well worth spending the time and the best thing is that you can actually grab most of these technologies to play around with by yourself!

Here is the link: http://gobeyond.net.nz/thirtydemos.htm

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

Cheers
Koestie

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.

Cheers
Koestie

Follow

Get every new post delivered to your Inbox.