Code Camps in the UK

Sun, November 18, 2007, 06:13 AM under Events
In the US they run these things called Code Camps which essentially are a 1-day community conference. If it rings a bell with my UK friends, it should: That is where we borrowed the whole idea of DDD. Spot the similarities in this very useful checklist for Code Camps.

The main difference with DDD in the UK is that the delegates vote for the sessions beforehand and that no Microsoft employees are welcome to present/speak (this is not true for other code camps in the UK such as WebDD and SQLBits). Is there anyone out there that has attended one of these things on both sides of the pond? Is there anyone out there that does this sort of thing in their own country (not UK or US)? I think there is room for evolution which can be expedited by sharing cross the borders...

Anyway, besides not being allowed to present, I will be around mingling at DDD6 on Saturday 24th (as promised), so I look forward to saying "hello" to many of you in the UK reading this blog... I hope you return me the favour and if you do ask me about ClientDD or ToolsDD :-)

MSDN Flash 14 Nov

Thu, November 15, 2007, 04:25 AM under Links
The MSDN Flash was delivered earlier (subscribe here). There is a FULL roundup of the Tech Ed announcements and downloads. Also, as usual, you can purchase the featured MS Press book (this time it is a Silverlight book) at a huge discount for a limited time (until the next Flash issue comes out) – you can view this issue online now.

My personal Tech Ed wrap-up

Sun, November 11, 2007, 04:55 AM under Random
1. SESSIONS
This year I was presenting 4 breakout sessions on my own and was also part of a panel session with four other speakers. A huge thank you to all of you that attended my sessions and in particular to those of you that filled in the feedback forms. I read every single comment and below are the results of your voting, in the order I presented throughout the week:

Three numbers per session representing speaker's Knowledge, Presentation Skills and Quality (range is 1-9 where 9 is high).

TLA201 VisualStudio – 8.41, 8.31, 7.87 (resources here).
MED202 WindowsMobile – 8.46, 8.32, 7.85 (resources here).
MED304 CompactFramework – 8.49, 8.33, 8.09 (resources here).
WIN312 WindowsVista – 8.66, 8.54, 8.31 (resources here).

These numbers are not that different to my session results from last year so it sounds like I am not improving much. I hope next year I will do better i.e. eliminate those two pesky 7.8x numbers and replace them with 8.something!

2. SOCIALISING
In addition to having a session every single day and almost every day some kind of "lunch meeting", I also kept my evenings busy by managing to attend: the welcome drinks reception, the MVP party, the MSP party, the UK country drinks, a night out with MS UK DPE colleagues and the speaker's dinner/party. I also participated in two book signing events at one of which Andy "helpfully" brought a celebratory bottle of champagne. So, in hindsight, maybe I should do all my presentations from now on whilst being hangover since it apparently makes no difference ;).

3. MEDIA
It wasn't all alcohol and presentations though; there were some "media" activities too. At some point expect to see on channel8 an interview I gave to two MSPs. I also turned the table round with Dave by interviewing him on his outstanding performance at Tech Ed – expect to see that on the NxtGenUG podcast series. There is 30 seconds on us signing the book on the Day 3 Wrap (start at 01:09) on the virtual side (or save as the wmv). Also on the virtual side there is a 4-minute chat between me and Mike on Visual Studio & .NET Framework 3.5 – Top Features (or save as the wmv). Finally, since they had both me and Mike in front of a camera, they decided to record a longer (10') chat we had on the same topic, this time for VisrtualTechEd (stream it or save as the wmv).

4. TECHNICAL NEWS FOR THOSE OF YOU NOT THERE
Phew! Now I think I'll get some rest and sleep for the next 24 hours and then compile for the Flash all the announcements and product downloads from Tech Ed. I hope you are all looking forward to this week's issue...

Top 10 things to know about Visual Studio 2008 and .NET Framework 3.5

Fri, November 2, 2007, 04:54 AM under dotNET | Orcas | VisualStudio
The list below is not in order of importance, instead it is in the order I suggest you explore this new release.

