Some have asked the question of late... amd I dead or alive?
I cant explain just how busy I have bee in the last 6 months with moves between 3 countries, the UK, the USA and Spain, with now a return back to blighty!
I’ve recently been appointed the Chief Technical Officer (CTO) of Splendid (http://www.howsplendid.com/) which is certainly one of my career high points and represents a very busy period of settling in over the next few months.
Splendid is a large Microsoft Surface partner here in Europe which fits nicely with my previous experiences in Surface and multi-touch/multi-geesture tech but Splendid also offers me the chance to work in an optimum environment for which I have evangelised for a long period of time – where User Experience is the primary concern.
Being truely design led (as apposed to others that are pretending to be) means that User Experience isnt a catch word used in marketing material for Splendid. Its living and breathing with great rewards and paying very nice dividends for the company. For technologies like XAML based technologies which are “all about the experience” it makes sense that Microsoft would look to this business to become an example of how to do Surface and Silverlight and WPF the right way.
With this move to Splendid, I’ve also been able to bring a lot of heavy weight dev friends with me and so boosting Splendids development abilities and profile with clients around the world and Microsoft as well.
Speaking of great developers, if you feel you are up to the challenge, by all means get in contact with me and we can have a conversation around those things.
It has been a little while since my last post and there are a few reasons for that, most notably my pending move over to the US.
I will post some more details about that when I am settled and my new job is all cemented in place. Visas into the US are a nightmare to get at the best of times so I shall leave this point with the fact that I have become considerably greyer trying to secure one for myself and my family. All in good time I guess.
My new job in New York City J
My new job will have me working 100% on Microsoft Surface projects in New York so I am really looking forward to digging into it. I have had the SDK for a few months now and have really enjoyed it all so far, and as far as I know, the SDK will become public in a few weeks time which will be interesting to see. Some people may ask what happened to the unit I was building at home? Well I got it up and running to the point where I could calibrate it, when all the MS Surface stuff come along for me so I have had to put it on the back burner until I get some time to resume with it, even if it is just for fun.
A new book in the planning!
As an update, I have also begun to start piecing together the table of contents for a new book next year for Blend 3. I have been involved with the Blend team for quite a while now and I was lucky enough to start working around with some of the concepts for the next version. I can't reveal any of these features due to NDA, but let me say that I think it is shaping up staggeringly well, even at this early stage with a lot of new features that people are going to love.
The next book should also have some information on developing with Blend for Surface as well as Live Mesh, so some exciting new content to come.
What is happening with Learn Expression Studio?
Well it's been really hard to find good vendors for it. Steve Barker has been amazing with his contributions but unfortunately he has had to move on to other projects, which is a real shame for designers wanting to go deep on other XAML related products.The site has taught me a lot about running an online business which is more work then I thought possible, but in saying this, with all the mistakes and all the other hard lessons that I have learnt, I think I can deliver some much need content for new comers to Blend. More information to come about this shortly.
Expressionblend.com making a comeback!
I am planning to resurrect the expressionblend.com site a little later this year or early next year which should bring everything together for current subscribers and new ones as well as the community in general. Only this week have the designs been finalised whilst waiting for Silverlight 2.0 to go RTM. The site was planned to be re-launched this summer, but things got a little crazy on the job front, but rest assured it is ticking away. The site will be 100% Silverlight with a new concept as well in presentation for this sort of space, so stay tuned for information on that over the coming months.
Blend Training in beautiful Malta.
I wanted to mention that I was also out training a great group of guys in Malta last week at a company called UniBlue. These guys are now heavily invested in WPF and needed to get their top guys up to speed with working together with their designers and everyone understanding Blend. It was a very successful week and it was great to see some sunshine;-)
PDC should be big for WPF, XAML, Visual Studio and everything else..
The big news in the tech space for us all this month is PDC which should see some really exciting announcements around XAML 2, Visual Studio 2010 and .Net Framework 4.0. I have a version of VS2010 at the moment which I believe will also become a CTP at PDC and so far it is looking really nice.
Seek out the PDC information pages from Microsoft to stay abreast of all the best bits.
That's it for me for this month.
The past few weeks have been really frustrating for me in a lot of ways, mainly because I have had a need to learn and understand HLSL for the purpose of creating effects for not only WPF but also for use with XNA.
So I hit the trail of trying to understand all that I can about HLSL and Effects in general, and to be honest, the whole subject is a bit like reading a book that you can never get past the first 10 pages without falling asleep… it just goes on and on and on… never really getting to the point.
So I thought I would post a few links with some excellent book marks I now have so if you decide to head down this road of understanding, hopefully you can get to your destination a little bit quicker.
The first link is:
http://developer.nvidia.com/page/home.html
Have a look through this awesome resource, and especially the Content Authoring section where you can download the amazing FX Composer 2.5
Also check out their free Shader library:
http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html
Some great videos on that site as well.
Next is:
http://www.codeplex.com/GraphiXNA
Some awesome results coming out of this project with plenty of support for standard effects required in many applications.
You should also check out Greg Schechter blog for a great intro to writing effects:
http://blogs.msdn.com/greg_schechter/archive/2008/05/12/introduction-to-writing-effects.aspx
Walt Ritscher was also kind enough to compile this list of links for me as well:
The DirectX SDK has some useful pages.
http://msdn.microsoft.com/en-us/library/bb509638%28VS.85%29.aspx
Other links
http://www.fairyengine.com/articles/hlsl2sided.htm
http://tinyurl.com/6y8qab
WPF specific links
http://tinyurl.com/6jfmkc
http://tinyurl.com/6pzytf
Thanks for that Walt!
So there is enough reading and playing with all those links to keep you awake for around a month… trust me on that ;-)
If you have some great resources you would like to add to the list, please email them through to me.
Well it's coming around to that time of year again… that being remix UK.
This year, I have been asked by Rob Chandler to help build a prototype application for Microsoft Surface which is all very exciting and a great challenge at the same time.
Speaking of time, its pretty short and I only really have 4-5 weeks to get something together and when I consider my schedules over that time frame, I really only have around 40 hours spare, which I was going to spend sleeping ;-)… Oh well.. I can schedule that in for October maybe.
I can't say much about the project at present, suffice to say what MS are planning for the event sounds really, really cool and it should be a great experience for both designers and developers.
You can still get tickets for the event found here:
http://www.microsoft.com/uk/remix08/
I hope to see you there!
This week I finally got my seven video tutorial of "how to make a 3D carousel" completed and posted to the Blend Series collection on www.learnexpressionstudio.com

