introducing Direct2D and DirectWrite

At the 2008 PDC, Kam Vedbrat and I introduced two brand new DirectX APIs, to be included in Windows 7: Direct2D and DirectWrite. Direct2D is geared towards high-quality vector and bitmap graphics, with the performance characteristics of hardware-acceleration as you'd expect from a DirectX API, whereas DirectWrite is a text processing stack that can be used with any rendering technology, most notably, of course, Direct2D. We believe these two APIs will do for native code developers what WPF did for managed code developers, from the point of view of enabling visually stunning interfaces and readability rivaling the printed page.

For more details, check out the video of our PDC presentation, available at Channel 9.

C# for dynamic programming!

Anders Hejlsberg demonstrated the dynamic programming features of C# 4.0. Very cool was C# calling JavaScript code without extra casts, calls to Invoke, and the like -- just straight function calls in C# that happen to be implemented in JavaScript. Even cooler was porting the JavaScript code to C#, which is nearly trivial because of the new support for late-bound types.

However, what really got the audience going was the demo of C# futures. This is stuff that isn't shipping soon, but the C# team is working on it and obviously felt good enough about the direction to show an early demo. The main feature was the exposure of the compiler as a reusable, inspectable object. To demonstrate this, Anders showed a run-time expression evaluator, and built a very, very simple but very cool C# shell with it. What's cool is that the evaluator can be stateful, so he could type an expression that defined a function, and then later type a different expression that referenced that function. Good stuff is coming from the C# team. :-)

Posted 28 October 08 12:10 by lblanco | 0 Comments   
Filed under
Windows Azure

PDC 2008 day 1: Ray Ozzie unveiled "Windows Azure", our operating system for the cloud. After years of thinking of "operating system" as something that runs a computer, it's weird to think about the meaning of the term with respect to a large set of computers. It's not the collection of OSs for each individual computer, but a set of services that enable development, deployment and operations of web services. Very cool stuff, actually, though as a graphics guy I have to step quite a bit outside of my safe zone to get excited about the potential.

Posted 27 October 08 09:36 by lblanco | 1 Comments   
Filed under
at the PDC again
I'm back in Los Angeles for this year's PDC. It was a long shot, given that the group I happen to be on is sending a smaller percentage of people to the PDC than the WPF team did back in '05, but thankfully I have an opportunity to present, which means I have an opportunity to attend. BTW, if you are at the PDC then check out PC18, Wednesday at 1:15pm, something about Windows 7 -- come by to find out what :-).
Posted 27 October 08 09:08 by lblanco | 2 Comments   
Filed under ,
taking the bus

Microsoft has been offering bus service in Redmond for about a year now. The idea is that the bus has a dedicated, direct route from close to your house to the Microsoft campus and back, with no stops in between, and that the route times are not only extremely predictable but also your seat in the bus is guaranteed by a reservation system. The result is a bus system that seriously rivals the time efficiency of driving your own car and, of course, handily beats cars in terms of cost and environmental impact. As a bonus, all of the buses have Wi-Fi, so you can use the travel time to do some work and/or read the day's news. I find it a good time to perform some Inbox hygiene.

I tried this out this week for the first time, and I'm sold. There are definitely times when it's better to drive your own car (errands in the afternoon? need to pick up groceries on the way home? planning on staying at work ridiculously late?), but the common case is serviced by the bus just fine. Kudos to the Microsoft Connector team who put this program together.

Windows 7 will be called... "Windows 7"

It seems we've settled on an official name for the next version of Windows, codenamed Windows 7, and that name is (drumroll...) "Windows 7".

Posted 14 October 08 10:01 by lblanco | 1 Comments   
Filed under
in LA again
Los Angeles, here I come again. The conference is WinHEC 2007, and this time I'll be participating as a speaker, presenting an overview of the graphics architecture in Windows Vista. For people who have seen the graphics overview presentation last year, this year's presentation will be largely a recap. If you haven't seen it, however, it's a good way to wrap one's mind around the various graphics technologies in Windows, from display drivers to the Windows Presentation Foundation and other high-level rendering technologies.
Posted 12 May 07 11:40 by lblanco | 0 Comments   
Filed under
where did Leo go?

