Our Motto - It's not spam, it's a blog with a push model

Technical content of this issue - 4 out of 5 (if you keep reading!)

General Session - Bill Gates

Now the conference is officially underway, starting off with a talk by Bill Gates to the all the attendees. To give you an idea of how big this is, I have been closer to Bruce Springsteen at concerts than I was to Bill Gates - but I couldn't see Bruce as well because the 16 giant screens in the PDC main hall was more technology than I've ever seen at a Bruce concert. The session went on for over 3 hours without any breaks.  Considering they were offering water bottles outside, this was just seemed needlessly cruel! The session is a professionally produced show, with 12 cast members through the course of the session, numerous demos from several machines and several videos.

The best part of the Bill Gates talk is always the PDC video. Although not the best one ever, it was still incredible. This year's theme was "Behind the Technology," a send up of the VH-1 "Behind the Music" program, complete with MS-1 logo. The video presented various guest stars speaking about personal computers through history, starting with the Altair. A few of the highlights:

  • Sean "Puffy" Combs talking about how he liked DOS
  • Bill Clinton discussing the rise in the number of web sites under his Presidency - "When I took office on January 21, 1992 there were 51 registered web sites. On January 22 there were 52. On January 23 there were 53. On January 24 there were still 53 - that was a Sunday"
  • Bill Gates (subtitled Internet Pioneer) saying that he saw immediately saw the value of moving to the Internet right off, and then saw it even more clearly when everybody else was already there.  At that point the subtitle changed to Internet Pioneer - Not!
  • Tim Russert grilling the Pets.com dog on the Meet the Press set about many people blaming him for the Internet market collapse
  • Jim Sculley being asked about the tablet PC and sarcastically and increduously reciting back all the features that the Newton attempted several years back - "Handwriting Recognition?" "Sleek Design?"

All it was hysterical and it finally wrapped up with a direct shot not so much at Oracle, but at Ellison personally (over very dramatic video of racing yachts - "Next episode we will be exploring the dangerous and exciting world of database management software")

There's seldom any good meat to a Bill Gates talk, it's lots of generalities and broad strokes. There were a couple of nuggets that I want to highlight

  • He spoke openly and unashamedly of the whole Longhorn initiative is just the latest iteration of the company riding Moore's Law.
  • He claimed the Longhorn release would be the biggest Windows release of the decade and the biggest release since Windows 95

Every time I come to these things I become very aware of how many times Softies describe an API, User Interface, etc. as being "rich." This has been going on since the OS/2 conference. Of course, if you're talking about Bill Gates, the word rich does have to figure in prominently.

After spending a the last year and a half at NASD, I have been exposed to J2EE developers and others that question the Microsoft technology, frequently and, at times, pointedly. At the beginning of the week I was certain that this exposure would make me more enlightened and skeptical about Microsoft's pronouncements and claims that this release is the biggest and best ever. Hey, what do you know, I was wrong. Bill is great - pass the koolaid!

During the talk, Bill Gates yielded the stage to Hillel Cooperman, a manager on the Longhorn team for a demo. Longhorn is a huge change in the user experience, it was almost unrecognizable.  Here are some of the highlights of the demo-

Although the title bar and menus for each window are bigger, they are transparent so they don't oclude the information underneath

They displayed "20 years of commitment to compatibility" by running the original Visicalc in a command prompt box

They showed some of the capabilities of the new file system.  It's tough to describe in short, but I'll give it a try.  He brought up a folder showing 1100 items and explained that these items were actually stored in various places, but were displayed in one place by the query that he was used.  Then he showed how he could narrow the search almost instantly by typing one attribute into the query box - by the time he finished typing the display was down to 30 items.  Then he went back to the full list of 1100 and showed how he could choose an attribute to group by and the display reorganized, showing multiple files with the same value for that attribute in a new construct called a stack (which could then be opened separately) and files with unique values for that attribute still shown as individual files.  Then he showed how you could change the attribute for the single files by dragging them to a particular stack.  Using the attributes was much better than using folders for organization, since a file can only be in one foldere, but it can have many attributes.  This is all part of WinFS which we will be hearing more about this week.  It went very quickly and it is hard to describe how cool it looked, but in the back of my mind I couldn't help but think of all the people that still don't know how to use the Search function that's in Windows now.

Then they ran a regular Win32 Outlook Express and showed how many of the cool UI features were available to those apps without any kind of recompilation.

Finally they showed a sample app written specifically for Longhorn.  Those familiar with my tenure at NASD will get a kick out of the fact that the sample app was a fictitious Case Management System called Contoso!  They showed lots of new controls and embedded live video and it was all very showy.

General Session - Jim Allchin

