October 2003 Blog Posts

I figured that while I was here, I really ought to visit some sessions explaining stuff I could go away and start really working with in a real sense almost immediately. The sessions on InfoPath seemed to fit the bill since InfoPath is out there now, and we'll be getting all the VS.NET integration soon too.

I was a bit disappointed with the InfoPath session on Monday by Claudio Caldato because the demos were pretty much preproduced but on the positive side, Claudio did show some of the new integration with .NET using VS.NET and he talked about the different security models.

The session today was supposed to be Architecting End-to-End Enterprise Solutions: InfoPath with BizTalk 2004, SQL Server, "Indigo", WSE and Line-of-Business Applications. I'm afraid to say this was the most disappointing session of PDC for me (aside from not being able to get into Don Box's Indigo Part 2, which at least will be repeated). The speaker, Kamaljit Bath, had a monotonous delivery and tried to include too much information too quickly without really making a solid point. To make matters worse, most of the presentation was identical to the Monday session, but surprisingly with less detail.

I think someone at Microsoft needs to really think hard about how they are pitching InfoPath. It seems at times like a great product looking for a solution. Perhaps I'm being a bit slow, but I need someone to take me aside and explain how I go about architecting a solution that takes advantage of InfoPath in the best way, how to organise what InfoPath talks to, and who designs and develops the InfoPath bits. As a tool, it's currently presented as a Jack of all trades, but turns out to be a master of none.

So, I made a last minute decision to attend a different session than I had planned. When I arrived at the room for Indigo Web Services Protocols and Architecture, there was a pretty big crowd of people waiting outside and the theatre there isn't so big so I decided to try something else.

I went to the WinFS: File System and Storage Advances in Windows "Longhorn": Overview presented by Quentin Clark. I was a little underwhelmed by the WinFS concept but this session filled me with enthusiasm. The data model is simple yet powerful, which in general suggests a really well thought out approach that appears more obvious than it actually is.

The combination of a relational model that also uses XML with an NTFS stream based file system is a difficult one to get your head around. I certainly can't claim to have thought through many of the implications of this and, in fact, the session generated about a million new questions in my mind. It'll be great to get Longhorn installed and give it a go.

Drew has great notes on yesterday's Indigo Serialization talk by Doug Purdy. Doug has a really unique presentation style and I swear he had his microphone turned right down so that he could scream and shout at us.

As I've mentioned before, XML Serialization is one of my favourite .NET features and there are great new things to come, including much richer support than we've had to date.

I won't go into huge detail because Drew and Scott Hanselman have that well covered, but I think the new DataContract with versioning support looks really cool.

I attended the Building Database Applications with SQL Server "Yukon": XQuery, XML Datatype session this morning by Arpan Desai and Istvan Cseri. This covered the variety of new features in the next SQL Server release to do with processing XML.

It's funny because just 3 weeks ago, I was searching through Google looking for XML databases. Nothing that I found then provided anything like the simplicity found in Yukon, where XML becomes a first class column type, and I can't wait for this to reach production release.

One of the worries with querying XML data stored in a column is performance. Clearly you can't immediately benefit from the query optimiser built into SQL, but Microsoft have added the ability to create an XML index on your data that pulls out the various elements and attributes and which in many cases allows queries on your XML to be performed without needing to hit the individual field value. This is cool stuff.

XML columns in your tables can be associated with an appropriate XSD schema. This means that you can only add valid data to that field and that strong types can be derived about your data from the schema.

With built in support for XQuery, you can search across your XML data and then transform the results into a new XML document with whatever structure you like. XQuery can look quite complex but help is at hand with a drag-and-drop XQuery editor built into the Yukon SQL Server Workbench that actually works really well.

Surprise appearance by Batman this morning, stopping by to show us the Smart Devices on his utility belt.

Interesting to see an NUnit task demonstrated in the MSBuild presentation. They also explained how they see a distinction between NAnt and MSBuild in a polite fashion (I think they're basically saying that MSBuild will be thicker and much more closely integrated with the platform, but my take is that in fact it's probably just going to be simpler for the average developer because it will be integrated into Visual Studio).

Anyway, I thought these Microsoft boys weren't allowed to go anywhere near Open Source?

