Saturday, January 24, 2009

WPF beginner begins…

I am a programmer since day one of the PC. However, I have always been working on business applications, mostly working on documentation software. I recently started work on a MS Surface unit and that involves programming using WPF (Windows Presentation Foundation)  or XNA. Since we also do a lot of web stuff, I chose WPF for my current development work.

Programming in WPF is a much more visual experience than what I was brought up with (Cobol, Fortran, Basic, Pascal, C, C++, Smalltalk, et cetera, et cetera). An important part of WPF are the definitions in XAML (Extensible Application Markup Language). This XML file defines the objects in your window and application. I am currently using Microsoft Blend to edit the XAML files, but you can of course edit them with Visual Studio too.

I’m just beginning with C#, .NET, WPF, XAML and Surface. Our company software is written in Delphi/Win32, but we will make a transition to C# and .NET this year.I won’t be programming on that myself (that much) anymore, but I want to know all about the technology we will be using of course. So, I’ve taken up the challenge to write some software for our MS Surface unit to learn our new environment.
I might use some ‘wrong’ terms and concepts. I will make some beginner mistakes. Bear with me though: I’m learning along the way. This blog shares my experiences doing so for you to learn from or laugh at…

As said, I’m not brought up with a lot of graphics in my software, let alone handling or animating them. So, I’m not that comfortable (yet) with the way WPF-programmers work. But, I will learn along the way and will share my thoughts and experiences for others to learn or to laugh at.

My first program

I am targeting the MS Surface unit and I thought it would be nice to begin with a small game: Memory (I’m assuming here that everybody knows the Memory game). The logic in that is simple, it’s quite suited for the MS Surface unit, it will be a nice gift for new Surface customers, but most of all, it will be a good subject for my learning experience.

So, the functional specs are:

  1. The images used for the memory cards will be taken from the clients computer
  2. The difficulty can be set using a slider
  3. The memory cards animate when flipped.
  4. (there’s a couple of more specs, but those will come later)

So, how to start? The first steps were easy. Create a board with images. The actual flipping will come later.

Update #1: I was writing this while working on my game. I have now proceeded a bit more, but I got word that Microsoft had planned for a programmers course coming week. So, I’ll be going to Paris a bit later this week and I hope to get a bit of a head start. I will finish this game and I might even make it open source. I’ll let you know how I get along.

Update #2: I am also really not introduced to the world of 3D. However, I found this great little article that helped me on my way. So, the first hurdles are taken. Maybe I will be able to do some nice stuff on my own to coming days.

Let’s regard this post as a first in a series.

Bye,

Bart

Wednesday, January 21, 2009

MS Surface – Dead Easy

As mentioned, yesterday our surface unit arrived. It was my day off, so it was not until today that I could get my hands on it. Now, fact is that I am swamped in regular work, so I have to work late to get some extra stuff done. And, of course the family suffers, because I won’t be at home at night.

So, the family has to come to me, which has the added benefit of having a representative test user group around me:

The guy is four years old, doesn’t own a Wii, Playstation or Xbox (or any other electronic equipment). He can however handle the remote DVD control. The images show him only a mere minute after first laying his eyes and hands on the Surface unit.

I think it’s quite amazing and a good advertisement for the technology that a kid this young can start working with it immediately without any help. It won’t be too difficult to convince our clients that usability is not an issue.

Bye,

Bart

Sunday, January 18, 2009

Surface unit will arrive on Tuesday

We got word that our Surface unit will be arriving on Tuesday. All preparations are done. We also learned that MS will reuse the package material (40kg or so in weight :-|). I think that’s a good thing: package material that large in size would be a waste when simply disposed off.

Tuesday is my day off though, so it will be Wednesday before I can lay my hands on them. Our new programmers will be working on other things for the next 4 weeks now (we had it planned that they could start at the very beginning of the year). A bit of a set back in our planning, but we’ll have to take it as it comes.

I’ll keep you posted.

Bye,
Bart