Next came Jim Allchin concentrating on each of the topics for the week.  All the technical aspects of the talk will be covered better in sessions later this week, as none of the technology talk was particularly deep, but there were some light-hearted highlights-

  • Jim Allchin, Senior Vice President  of Microsoft, being drafted by Don Box to write code during the demo (seems Jim's editor of choice is vi)
  • MSBuild - a new build program for Microsoft Tools based on an XML build file format
  • A very cool Avalon demo showing a form with a running video as the background and demonstrating the rotating capabilities of the markup by twisting the entire display 20 degrees.  It had no discernible business value whatsoever, but it was unbelieveably cool (God help me - I'm such a geek!)
  • A demo by Amazon showing an Avalon/Indigo client (fat client) accessing functionality of their web site, all of which is now available via web services.  It appears that the Amazon CTO drinks alot of caffiene.  This demo featured a control that he called a carousel control - cameras we displayed about 12 to a panel.  The panels were then stacked in a 3-d type arrangement, with one showing.  You could then flip through the panels in either direction.  It was certainly new and interesting, but it just seemed like someone somewhere was trying too hard.

He did conclude with the closest thing that I think we are going to get for a ship date for Longhorn - Beta 1 is scheduled for the second half of 2004.  No dates beyond that.

Lunch

Before going on to the afternoon sessions, I wanted to thank the closest thing the newsletter has to a sponsor - NASD.  For those not aware, I have been a full time employee of NASD for about a year, and a consultant with them for about 6 months before that.  You learn on your first day at NASD that you never, ever pronounce the letters in our name like a word, you always spell it out.  It was ingrained in me so strongly that now I refer to my former colleague at Plural as Pete N-A-S-H.

Session - "Avalon" - Introducing the Next Generation of Windows Presentation Services

The presentation services for Longhorn will be a brand new system called Avalon.  This started with another flashy demo with video embedded in a document.  It seems to me that they are a little too in love with how good this looks - the video is cool, but how many people have a real use for it?  When they do concentrate on the model there is good stuff there.  What Avalon attempts to do is merge the best of browser based apps (simple deployment, flowable layout and declarative model - markup) with the best of client side apps (better functionality, better scalability, offline support, integration with desktop).  What they came up with is a mixture of markup and code that is very much like the current ASP.NET way of building web pages.  The look of the screen is laid out in a new markup language, XAML (pronounced "zammel" - yeah, I know).  The layout is then associated with a .NET class to provide the code to make the page do things.  The layout can be loaded at run time, it can be compiled to binary or can be compile to IL. 

One interesting outgrowth of this is the role that designers can now play.  Instead of just drawing a picture of the app, the designers can lay it out with XAML.  Once approved by the client, the designer passes the XAML off to the developer who writes the background code instead of trying to recreate the designer's diagrams.  Adobe showed a demo of this situation in the morning session where a designer had laid out an app that displayed stock information and the developer just created the background code and it was done.

There is a great deal of flexibility in the number and complexity of controls available in Avalon, far more than in ASP.NET (which is one of the benefits of client side that they were pursuing).  New controls can be created relatively easily by composition via the markup.  They showed one button control that would have taken several sub-classes to have created in the current world, in XAML it was just a couple lines of markup.

At one point when I first heard about Avalon, it was inferred that Win32 apps would no longer work once it came out - not true.  Not only will they continue to work, Avalon can interoperate with Win32 applications.  You can host an Avalon control in an hwnd or an hwnd in an Avalon control.  Read that one more time - you can host an Avalon control in an hwnd!  I don't know why you would want to do such a thing, but isn't it cool!

Avalon should be available with the release of Longhorn.

Interlude

I am just astounded by the number of people taking flash pictures with their digital cameras this year.  Hello folks, these are projection screens - if you shine a light on them the picture goes away!

Session - Overview of ASP.NET "Whidbey"
Whidbey is the next release of ASP.NET, ASP.NET 2.0.  It has nothing to do with Longhorn nor 2003 and will be released on its own.  This release has lots of cool new feature, I will only be able to cover a few here.  One of the goals of the ASP.NET team were to reduce the number of lines of code required for an app by 2/3.  I think they hit that and more.

First lets talk about some Visual Studio specific stuff.  Ever hand edit your html in an ASP.NET application only to go back 30 seconds later to find that Visual Studio had reformatted your HTML (usually for the worse)?  That no longer happens - Visual Studio will not reformat your HTML code.  The presenter went out of his way to say this was not a new feature, but a fix of something that should never have worked the way it did.  This isn't a big deal, but if you have fought this fight with Visual Studio.NET it's big news for you.  The other news is that you shouldn't have to hand edit the HTML too much since the WYSIWYG features of VS.NET have been greatly improved (or, perhaps I should say WYSIWYG features have been added!).

To cut down the amount code required, new services have been created that handle -

  • Membership
  • Roles
  • Personalization
  • Navigation
  • Database Caching
  • Management

These new services relieve you of the need to write lots of infrastructure code.  At this point I was a little skeptical - there must be a catch with all that power.  What if I want a different personalization strategy?  That's the good part - all of these are defined as API's and implemented by providers, so if you want to use something different just wrap it as a provider and you can use whatever mechanisms you want.

Datagrids can now be loaded and bound to a datasource with no code at all.  Since the demo was a two-tiered construction, I thought it was of limited use in a real world situation.  Then he showed how you could do the same thing when your data doesn't come directly from the database, but is provided by a business layer.  OK, I thought, now we're getting somewhere - that was pretty cool.

You can now create a master page which defines a feel for your app.  For instance, you could create a master page that defines a header area at the top and menu area on the left side.  Whenever you create a new page, you will see the entire page, with the header and menu grayed out and the content area the only thing that is editable.  Changing the master page at a later date or adding a master page when one was not originally specified is relatively easy and they did it in front of us in a few seconds.  This looked very slick.

There is now a tree view and menu control as part of ASP.NET.  In fact, the tree view plays a part in the stock navigation service.  You can create an XML navigation map in your configuration information and point the tree control at the map, and the tree control will automatically populate itself as a navigation menu - no code required.

ASP.NET now has the web parts functionality of Sharepoint Portal Server, allowing you to easily create portal like applications as well.

I really can't do some of this stuff justice in the little time I have, if you are a current ASP.NET coder, go out and take a look at the slides to see some pictures of what I am talking about.  Then again, maybe you shouldn't, because it will just leave you bitter and frustrated with your current ASP.NET while you're waiting for the new stuff to come out.

Interlude

I have been fighting with the ISP and the hotel engineering staff for 2 days trying to get the internet connection in my room working.  I had it tonight for a little while, then it cut out again.  When I was talking to the ISP we realized that that several of the conference hotels are served by the same ISP and have the same central location (LAX airport).  So there are 5000 people staying within 10 blocks of the convention center downloading slide shows, eval copies, etc. - their network is a little busy!  I now have my problem straightened out, so the newsletter should keep coming right on schedule.

Session - "Indigo" Services and the Future of Distributed Applications

I apologize in advance, this writeup is more of a tease than an informative treatise.  This session was one of the best I have seen in years - if you are here at the conference and did not attend, make sure you catch it at 10:00 Wednesday morning.  Let me try to explain why it was so good. 

The session was scheduled for 75 minutes.  The presenter, Don Box (there's that name again!), started off talking about the history of object oriented programming, then segued into attempts to use OO technologies for distributed applications (DCOM and CORBA) and how, for the most part, they were dismal failures - citing some of the conceptual (not technical reasons) why.  He then talked of a view of Service Oriented Architectures and how those addressed the problems of distributed applications in a different way.  He laid out 4 tenets of a service oriented architecture-

  1. Boundaries are explicit - divisions between functionalities are clear and never blurred or penetrated.  There was a bizarre and humorous demo with an audience member at this point in the presentation.
  2. Services are Autonomous - My program continues to work even if yours goes down
  3. Share Schema, not Class - classes are data and functionality, schema are just a contract
  4. Policy-based Compatibility - I was a little murky on this one

He laid all these out with history, info and humor.  It was 50 minutes into the presentation and he still had not mentioned Indigo, merely laid out the scope of the problem - I saw him do similar things in a COM presentation in the mid 90's.  Finally he got to Indigo itself.  From what I gather so far, it is a set of .NET classes that allow you to move SOAP messages in a safe and reliable manner - that's the high-level view.  Indigo services can be hosted in many scenarios - ASP.NET, NT Services, DLL Host or Exe's - they are not reliant on IIS.  Indigo is Microsoft's primary implementation of the new specifications for things such as Web Security (it will supplant WSE 2.0 that we discussed yesterday).  He spoke briefly of preparing for Indigo, but there is a full session on that later in the week that will have much more detail.  Then he dropped the bombshell (for me, at least) - Indigo does NOT require Longhorn - when released it will run on XP and 2003 as well as Longhorn.  He did not hint at a release date.

Letters - We Get Letters

In the year's first serious question, LF from MD writes -

"In yesterday's article on SOAP arguments, I don't really understand what you mean when you claim the XML-ness has been lost. WHat's being lost? The ability to deal with the raw xml at the program level? "

Dear LF -

Not so much the raw XML in terms of a string, but the flexibility that comes with the underlying transport being XML based.  One of XML strengths is flexibility - by building objects around it at each end we lose that flexibility.  The contract should be the schema defined in the WSDL file, not binary objects at each end.  I hope to run into the presenters later in the week and will get some clarification. -Ed

____________

In an obvious attempt to use flattery to get published, SJ from CO writes -

"Excellent issue.  How about some pictures or a human interest story?"

Dear SJ -

Thanks, but the only human that this publication has interest in is this human.  Next question.  (and yes, flattery will get you published) -Ed.

_____________

In a quaint and touching human interest story SC from NJ writes-

"Remember that bag you gave me from the last PDC you were at?  Well, I still use that damn thing.  Best damn bag I ever had."

Dear SC -

Glad you are enjoying the damn thing. -Ed

_____________

Wow, the first day at a PDC is like drinking from a firehose (pardon the inadvertant southern California topical reference) - things should gain more clarity as the week goes on.

Biff
Chief Technical Correspondent and cleaner of the washrooms, Biff's PDC Newsletter