Friday, 12 March 2010

Some Notes for Those on their Way to MIX10

Irascian at Mix, 12th March 2010

It's around 8am local time here in Las Vegas, and I'm about to head off for a day's shopping/being a tourist. But with so many folks about to head out to MIX10 from the UK thought I'd post a few quick points in answers to various tweets I've received.


The weather in Vegas at the moment is clear blue skies and sunny, but quite cool in the evenings. It's definitely long sleeve shirt, pullover or jacket weather in the evenings, and when I arrived at the airport last night around 5pm a lot of the arrivals in t-shirts were complaining at how cold it was (:-O) Apparently the last week has been untypical weather (I'm told it rained on Wednesday) with grey cloudy skies all week. Not so today with a warm sun and clear blue skies. The forecast throughout MIX is good. I'm probably going to venture out today in shorts and sandals :-)


The Mandalay Hotel (at least on arrival last night) has a very different vibe from The Venetian, home of previous MIX conferences. The hotel looks the same internally (except that scantily clad go-go dancers near the poker tables, presumably to distract those playing, now seem de rigeur in the gambling halls) but the Mandalay seems to attract a much younger crowd (I'm told the pool area aka "the meat market" is the main reason!) If my arrival last night was typical, expect to bump into a lot of loud, drunken (but happy!) youths in late teens/early twenties throughout the hotel which is something I never experienced at The Venetian. Some of the elevators even seemed to be hosting their own frat-house style parties! Try and wangle yourself an invite if you can ;-). The rooms themselves are big, clean and modern by UK standards, but definitely nowhere near the 'over the top' luxury status of The Venetian (at least if my experience is typical).


The wireless internet in the hotel is USD15 for 24 hours, but is excellent - the best I've ever experienced and I'm in a room at one extreme end of the hotel (as far away as possible from the noise and the elevators).


If you're flying Virgin Atlantic from Gatwick beware the £30 'more leg room' offer you may be given at Baggage Check-in. These seats are around rows 49 to 51 (9 each side) which unfortunately is next to the dispensing area for the 'free booze' dished out during the flight until it runs out (which thankfully it finally did around 5 hours into the flight). If my trip yesterday is typical you'll have a bunch of stag party crowds on board who treat this area much like the kitchen area at a very busy, rowdy, drunken party. Great if you're getting drunk and want to freeload, a nightmare if you want to arrive sober, snooze or try and get work done! Personally I don't understand why Virgin Atlantic encourage the sort of behavior that means they inevitably create a problem for themselves (well, duh! Drunken passengers assaulting female cabin crew - who saw that coming?!). If the airline charged for the booze it would make the flights much cheaper for the rest of us, and avoid the nightmare of their staff having to deal with drunken passengers.


Anyway, to everyone on their way out here: Have a great flight, a great MIX and hope to meet you in person (DM me on Twitter id @irascian if you need my room contact number or US mobile phone number).


View from my hotel room, taken at 7am, Friday 12th March 2010
View from my hotel room at 7am this morning

Updated to add link to my Flickr Stream of Photo's from the Hotel Pool area

Thursday, 11 March 2010

Heading for Microsoft's MIX10 Conference

Irascian at MIX10 - 11th March 2010

Today, I'm finally heading off to Microsoft's MIX10 conference in Las Vegas, where developers and designers get to "mix" it up. The pre-conference buzz this year has been even higher than usual, and not just because people have been getting carried away drinking the Microsoft Kool-Aid.


Early leaks about Windows Phone 7 Series (FINALLY, something to compete with the Apple iPhone), Silverlight 4, Internet Explorer 9 and a whole host of announcements around the upcoming Visual Studio 2010/.NET 4 release mean that anticipation is high, especially amongst those of us who earn our daily crust from Silverlight Development. It looks like our early gamble that this was a technology that was going to prove to be crucial to writing state-of-the-art applications is now finally starting to pay off.


And then there's the Microsoft Courier device, which makes the forthcoming Apple iPad look extremely sub-standard, ASSUMING IT'S REAL! Hopefully we'll find out how real the device is over the next few days, even if the rumours suggest it isn't planned for launch until 2011.


I'm still undecided as to which sessions I'll be attending - every time I think I've narrowed my choices down, new sessions get announced. Talks on Real World MVVM, Silverlight Testing, a new Microsoft Silverlight Analytics Framework, MEF, WCF RIA Services and, of course, Windows Phone 7 Series are all at the top of my wish lists, but frequently clash. With video of each session being made available online within 24 hours of being delivered, final decisions aren't that important and will likely come down to which rooms have seats left in them, and other logistical issues.


What I can state with certainty is that I'll be attending the Silverlight 4 bootcamp and ASP.NET MVC Bootcamp pre-conference workshops on Sunday, 14th March.


However the sessions and workshops are not the reasons for my attending MIX10 (I still think you get a better experience of these by being a 'virtual' attendee, and with The Channel 9 Live From MIX Show streaming continuously every day of the conference I think that's even more true. What I'm most looking forward to, and the real reason I'm flying over 5000 miles to attend, is meeting many of the Silverlight developers I've 'spoken to' via Twitter, as well as those I already know from having attended MIX in previous years, or through the London community scene.


Party-wise, I know I'll be attending the EMC Consulting Oasis and MIX Tweetup on the Sunday night, as well as the Brits Booze-up and Main MIX Party on the Tuesday night. I hope to meet some of you there!


I will have the loan of a mobile phone during my stay, so if you want to make a specific arrangement to meet up send me a message on Twitter (@irascian) and I'll be happy to send you my number.


I'm hoping to blog each day from the conference (and pre-conference, although pre-conference blog entries are more likely to be appearing on my personal blog rather than this work-related one).


All the early indications are that this is going to be one of the best, if not THE best, MIX conferences held to date. I can hardly wait!

Monday, 15 February 2010

Scott Guthrie Web Chat/Q&A (Transcript)

Every 3 months Scott Guthrie (VP of .NET Developer Division that covers IIS, ASP.NET, Silverlight, WPF etc) gives an online audio webchat/Q&A on LinkedIn which invariably contains all sorts of information that just hasn't been publicised elsewhere. These chats are pretty unmissable.


The most recent chat took part last Thursday, but since I was on a train at the time I only caught up with the downloadable version this evening. You can get it (as a zipped wmv file) here. I have been going through it to spot 'hidden' announcements, and if you're as time-pressed as I am, you may find the following transcript more useful than the one hour+ audio file.


I have re-ordered the rough transcript to fall into the topic areas I'm personally interested in. Alas, in places the answers don't quite tie up with the questions asked (so I've given them headings instead). I was particularly interested to find out what the Silverlight 3/WCF RIA Services story was, but the answer given really related only to Visual Studio 2010. My reading of that answer is that there will be no new release of WCF RIA Services that works with Silverlight 3 - the PDC 'beta' release we got in November is all we get. This means that Microsoft will not add it to the official support cycle, that there will be no security patches and no bug fixes which is bad news for the client project I'm currently working on (where there is resistance to any sort of auto-upgrade of Silverlight to Silverlight 4).


SILVERLIGHT 4 and VISUAL STUDIO 2010 SUPPORT

"Silverlight 4 is the first version I’d say we have a powerful end-to-end story for the tools for building line-of-business applications."

"Silverlight 4 beta is not currently supported with the Visual Studio 2010 Release Candidate release, but it is supported with the Visual Studio 2010 Beta 2 release. The main reason it is not supported is that we have a new version coming out: The Silverlight 4 Release Candidate. The tooling for the Visual Studio 2010 Release Candidate targets the Silverlight 4 Release Candidate which hasn’t shipped yet. We didn’t want to back-target the old Silverlight 4 beta release that we shipped in October. It’s a matter of timing and focus and it definitely does not mean what some folks have said: ‘You don’t like Silverlight’! It’s just a question of scheduling. When Silverlight 4 RC does come out the tooling will obviously come with that as well. When it’s happening isn't too far away. If you are working on a large Silverlight 4 project today you can contact me and we’ll try and get you early access to those bits but in the meantime the Visual Studio 2010 RC does support Silverlight 3"


SILVERLIGHT 4 ‘GO LIVE’ LICENSE

"When can you expect a ‘Go live’ license for Silverlight 4? We’re not going to have a separate ‘Go live’ license for Silverlight 4 since it’s a web runtime license. But you will find that the release of Silverlight 4 is not too far away. Once that ships we’ll basically support ‘Go Live’ with that."


SILVERLIGHT CHANGES IN THE NEXT DROPS


"There are definitely lots of changes coming, mostly in the order of nice small features people asked for, as well as some tooling improvements. [in answer to specific question about serializer classes:] I’m not sure if we’re adding new classes on the serializer front."


SILVERLIGHT FOR MOBILE

"Timeframe for Silverlight dev environment for mobile? You’ll hear about that very soon. I would recommend you come to MIX. We’re streaming it all live and we’ll be revealing more about our plans then (next month). The timeframe is not too far off."

"We don’t have all the details to share right now. Keep an eye out over the next month.You’ll see a lot more detail coming out. Hopefully you’ll be pretty excited by what you see. I spend at least 50 to 60 percent of my time right now focused on mobile – a large proportion of my team has been as well the last year. Hopefully we’ll have a lot of cool stuff to show off next month at MIX that will get everyone pretty excited. I’m excited by it so...."

"None of the versions of VS2010 out there right now support development for mobile. As soon as we talk about our Mobile strategy in the weeks ahead then you’ll start to see the Mobile tools for VS2010 and I think you’ll be happy with what you see in terms of the capabilities that we come up with."


SILVERLIGHT ON NOKIA

"We are making good progress. If you want to write a Silverlight app for Nokia drop me an email and we may be able to send you some bits. The bits will be available for everyone to use shortly and you’ll start to see Silverlight used on Nokia phones in the not-too-distant future."


SILVERLIGHT CHARTING IMPROVEMENTS

"Plans for charting controls in WPF and Silverlight? We have charting controls now in the Silverlight Control Toolkit. We don’t have all the features that ASP.NET and WinForms controls have but we’re working hard on that. They’ll be getting richer in future. You’re going to see us build a pretty rich set of reporting controls and charting controls that anybody can take advantage of. It’s definitely something that we’re focusing on, and planning to enable."


SILVERLIGHT AND WPF DATA BINDING COMPATIBILITY

"With .NET 4 are WPF and Silverlight 4 data binding pretty much in sync? Pretty much, yes. What we’ve been trying to do with Silverlight is pretty much that whatever we put into Silverlight is compatible in terms of skills re-use. The last couple of releases we focused on code re-use and building up Silverlight 4 features so they had parity with some of the things in WPF 4. In Silverlight 3 we added a lot of things to make data binding richer. With Silverlight 4 we’re adding the next set of things. Some of the new things are INotifyPropertyChanged support is in there (?), handling null is in there, string format is in there and a bunch of other capabilities have been added. CollectionViews and sorting and paging and things like that which were in WPF are there in Silverlight 4. All the major constructs that were in WPF are there in Silverlight 4. There’s a few more advanced features that are still in WPF on the data binding side but I think all the basics now are there and should enable some good code-sharing across WPF 4 and Silverlight 4."


INOTIFYPROPERYCHANGED SUPPORT (MORE AUTOMATED, NON- STRING BASED IMPLEMENTATION)

"It’s a question that I’m asked a lot. I know we’re looking hard at supporting something like that in the future. I was actually talking to Anders Heljsbergyesterday about that. He’s starting to think about the next release of C# and there were one or two features I put in his ear. One was that one. That’s top of line for him to look at and think about.


FACEBOOK APP FOR SILVERLIGHT

"The application has been released. It was a different team from mine that wrote the application and I’m currently negotiating with them to release the source code as well."


SILVERLIGHT SERIAL PORT ACCESS IN FULL-TRUST MODE

"I think you might be able to on PCs with COM support when you’re running in full trust mode. I don’t think Macs have serial ports but in Windows you can take advantage of the COM support."


SILVERLIGHT vs ASP.NET WEB FORMS

(new programmer question wanting to know what to start learning) "First, you’re going to have to stick with WebForms – they’re not going away. That’s important to say upfront. Try and spend some portion of your time – not more than a few percentage points – of understanding what’s coming out and the roles. That doesn’t mean you need to know the APIs. Understand what is Silverlight? What is WPF? What is MVC? To the point where you understand what it is, but not to the point you can write code with it or to the point where you have to buy a book about it. Know what its role is. And then be pragmatic about what you decide to invest your time in. If there’s a project where you want to do something with video, or a very rich forms app inside the browser or you want to do something with graphics ... something like Silverlight makes total sense. Likewise, if you want to incorporate unit testing more into your app or you’re frustrated with the data control model in web forms then starting to use MVC makes sense. Don’t feel you have to keep learning and mastering new things – it’s a good way to avoid feeling overwhelmed and you can adapt the skills you have pretty easily so long as you don’t let yourself get overwhelmed by it."


SILVERLIGHT 4 and FONT RENDERING

"WPF 4 now uses new DirectWrite text system. You should see much improved rendering in WPF 4. Silverlight 4 does not use DirectWrite yet, but it’s something we’re looking at for the future. It does include a bunch of font rendering and text improvements as well."


SILVERLIGHT 4 SECURITY VIOLATING THE CROSS-BROWSER MANTRA?

"Silverlight 4 supports this model we call 'Elevated apps' when you’re running outside the browser and on the desktop. The user can optionally allow the app to do more than it can do in the sandbox – and that applies to Mac and Windows. Outside the browser it isn’t really a cross-browser thing it’s an “outside the browser” thing and, again, it works on Windows and the Mac. On Windows the one feature it does have that Mac doesn’t have is COM support so that you can activate and use COM objects. There isn’t COM object support on the Mac and we couldn’t add that feature. For the future we’re going to be looking at AppleScript support as there are similar things people want to do there. A ton of Enterprise application people asked for COM support. A lot of Adobe Air developers also really asked for it."


WHY SOME SILVERLIGHT 4 FEATURES (EG WEBBROWSER) ARE ONLY SUPPORTED OUTSIDE THE BROWSER

"I get asked this a lot. The main reason for that is mainly around security. People want to print without a ‘Confirmation’ dialogue. The trouble with that is on a website they could choke your printer if we didn’t ask permission. Likewise if we did full-screen mode they could display what looks like a login prompt that causes you to enter your user name and password. There were certain things we needed to do to keep your machine safe. The WebBrowser control is a tough one in that you can do a heck of a lot with it, including spoof attacks – and IE, Firefox, Chrome and Safari have all had exploits like that recently – and so we’re just being careful with Silverlight running inside the browser to make sure it’s not susceptible to those attacks which is why WebBrowser inside the browser is not available today. If we can find a way to make it 100% safe then we will do that."


SILVERLIGHT 4 PARALLEL PROGRAMMING SUPPORT

"I think we support F# support for programming Silverlight today. I don’t believe we support the Parallel extensions yet, but I do believe we support multi-threading with Silverlight 4."


WCF RIA SERVICES RELEASE

"Will Silverlight 3 with WCF be supported in the Visual Studio 2010 release? Silverlight 3 will definitely be included in the Visual Studio 2010 release. As soon as Silverlight 4 ships it will also be supported in the Visual Studio 2010 release. Visual Studio 2010 will also support the WCF RIA technologies that will ship as part of Silverlight 4. The WCF RIA technologies will require Silverlight 4. It uses some of the new data binding capabilities of Silverlight 4 that it requires on the proxy generation. We expect very quickly after Silverlight 4 ships we’ll turn on the auto-upgrade flag so we expect most users to be on Silverlight 4 within about 4 weeks of the point we ship. So to answer the question you will be able to use Silverlight 3 and a combination of Silverlight 4 and WCF RIA Services with Visual Studio 2010 as well."

"There are tooling improvements coming for WCF RIA Services"

WCF RIA SERVICES ON AZURE

"It will be supported in the future. It’s not currently supported but as soon as .NET 4 is there and WCF RIA ships we’ll definitely make sure that you can support it."


VISUAL STUDIO 2010 AND .NET 4 - COPING WITH MICROSOFT TECHNOLOGY STACK LEARNING CURVE

"Visual Studio 2010 and .NET 4 have been focussed on fit and finish rather than giving developers lots of new stuff they have to learn"


VS2010 CUSTOMISATION

"We rebuilt the VS 2010 UI using WPF so you can customise everything with XAML. You could make the text editor a circle instead of a square if you really wanted to!"
"We don’t actually ship a dark theme out of the box. I think you’ll see with PowerTools and other downloads you’ll be able to set up a dark theme pretty easily."


VISUAL STUDIO 2010 RELEASE DATE AND GENERAL AVAILABILITY

"The planned launch for Visual Studio 2010 is April 12th. We are planning to have the RTM (Release-to-Manufacturing) release done by the launch event but at the end of the day we’re driven by quality. If you tell us we’re not ready, we won’t ship but we will try very heard to be ready. We are targeting a date to try to ship before then. I’m not sure if the discs will be available before then or not because once we go to RTM we actually hand off the discs to a production company. It takes about 7 days to cross the bits from our servers onto MSDN for download. I’m not sure whether it will be available before April 12th but certainly we’re trying to target so they are available ON April 12th, which is why I’m asking people if they find problems with the release candidate to email me directly."


.NET 3.5 and .NET 4 Co-EXISTENCE ON IIS WEB SERVER

"I’m not aware of any gotcha’s. We’ve done a lot of testing of those scenario’s. We support both running side-by-side and you can select on an application pool basis."

VS2010 ADD-IN AND EXTENSIBILITY SUPPORT

"It is much, much, much richer than any previous release. You can now pretty much plug in anywhere, whether it’s X-editor shell, build system. Everywhere is pretty much extensible. We have tried to maintain compatibility with the existing add-ins and packages though. We worked very closely with all the big vendors and open source projects that build add-in packages for VS, but you will find there’s a ton of new extensibility features that you can take advantage of."


VS2010 MOUSE WHEEL SUPPORT

"I believe the mouse wheel does do scroll-up and scroll-down – at least in Beta 2 and the Release Candidate. If you hold down the Control key it does Zoom-in and Zoom-out. I think in Beta 1 it did zoom-in and zoom-out and we changed it"


BUSINESS RULE VALIDATION WITH DATAANNOTATION FRAMEWORK

"DataAnnotation can be used with property-level validation. It also supports model-level validation. You can add an attribute at the fat (?) level and do validation of multiple properties. If you want to do validation on the state of the object or something like that you can plug-in other validation frameworks – things like Castle Validator, Entity Library validator or your own validator. All can be plugged into MVC 2 or that whole system. "


IMPROVED WPF RIBBON CONTROL

"There is a ribbon control for WPF 4. It’s a separate download on CodePlex. I’m not sure if the version updated for Release Candidate 4 is available yet."

BLEND 4

"There is going to be a new version of Blend coming out that takes advantage of all the new WPF 4 and Silverlight 4 features. I wouldn’t call it a dramatic overhaul but you’ll find it gives you a better experience than today. Hopefully you should see that in the not-too-distant future"


EXPRESSION STUDIO 4 SHIP DATES

"We haven’t announced Expression Studio 4 yet. It’s something we’ll announce in the future. We do plan on shipping Silverlight 4 and Visual Studio 2010 in roughly the same time frame. Silverlight 4 is a separate release that includes tooling for Visual Studio 2010 but it will ship separately."


MOONLIGHT SUPPORT FOR SILVERLIGHT 4

(Question asking if Scott working with Moonlight to support Silverlight 4) "I’m afraid I don’t know. Moonlight is an open source project for running Silverlight on Linux. It’s sponsored by the Mono project and by Novell. We work very closely with them. We do deliver some bits of code eg a lot of the media code that Moonlight uses as well as the codecs that Moonlight uses. We also deliver all the test cases that we use for Silverlight ourselves. That allows Miquel and his team to use the same unit tests and test cases that we use. We are very supportive of their project."


PATTERNS: MVVM vs MVP

"MVVM stands for Model-View-ViewModel that’s popular with WPF and Silverlight. It’s like a Model-View-Controller (MVC) pattern in that it’s separating out your view from what’s called a ViewModel and your controller object from your model objects. It enables richer unit testing and code composition. MVP is the Model-View-Presenter pattern is another derivation of separation of concerns that you can use which is popular with WebForms and WinForms. All these patterns are good and if they help you unit test better that’s great. If you’re doing WebForms or WinForms I would look at the MVP pattern. If you’re using Silverlight or WPF I’d encourage you more towards the MVVM pattern. In Silverlight 4 we’re introducing Commanding which integrates better with MVVM and you’ll see both our Visual Studio and Blend tools better able to support MVVM with both WPF and Silverlight."

"There’ll be a better tooling experience."

"In the short term there won’t be an official MVVM framework coming. What we’ve focussed on now is the core MVVM infrastructure for WPF and Silverlight – providing the hooks for everyone to use their own MVVM patterns on top. I think you’ll see more prescriptive advice or more of an out-of-the-box solution in the future as well."


AJAX SCRIPT IMPROVEMENTS IN ASP.NET 4

"We have done a bunch of work around optimising script downloads in ASP.NET 4 using our new AJAX framework so definitely that is something we spent a lot of time on. Look at my .NET 4 blog posts – I did a post in October/November about our Content Delivery Network (CDN). With the ScriptManager we’re building in CDN support. The way CDN works is think of it as servers positioned all over the world that allow caching much closer to the browser that’s actually requesting the content. It’s useful for video and JavaScript files and for images. If someone in Germany is accessing us here in Seattle there is a cache server in Germany that will download images from there, which is quicker."


MICROSOFT JQUERY INVOLVMENT

"We’re hoping to contribute some nice things there with the JQuery core team. It’s up to the core team what gets included. What we contribute today is the Intellisense stuff for JQuery and we distribute it. We are hoping to make some code contributions to JQuery in the near future so hopefully some good things happening there in the future."


ASP.NET MVC2

"MVC 2 is a pretty major upgrade from MVC 1. It is completely compatible so nothing breaks. Some of the big features are around strongly typed helpers so you get Intellisense and compile-time checking and a built-in validation system. Pluggable but out-of-the-box you get an easy way to apply attributes for validation as well as client-side JavaScript for validation automatically. We have new what we call Editor4 helpers that will help with scaffolding for forums as well as individual control inputs. We have new area support so that you can segment your project and route controllers and regions together in an easier way. We have async support so you can go off and do network access and not block over threads so it’s much more efficient. We have this thing called RenderAction which allows you to define a region of a page and have it be output by a separate controller or a separate action method from the rest of the page which answers the question about making pluggable modules and a portal-like framework. With areas you can actually group your site in a more pluggable way. Then using RenderAction you can actually do things similar to UserControls today in that you can have a page with controllers that render a part of a page and then for each of the sections."


VALIDATION PAIN POINTS

"Go to my blog and about two weeks ago I did a blog post on MVC2 validation features which should make validation really easy for most scenarios."


‘ORCHARD’ – MVC CMS Framework

"You’re also going to see us come out with this project we call Orchard in a couple of months. It provides a nice CMS blogging framework where you can assemble sites using ASP.NET MVC2. Site navigation and pluggable composition of UI are the sorts of things it will provide a nice out-of-the-box experience to use that. We are looking at richer MEF integration with MVC in the future. Until now our approach has been ‘Make sure that in MVC everything’s extensible’ so that we can work with any dependency injection framework or any extensibility or component framework but at the same time be able to provide out-of-the-box features like validation. MEF integration in the future will allow you to take advantage of services in an easy way where you don’t have to wire anything up."


MVC1 to MVC2 MIGRATION

"The release notes today walk you through how to migrate your application. With RTM we’ll also have an automated process where you won’t need to change any code to do that."


MVC SOURCE CODE

"Will source code ship under MS-PL? Yes it will ship with an open source license that anybody can to use to modify or change things."


NERDDINNER SOURCE CODE and NEW SAMPLE APPL FOR MVC2

We are updating it. There was a bug around empty string input which caused some unit tests to fail. We are looking to upgrade it and we’re also working with Jon Galloway for a new store-front –based tutorial for the final release of MVC2. You’ll see a lot more tutorials on that coming out as we get closer to final release."


MVC vs WEB FORMS

"I did a blog post on this a couple of weeks ago because I wanted to clarify that MVC definitely does not kill WebForms. We think there’s a large number of developers out there who prefer each of those two types of models. MVC is new and there’s huge support for it and excitement around it but reality is that 80-90% of .NET web developers are ASP.NET developers who use WebForms. It’s not going away. With .NET 4 there are enhancements on the WebForms side – better markup, ability to control client ids, more ViewState management, SEO for URLs, new data controls, new validation features, new charting controls. I could go on and on. It’s definitely not going away. I see big improvements to both MVC and WebForms in the future because a lot of people are using both and we use both ourselves."


MVC AND EXPRESS EDITIONS

"Yes, you can use MVC2 with the Express editions of VS2010, just as you can use MVC1 and MVC2 with the Express editions of VS2008."


MVC 2 – BETTER VIEWS

"Is there a better way to create MVC views eg easier way to avoid spaghetti code? That’s really two questions. Are there better ways to create MVC views that we’re coming out with? Yes – we’re looking at features like strongly typed helpers and how to create forms in a cleaner and more componentised way. We’re also adding support with the final MVC release so that when you add a View you can optionally add T4 templates to use the Spark view engine as a syntax option. We’re also looking for an upgrade for MVC 3 – an alternative view engine that we might also support to provide a nice clean syntax for generating View markup. What we find is different groups of people have different opinions as to what the best way is to do view generation so you’re going to see us support all of them in the future."


MIX

"I’m doing the big keynote for most of day 1 and it’s looking like I’ll be doing part of the keynote on day 2 as well. MIX keynotes will be streamed live. All the breakout sessions will get posted as video on the web."

"I’ve got about 2 hours of content to deliver in the keynote."


F#

(Question asking if new stuff should be written in F# rather than C# or VB): "If you’re new to programming or Silverlight I’d recommend you start with C# and VB which are our two primary languages. You’ll find most samples written in those languages and the tooling support’s great. F# is a new language coming in 2010. It’s a functional language, optimised around a couple of scenarios: where you want to parallelise your operations – you want to run things across multiple cores or multiple servers. The functional aspects of the language make it very good for that sort of execution. It’s also very good for scientific and engineering things and financial analysis or quantitive statistics and analysis. We have great support coming with VS2010. It’s not something we expect most people to use – it’s more for specific workloads. The nice thing is it is a .NET -basedlanguage so you can use any .NET API with it."


ENTITY FRAMEWORK 4

"There’s a bunch of features coming with EF4 which is part of .NET 4, but not from my team. In general you’ll find a lot of the pain points that people have complained about in the past have been addressed. In particular POCO (Plain Old C# Objects) is supported. Lazy loading is supported now by default. I believe self-tracking identities is supported so if you want to do entities that cross different WCF boundaries between client and server there’s much richer support for that now. Automatic pluralisation and singularisation of tables from the database eg Categories table becomes a Category object. Better support for exposing foreign keys which is useful for stateless web scenario’s. The ability to do ‘code only’ so that you can define your mapping metadata with a Fluent API as opposed to having to have a mapping file. I’ll try to blog about it in future but search on it and you’ll find a bunch of articles out there."


.NET 4 and AZURE

"We’re working on that right now. I don’t have an exact date. It’s definitely something we’re working hard to make sure it’s available soon."


SHAREPOINT DEVELOPMENT IN VS2010

"There’s rich support in VS2010. You can now open projects, edit projects in Sharepoint, code, get Intellisense, debug, deploy, add new controls, databind to lists and services. The feedback we heard from Sharepoint developes is phenomenal so we have a great story for Sharepoint developers with VS2010."

"Sharepoint tools for VS2010 only work with Sharepoint 2010 that’s about to come out."


WCF STARTER KITS INSIDE VS2010

"There is a VS2010 Starter Kit that came out in the last day or two which has WCF content."


TFS INSTALLATION

"With VS2010 we have made installation of Team Foundation Server a lot easier. We had feedback it took too long with too many steps in VS2008. We have ‘Basic Setup’ mode where you can get source control, work item tracking, automated builds up and running on a completely clean machine in less than 20 minutes. I did that without having ever installed TFS in my life on a recent conference trip. You can now install it on servers and client operating systems. So you can install it on a local Windows 7 box if you want to."


TFS EXPRESS EDITION

"With TFS we’re shipping it as a free component of all MSDN subscriptions. If you’re an MSDN Professional or Premium or Enterprise subscription you will get a free version of TFS both at the server level and at the CAL level. We don’t plan to have a free version of TFS for non-MSDN subscribers, but we will have a version of TFS that’s very inexpensive to buy. The price point will be about the same as Visual SourceSafe."


ZUNE DEVELOPMENT

"We don’t support it today but I think you’ll see a lot more stuff around that and mobile development in the next few weeks."


WEB DEV DEPLOYMENT PROJECT vs NEW WEB DEPLOYMENT TOOL

"There’s a project type we have called the Web Deployment Project that we supported with VS2005 and VS2008. We had separate project types that let you automate deployment to servers so you could change connection strings, run custom tasks as part of the project. What we did with VS2010 we built this deployment into the Web Project itself so that instead of having a separate project you could in VS2010 do deployment directly. In VS2010 you can right-click the project and say “Deploy”. There is a Deploy tab on Project Properties that allows you to customise that. Generally I would recommend that you lean towards that model for deploying your web applications. It’s a lot richer – there are a lot more options. We are looking at trying to provide guidance for people who already have deployment projectsin the next two to three weeks – on how to migrate projects and also looking at do we another revision of the web deployment type so that it will just work with VS 2010."


WINFORMS CONTROLS WITHIN SILVERLIGHT?

"No. Silverlight is cross-platform. You can however host WinForms controls within WPF (which is Windows-specific)."


HOW TO BUILD APPS FOR iPHONE USING .NET

"Search the web for MonoTouch – a tool built by Novell. What’s nice is you can use C# and standard .NET UIs and they have an API for building iPhone UI. There’s a lot of people raving about it."


SILVERLIGHT ON THE iPHONE AND iPAD

"We’d like that too. Obviously we’re looking into what we can do. We have done work so that you can stream Silverlight content to the iPhone. Enabling Silverlight to run inside Safari on those devices is something we’re interested to do but it’s something that Apple controls. We’re talking to them but ultimately it’s their decision not ours."


PRISM SUPPORT

"We will definitely be supporting updates to PRISM in the future. Expect to see announcements there."


IIS7 FEATURE SUPPORT IN CASSINI FOR VS2010 (Debugging like with Cassini for IIS 7)

"You won’t see this in the initial release of VS2010 but you’re going to see more details coming out in the not-too distant feature. It’s definitely something we want to enable."


IIS SMOOTH STREAMING AND AZURE

"Is there going to be an IIS Smooth Streaming Service with Azure? It is something we’re thinking about. There is now a EC2 role that you can use for Media Services with EC2 that you can take advantage of. But we are looking at this for the future."

Tuesday, 9 February 2010

Silverlight UK User Group Video: Bing Maps Control for Silverlight

The EMC Blogs still seem to be down so click on the image below to go straight to ExposureRoom to view the latest video from last Wednesday's meeting of the Silverlight UK User Group


SIlverlight UK User Group - Johannes Kebeck on Bing Maps Silverlight Control (Feb 2010)

As usual, if you have the bandwidth the HD version (or the iPhone version) can be viewed by pointing your browser at http://www.RIAViewMirror.com/SlugUK/


If you find the video is buffering/stuttering you may prefer to just download the original file (which will be higher quality than the transcode you normally see) which can be done by clicking on the Download Original link on the ExposureRoom site. You need to be a registered member (which is free) and logged in when you click on the above image to see this link.


Sorry this is a bit rushed - I'm on my lunch break!

Saturday, 6 February 2010

Silverlight UK User Group Talk on "MEF for Silveright 4" by Mike Taulty

At Wednesday's Silverlight UK User Group we had two excellent talks. One from Mike Taulty on A Guided Tour of Microsoft Extensibility Framework (MEF) in Silverlight 4, and a second from Johannes Beck on Working with The Bing Maps Control for Silverlight.


Ordinarily the video for the talks would be posted on the blog of one of the organisers - Mark Mann or Michelle Flynn at EMC Consulting, but unfortunately the blogs were hacked a few days ago and at the time of writing were still unavailable.


Video of the second talk won't be available until early next week (it's still being compressed)


The "standard resolution" can be viewed over on The ExposureRoom web site.


Silverlight UK User Group Video - Mike Taulty on MEF in Silverlight 4 (Feb 2010)

As usual, if you want to see the video in HD or on an iPhone you need to point your browser at RIAViewMirror.com/SlugUK


As soon as the EMC blogs are back up I'll update the link above and post the main EMC URL which will also have copies of the slides and Mark's notes about the meeting.

Thursday, 4 February 2010

2 Years of User Group Videos

It's rather scary to realise that next month will mark the two year anniversary of when I first started doing video for London-based 'Microsoft developer'-oriented user groups. It seems like only yesterday I lugged my gear across town to record my first user group session and then wrestle with everything that post-production involves.


User Groups I support


My regular 'gigs', when work doesn't get in the way of me attending, are: The Silverlight UK User Group, The Edge User Group (formerly Vista Squad) and The UK Azure User Group. But occasionally I've also got to video other events usually because they're very occasional, or because there's a 'rock star' speaker planned and people have recommended me. Examples include The London .NET User Group when Microsoft VP of .NET Scott Guthrie came over, or The ALT.NET Conference which is only held once a year.


In April and May this year it looks like I'll also be recording some talks outside London for the first time. This will be for the NxtGen User Group in Oxford, specifically to capture a highly-recommended Silverlight talk, and also to record a 'relative'ly well known speaker from abroad.


Pro's and Con's of the job


Demand for 'community' video seems to be rising and last month I actually had to turn away a couple of requests because there are only so many free weekends in a month to deal with post-production.


Fortunately I get to video many more interesting talks than bad ones, and I can recall only one occasion where a talk was so bad that the user group organisers themselves suggested it might be best to 'forget' publication (I was only too happy to oblige!) This weekend I'll be finishing off work on a couple of talks I recorded last night for the Silverlight UK User Group. When the talks are as strong as these were I feel somewhat blessed in having the opportunity to go back and re-view them, enabling the content to better 'sink in' while most of it is still fresh.


Why does it take so long?


I'm often asked how long it will be before a user group talk I've recorded will be available. I aim to get a video published within a week of a talk being given, but in a busy week this can stretch to a fortnight or even three weeks. When I explain to people what's involved or how long the video publishing process takes I tend to get one of two rather extreme reactions: shocked incredulity that something so seemingly straightforward could take so long, or a head-shake as someone pats me on the back while giving me a sympathetic smile.


The first reaction is the most common, and the second is invariably from someone who's done some video publishing on the web themselves, and knows first-hand what 'editing', 'rendering', 'compressing', 'transcoding' and 'publishing' really means in terms of lost wall-clock time. A talk of just over an hour on HD video will equate to many hours of your computer being locked up and unusable doing intense mathematical calculations to create a file which will then typically take at least a day to upload, even on a fast broadband line, only to then fail with some obscure and unclear error when being transcoded to Flash.


And that's before all the 'manual' work you have to do yourself is taken into account.


But things really have improved quite dramatically over the last couple of years. I'm still using the same (maxed-out) laptop I was using when I first bought my camera in January 2008, but the whole process is far more robust and reliable than it used to be.


User Group Video - What's the Point?


All of which begs the question 'Are user group video's worth doing?' Originally I didn't think so. I helped out more to 'get practice' with my video gear while the project they'd been purchased for stalled, than for any altruistic or 'there's a need' reasons. But given that the typical audience for a user group video is 3-4 times that able to attend the original event I have changed my mind. Video tutorial or marketing sites may talk in terms of video needing thousands of hits to be deemed a 'success' but I think the sort of 3 to 4 -fold increase in audience size we're seeing for user group events can only be perceived as a 'win' for the speakers and the user group.


Just occasionally a user group video will totally 'jump the shark' and become almost viral. I'm still trying to work out precisely why it is that Serial Seb's talk on MVC Best Practices (mistakenly published twice) has hit close to 7000 views (and rising) at the time of writing, where the more typical audience figure for a user group video is around 200. It's a great talk, but such a large variance doesn't make sense.


My workflow - and a call to action!


My video workflow is pretty basic, and has remained relatively unchanged over the last couple of years. Most of MY time (as opposed to the computer's) is spent editing the titles and converting the Powerpoint slides that were used to the right format. This last job is a tedious chore, and a largely manual process. It involves taking a 4:3 format Powerpoint presentation and converting it to a set of 16:9 'widescreen' format bitmaps that can then be injected and animated in the video. Speakers would make my workflow so much easier if they produced their slides to the widescreen format. Powerpoint, which is what everyone uses, has had a Widescreen template for years now - it's just nobody seems to realise it's there! Since the user group venues typically feature wide-screen plasmas (which incorrectly 'stretch' the speaker's 'square-ish' slides) and projectors, most laptops and the A4 paper in printers tend to be widescreen format it seems crazy we all still produce those square 4:3 format slides for our talks! If you're a speaker, regardless of whether you're being video'ed or not, do me a favour and switch to widescreen today - it makes sense all round!


The manual 'slide conversion' process involves using TechSmith's excellent SnagIt product to snap a full-screen copy of the slide presentation running on a PC at HD resolution, and then tweaking it in Photoshop so that the black borders automatically rendered by PowerPoint are more in tune with the colours used on the actual slides. One side-effect of this 'manual' slide editing process is that I have grown to detest speaker slides that feature fussy backgrounds or graduated fills, where before I positively encouraged them!


When I started doing video I used Sony Vegas Pro 8 to produce a compressed render that would get video file sizes down from a typical uncompressed 20GB in HD format to under 1GB for the web. For a 70 minute video Vegas would take anywhere between 11 and 15 hours to produce a render, typically having to deal with about twelve 'tracks' once all the titles, transitions, slide effects, intro music etc had been placed on the timeline during the edit.


One day I'll be able to afford that 8-core processor beast with a huge RAID array that will reduce this render time, but in the meantime my trusty 'maxed-out' Dell D820 laptop with external USB-2 drives will have to do. Given the cost and the time available I think it does a great job.


Sony Vegas Pro is an under-rated video editing package that's powerful, but very easy to use and can even be programmed against in .NET. But in its version 8 incarnation running under Windows Vista it tended to crash. A lot! I also own a copy of Adobe Premier Pro CS4, but I find it just as unreliable, and it loses serious points for usability, intuitiveness and too many years of baggage!


My camera, the Sony PMW-EX1 records video to two hot-swappable PCI Express RAM cards which can then be used directly in the laptop. With two 16GB cards and two 8GB cards and a laptop with a cheap "Passport" external hard drive I've been able to shoot HD video footage at an all day conference (i-Design08 and i-Design09) and I could never go back to recording on tape! On the down-side my camera only shoots High Definition (despite the fact most people won't care and will be happy with 'standard' definition sized video) which is what requires all the horsepower when it comes to editing, rendering and compressing the recorded results. Why bother with HD? Most speakers run laptops at HD resolution and code demo's can be hard (impossible) to make out unless viewed in HD! Interestingly, my camera is the only piece of technology to have significantly gone up in price since I bought it just over two years ago. But it is probably not the best tool for producing SPEEDY video for the web. Sony just announced a newer version of the camera which will also record SD, but ironically I think this is at a time when everyone's insisting on HD.


When I first started producing video for user groups I would re-compress the video for the web using standalone compression software Sorenson Squeeze 5 but this would add ANOTHER 12 hours to the rendering process, and often produced files that were just as large as the original render, but worse looking (for obvious reasons as compression loses data each time it is used). It was all a bit of a nightmare and I'd lose whole weekends failing to get video published: If Vegas Pro didn't crash on Windows Vista (usually 10 hours 50 minutes into an 11 hour render!) then you could pretty much guarantee that the video uploading service's file uploader would repeatedly die on attempting to transfer the file. And if the upload finally worked OK on the fourth or fifth attempt then the server-side software would choke on trying to transcode the uploaded file to the Flash format. When this happens there's typically no support or help available because these video hosting services are providing what limited resources they have for free and already swamped with issues from 'new to video' users who have no idea what 'editing' or 'compression' or 'transcoding' actually means.


Recent Changes that make Video Much Easier to Produce


Thankfully, several things have happened over the last 2 years which have made life a whole lot easier.


Firstly I discovered there is life beyond Vimeo! Vimeo tends to be the first recommendation for video hosting to anybody who hasn't got megabucks to spend on video for the web, but who has reached the limits of YouTube's paltry 10 minute running time limitation. They have a free service, or for those wanting to post HD video without waiting an eternity for transcoding, a reasonably priced alternative that costs about £60/year. The trouble is they're too popular, their software is buggy (and they keep changing it) and their support is .... well, about what you'd expect when there's no income available to support it!


Luckily I discovered an alternative service. Exposure Room is a video hosting community that's second to none. When I had a problem that Vimeo had been ignoring for weeks, ExposureRoom diagnosed it within hours. Admittedly it was an obscure problem: Sorenson Squeeze had a nasty bug which rounded 1280 pixel wide video down to 1278 pixel wide video and Adobe Flash transcoding couldn't cope with a pixel count that wasn't a multiple of 4! When I've had other problems Exposure Room have quickly provided workarounds. For example, when my router seemed incapable of using their browser upload program without stalling before completion, they offered a reliable direct FTP service instead. Now that's what I call service! Other benefits: Their turnaround time is incredibly fast AND they allow you to embed HD versions of your video in your own pages, rather than insisting you direct users to their site. They allow anybody registered on their site to download the originally uploaded file before it was transcoded to the Flash format. They have recently added iPhone support that streams the best looking video I've ever seen on that device. And they've already announced support for the iPad! They are the best, and I still have to keep pinching myself to be sure that I'm not dreaming the fact they're not charging me anything for their services.


New releases of software (Sony Vegas Pro 9 and Sorenson Squeeze 6), both running on the vastly improved Windows 7 operating system mean that the 'run for a long time and then crash' problems of old are now long gone. I render out at 'full fidelity' (35Mbps 720p HD 25 frames per second) in Sony Vegas 9 which now takes about 2-3 hours for a 1 hour video with multiple tracks. Then I use Sorenson Squeeze to render out a compressed 3Mb 'HD' Mp4 version for the web, which takes about 14 hours to run. The most important improvement is that my PC is totally usable whilst this rendering/compression is going on, whereas under the old software on Windows Vista I was 'locked out' of my PC for whole weekends as responsiveness was close to zero and would typically cause a 'blue screen of death' if I even thought about using the keyboard. Uploading the compressed MP4 file, even using direct FTP on a line that BT insist is 8MB broadband, then adds on another 12 hours, and transcoding/publication by the video hosting service on top of that adds a few more.


But this is acceptable when the time can be accurately predicted, the way it can now. It means I can usually have a video available worldwide on the Monday morning after a user group talk has been given, here in London.


One of my new year's resolutions was to be a bit more 'professional' about the way I do user group video. This year I've started publishing all user group video in three different formats. The 'standard size' (640x320) is usually embedded on the user group site or blog that 'owns' the meetings. The HD and iPhone versions are then embedded on a single web page which I host myself at RIAViewMirror.com because it enables me to host the Exposure Room supplied script that's needed to auto-detect the iPhone and switch between the two formats appropriately. I've introduced speaker 'permission to publish on the web' forms to keep the legal folks happy. I'm starting to produce a DVD or Blu-Ray copy of the talk for the speakers who want them. I'm promoting those 'sponsors' who give the events I video free stuff for the meetings, as well as those organisations who let us use their buildings or provide free pizza and/or drinks at the event. I've started making regular backup copies of all the video assets (as well as the raw footage, full definition edited masters, and published web versions). I also intend to start remembering to update this blog as new video's gets published!


New Videos This Week


With that last point in mind, this last week saw two video's from the January meeting of The Edge user group being published.. Check out An Overview of Sharepoint 2010 by Dave McMahon or
SOLID Design by Ian Cooper, if the title sounds relevant.

Saturday, 30 January 2010

DDD8 at the Microsoft Campus, Reading

Another year, another community day at the Microsoft campus in Reading: DDD8 (Developer! Developer! Developer! - Event no. 8!).


Featuring talks from those working with Microsoft technologies, but specifically excluding Microsoft staff themselves, the DDD event has been a success from the day it first launched in Reading, with similar events now also organised annually in Scotland, Ireland and 'the South West'.


Over the years that it has been running, the succesful formula has stayed pretty much the same, with a few tweaks here and there as new lessons are learnt. If the event has a problem, it's only that demand far exceeds the capacity that Microsoft's meeting rooms can cope with. At the first event, as I recall, it took several weeks to 'fill up' after bookings first opened, even though there is no charge to attend. This year, with its reputation firmly established, all the available places went within 12 minutes of being announced, and the waiting list had built up to a couple of hundred within just a few hours!


As I've mentioned in reviews of previous events, your overall perception of the training value of the event very much depends on making the right choices about which sessions to attend. Four parallel tracks are run, with the sessions available in those parallel tracks selected from a much larger number of submissions from would-be speakers. The final selection of what's offered is based on votes from those expecting to be able to attend. Session abstracts, which sometimes can deviate quite significantly from what is actually delivered, or previous experience of a particular speaker are the only real guide here.


One of the things DDD has always prided itself on, is the way it tries to balance talks from 'experienced' or 'rock star' speakers with others from 'first timers' who get a unique chance to present to a sizeable audience at a fairly high profile event. Of course there is a risk that untried speakers will fail badly, but overall it's a policy that seems to have worked very well in giving people the encouragement to step forward, gain confidence, and go on to become 'rock stars' in their own right.


This year's event had its own hashtag of #ddd8 - a tag which came 3rd in the Twitter table rankings for most popular UK hashtags for the day, indicating how popular this event - and talking about it - has become. Looking at that Twitter stream as the event kicked off I saw a few tweets commenting that some of the initial slot talks had been at much more of a 'beginner' level than expected.


It's always going to be hard to pitch the right level of talk across the wide cross-section of developers who attend DDD, but it was good to see that the organisers responded almost immediately to the suggestion that at future events the 'level' of the talk should be very clearly identified in the session abstract. This will help all of us make the right decisions when it comes to making best use of the offerings that are available.


Session 1: TDD


I fell slight victim to this 'beginner level' problem with my first talk, Test Driven Development to Save Your Time. Money and Sanity, given by Richard Hopton. When the talk started Richard was very upfront about this being a 'for Beginners' talk, having only used MSTest (for 3 months) out of the frameworks he mentioned by name in an overview slide, and I'm sure there's an audience for this talk - but alas I wasn't it. A more accurate session description (or consistency between the title on the opening slide and the title on the session description) would have made that clearer to me before I attended.


On the positive side, Richard was a 'natural' at presenting, and his enthusiasm carried him through some rather sticky patches in the demo, which would have caused weaker speakers to crumble and fall.


Session 2: Hello Document Databases


I broke my own rules this time around, by trying out a 'new' speaker and a 'new' subject, rather than going with someone I know who always delivers a great session, even if the subject under discussion isn't particularly one I feel I need to learn about.


So common sense says I should have chosen Liam Westley's Commercial Software Development - Writing Software Is Easy, Not Going Bust is The Hard Bit, and in some ways I am sorry I missed it, particularly given that the reviews from those who did attend were universally ecstatic.


But I did feel I also got lucky in choosing Neil Robbins' Hello Document Databases session. Neil was a very natural presenter, and he gave a very nice overview of 'NoSQL (Not only SQL) databases', focussing on CouchDB (so easy you can operate it from the couch - a product with a tag line of 'Relax', which was often repeated, sometimes jokily from audience members when demo's went a bit skewy because of case sensitivity issues).


I didn't come away totally convinced this was the future for document-based systems, or that it was any more than an impressive technology for a hobbyist to play with rather than an 'Enterprise solution', but that may be my 'not familiar with Ubuntu' bias showing through.


My reservations aside, the talk certainly gave pause for thought, and it was nice to get a basic overview of this area of the business. I came away feeling I'd learnt something new, which is all I really look for in a talk. Overall, a good talk, well presented and I'll be watching out for future user group talks from Neil as a result of this one.


Session 3: C# 4.0


The busiest session of the day, by a long way, was Jon Skeet's C# 4 - interest was such that it was the only session that took up the two biggest session rooms, reducing the choice for this slot from four sessions to three. Despite the expanded audience space the session STILL got full to capacity.


Jon is a software engineerat Google, and is something of a hero on the London developer scene. His book C# in Depth (Manning Publications) is rightly praised for being one of the best books written on the C# language, and his presence answering difficult questions on the Stack overflow Developer forum site is legendary. So expectations were very high, and I wasn't disappointed. Jon has a knack for explaining very difficult topics in terms that even the average developer (that'll be me then ;-)) can understand. This was an excellent talk.


Grok Talks


Over lunch, shorter 'grok talks' were given in a much more informal setting than the main sessions. I only heard two, but felt that something had been lost compared to previous events, in that they ran for much longer than I remember. At previous events I've managed to hear four or five quick talks and still have time to socialise a bit. This time round I only got to hear 2 before I needed to take a quick break before the main sessions restarted, and I felt both suffered from being too long.


Session 4: Microsoft Surface


The fourth slot of the day was the most difficult for me to choose from.


There were four great sessions scheduled, covering C# on the iPhone with Monotouch from Chris Hardy, Not Everything is an Object from Gary Short, Microsoft Surface from Kris Athi, and Entity Framework - How to Stop Your DBA from Having a Heart Attack from Simon Sabin - this last session being so popular people were leaking out the doors!


I chose (pretty much at random) the Microsoft Surface talk, and wasn't disappointed. This talk was, like Richard's, very much at the beginner level, and probably didn't have enough material for the scheduled running time, but I came out feeling it had been well worth attending.


It was a bit of a surprise to discover that the official Surface SDK isn't officially supported on anything other than Windows Vista with Service Pack 1 (although Kris mentioned that if you were running Windows 7, there was an unsupported hack that could be made to the msi to fool the SDK into thinking it was running on Vista).


To be honest, I came away with the impression that Surface was an even more niche product than I'd thought it was, and not likely to become anything other than even more niche (or possibly 'let go') in the near future. Questions around using the Surface API on a smaller Slate or iPad-like device gave answers that indicated Windows 7 new Multi-Touch features were very much an 'improved' version of the lessons learnt from Surface, which gave me the impression Surface was now stuck in a bit of a dead-end.


That being said, this was important stuff to hear about and I enjoyed the session, and particularly the demo code sections which contrasted the Surface controls with similar WPF ones, and included using two mice with the SDK to simulate the two fingers that would be used on a real Surface table hardware device.


Session 5: A Developer's Guide to Encryption


My final session of the day was Barry Dorrans' A Developer's Guide to Encryption, which turned out to be a fun way to end the day.


Barry bravely tried to fight his way through his session, which taught the basics of encryption and the various algorithms and terminology, but was frequently interrupted - not just by the audience pointing out several spelling mistakes on his slides and in his code (I counted five!) but by 'evil' video's that had been inserted into his presentation by other organisers of the event at strategic points.


This was Barry's last DDD, as he's off to the States to get the Microsoft chip implant at the end of the week, and the talk turned into a long ribbing, the highlights of which were some spoof ads for Barry's new book, that showed its excellent use for propping up tables, trying to get even with former UK evangelist Daniel Moth, or simply helping to keep the elderly warm (by burning it) during the tough Winter spell.


It was all good fun, and appropriate revenge for tricks Barry had played earlier in the day when one of the organisers, Phil Winstanley left his PC unattended, only to find he had apparently tweeted comments like 'I am going to dye my hair from now on, so people will talk to me', 'Has anyone seem my leather basque? With the studs? On the inside?' (Phil has his leather jacket stolen while out the night before) or 'I'm going to miss Barry so much. Gary Short is not a substitute'. I wonder if Microsoft USA will know what's hit them!


Closing Thoughts


Sessions and learning opportunities aside, this really is an event for those that believe in the reality (rather than the hyperbole) of 'Community'. Microsoft employees may be forbidden from giving talks, but their evangelists and developer leaders are typically in attendance, in their own time, just to network and chat. Security staff and organisational staff turn up hours before the first attendees show, and I felt for them today when I realised that the overly plentiful bacon, sausage or egg butties provided for attendees had all gone by the time Microsoft staff got the chance to put up their feet for a minute when the first session kicked off.


As an event DDD is a great showcase for not just the volunteers who put so much time and effort into making the event happen, but also the Microsoft eco-system. It's to Microsoft's credit that it's happy to sponsor an event where the content is pretty much out of its direct control.


It only remains for me to thank all the organisers for another great event, which shows off community in the best sense of the word. Good food (thanks Microsoft), free buses from the station (thanks SQL Bits), some great talks, plentiful snacks and SWAG (thanks Developer Express, Microsoft, and others) - what more could you ask for from a developer event? Well done, and thanks to everyone involved!


Edited to add: There are some nice pictures from the event by Barry Dorrans on his Flickr stream here