1. VS2008 and Fx 3.5 will officially launch together in February but will be available to developers by the end of November 2007. The same type of Visual Studio SKUs/Editions available with VS2005 will also be available with VS2008 including a brand new one: VS2008 Shell. VS 2008 is a great Vista client, has better aesthetics and a bunch of new usability features including enhancements for multithreaded debugging.

2. Fx 3.5 continues with the additive approach that we introduced with Fx 3.0 while still not introducing a new CLR. As a reminder, Fx 3.0 simply added to Fx 2.0 without changing or removing anything in the existing assemblies (it added WPF, WCF, WF and CardSpace). So, Fx 3.5 simply adds some assemblies to the existing set of DLLs that Fx 2.0/3.0 comprises of. This means that simply installing the framework should not affect your existing solutions. Note however that Fx 3.5 depends on Fx 2.0 SP1 and Fx 3.0 SP1, which will ship at the same time.

3. VS2008 has a new simple yet powerful feature: multitargeting. The ability to create projects targeting different .NET Framework versions (2.0, 3.0 and 3.5). This means that even though VS2008 can be installed side by side with VS2005, you do not need VS2005 any longer since VS2008 offers a superset of the functionality.

4. There are many new C# 3.0 and VB9 language features (inc. automatic properties, relaxed delegates, object initialisers, type inference, anonymous types, extension methods, lambdas and partial methods). The compilers emit backward compatible IL, which is to be expected since there is no new version of the CLR. In plain terms this means that all the new language features can be used with existing v2.0 projects (due to the multitargeting feature mentioned above)! VB developers also get enhanced intellisense amongst other IDE features.

5. The headline feature of this release is LINQ (Language Integrated Query). LINQ depends largely on the language features that were introduced and also on bits of the Fx 3.5 (4 assemblies to be precise). LINQ is a new declarative paradigm for querying data sources in a consistent manner, regardless of what the data source is: in memory objects, XML, SQL, DataSet or anything else (because LINQ has been architected to be fully extensible). The future looks even brighter with efforts such as PLINQ.

6. For the web developer, ASP.NET AJAX ships out of the box with improvements and ASP.NET 3.5 includes 3 new controls. There are also enhancements in the IDE that can be used in ASP.NET 2.0 projects too, such as support for JavaScript intellisense and debugging, a new CSS engine and an HTML designer that supports Nested Master Pages.

7. For the client developer, new features include WPF project templates out of the box, a new WPF designer with integrated support for interop between WinForms and WPF. FireFox support for ClickOnce and XBAP deployments. Now, you can take advantage of ASP.NET provider services and also embed UAC manifests for application running on Windows Vista.

8. For the office developer, there is full support for 2007 Office customisations as well as Office 2003 templates. Support include outlook form regions, ribbon customisation, custom task panes, actions pane, Word content control databinding and interop with VBA.

9. For the server developer, WCF and WF templates now ship out of the box and play better together. WCF now supports a SOAP-less HTTP programming model as well as syndication and JSON serialization. There is a good collection of links for these here.

10. For the mobile developer, there are tons of new features including support for Compact LINQ and Compact WCF and many other NETCF features. At the IDE level we get Unit Testing for devices amongst other goodies from the VSD team.

11. Bonus item: It is only via VS2008 that you will be able to debug your code down into the .NET Framework methods.

Some blog maintenance

Thu, November 1, 2007, 03:32 AM under Blogging
I've been running Live search on this blog for a year (well, December 2006 according to item 5 here). I've always had just the two search tabs ("The Moth" and "Web") and I just added two additional tabs (i.e. the option to search additional places with one hit) for "MSDN" and "MSDN Forums". Check it out on the left! To see how to do the same for your blog/site, see Scott's post.

BTW, I took the opportunity to change the order of the sidebar and the main column. This won't have a visual effect on the desktop, but will eliminate all that scrolling on mobile browsers ;-). Please let me know if I broke anything...

MSDN Flash 31 Oct

