PDC 2005

It was an interesting read to learn how the ATLAS project, that the ASP.NET team is working on, originates in part at MSN. As you can read on Scott Guthrie's blog ATLAS is a new framework for developing AJAX style web applications using ASP.NET.

Dare Obasanjo quotes Omar Shahine and adds:

Trying to build a complex AJAX website with traditional Visual Studio.NET development tools is quite painful which is why the various teams at MSN have collaborated and built a unified framework. As Omar points out, one of the good things that has come out of this is that the various MSN folks went to the Microsoft developer division and pointed out they are missing the boat key infrastructure needed for AJAX development. This feedback was one of the factors that resulted in the recently announced Atlas project.


If you're going to be at the Microsoft Professional Developer's Conference (PDC) and are interested in professional AJAX development you should definitely make your way to the various presentations by the MSN folks.

My PDC schedule is already heavily overbooked due to the incredible abundance of interesting sessions. I'll try to stick in one or two of these sessions since I have a love for AJAX since long before it was called that way. Let me copy in a comment I made in Dennis' blog back in the days when I did not have my own blog yet:

AJAX = Old technology πŸ˜‰ At the bank I work for we have used a similar approach since 2000. We call our framework R***SCO. SCO stands for Server Communication Objects and R*** stands for part of the name of the Dutch bank that is to remain anonymous. Hard guess, hey?

Our technology dates back from before the XmlHttpRequest days. We designed a method using posting requests to and from hidden frames and returning data as client-side JavaScript code generated with ASP with server-side JavaScript. This can be fast because Internet Explorer is very good at parsing and interpreting JavaScript. With this data dynamic parts of the page presentation are generated using DHTML.

The reason we did this back in 2000 because we were confronted with the demand that the output of dynamic web pages could not be larger than 5-10 kB due to very strict bandwidth restrictions. So we had to separate presentation code from data. Static code was preloaded on proxy servers at remote locations. Some applications loaded some 400 kB of static HTML and JavaScript code from the proxy server or the browser cache on startup and just a couple of kB with dynamic data from the web server.

Unfortunately this technology is proprietary to the R*** bank so it cannot be borrowed. Heavy use of frames and clientside JavaScript has fallen out of favour with the enterprise architects of the bank. Also our code is very IE4-6 specific. So now we use plain old ASP.NET πŸ˜‰


1 Comment

I blogged before about some of the promising new features for working with relational and XML data in C# 3.0. Those features will be revealed at PDC 2005 by Paul Vick (the equivalent of Anders Hejlsberg in the VB world). As with generics, VB developers will not be left in the cold because Visual Basic 9.0 will get the same features.

Maybe VB will get more of the dynamically typing that I blogged about than C#, because VB has always been good at supporting dynamic typing (since long before the first .NET version of VB). Paul Vick alluded to this in July. This is going to be very interesting at the PDC. I hope that I don't have to switch to VB to get those features πŸ˜‰

The official names for Indigo and Avalon have been announced to be "Windows Communication Foundation" and "Windows Presentation Foundation".

I think I will have a hard time abandoning the Avalon and Indigo code names. Windows Vista is a better name than Longhorn, but these long names suck big time...

But the good news is that the WinFX name will stick! In fact officially it is WinFX™. Thankfully that won't become Windows Application Pack.

That blog post of JohnMont also lists the new features that Windows Vista will bring to the table. Note the absence of claims that WinFX™ as a managed API will cover everything that the Win32™ API offers.

Microsoft has released beta 1 of Windows Vista. You can download it if you have an MSDN Subscription from http://msdn.microsoft.com/subscriptions/. It's a hefty 2.42 GB DVD ISO download. I am downloading it right now but I guess I have to clean up my machine to make some room to install it. Hopefully the beta will feature the new OS installer which should get Longhorn installed in 15-30 minutes.