It's been just over seven months since my last post, so I'm happy to inform that reports of my death have been greatly exaggerated :). What's been going on this whole time? Since the 2005 PDC I've been very busy getting Windows Vista (and, more specifically, the Windows Presentation Foundation) ready to ship -- busy enough that I've sadly neglected my blog.

However, I haven't completely disappeared into a cave. I've been posting somewhat regularly to the WPF MSDN Forum, and I've had a few opportunities to deliver, along with Mike Hillberg, the mostly Q&A-driven "WPF: Under the Hood" presentation, originally produced by Chris Anderson at the PDC. This is always a lot of fun, because leaving a large amount of time for Q&A keeps the audience engaged and the content relevant.

Between the sessions I've done, and adding what I saw at Chris', I've seen interesting common patterns of questions. It seems we always get at least one question (and often more) on the following topics:

  • Functionality differences of WPF in Windows Vista compared to Windows XP or Windows Server 2003
  • Performance differences of WPF in Windows Vista compared to Windows XP or Windows Server 2003
  • Implementation details of how WPF interacts with ntuser, DX or GDI
  • WPF interoperability with other rendering technologies (GDI, GDI+, DirectX, OpenGL)

It's worth mentioning at this point that my main focus at Microsoft is working on the WPF composition engine and the Windows Vista Desktop Window Manager, which also includes work on accessibility (particularly desktop magnification) and remote desktop support for WPF and the DWM. These components are understandably "under the covers," since the composition engine only has minor public API exposure via the Visual class and the rest have even less, but at the same time they play a central role in any application that displays anything on screen (including non-WPF applications). Therefore, understanding these components is key to taking maximum advantage of Windows Vista.

Over the next few weeks I'll be posting more information on these and other related topics, but I'd also like to advertise Greg Schechter's excellent series on the Windows Vista Desktop Window Manager.

Posted 24 April 06 08:05 by lblanco | 0 Comments   
Filed under
PDC recap

It got crazy at the PDC in terms of hours -- I was getting in by 8am, wrapping up at 11pm, and starting over at 8am the next day. That taxed my blogging abilities, so I never put together a "day four" or "day five".

The theme for the two days was "answering deep technical questions." On Thursday it was Ask the Experts at the end of the day, a dinner setting, free-for-all Q&A session where we hung out at tables labeled for discussion about specific topics. I sat at the WPF-Win32 Interop table, which started off with me eating two hot dogs on my own, but quickly became a very popular table (and so wrapped up with me eating a cold hot dog :-)). Today it was Chris Anderson's "behind the scenes" mostly Q&A presentation. Between those two and all other questions I was asked during the length of the conference there are clear patterns of interest. This is great data to take back home. Next week will be a busy week of going over all of the feedback and planning the last few months before we release.

All in all, it was an awesome conference. But now it's all over but the blogging, so let's recap:

  • Avalon is now the Windows Presentation Foundation
  • WPF/E is a subset of WPF that goes cross-platform
  • Windows Vista has two new cool app-switching metaphors called Windows Flip and Windows Flip 3D.
  • Office "12" has a whole new commanding UI
  • We have several presentation platforms (WPF, WinForms, Atlas, Win32, DirectX) and several designers (Sparkle, Acrylic, Quartz, Cider). You choose the one that works best for your scenarios

OK, perhaps that's a bit brief to be called a complete recap :-). However, for the full recap go to the commnet web site and download the slides for the track sessions and the source and manuals for most hands-on labs (the latter apparently requiring Passport sign-in -- and then, possibly, only available to those who were at the conference).

Posted 16 September 05 09:30 by lblanco | 0 Comments   
Filed under
WPF forum open for business
If you've been posting to microsoft.windows.developer.winfx.avalon then you should check out the brand-new MSDN forum for Windows Presentation Foundation. The forum lets us do a couple of extra things we can't do with newsgroups, such as maintain ratings, track issues to closure, filter spam better, and so on. We'll still be monitoring the newsgroups, but I encourage you to use the forum going forward.
Posted 15 September 05 09:54 by lblanco | 0 Comments   
Filed under
day three at the PDC

Another day at the PDC, another set of exciting events. I started the day early again, though we made it to the morning's keynote a couple of minutes late. We did see, however, the introduction and demonstration of various designer tools, including the verbosely named Microsoft Expression codename "Sparkle Interactive Designer", or Sparkle for short. Wow, that was nice! Hold on, let me do that again.