There are little odds and ends mentioned in the keynote seeping slowly into my head despite the jetlag really starting to kick in (what with the daylight saving change I'm out by 9 hours or something!). The breakout sessions are starting to put things into more perspective and in the next few days I think things will start to make more sense. Suffering from sensory overload for now!

Update: here is the transcript of Bill Gates' keynote.

I attended ScottGu's "Overview of ASP.NET 'Whidbey'" presentation this afternoon and to a degree, I got that same feeling that we had when the .NET 1.0 stuff was originally revealed: this is great stuff, but you say it isn't ready yet so we're gonna have to wait? How can you ask us to wait? We get a glimpse of the future but have to go on day-to-day writing things the old way knowing that it's going to be easier and better but not just yet.

I think we're slightly better off: we know that we can be on the right path by adopting managed code and all that goes with that. We can get substantial benefits from doing that today, and we know that having done that we're in good shape for things to come.

As far as the detail, Scott says that they have focused on four main areas:

  • Productivity - trying to reduce the amount of code by 2/3 and enabling scenarios that aren't currently easily possible
  • Administration and Management - making it easy to automatically and programmatically manage site configuration
  • Total Extensibility
  • Performance and Scalability

It seems like part of the approach to reducing the amount of code we have to write is by predicting the kind of functionality we need and wrapping that up in server controls that are part of the core framework. The design patterns that have been adopted to incorporate extensibility in this model are interesting but I wonder how far this can be taken. In addition, I wonder how the component vendors feel who have written their own implementation of this core functionality only to find the rug pulled out from under them. I guess they have to sell their product for today's market while they can.

Despite my cynicism, there are a bunch of features I really like. The new Page Framework allowing a hierarchy of master pages is fantastic and takes code and presentation separation to another level. Some of this can be achieved today using user controls but this gives a much more finely grained control over the page.

There were a few things that Scott was reluctant to call new features but that might be classified as bug fixes including the HTML editor now leaving your markup alone at long last and better support for CSS without injecting styles inline all over the place. New bits in VS.NET include being able to edit a web folder without needing a project file, being able to use web projects without necessarily having FrontPage extensions (though it was surprising that they haven't yet committed to implementing against WebDAV), and being able to compile code behind into more than one DLL.

All in all, lots of must have features that, well, we can't really have yet!!

It's probably too early to know what to make of the technical content shown during the keynote. Presentationally, though, it was classic. What with showing the Red vs Blue PDC movie that we probably mostly saw a few weeks ago, and a fantastic VH1 rip-off "Behind the Technology" movie, Microsoft really know how to send themselves up.

Gates was typically calm, measured and understated, while the Don and Chris double-act was animated, amusing, oh and probably involved more different text editors than most people will have seen in one session.

My first reaction to the Avalon bits is probably predictable: do we really need any more ways to make fancy alpha-blended eye candy? I think we need to keep in mind one subtle point that Bill made: this stuff is being developed for the hardware we will have in 2 or 3 years time. We'll have much more screen space and I'm looking forward to my 26" desktop LCD!

I think it will take some time for the implications of WinFS to become apparent. Nothing we've been shown so far suggests anything very radical, but I think having a centrally concentrated data store will probably lead to applications we haven't really thought of yet.

Finally, too little was shown about Indigo to really understand how it all hangs together. Suffice it to say that this is an area that I want to learn more about - it looks quite involved - and I imagine the "coolness" will become more apparent once we start looking at how to code against it.

Well, I've been so snowed under with work stuff for the last few weeks and I notice it's almost 2 months since my last blog entry(!). I'm way behind on RSS reading and will hopefully catch up again soon.

I'm happy to say that I've made it to LA and arrived at the convention centre for the PDC. Everything went smoothly with the trip so far, apart from a slight mix up because I don't remember seeing any warning that we'd need photo ID to register. The letter I had said I should hand over my badge and it would be activated - "as easy as that". Unfortunately, in the UK we don't have much official photo ID and the only thing I have with me is my passport, which for obvious reasons I don't generally carry everywhere. Quick trip back to the hotel to collect that and all is well.

Given that there was a harsh frost and freezing temperatures when I left on Friday, being in 95 degree LA heat is a chore I'm happy to deal with.