As I’ve mentioned a few times previously, in December last year I was lucky enough to be involved in a project at Microsoft in Reading involving Microsoft Surface. The remit for the project was to create an education specific application as a proof of concept for the BETT Show in London. BETT is the world’s largest educational technology event, with tens of thousands of visitors, and it was hoped that our application would show how the Surface could be used in an educational context. The development team consisted of guys from Lightbox Education, RM, Microsoft and Infusion and the whole project was put together in a very agile manner in just 3 weeks.
The application itself attempted to promote the collaborative nature of the Surface with a spelling/word/maths game where the users had to work together to pull together the correct spelling/sentence/answer. We had a physics engine to allow the various “tiles” to interact with each other, and using Surface’s object recognition we enabled users to throw down their “id cards” to see their Avatar appear and their scores to be saved. We also created a “Teacher Console” WPF client app that would enable a teacher to view a “live” image of the current game, see scores, view and manage the upcoming game queue and add new content. Unfortunately I don’t currently have any decent videos of it, but here’s some screen shots:
It was decided early on that the project would use lots of the latest “Microsoft stack”, with plenty of use of the new .net 3.5 SP1 features. Some of the technology I’d used before and some I hadn’t touched – I’ve briefly put some opinions down on the whole stack:
- Surface Hardware. The first thing so say is that it works! Although I’d seen the various videos from PDC and other places, I was still rather sceptical as to whether it would actually work in practice. To say I was pleasantly surprised would be an understatement, it works and it works well! The only negative I would bring up is that it could do with a bit more graphical horsepower; it doesn’t take too many graphical effects and animations to make it start to chug.
- Surface SDK. The developer SDK for the Surface is basically a thin layer of controls that sit on top of WPF. From a technical standpoint, if you know WPF then the leap to Surface is a very small one. The hardest part to grasp is the change in mindset to take into account the natural and 360 degree nature of the Surface. The SDK itself comes with a Simulator that enables you to perform basic testing of your application and enables you to plug in several mice to simulate multi-touch. It’s a very useful tool, but it’s certainly no substitute for a Surface unit itself, and I don’t believe you can do any serious Surface development without the hardware to hand.
- Entity Framework. Consuming an EF model and working with it seemed pretty solid, and I had no real complaints there, but I found the design surface to be confusing and unreliable. We had a few times where the design surface corrupted the XML file, and I felt at times that I was randomly clicking on things in an attempt to get it to display what I wanted it to display.
- ADO.Net Data Services. Very simple to implement and the functionality you get for virtually no code is very impressive. Unfortunately it’s currently lacking a lot of functionality you may take for granted if you’ve worked with EF or LINQ to SQL before, and you might be forgiven for thinking it’s entire LINQ implementation consists of just NotImplementedExceptions 🙂
All in all in was an excellent experience, and I believe the application was well received at BETT. Hopefully someone will stump up large amounts of cash for us to put together more Surface apps in the future 🙂
Edit: There’s a very brief video of Jim Knight (the UK Schools Minister) playing Finguistics on Teacher.Tv
Finguistics in a School! A Surface unit with Finguistics installed (amongst other apps), has recently been showcased at Churchend Primary School in Reading. More details on the Reading Borough Council website.
Another Writeup! There’s a nice write up of the Surface in education, and Finguistics, on Merlin John Online.