Sparkle.

That's right -- it's OK to talk about it now, because we've announced it! :-) I can't tell you how tired I was of being asked, hey, do we really have to do all of our XAML work by hand in VisualStudio? Aren't  you doing a designer? and then have to tell people that I couldn't talk about any potential future plans. Well, it's public now, so please, do come on down to the hands-on lab area and play with it yourself!

Incidentally, Sparkle was definitely the super red hot item in the hands-on lab area today. It was great to see that level of excitement. Many people came to do the lab, but some just wanted to see it and run it.

Unfortunately, between hands-on lab duty and track lounge duty I did not get the opportunity to attend any track sessions. This is particularly unfortunate because I hear that Pablo killed with David Teitlebaum's 3D cloth demo in his afternoon presentation. I guess the audience was excited about real-time video textured on an animating 3D mesh :-).

The other interesting highlight to mention was actually outside of the conference proper -- it was the party for all staff and customers at Universal Studios. Let me just go ahead and say that the Mummy ride rocks! The chocolate fondue was awesome, too, though you won't find that on any ordinary day at Universal ;-).

Tomorrow is Ask The Experts -- if you are attending the PDC come on down and we'll have a chat!

 

Posted 15 September 05 01:12 by lblanco | 0 Comments   
Filed under
day two at the PDC

Though this was my second day at the event, it was actually the first full official day of the PDC, with everything fully staffed and attended. It was a packed day, with lots of great stuff to talk about. Let me start at the top.

Opening keynotes

The day started early -- it was 8am when we strolled into the Convention Center. We helped ourselves to the breakfast selection in the Big Room (I highly recommend the omelette) and then we went to the room where the keynote was held. As Microsoft employees we were asked to wait off to the side until the beginning of the presentation, to ensure that attendees were able to get a good seat in the main room. Once the keynote was getting started we went into the room and sat near the back, which was actually perfect for me because one of the main things I wanted to get from the keynote was the reaction of the crowd.

The keynotes were long -- about three and a half hours total. There was a lot of great content, however, including a lot of stuff about Windows Presentation Foundation. I was particularly excited when Jim Allchin highlighted a "vector-based composition engine" as a major feature in Windows Vista, because this is what my team does. But there was a lot of other stuff mentioned as well, including Office "12", Windows Vista search and virtual folder features, Windows Communication Foundation, "Atlas", and several other things. It was pretty much drinking from the fire hose for almost four hours. I was nearly overwhelmed with the amount of information presented, and I work there; I can only imagine what it was like for the attendees who were seeing this stuff for the first time. Thankfully, there are three more days for everybody to digest the content before they head home :-).

As for the reaction, the crowd was happy, so I was happy. There was a lot of excitement about several of the demos, but I was particularly excited about the positive reaction to the Windows Flip and Flip 3D demos, because they are enabled by WPF composition technology (yay composition! :-)).

Hands-on labs

Immediately after the opening keynotes I was slated to proctor the hands-on labs for about three hours. I was concerned about the fact that the keynotes had run a bit long, but, as I expected, pretty much everybody was at the keynotes, so when we got to the hands-on labs area we found it virtually empty of attendees (though there were several proctors hanging around). That situation didn't last long, however, as people trickled in steadily right thereafter. The slow start actually gave us an excellent chance to ease into the proctoring role. As we helped people, patterns quickly emerged: most people got in trouble because the labs are very detailed, which is good, but missing a detail often results in build errors. During ordinary development this is a normal and generally harmless occurrence, but when you are faced with a brand-new technology and a lot of new concepts at once it can be a showstopper because you find out quickly you don't have all of the context you need to diagnose the failure. So that's where the proctors come in.

Now, the good thing about proctoring is that we see people make similar mistakes, which point out trouble spots in the labs that we can sometimes improve in real-time. That means that the more people that come to the lab, the better the experience of most attendees ends up being. This feedback loop is a miniature version of what we do in a much broader way with the whole product, via CTPs, Betas, and so on.

WPF presentations

