October 31, 2003
Wallent slays Win32 UI; not many dead
Michael Wallent in this morning's Longhorn UI panel: "We want to make existing applications look like DOS applications when they run on Longhorn."
His point was actually that Longhorn applications will exhibit not just different visual style but different behaviour. It is not a matter of applying Avalon chrome to an existing application. The actual interaction must change to fit the Longhorn Way. That means WinFS integration, shell visualisations and so on.
This emphasises the need for developers to ensure that their core application functionality -- what we do -- to be kept separate from the presentation layer -- how we deliver that to the user. Expect to ship a design upgrade in the Longhorn timeframe, and expect it to involve a major if not complete redesign of your existing presentation layer. You don't want to be having to unpick your presentation and functionality in that same effort.
The advice is to track the Longhorn user experience as the builds evolve. They hope to issue these on the Win95 model -- regular builds available to developers -- so that we can develop our new presentation layers during the Longhorn prerelease cycle, and be ready to RTM at the same time as Longhorn.
Another theme of the PDC
The phrase I'm hearing again and again from Microsoft staffers is, "We want to hear your scenarios." You get the impression that having got this far with the technology, they're almost frightened that it won't meet third-party developer needs.
I guess this is why they're previewing the technology so early in the product cycle and so widely. The foundations are there, now they need to know which direction to take it to get developer buy-in. One of the Aero guys remarked that "the hardware manufacturers love it already," but if they want to get the user base to upgrade then they need the software manufacturers to fall in love with it too, and they're not sure they can figure out what's needed to do that from focus groups and privileged private betas alone.
What a change from the Hailstorm PDC.
October 30, 2003
Relections on BoF sessions
The "Birds of a Feather" sessions were a good idea and I hope they continue at future Microsoft conferences, but there were a few things that needed fixing:
1. I lost count of the number of times the organiser said, "Well, I haven't prepared anything, so everyone just leap in," followed by dead silence. Organisers should have some sort of ideas for interesting topics -- presumably that's why they proposed the session. Sure, fluidity and openness are the raison d'etre of these sessions, but there should something to break the ice.
2. The rooms were awful. Way too big, and in at least one of them the air-conditioning was deafening. The physical layout was all wrong too. The folks at the COM Interop BoF had the right idea, sitting at the back of the room: this eliminated the stage/audience distinction and forced people to move chairs around, which meant they ended up in a more natural format.
3. Most moderators didn't know how to lead open discussions. This meant the louder voices drowned out the quieter ones. Werner Vogels at the weblogging BoF was the only person I saw trying to make sure that everyone got a fair crack of the whip.
Whining aside, the BoFs were a great chance to meet up and share ideas, and I hope we'll see a wider variety, perhaps of smaller sessions, at future conferences.
October 28, 2003
Don Box on Indigo
For those wondering whether to go to the repeat session, Don Box's Indigo overview is long on passion and philosophy, but very thin on solid technical detail. It's great if you want to understand the whys and wherefores, and of course it's a lot of fun, but don't come out of it expecting to be able to get started with the code.
And now the tea
My first reaction to Avalon, on reading about it last night in the conference magazine was, "Is that it?" It looked like little more than an extensible, XML-based format for bad old resource files. Today's demos and talks, of course, told a very different story.
Avalon is a unified presentation layer for traditional user interface (controls and forms), documents (such as HTML or PowerPoint) and "media" (images, animation and video). You can define Avalon applications either declaratively using XAML (Extensible Application Markup Language) or procedurally in the same way as Windows Forms. The declarative style supports inline code or code-behind a la ASP.NET.
(In fact a good way to envisage XAML is "ASP.NET for Windows." A XAML document plays the same role as a Web form, defining the page content and structure. The codebehind defines the application logic and event handling.)
Properties can be very rich. For example you can declare a property to be an "animation collection" which means Avalon will vary the property over time. Rob Relyea showed a logo fading in during startup by "animating" the opacity. Or a background colour property turns out to be shorthand for a brush, and you can make it a gradient or pattern brush just by breaking out the property declaration.
It is all vector-based, so rotation and zooming are extremely easy -- just set a transform property on an individual element or a container.
Documents -- whether fixed-format a la Acrobat or flowed a la HTML -- are first-class objects in Avalon. Paging and reflow are natively supported.
Avalon also offers "authoring" or design support. No more writing code for grab handles, drag-and-drop rotation, etc. You just put the objects on a design surface and specify which operations are allowed (move, resize, rotate) and the framework does it for you.
Media support looks impressive. The demo showed video being faded out, rotated and run in the background while a UI ran over the top. A silly novelty, but technically impressive. They're being a bit cagey about the level of hardware required to make this stuff run as smoothly as the demos though.
There is a nice visual styling feature. Rob Relyea demonstrated how to completely change the appearance of a set of radio buttons while retaining their behaviour. More mundanely, you can apply named styles to multiple objects a la CSS.
If anything I worry that Avalon makes it too easy to do your own wacky formatting and layout. Expect an outbreak of self-consciously clever applications full of looked-cool-until-you-had-to-look-at-it-for-half-an-hour colour schemes, distracting animations and bizarre redesigns of the common controls. (Good grief, it could be madder than the old VB1 days.) That said, the diversity of Web site designs may have trained users to no longer expect a unified look and feel, and I guess we'll have to rely on natural selection to take care of the worst excesses.
I'll try to organise my thoughts on Avalon a bit more as the week goes by (and when the wireless LAN isn't falling over... and I'm not running out of power... aargh). In the meantime, it is looking to deliver most of what appeared in the tealeaves and more besides.
October 25, 2003
No wonder spam keeps growing
BBC News: "A third said they had clicked on a link in a spam message to get more information, while 7% said they had ordered a product or service advertised."
October 16, 2003
An open rival to Avalon
DonXML: "Avalon and SVG-RCC [Rendering Custom Content] are going to go head to head for the next generation GUI architecture." I'd been wondering about Avalon vs. SVG vs. XUL and Don's article covers the ground nicely.
Interaction design and magic
Tog: "Keep it useful, keep it swift and then add showmanship."
October 15, 2003
Don Norman on beauty, pleasure and simplicity of use: "When we are not using it [a flat screen monitor in his dining room], it randomly displays photos from our collection for about a minute. My wife and I take great pleasure in it because we see photos we didn't even remember we had. It's wonderful."
I keep thinking that "normal" PCs feel more and more like servers these days. They're okay for office use, but at home, for personal use, I want unintrusive, consumer-type devices like Norman's smart picture frame, not big boxes that shackle me to one corner of the room. I don't mind going to a special "work place" when I want to do some lengthy writing or whatever, but it's frustrating having to go into the corner whenever I want to jot down a quick note or read mail, and it's kind of annoying to have this big noisy box occupying living space. The PC should be somewhere out of the way in the loft or the library, and I should be able to use it from the couch or the garden or wherever.