You would not believe how many people had emailed me in the past asking for a demo of this and of course everyone wants the source code for it at the same time. So I got it done but unfortunately I cant give it away for free as this undermines the business model that pays for all the video content to be posted and watched by many people.
The Carousel is a great control and is certainly one of the first controls that many people see when they see WPF for the first time, and immediately people want to replicate that control to get the same kinds of response. Where it all falls down with WPF is when someone wants to go that one step further and add the control to some Silverlight application that they have been working on, only to find that 3D elements are not supported. My solution allows for the control to be used (or at least replicated) in both desktop and Silverlight development by taking a panel based control such as the canvas and modifying how it lays its child elements out, all done with high school level trig maths to boot!
If you are a subscribed member to the Blend service, then you can go and watch the series now as well as download a sample application with all the source code for you to play with and extend.
After a very busy tour of the US, I returned home on Thursday morning and started to try to catch up on various chores I knew had to be dealt with. One of those is reading the mail and responding where required and to my surprise I found an email from the Microsoft MVP support team telling me I had been awarded and MVP!
It capped off a great week where I got to meet all of the people at Microsoft that I have been communicating with for a few years and take in the lovely city of Seattle. For the most part I believe it rains a lot in Seattle but whilst I was there, I didn't see a drop, just glorious sunshine.
Getting the MVP doesn't change much for me as I will continue to try and help people where I can although the big benefit is that I will now get to take part in a lot more events as well as go back to Seattle next year for the MVP global summit.
I see a lot more people starting to talk about multi-touch (MT) now but still the conversations are centred around the devices, the hardware and not so much about the design of the software that runs on the devices.
HP has released some new units (http://h30440.www3.hp.com/campaigns/touchsmart/IQ500_NA/Model.html) that have a touch screen feature, but these appear to be single touch so realistically it's a different scenario, and because of the form factor (being a screen propped upright) there is a clearly defined rule set when considering developing for these units.
The challenges are apparent when you consider a desk or table form factor MT device. You don't know which side of the desk is considered to be the bottom, top or specific side because a user can sit at either side, so understanding transformations is a key but as you have probably just realised, panel based controls need to also be able to cope with this.
Another careful consideration that you must give to your UI and UE is implicit element clicking. Because the end users are just using fingers or fiducials (physical objects on top of a MT device), the concept of clicking is non apparent in gestures. You have pressure detection, sliding and directional rotation. You may be thinking "but what about a quick double tap"? This is a possibility, but why start down that road again (the road of un-natural gesturing) - in the real world you handle and move items, such as moving a piece of paper from one side of your desk to the other.
You need to consider natural and implicit element selection. An example would be where traditionally (in software) we select items in a menu structure; in an MT environment the dragging of an element from within its menu construct to another area on the screen could be understood to be the selection made.
There are many such scenarios that present themselves when using an MT device, but the secret to creating successful software for MT is to think about these scenarios when designing your software, before writing it and not during or after it.
Lots going on at present with another trip to the US this month for a few weeks. First stop is Motorola for two weeks to conclude the current contract and then a few days out in Redmond to meet with some of the folks at Microsoft.
Try as I might, I probably still won't get everything sorted that I would like to before I go.
The Blend video tutorials are also coming along well and I am hoping to begin uploading this week and switching the service on. I have recorded all these new tutorials using Blend 2 so it will be great to get it all live.
My book has completed printing according to my publisher so I should also see a copy or 10 arriving soon. It will be a very proud moment for me, regardless of how it is received in the market place.
On the multi-touch side of things, I have been making great strides in terms of finding part suppliers with a view to production. True to form though, none of these UK businesses can actually deliver on time… absolutely useless! Best to be finding reliable suppliers now though.
The prototype model is going a lot better then I had hoped for (and it is a lot larger then my wife had hoped), taking over our entire dining room. It makes it easier for me to work on all these things at home instead of a factory somewhere, but given a successful prototype I am sure orders wont be long after so it is something I am also looking into.
Being a furniture maker, before I started in the software business all those years ago, means building a prototype for production is a lot easier for me compared to others, or even other companies. I don't have to wait for endless meetings or new information... I can just get straight into it.
I also have a name for it…
"X-Touch"
I will be creating a separate blog for it when I have the logos and public information available, a long with some pictures and a video of the working unit.
In case you haven't heard about Microsoft Surface, head over here for a quick look at what I think will be a huge influencer on personal computing in the future house hold as well as business in general.
Surface isn't just about a cool way of letting people use a computer, its much more than that. It's about collaboration amongst multiple users, digital tangibility and giving new and exciting takes on old ideas.
That's right... old ideas.
Despite what Microsoft may tell you in the marketing brochure, this type of computing has been around for a very long time and indeed there are several other companies that have been producing multi-touch (MT) systems for quite some time; but I must give Microsoft their credit, none of the other companies appear to have ever consulted a PR agency or really latched onto the potential of collaborative user experience and marketed it in quite the same way... Jeff Han is getting there though and the following demonstrates how his product is even more advanced than Surface:
You will hear me rattle on about user experience quite a bit, and what is great about the surface computing idea is that while you can get away with applications on the desktop and web that have rubbish user experience (well people have for years), I think it would be hard to try the same thing on a surface because people just wont be able to use your application.
From what I know of the Surface SDK, it aims to take away a lot of the "head tax" involved with getting elements to appear on the screen and allowing the user to twist and turn them in a standardised – gesticulated way. An extended WPF control set allows you to simply specify an items control panel which automatically gives the elements physics based movement on the surface.
This is all great and very exciting, but it would appear that Microsoft are travelling down a very specific and strategic path, pushing this technology out into the market place, meaning that big corporate retail and entertainment are the first clients and then big design agencies are next, while hanging the people that are very much into WPF and XNA, out to dry… well at least for a few years to come.
So I start doing some research in this past few weeks, about how I might go about building such a device and replicating some, if not all of the features of the surface, so as I might at the very least get a real head-start on the technology. You would be correct in thinking that I wouldn't have a Surface SDK, but the main point is that I would be thinking more and more about that collaborative scenario, understanding usability from the surface representation and gaining valuable insight into what the end users expectation is, as well as measuring their points of user experience tolerance.
After completing the research, I can tell you that it is very possible to build this machine and not only that but to also run WPF and XNA on it.
I am going to document my progress in here as much as possible and at the end of it all, if I am successful and people are interested, then I might just make a simple inexpensive kit (as much as possible) that will allow other to experiment with the same system and the same multi-touch technology.
Let me know if you are interested in that and I will make sure I compile a list for it.
I received an invitation last night from the guys at WPF Disciples asking me to join their merry bunch - I was quite surprised and immediately accepted before they had time to reconsider!
If you haven't had time or don't know who the WPF Disciples are, you should head on over and checkout the group as it's made up of a veritable who's who in the WPF world. A lot of the group discussion is free flowing banter but there is also a serious side to it all when it comes time to sharing and solving issues.
There is also some interesting ideas floating around in the background about certain aspects of WPF and some really cool project stuff which will eventually bubble to the surface.
If you only have room for one blog to watch, you should make room for two (cause I know you don't want to kill mine off J ), grab a hold of the group feed and listen in on some interesting conversations.
SVN (subversion) is the source control mechanism that I and many other people use for .NET solutions. I highly recommend it, and what is really great is that it is also open source:
http://subversion.tigris.org/
You can also use the Visual SVN plugin component to get access inside Visual Studio:
http://www.visualsvn.com/
The plugin is not free but does have a trial.
Something that had been bugging me for awhile was sometimes (rarely) when I added a solution to SVN, I could no longer open the solution in Expression Blend.
Finally I found the cause of this issue which lies in the Visual Studio .sln file.
If you open the .sln file in Notepad.exe, you should be able to scroll down and fine a few lines that look like the following:
GlobalSection(ExtensibilityGlobals) = postSolution
VisualSVNWorkingCopyRoot =
EndGlobalSection
You can see the line "VisualSVNWorkingCopyRoot = " has nothing assigned to it which is the cause. Remove the entire block and you should be fine to open the solution in Blend.
Well it has finally happened...
Expression Blend Unleashed is through final reviews and is now set to be printed this month with an expected shelf date (say my publisher) of June 2nd.
If only Microsoft would stop releasing preview versions of stuff it would have been last November, but better late then never I guess.
Some people won't like it, some people will. I have tried my best which is all I could do, but I have learnt a lot about the writing process during the time.
Now its time to concentrate on the video site... I might have a sleep first though.