Wed, October 31, 2007, 07:59 AM under Links
The MSDN Flash was just delivered (subscribe here). The Fresh discoveries include "Oslo" and the editor's Intro may have the bag let the out cat ofyou can view this issue online now.

SCF intellisense

Wed, October 31, 2007, 02:59 AM under SideShow
It has been a while since I blogged anything about SideShow but it occurred to me recently that when I was throwing together the SCF XML for my SideShow screencast, I never used the schema to get intellisense for it because I was using the managed API. However, just because you can use the managed API to generate the SCF for you doesn't mean you cannot use the SCF schema to get intellisense and create the SCF that way (and then use the managed API to send it down). All you need is the XSD file and then to use Visual Studio's schema support.

Step 1: Get SCF schema from here. Plug it in as per usual and notice how you get compiler errors.
Step 2: Fix the error you get by changing this <xsd:complexType name="ItemType" mixed="true"> to this <xsd:complexType mixed="true">.
Step 3: At this point you notice that intellisense works great but it allows you to start with any element, and not just with the only legal SCF option which is body. Not being an XSD person I kindly asked the XSD Jedi to refactor the schema so it can only start with the body element – luckily he obliged.
Step 4: So intellisense worked fine at previous step (thanks Dave), but I still wanted to have comments. So I manually populated the schema with comments and now I have a really cool SCF XSD schema with rich intellisense:



Download the xsd here.

XML Schemas dialog in Visual Studio 2008

Tue, October 30, 2007, 03:47 PM under Orcas | VisualStudio
A neat feature of Visual Studio has always been that you can associate a schema with an XML file and then you get intellisense in the XML for elements and attributes. In fact, if you annotate your XSD file, you can even get comments in the intellisense. Read more about the XML editor on MSDN and if you are sticking with VS2005, check out a much older blog post by Aaron.

Well, the Visual Studio 2005 dialog for picking schemas has had a facelift in Visual Studio 2008. I am talking about the dialog that appears when you have an XML document open and then from the Properties window click on the Schemas property. In VS2005 it looks like this:


On the original dialog above, note how the information presented is in a TreeView: Location of the xsd file (tree nodes with folder icon) and File Name (on the tree node with xsd icon) and the Target Namespace (in brackets on the same node). You can also select the xsd file via the tree node checkbox (i.e. a binary decision: Use or Don't Use). The final thing to note is the (mis)title: XSD Schemas ;-)

In VS2008 you can also bring it up from the XML menu:

...its title bar now has more accurate text:

The body of the dialog does not use a TreeView; instead it is a grid with an XSD file per row and 4 columns (from right to left): Location, File Name, Target Namespace and Use (all of them sortable). Take a glimpse at a full screenshot here and notice how you can easily Remove XSDs as well.

Other than a GUI re-layout (which is an interesting study in its own right if you are into that kind of thing), there is additional functionality. The Use column is not a binary decision like before, but rather a combobox with 3 options as the following screenshot shows:

At this point, I'll hand it over to the new MSDN documentation that describes the 3 options. Essentially, now you can remove the automatic binding to a schema based on a namespace, without having to remove the namespace from the XML file itself.

New in CardSpace with Fx 3.5

Tue, October 30, 2007, 02:27 AM under dotNET | Orcas
When I talk about the .NET Framework v3.5 release, I touch on the enhancements coming for NetFx v3.0 technologies i.e. for WPF, WCF and WF. Invariably there will be a question: What about CardSpace? For CardSpace all I know is that there are UI enhancements (play with the latest bits and you'll spot them). Today, I learned (via Mitch) that you'll be able to utilise CardSpace without an SSL certificate. Any other CardSpace questions, please use the aforelinked blog ;-)

ASP.NET for Windows CE

Tue, October 30, 2007, 02:11 AM under MobileAndEmbedded
Three years ago I was speculating about this very topic, and was planning to implement it for the company I worked for at the time. I never got the chance, but the OpenNETCF guys delivered Padarn today! Very cool...