This is my last night in LA. The PDC has finished and I'm squeezing things into the suitcase. But I thought I'd put down a few things which I've seen over the week, which has been as excellent and inspiring as usual.
Microsoft Surface
I want a Surface device. Want, want want. I've had a chance to play with one, I'm even in the Surface community, which means that I can download and play with the surface simulator, which lets me create applications and run them on my PC.
If you've not seen Surface you are in for a treat. Nobody would say it is portable, think coffee table with a 24" flat screen TV laid on top, but the things it can do are amazing. Thanks to a bunch of cameras beneath the display it can see and track multiple finger inputs along with objects tagged with a kind of dotty barcode. The way that you can move and manipulate objects on the screen is truly wonderful, and a massive pointer to the fact that the days of the mouse as an input device are definitely numbered.
I went to a Surface presentation and also had a chance to play with the software and the device itself. You can't say that version 1 of the hardware is going to find its way into every home and office, but when the technology develops, and it will, you will find that all the software interfaces that you will need to make the best of this way of working will be tried, tested and in the operating system. Find out more here.
Home Server
You might not have heard of Windows Home Server. It tends to only be available when you buy the server hardware that powers it. It provides resilient, scalable storage for all your data at home, and can also be used to tie all the machines in your house into a unified network. What I hadn't realised is just how it makes itself available to systems outside your house. You can set up a proper, secure, remote access which you can use to access applications running in your own personal "cloud". I'm not sure if anyone will want to go quite that far, but they might like to get access to all their home media when away from home. Find out more here.
Oslo
Don't know what Oslo is? Neither did I until yesterday when I went to a session because Boss seems to be interested in this stuff, and he knows a good thing when he sees it. Oslo is a great way to build line of business applications. It is a modelling language (also confusingly called M) which lets you express the design of your application in a way that lets the data do the talking. Because the starting point of your new application must be a good understanding of the information that underpins it you end up writing much less program code. And that has to be a good thing.
For me the great thing was that all the stuff I'm presently hammering into my second year students (yes, that's all you fighting with the "Make It Yours" specification) about establishing the scope and then moving onto the design of the underpinning data fits very nicely with Oslo. Find out more here.
C# Futures
C# is my favourite programming language in all the world. For now. The new version promises to be even favouriter. It promises something that is really interesting, dynamic types.
Up until now C# has been very strict about what you can do with what. This is all to the good, in that it stops your program asking an object to do something that it doesn't have a behaviour for. The C# compiler will refuse to run a program until it can determine in advance that everything the program tries to do will end up being possible.
Unfortunately this gets in the way when you are trying to combine objects in a looser way. More modern languages have a much more relaxed approach to this kind of thing, finding behaviours dynamically as the program runs. In the dynamic programming world you don't actually have to be a duck to fit in. As long as you have a quack method you can be treated like one.
In a really superb talk Anders Hejlsberg showed how programmers will be able to mark objects as having a dynamic type which is resolved at run time. This all happens in a way that preserves type safety, meaning that C# can mix it with languages like Javascript without making the code more dangerous.
This is all being built on a new version of the runtime for .NET which will also underpin other dynamic languages like Iron Python and Ruby.
But the best bit, the very best bit, is the way that soon the C# compiler will be componentised so that it can be driven from within your program. This brings an old school Basic flavour to the language, where you can type in lines of C# and have them compiled and run before your eyes. This was amazing. A fifty line program produced what looks suspiciously like a C# interpreter. Watch this for more.
Coding 4 Fun
I also met up with Andy Sterland and James Lissiak from Hull (now with Microsoft) who were manning the Coding4Fun stand and telling everyone about their Unreal Tournament fun and games. They had been given white coats to wear.
There is no truth to the rumour that they arrived in a green van.
Dan Fernandez was kind enough to give me a white coat as well, on condition that I write something for Coding4Fun in the future. I'm very pleased with it, and plan to wear it for special lectures at Hull.
Don Box, Chris Sells and Azure
Azure is the new Windows Framework for Cloud Computing. Don Box and Chris Sells are two of the best programming presenters I have ever seen. They put together a session that set out neatly how much fun you can have writing code and running it in the cloud. if you get the chance to see the vide of this session you should.
Chris and John getting started
Multi-Touch Input
Multi-Touch input in Windows 7.0 and Surface are heading in similar directions and will eventually meet up in a later version of Windows Presentation Foundation. If you really want to work with multi-touch perhaps the best way to would be to get hold of a rather spiffy Touch Smart from HP. I had a go at the lab which shows how Windows messages are managed with multiple touches. Me being me, I had to fiddle with the code a bit.
Drawing with added jaggies.
The MicroFramework
It was great to see the Micro Framework on the exhibition floor, with even more hardware and the new Dare To Dream Different challenge. Which you really must enter.
Down on the Micro Framework stand.
They were showing off the new board that the 100 top entries for the contest will get to play with. This is an absolutely superb piece of hardware with lovely colour touch screen, network connection and all sorts. Lucky finalists will also get inertial sensors and wireless communications with which to realise their idea. I'm going to get a bunch of entries from Hull, some silly and loads sensible.
Swag
We say that these trips are all about finding out about new technology, meeting the best experts in the field and learning new things, but actually, they are all about swag. Above is a snapshot of the swag process. I seem to have ended with around 10 T-shirts, two books, a slinky spring, a solitaire game, a flashing bouncy ball, a dot matrix badge computer and a screaming flying monkey. Not bad.