I only had one HOL shift today, so I spent the time afterwards checking out some of the WPF presentations. Now, why would I go see presentations on the technology that I already work with every day, you ask? The answer, again, is to gauge the reaction of the audience. It was especially interesting to stick around for the Q&A sessions. Today I saw Michael Wallent's presentation, entitled "Choosing the Right Presentation Technology", and Rob Relyea's presentation, entitled "A Lap around the Windows Presentation Foundation". Michael did a phenomenal job laying out the platform roadmap, which is not so much about a single platform but a suite of platforms that complement each other. Rob covered a very large number of concepts in just one hour, which was another serving from the fire hose, but it was a great appetizer to whet everybody's appetite for the fine-print details to be presented over the next few days in several presentations. I was a bit concerned that the crowd was running low on energy near the end of the day, but at the end of Rob's talk one of the attendees offered some nice positive feedback to preface a question, and the crowd showed their agreement by clapping, which was really nice to see. It's clear that we have a truly exciting set of technologies on display at this PDC.

The track lounge

It was my plan to wrap it up for the day right after Rob's talk, but before leaving I needed to drop by the track lounge to pick up a personal item that I'd stowed there earlier in the day. It took me about an hour to get my item and leave, not because it was far, or because I couldn't find what I was looking for, but because there were so many people eager to have a chat and ask questions that I couldn't get myself away. This was by far the most fun I've had in a conference, interacting one-on-one with customers who are excited about what we are building but also have excellent questions about how they can properly take advantage of the new platform without losing their previous investment. I only have one officially booked track lounge session, which is tomorrow, but I expect I'll be spending additional time in this area. As far as I'm concerned, this is where the fun is :-).

Stay tuned for tomorrow's update.

Posted 13 September 05 10:33 by lblanco | 0 Comments   
Filed under
day one at the PDC

Today I registered and got my badge at the PDC. The conference doesn't officially start until tomorrow (other than the "pre-conference" sessions), but several Microsofties were at the Convention Center to make sure everything is set up and ready to go.

I was truly amazed by the scale of the Convention Center, this being my first time at the venue. I had previously seen a diagram of the Big Room, where several events are hosted, including the hands-on labs (where I'll be spending most of my time), the track lounges, the Internet Alley, the PDC Marketplace, and so on. The room is truly cavernous, so much so that I thought it took up the majority of the Convention Center. However, it turns out that's not the case -- the Convention Center has a lot more space than that :-). The building is an attraction in and of itself.

In addition to checking out the space we also took the hands-on lab machines for a spin, to make sure everything was up to spec. Everything is looking great, so I think we are ready. Still, I think tomorrow will be absolutely crazy, as people stampede to the Big Room immediately after Bill and Jim's keynotes. Which is what I'm looking forward to :-).

Posted 12 September 05 11:32 by lblanco | 0 Comments   
Filed under
in LA for the PDC

It'd been nice and warm in Redmond right up until this past week. This morning it was pouring rain. Now, some of you may know Seattle as the city where it rains nine months out of the year, but what's not necessarily generally known is that the constant rain is really more of a mist, just enough to get all cars dirty and all roads slippery. This morning was a different story -- it was cats and dogs.

It was, therefore, a great relief to arrive in sunny Los Angeles, high 70, low 59, and be immediately greeted by the city as a PDC attendee, via flags posted along Century boulevard. That was a nice touch :-). This gives me one day to settle in (that was today), one day to slack off, and then it's off to the Convention Center on Monday to set everything up in preparation for the big day on Tuesday.

Meanwhile, the lawn is getting watered back at home ;-).

Posted 10 September 05 10:26 by lblanco | 1 Comments   
Filed under
se o Pablo pode, eu também posso :-) (PDC05)

Hoje descobri que Pablo Fernicola está escrevendo o seu blog em não um, não dois, mas três idiomas -- e um deles é o português! E por que não? A gente pode morar nos Estados Unidos, mas têm muitos brasileiros aqui (aliás, "aqui" é o mundo todo quando se fala da Internet). A ironia é que nem o Pablo nem eu somos brasileiros...

A pergunta agora é a seguinte: se eu escrevo este post e nada mais, será que alguém vai se lembrar e falar comigo em português no PDC? E será que este post vai finalmente aparecer em http://pdcbloggers.net? :-)

Posted 10 September 05 12:02 by lblanco | 0 Comments   
Filed under ,
More Posts Next page »

Search

Go

This Blog

Syndication

Page view tracker