Microsoft's Matt Warren gives us a glimpse into the design process of C# 3.0 in a post titled XML Generics in C# 3.0. We're still left guessing (of course, it's not September yet πŸ˜‰ to what the syntax will be, but I have the feeling it's going to be something good.

Matt has a very nice writing style, with a good touch of irony, so check out some of his other posts. Especially his post on C# 4.0. A quote:

"Too soon, you say?  Are you kidding?  Of course not.  Look, the design staff here has to keep planning far in advance of the development juggernaut.  If we were not constantly leaping ahead into product plans n-versions out, the developers might start to think that the ship was drifting off course and that everyone was asleep at the helm. If that ever happened, the negative impact to employee morale would be devastating, sending productivity into the toilet, initiating a downward spiral of fear, uncertainty and drunken binge programming that we might never recover from. "

And Drug Induced Dreams. That one (from January 2004) contains the following hilarious segment:

"So Bill's updated his character sheet.  I'm not quite sure, does Knighthood count as an epic level paladin or a prestige class?  I was thinking about this last night while I sat playing a game at a friends house.  It's my once a week get-away from the family.  Not that I don't enjoy my wife and our son, but everyone needs to have at least one night off.  I encourage everyone new to parenthood to do the same.  It keeps me from burning out from too much stress.  Work can be stressful and so can kids."

I don't know much about parenthood, or if BillG reads his blog, but I instantly believed Matt.

Workflow will be a hot topic at the upcoming PDC. Already a whopping amount of nine sessions have workflow in the title or the description. Michael Herman has a listing of these sessions. He questions if there is one common workflow strategy behind this or if it is just a "technology fair". Michael says:

Is the PDC going to be one large Microsoft "technology fair" with no strategic intent other than giving each product group a venue to promote their own technology bits?

At PDC 2003 I was amazed at how Microsoft was able to present a coherent vision on the three pillars of Longhorn: Avalon, Indigo and WinFS. So Microsoft is likely able to present a coherent vision on workflow.

But of course that vision for one managed API, dubbed WinFX, that would replace Win32 fell apart after 2003. Longhorn will add several managed APIs with Avalon and Indigo. But internally Longhown will be primarily unmanaged code.

For example the Aero shell will not be written in managed code and will not use the managed Avalon API. But graphically Aero will be nothing like the current Explorer though. It doesn't use GDI32/GDI+. Instead it takes advantage of the Unified Composition Engine (DirectX based) through MIL (Media Integration Layer), which underlies Avalon.

1 Comment

Microsoft's Luca Bolognese has a nice overview of PDC sessions related to the .NET Language Integrated Query Framework.

Luca says he has been working on this for over a year. In October 2003 I went to his PDC 2003 talk on ObjectSpaces. ObjectSpaces was a O/R-mapper framework related to Yukon and WinFS. ObjectSpaces was originally scheduled to be released with Whidbey and WinFS with Longhorn. Both were postponed and will not ship in the form presented at PDC 2003. Robert McLaws published an article in May 2004 that gives some inside into Microsoft's decision to put off ObjectSpaces.

ObjectSpaces was meant to be the unified model for accessing data across different data stores and to be used by several Microsoft products. In the 2003 incarnation the query language was OPath. OPath was inspired on XPath. But like using XPath from C#, OPath didn't really give you a statically typed programming model. Look at some of the complaints in the comments of this blog entry on OPath by Matt Warren. Because of the importance of ObjectSpaces as an underlying technology for several other technologies, it was very import to get right at V1. And not at V3 as is rumored to be common for Microsoft products.

So, the spirit of ObjectSpaces is back, albeit in a completely different form in C# 3.0 and VB.NET 3.0. We'll have to wait till September to see the new form, but it is bound to be better than the OPath syntax (which was already very nice).

The marriage of objects, XML and relational data has been long in the making at Microsoft. When googling for X# (later to be called Cω) I found a Microsoft Watch article from December 2002 that contains:

 Box went on to call the development of a "data-oriented language" one of the "most interesting areas for innovation in the next five years." He said that Microsoft and other software development houses were beginning to explore this area.

Since C# 2.0 is yet to be released, it may very well take until 2007 before C# 3.0 is released. So Don Box's prediction is accurate: 2002 + 5 = 2007.

[Update: Microsoft Watch published a very interesting interview with Anders Hejlsberg last Friday]

1 Comment

It looks like C# is indeed going to gain support for additional/alternative forms of typing. I blogged about static vs dynamic typing and speculated on some of this. The following abstract has appeared on the PDC session list:

C#: Future Directions in Language Innovation from Anders Hejlsberg
Join Anders Hejlsberg, Distinguished Engineer and chief architect of the C# language, for an in-depth walkthrough of the new language features in C# 3.0. Understand how features like extension methods, lambda expressions, type inference, and anonymous types make it possible to create powerful APIs for expressing queries and interacting with objects, XML, and databases in a strongly typed, natural way.

I will definitely attend that session.

1 Comment

Microsoft has announced that it will include deep support for RSS (and Atom) in Longhorn. A lot of it will come through Internet Explorer 7.0 but there will also be a kind of RSS data store that can be accessed by other applications running on Longhorn. Microsoft's Robert Scoble links to a lot of news items and responses to this announcement. Robert has been an RSS evangelist long before he joined Microsoft.


This MSDN page has a lot of information on this new RSS support in Longhorn. It says “The RSS support in the Longhorn platform will be discussed in detail at Microsoft Professional Developers Conference (PDC) in September, and PDC attendees will be provided with early versions of the software so they can begin exploring how to build RSS support into their applications.”


Microsoft has not forgotten how to embrace-and-extend. It is extending the RSS protocol. But Microsoft will make their extensions available under a Creative Commons License. I am afraid that most media will forget to mention that the Attribution Share alike 2.5 license that was chosen is a very liberal license, and will portray this embrace-and-extend act as an evil act. Just like when Microsoft extended HTML (like Netscape did) and Internet Explorer was declared to be an inseparable part of the operating system.


This MSDN page says: “A common data store provides a single location where applications can access any content that has downloaded to the PC via RSS – including text, pictures, audio, calendar events, documents and just about anything else. All applications will have access to this content for creating rich user experiences.”


I wonder what kind of data store will be used. It looks like the perfect match for WinFS, but as we know WinFS has been dropped from Longhorn, because it won't be finished in time. So will the data store be a glorified “Temporary Internet Files” folder or some kind of Jet derived database (like Exchange and Active Directory or previous versions of SharePoint use). Or will it be based on SQL Server 2005's database engine? That together with the object model layered on top (also shown on this MSDN page) would make it some kind of WinFS “light” pre-release. The article mentions that “enclosures” (think attachments) can be accessed from the Explorer.


Longhorn will also feature a new version of Outlook Express. The version that was included with the PDC03 build (build 4051) of Longhorn used WinFS. I wonder if Outlook Express 7.0 will use the old DBX datastore (in which attachments are not accessible via the Explorer and there is no API for other applications) or if it will share the architecture of this RSS data store.

Ever since the announcement that WinFS would not be released with Longhorn I have wondered what use it would be as add-on that is released one year after Longhorn (if ever). Because then no applications released with the OS will use it. And not a lot of applications will build on top of it, because you cannot expect it to just be there. The same thing hampered the adoption of .NET applications because even XP SP2 does not install the .NET framework by default ;(


My manager just told me the good news. My proposal to go to PDC 2005 in Los Angeles has been approved. I am really excited to be able to hear the hot new stuff about Longhorn, IIS 7.0, ASP.NET 3.0 and C# 3.0 at that conference.

PDC I'll be there logo

It'll be strange to hear Microsoft talk in September about the vNext-Next instead of just vNext, considering .NET 2.0 and related technologies will not be released until November 7. But Longhorn will be the vNext for Windows, just as it was at PDC 2003. Microsoft has said it has several things up its sleave for Longhorn that they haven't talked about in public yet.

I wonder if Microsoft will disclose the new shell codenamed β€œAero”. Microsoft has been keeping an Apple-like secrecy about β€œAero”.It has been deliberately excluded from all publicly released builds of Longhorn so far. Some computer magazines (like the Dutch PCM) have written ridiculous articles about Longhorn by reviewing the shell that was released with those builds. They concluded that Longhorn sucks. The shell that was shown was just a minor variation on the XP shell.