Day 2 at the Microsoft PDC began with 2 Keynotes (is that really possible). The first Keynote started with an overview of Windows 7. There are some cool new usability enhancements, you can finally reorder the items on your taskbar via drag and drop! The new “home groups” feature will hopefully address the bugs in Windows Vista with trying to connect your domain joined work laptops up to shares on your home network. This has remained one problem I’ve had with Vista since I switched to it, I am constantly getting an error when trying to connect to my home machine’s shares and printers. They promise that the new home groups feature addresses this and also automatically sets default printers up based on location. In addition, they are focusing on performance improvements, one of the most important ones to me would be reduced disk IO “for no apparent reason.”
After talking about Windows 7 Scott Guthrie spoke to us developers about what was coming in the near future. Here’s some highlights:
1) Visual Studio 2010 is built with WPF. This is great news as I’m sure they will find and fix many things as part of that exercise.
The WPF toolkit is released today. It is available on the codeplex site
and contains v1 of the datagrid, a datepicker/calendar control, and a preview of the Visual State Manager.
3) The .net framework v4 will contain a ribbon control which is being shipped as a preview on the codeplex site today. It will also allow you to run components built for the v2 clr side by side with v 4 work, so you won’t have to rebuild/recompile existing v2 .net controls to use them in v4.
4) The Managed Extensibility Framework was used to allow people to very easily create a platform that others can write pieces for easily. Scott demonstrated this by showing a plug in or Visual Studio 2010 that displayed comments in the code screen graphically. It was very impressive and this framework is pretty exciting.
There is a new Silverlight toolkit being released with 9 key controls. It is available on codeplex.
6) In VS 2010 one will be able to have multiple web.config files, one for development for instance and one for deployment. This will eliminate the issue whereby the wrong web.config goes out with an installer.
During the keynote some interesting demos were shown. Tesco, a European grocery retailer showed a very sexy WPF application for home users to order groceries online along with other things. One cool feature, the presenter held the barcode off of a can of coke up to the webcam on the desktop which added it to the basket automatically. The BBC also presented their Iplayer which adds a social networking dynamic to watching television and made an interesting statement that in the past broadcaster’s told you what you wanted to watch, now you decide what you want to watch, and next year your friends will tell you what you want to watch. They utilized the Live Mesh for this and one very cool demo was that when the user loaded up the Iplayer on their phone the show they were watching picked up playback where they had left it off on the desktop.
After a break we were treated to an interesting demo of Azure. I’m still trying to grasp how we would use this in our current business model.
After lunch I attended a session on Fast search which I didn’t get a whole lot out of. I have to do some more reading. We were excited about Enterprise Search Service until we realized that it relied solely on spidering files and could not take advantage of NTFS file update notifications the way the legacy content indexer could. I need to read more about Fast to see if it offers this support as it is essential for our application.
Next I attended a session on the WPF Roadmap. Some of what was covered was mentioned in the keynote. One of the top things that people seemed happy about was that it was announced that .net 4.0 would have improved support for accessibility and localization. They are also adding common dialogs and are improving text clarity. This session also mentioned that the Visual Studio 2010 GUI for editing WPF and XAML will be significantly improved which isneeded.
Silverlight for Business Applications was the next presentation I attended and this is a welcomed topic. So much of the samples and case studies on Silverlight have revolved around photo viewers and media players. However, it also has the potential to be a fantastic platform for cross platform business tools. I was encouraged when Jamie, the presenter mentioned that it was compatible with ADO.net, this has been our one roadblock to implementing our webservice in Silverlight, we have not figured out how to use ado.net datasets in Silverlight as they aren’t supported. Unfortunately, this is still the case, and while the demos that were done were really interesting, they relied on mapping data to objects. The problem we have with this approach is that in order for this to work you have to know the exact schema of your data. Our application has dynamic data, we don’t know the names of the fields in our data tables for instance. Because of this the datatable object has proven to be an excellent way to transmit data between layers of our application, we can easily add columns to tables to support dynamic data. Jamie then told us that the future of Silverlight was richer tooling, design time databinding, many more controls along with some core platform enhancements.
I finished the day off by attending Paul Vick’s talk about the future of VB. Lucian Wischik, a software engineer who will be taking over the vb spec demonstrated some of the new features being built into vb 10 which will be part of VS 2010. These included:
1) Nullable types
2) Automatic Properties. You no longer have to build your setters and getters for a simple property, it just wires it up automatically eliminating a lot of the tedious work us developers have tod o.
3) Support for Anonymous delegates as well as inline function definitions within a function. I’m not a big fan of this syntax but it is used extensively in C# and this will make it much easier to convert C# code to vb.
4) DLR Interop lets you work with Iron Ruby and other dynamic languages that load code up out of files from disk. Unfortunatley at this time this does not extend to visual basic code itself, although the VB compiler has been re-written in managed code so in the future it could be implemented as part of the runtime to do on the fly dynamic compilation.
5) Array datatyping inferences. If you define an array and put values in it the compiler will automatically determine the type for the array, aka, if the list you provide is all integers it will automatically assume an integer array.
6) New “From” keyword that lets you addto a collection when you declare that collection.
7) Implicit line continuation. No underscores!
As a VB developer these were some exciting features, however, I was a little disappointed that the room wasn’t packed. I really hope this reflects on the late hour of this session and not any reduction in VB code. Also, there will still be no support for iterators which is one of the few things that can make converting C# code to VB extremely difficult.
After these sessions it was time to party at the PDC attendee party. Microsoft rented out the Universal Studios theme park which was transformed into a collection of haunted houses and other Halloween themed exhibitions. I hadn’t been in a haunted house in years and it was a lot of fun.
Stay tuned for day 3 tomorrow!