Technical Content of this issue - 4 out of 5
The Conference Begins
Every year I go to the pre-sessions and find them to be mildly
informative and interesting, but I'm left wondering if maybe I'm burned out on
these conferences. Then the main event begins and reminds me just why I
love the PDC. The general session this morning reinforced that fact that
Microsoft really saves all the really good stuff for the main conference,
everything else is just warmup. Later in this issue we will go deeper
into the general session and breakouts, both technical content and commentary
on the presentation. A word on this year. In 2003, the main
technologies covered were Indigo, Whidbey and Longhorn. This year, the
main technologies are Windows Communication Foundation (formerly Indigo),
ASP.NET 2.0/.NET 2.0 (formerly Whidbey) and Windows Vista (formerly
Longhorn). I do not know if they have chosen a theme song for this year,
but I would like to suggest an old swing tune called "There, I've Said It
Again," actual lyric snippet-
"...There, I've said it again.
I've said it, what more can I say,
believe me, there's no there way..."
I made this suggestion to one of the Softies I saw in the corridor, but he
didn't seem amenable to the idea. By the way, the security folks they have here
at the convention center are extremely polite and relatively gentle.
To be fair, there's a couple new things. Office 12 is getting a first
showing this week and Microsoft is unveiling a new technology called Windows
Workflow Services (WWF).
I'm writing this sitting at a table in the "Big Hall" (unlike the Wilshire, this
is a very accurate name). It's the annual exhibitor reception, with 5000
geeks seeking free food and drink and cheap plastic crap with corporate logos
on it. As George C. Scott said in Patton, "God help me, I love it
so!" I'm sipping a complimentary wine waiting for the crowd to die
down. I actually want to speak to the K2.NET folks about their workflow
product, but when I went over there I couldn't get near the booth because they
were giving away T-Shirts and they were mobbed. That one seemed to kind
of backfire, huh? Maybe later on the shirts will run out and I can get
some info. Seems that Code magazine is having some sort of contest where
you have to put a (hopefully) fake tatoo with their logo on your body where it
can be seen so you win something. A bunch of folks just starting
screaming and yelling over in the corner with these tatoos on. Geeks and
alcohol - someone save us.
A random observation - at breakfast I saw a group of about 6 guys wearing
T-Shirts that said "Icelandic developers are the coolest." That may or
may not be true, but I bet they are the only developers who can spell
Reykjavik.
This year Microsoft commissioned the the production of several videos starring a
kind of bizarre character called "channel 9 guy." These are made
available on the web as promotions for the PDC and are also being shown on the
monitors in the hallway throughout the course of the conference.
Interestingly enough, the videos were produced by Bruce Hanson's
company, Digital Kitchen. The can be seen here -
http://channel9.msdn.com/ShowPost.aspx?PostID=79591
Today's Sessions - General Session
The highight of today was definitely the general session, where high
ranking officials at Microsoft show all the new stuff and (presumably) get the
crowd all jazzed up to learn all about it. On the way in to the hall,
there were signs warning, "The General Session features flashing lights and
Very Loud Music." I purposefully sat in the worst seat in the house, in
the very back all the way over on the side so that I wouldn't be squashed in
amongst the masses (I really disdain the masses). Also, this made it very
easy for Dmytro to find me. To give you an idea of the size of the room,
I figure there were about 8000 seats and 11 giant video screens. Real
big. While we were waiting for the session to start, Channel 9 Guy (see
above) was walking around for pictures (sorry, our artists didn't capture that
one). Music included lots of early 80's R&B and Pop, such as "Good
Times," "Stayin' Alive," "Da Do Do Do," etc. I think the sound guy raided
Bill Gates' album collection. How many readers remember albums? How
many readers remember the Apple II?
On comes The Man, Bill Gates. The highlight of Bill Gates' talk every year
seems to be the video they produce for the conference. Although not as
good as previous years, the video was again very entertaining. The
premise was that Bill Gates got hooked up with this college student slacker on
a recruiting trip and together they survive several misadventures and wacky
situations. I did not recognize the slacker, perhaps I am too old and
unhip and one of our readers can inform us that he was actually someone
famous. The best part for me were the visual site gags such as Bill Gates
in a 3 piece suit dancing, or in the same suit on roller blades being pulled
behind the slacker's bicycle.
Gates did talk some as well! After noting that this was the fastest PDC
sellout ever and the biggest standby list ever he pointed out that each
recipient would take home over 30 GB of software (Note to Larry - I'm gonna
need a new hard disk). He spoke for about 40 minutes, I did not see a
teleprompter or notes anywhere, it was pretty impressive. Check the out
the Photo
Album for my view of Bill in the big hall.
Every year I am amazed at the new ways the Microsoft comes up with to use the
word "rich." This year they outdid themselves, makeing it a
verb when Bill talked about how they attempted to "richen up" the
interface for Office. In terms of the actual general session content, I'm
not going to distinguish between speakers, I'm just going to group the
information by product.
Office 12
These folks are pretty excited about Office 12. In addition to making
XML an integral part of the package (supposedly all data formats are now XML),
they have greatly changed the interface. One speaker made the point that
Word 1.0 had about 100 commands, all easily reachable with the menu/command bar
paradigm. Now that Office 2003 has 1500 commands, the paradigm is
starting to fray. Seems that when they asked customers what new features
they wanted, many suggestions were already in the product but noone could find
them! The new UI has commands grouped by tabs, with each command having
huge multi-line tool tips (almost like a help snippet). Depending on your
context in the document, the tab being displayed changes. Excel has some
nice new features that do things like put variable length bars behind the
numbers in a table so you can see what is the highest number (of course, you
could also just look and see which was the highest number, but I guess that
wouldn't require a mandatory upgrade of 5000 desktops). One very cool
feature is the ability to choose from a set of pre-defined formats, getting a
quick preview of each format on the actual document - sounds kind of dry when I
type it here, but it was fun to watch. Powerpoint had all kinds of new
features to make your presentations flashier - of course, they still don't have
the "make a stupid presentation smart" button - that would be worth an
upgrade. Office 12 will ship late next year.
Vista
Vista is the new version of Windows - due out late 2006. This
includes the new presentation stuff that is very, very cool. The easiest
way to describe it is just list stuff-
-
When you hover over the task bar, a preview image (big thumbnail) of the actual
app pops up. Say you've got 5 explorer sessions open, now it difficult to
know which one is your email, which one is your newspaper and which one is
your...uh...personal site without bringing them all up one at a time.
This is much easier and quicker. I give it two snaps.
-
They introduce a concept called Virtual Folders. This is the way to
regroup files across your entire desktop based on file attributes (eg - this
folder has all word documents with the phrase CMS in it). Attributes can
be based on full text search, or size or title or something you define.
Attribute keywords can be assigned by dragging them onto the file. It was
very cool, but I think it is beyond most users capabilities - I still like
Google Desktop as that is an interface that is very simple and everyone can
use. One very cool aspect of virtual folders is that they are stored as
XML and you can open them up and look at them.
-
The Windows Sidebar looks like a descendant of the Office Toolbar that lives on
your desktop all the time (until I sit down at your machine - I hate
the office toolbar. It holds things called gadgets - they showed a media
player, a clock, etc. It took up alot of real estate, more than the
Office toolbar - some folks may like it.
-
Then they showed the coolest part, the Sideshow - a custom made notebook
with a small screen (1 in by 1 in) on the outside that stayed on when the
laptop was closed. There was also a small button set for controlling
it. Gadgets on the Sidebar show up on the Sideshow, some when the machine
is on or off, some only when it is on. The one they showed was an Expedia
app that showed your plane reservation without opening and powering up your
computer. I hate the Sidebar, but I love the Sideshow.
-
Lots more inherent support for RSS. I must admit, I do not know much
about RSS - guess I'm going to have to learn.
-
The new browser. Wow. First, hueristics to combat fishing attacks
(anyone gotten an email from paypal asking for account info
lately?). This connects to their log of known fishing sites and
suspect sites. The log is monitored by people to ensure that no real
sites get blocked.
-
New Browser II - Tabs in the browser. This got applause when mentioned, I
couldn't understand why. Then they started showing it. First,
instead of many browsers open, you can have one browser and many tabs - OK,
kind of nice, but not earth shaking. Then he showed a view where, instead
of tabs, each site was shown in a preview in a portion of the browser window
and you could choose what you wanted (kind of like the slide sorter view in
Powerpoint). Wait, that's not all, you can save the multi-site
arrangement as a favorite and when you bring up the favorite all the sites load
and show up in preview mode.
-
There was lots of great stuff with the presentation features (formerly
Avalon, now Windows Presentation Foundation). I think consumer apps will
benefit most from this. They showed a video preview of a new game from a
company call Crytek that was just staggering. Pixar level graphics, if
not better, in a game. I can't even begin to describe it - faces,
shadows, clouds - it was staggering.
-
There was a client for netflix that really showed off the presentation features
as well. It's hard to describe. The best thing I can think of is
that if the UI from the movie Disclosure
is ever acheived, it looks like the Vista presentation stuff could pull it off.
-
Lots of performance ehancing stuff, like automatic defragging. There is
also a new techology called SuperFetch - although the name is lame, the
technology is cool. It tracks your usage history over a hours, days,
weeks, etc. and figures out how your memory is predominantly used. It
then pre-loads that memory in advance during idle time. To give you an
example, he had a script that he ran that started each Office app, loaded a doc
and closed the app. He ran it with SuperFetch turned off and it took 37
seconds to complete. Then he turned SuperFetch on. He talked for a
while, then actually started the script before SuperFetch had a chance to fully
prepare (there was a monitor that showed the status) and the same script took
10.6 seconds.
-
Memory - things like this obviously work better if you have more memory.
Vista can take advantage of a memory stick plugged into a USB slot as system
memory. I'll say that again, only different - if you have 512 MB of ram
in your laptop and plug in a 2 GB memory stick, you now can have 2.5 GB of RAM
in your laptop. The data is encrypted and uses write-through, so that if
it gets pulled out there is no problem and it is secure.
-
Activities on the File System and in the Registry can now be transacted with a
DTC Resource manager in the OS.
Bill says when Vista is shipped in 2006 it will have their largest marketing
support ever. I don't see how they can possibly exceed their previous
efforts, anything specific I can think of kind of scares me.
Atlas
This one surprised me, I was not expecting it. It is an
implementation of AJAX (Asynchronous Javascript and XML) that worked under
ASP.NET 2.0. This means that you get AJAX functionality with server side
programming without having to worry about browser differences - ASP.NET
controls do it for you. They showed an extremely cool demo with drag and
drop an mapping locations. While I was cynically commenting to Dmytro,
"Yeah, but what about Firefox?" they switched to a Mac and hit the exact same
app on the exact same server and it looked exactly the same in Safari.
Wow. Wow.
Windows Communication Framework (formely Indigo)
This isn't as flashy for a general session and I hope to cover it in depth
in later issues. Suffice to say that Don Box did the presentation and it
was very good. It is due with Vista in late 2006. Don Box did make
one statement about how apps work under WCF, claiming that it was "important to
maintain the HTTP-ness of your app." In the short pause after he said
this, Dmytro and I started to giggle, being the arrested adolescents that we
are. If you've got the sensibilities of a 12 year old boy, try saying it
out loud.
WinFX
This is a term used to group features associated with Vista (WCF,
WPF). They are grouped separately because when Vista is released, WinFX
will also be released for Windows XP and Windows Server 2003.
Today's Session - A Lap
Around the Windows Communication Framework
First, a prop for Microsoft. In 2003, they vastly underestimated
the interest in Indigo. All sessions were held in normal breakout rooms
(about 500 seats) and all were overflowing well before start time with people
being turned away. This session was held in a hall that held about 2000
people. At one point the hall was full will people sitting on
the floor two deep in the back. Once again, it's Communication the masses
are interested in, not flashy video. I say at one point the hall was
full, because the presentation wasn't very good and it wasn't full at the
end. The slides weren't bad, but the demo was way too elaborate. If
it takes 5 minutes to explain all the features of the demo, it's a good clue
that the basic points you are trying to teach are going to get lost in the
complexity of the demo. After this session I felt vaguely unfulfilled
from a WCF point of view, so skipped the next two sessions and headed toward
the Hands On Labs to try working with WCF myself. The notes below on WCF
come from the combination of the presentation and my hands on work. It's
late, so I'm not gonna try to make this a well organized, thoughtful argument -
I'm just gonna firehose the facts at you. At the end, I will have the
answer to RW's questions about WCF vs. WSE 3.0 straight from a WSE 3.0 team
member - so stay tuned.
-
The core unit of abstraction in WCF is a message. This reflects that
although we put RPC like SOAP calls around things, underneath they are still a
message. There are various levels of abstraction of a message in WCF
-
A base Message class
-
Attributes on a class
-
An RPC like call with parameters
but underneath its all a message
-
A message is passed between 2 endpoints. An endpoint is defined by ABC -
-
Address - where it's going
-
Binding - How it gets there
-
Contract - What the message is
-
In WSDL, these correspond to Service, Binding and portType, respectively
In the hands on lab-
-
The contract is specified not in WSDL or with XML, but with attributes on a
.NET interface. We wrote the interface, then added attributes such as
ServiceContract to denote the interface as a contract and OperationContract to
denote a method in the as available in the contract. I'm sure that this
could be done at the WSDL or XML level, but they were bringing us newbies up to
speed slowly. It is interesting to note that this maintains the
separation of contract details in the interface and implementation in the
derived class just as was discussed by Aaron Skonnard on Sunday (Day
1). The class is called a service type.
-
The WCF stack includes a new serializer, XMLFormatter. It gives up some
of the flexiblity of the standard .NET serializer, but is much faster.
-
They recommend adding something an interface called IUnknownSerialization to
any data schema defined (via a class) in your contract. This ensures that
if the information in the contract grows in the future, a previous
implementation will not be put off by additional information. It's
interesting because we had this discussion at the beginning of FSF - notably
how could we be sure the WSDL for an ASMX file would always allow extra
information without breaking.
-
Address and binding are specified in config (app.config or web.config). Most
common combinations are pre-defined in WCF for ease of use.
-
The hands on lab is 40 pages of instructions - sort of like completing a 40
page VDD.
-
.svc files added to the project are used to have IIS or WAS host WCF services -
specifying the service type and the name of the assembly that the service can
be found.
-
On the client side, a command line program reads the .svc file via IIS to
create a proxy for the servie and an app.config the specifies the binding and
address.
Finally - RW's Question
Yesterday RW wanted to know the relationship between WSE 3.0 and WCF
and what should be used when. Here's the pertinent details-
-
WSE 3.0 is out 2 weeks after Whidbey (later this year)
-
WCF is out Late 2006
-
There will be a smooth migration path from WSE 3.0 to WCF
-
There may not be a smooth migration path from WSE 2.0 to WCF, get to WSE 3.0
before them
-
WSE 3.0 will be supported 5+5 - 5 years, plus 5 more years under enhanced
support
-
The best way to make sure that transitions are smooth is to stick to asmx
technology within WSE - that's why 3.0 has a transition, because when you host
a service in a process other than IIS you can still use asmx.
-
Stay away from TCP communication (not http) to also help a smooth transition.
-
If your app is due out after WCF ships, go straight to WCF. Once WCF
ships, there will be no further need for WSE.
-
WSE is not support for the WS-* standards, just a subset including WS-Security,
binary streaming, etc. It does not cover reliable messaging or
transactions.
-
Changing to WCF from WSE 3.0 will probably require mostly attribute changes and
config changes.
-
WSE 2.0 apps may not talk nicely to WSE 3.0 apps. Whoa, I said at this
point, don't they both implement a defined spec? Yes, but the spec is not
finalized and has migrated - most notably namespace changes.
Biff's PDC Mailbag
Keep those cards and letter coming, here's some of today's mail:
MB from MD writes - I will be out of the office on business on Tuesday,
September 13th and Wednesday, September 14th. If this is urgent, please call me
on my cell phone @ (number withheld)
MB - Thanks for the kind note and the heads up, I will continue to send the
newsletters and they will be waiting when you return. -Ed.
BS from NY writes - You're coverage of the PDC this year as in past is quite
informative and humorous. Do you really write your own material or do you
offshore it to some third-party and then run it though some sort of
http-web-service-based humor filter to add the clearly sharp wit? Or is it
something more complex and/or sinister?
BS - I tried off-shoring the newsletter in a proof of concept project last
Spring. Unfortunately, the result was a newsletter with machine-generated
jokes that just did not measure up. The newsletter is still
hand-generated by me every night in my hotel. Nothing sinister, alhthough
maybe a wee bit pathetic. -Ed.
Tomorrow
General Session and more Breakouts. I hope to get to a Hands on lab for
Windows Workflow Foundation as well.
Biff
Deputy Ink Mixer, Biff's PDC Newsletter