WinFx/Vista

It's WPF week over on Channel 9 and a new episode went up yesterday which has David Teitlebaum, a PM on the WPF team, giving an overview and demos of the new lower level features that SP1 brings to the table. You don't want to miss it, so hop on over and check that out. I think we all know the Effects stuff is the most sought after feature, but I know a lot of people were looking for the WriteableBitmap feature since WPF 3.0 and now they have it and, judging by the demo, the performance is amazing.

posted Tuesday, May 13, 2008 8:48 AM | Comments | Filed Under [ .NET WinFx/Vista ]

I just wanted to link to this great post on Silverlight 2's layout and rendering features. Both features borrow heavily from WPF, but there are also important differences. For one, unlike WPF, there is only one tree... no Logical vs. Visual. Also very cool mention of Silverlight 2's rendering internals being many-core friendly so it scales well on the CPU. Big difference from WPF where rendering is offloaded to the GPU.

posted Monday, April 14, 2008 4:58 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Check out this Mix Session for all the skinny on the enhancements coming in the WPF 3.5 "Extensions" later this year. Unfortunately the Mix sessions site is designed quite poorly in terms of being able to provide direct links, but if you just go to there and look for session T11 - "What's New in Windows Presentation Foundation 3.5", that's the one that shows off all the goodies. Rob shows off new work on the virtualization front, Microsoft's prototype DataGrid control, performance enhancements and so on. The topic I was waiting to hear about most however was the new...

posted Friday, March 07, 2008 4:00 PM | Comments | Filed Under [ .NET WinFx/Vista ]

The recent mention of an improved effects API in the next enhancement release of WPF has gotten me thinking about this again.  I've written before about how other platforms are stepping up their game when it comes to leveraging the GPU in their graphics stacks and how WPF really needs an answer of its own to this problem. As a refresher, WPF has the BitmapEffects API, but it's completely CPU based and pretty much trashes the performance of your WPF apps if you decide to use them because it forces the elements the effects are applied to to also be...

posted Tuesday, February 19, 2008 7:07 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Scott Guthrie blogged today about the WPF roadmap and what kind of enhancements we can expect to see coming in the next few releases. Check out the post for full details, but here's a quick list of things to expect: Improved setup for WPF apps (i.e. ClickOnce enhancements) Improved working set and startup times Performance improvements including DropShadow and Blur effects becoming hardware accelerated (w00t!) Improvements to text features in certain scenarios Media and video performance boost New WriteableBitmap API to finally appease the people looking for realtime bitmap manipulation (like GDI) "Support for new effects API that...

posted Tuesday, February 19, 2008 5:38 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Well, in case you hadn't already read today, Scott Guthrie has announced a few things about some upcoming beta releases. One of the betas talked about is the next version of Silverlight which used to be labeled as version 1.1. Microsoft has rethought this strategy and is instead going to call it 2.0. If you ask me this is a great idea because the next version is such a major leap forward with the inclusion of the CLR and now a ton of the richer WPF features that it warranted way more than a minor version increase. I'm super psyched...

posted Thursday, November 29, 2007 6:57 PM | Comments | Filed Under [ .NET WinFx/Vista Web Development ]

MacOSX has had their Core Image API for a long time which abstracts you from the GPU. Now Adobe has stepped up to the plate by introducing a preview of a new toolkit who's main technology is a new programming language, codenamed "Hydra", that enables the creation of filters and effects that can be compiled down to run on the GPU (if GPU is not available, it falls back to CPU). Here's their tutorial that gives an example of how to write a filter with Hydra. There's also a gallery of sample filters available here. Kudos to Adobe for attempting...

posted Wednesday, October 24, 2007 9:10 PM | Comments | Filed Under [ .NET WinFx/Vista ]

I'd been thinking about this topic since I saw the new interface. Basically, after seeing the screen shots, I thought to myself that if the new Zune Windows client software was not written with WPF, Microsoft will have made a huge mistake by once again not backing one of their own technologies as a viable platform for developing a real world consumer application. Knowing the type of data this kind of app pushes around, the behavior in the v1.0 client today and looking at the new screen shot, that's an app that screams WPF. So, yeah, I was going...

posted Friday, October 12, 2007 9:39 PM | Comments | Filed Under [ .NET WinFx/Vista ]

This is the first list I've seen that covers the new features being added to WPF in .NET 3.5. Top three things that stand out to me: Binding support for LINQ based data sources UIElement3D - adds support for input and focus events to 3D elements (finally, no more hand crafting!) Viewport2DVisual3D - enables you to paint 3D surfaces with interactive 2D elements. This was a sorely missed feature from 3.0 that appeared as an open source project later and has now been folded into the actual WPF API as a first class citizen.

posted Thursday, July 26, 2007 7:32 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Once again, Vista has fewer vulnerabilities than everyone else these past six months. What I find humorous is that OSX 10.4 has only slightly fewer than XP, but a higher number of them are unfixed.

posted Thursday, June 21, 2007 11:22 AM | Comments | Filed Under [ WinFx/Vista ]

Amen. As an added bonus, for the best in-depth explanation I've ever seen of how UAC is implemented, check out this interview over on Channel9.

posted Wednesday, May 09, 2007 6:29 AM | Comments | Filed Under [ WinFx/Vista ]

Ars Technica reports that XPS is on it's way to a Standards Body. Interesting... I wonder what Adobe is going to do now.

posted Thursday, October 19, 2006 5:54 PM | Comments | Filed Under [ WinFx/Vista ]

When I installed RC1, it took the usual 20min. Saturday when I installed RC2 it took 1hr and 45min. I had to think about it for a little while until I realized what it could be, but now I think I know. One thing that was really neat about installing RC2 is that it was the first time I didn't have to load drivers for my SATA controller. I was pleasantly surprised that this far down the road Microsoft finally provided a generic SATA controller driver. Unfortunately, it seems to have some serious capatibility issues with my Promise FastTrack 378 controller....

posted Monday, October 09, 2006 2:46 PM | Comments | Filed Under [ WinFx/Vista ]

I was having a problem with serializing a FaultException that had a custom details class that was a collection. Today I figured out that, when using the DataContractSerializer, you need to make sure you provide a setter implementation even for your collection based properties. Once again, this is a departure from the way that the XmlSerializer works. I'm trying to work through the scenarios where this is any kind of improvement over XmlSerializer, but I cannot think of any problem this solves. Welp, I hope this saves someone else some headscratching. I truly hope Microsoft lifts the restriction of only being...

posted Monday, October 02, 2006 9:45 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services ]

So a couple days ago I posted an entry about how to implement a custom transport that allows you to send message credentials over plain old HTTP. Unfortunately when I rolled this into the test environment where I had all the "real" infrastructure in place I ran into a new problem. It appears that the username token implementation built into WCF has some hardcoded logic for how it deals with addresses. I have filed a bug over on Microsoft Connect and I hope that Microsoft addresses it soon. Lately they haven't responded to a single post I've made about WCF...

posted Monday, October 02, 2006 6:07 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services ]

Since I have to define my fault details with DataContractSerializer attributes for now (I hope it's only for now anyway), I was looking at how to translate a property that was previously serialized by the XmlSerializer using XmlArrayAttribute and XmlArrayItemAttribute. Well, I figured out pretty quick there was no equivalent, found CollectionDataContractAttribute, but thought "noooo, this can't be the only way... can it?". Unfortunately a quick search revealed this post by Christian Weyer that confirmed my fears. Why oh why do I have to go writing a whole new collection class now just to decorate it with attributes when I could...

posted Thursday, September 28, 2006 2:01 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services ]

Just found out WCF does not supporting XmlSerializerFormat for custom fault details (see note under Creating Strongly Typed Faults section here). Everything else in my contracts is defined using this approach and now I have to use DataContracts for my fault details? What's up with that? Seems superbly  lame and inconsistent to me. Gonna have to take this one to the forums and possibly to the bug database... Update: No response to my forum post as of yet, so I entered a bug. Go vote on it if you agree that this inconsistency in the API is "teh suck".

posted Wednesday, September 27, 2006 9:40 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services ]

I asked a question in the forums a week or so ago about how one could go about getting username credentials to be passed through HTTP. The problem is that, out of the box, WCF will not allow you to specify message credentials without using a secure transport. This is probably a really smart move for Microsoft because it will prevent people from exposing their credentials. While it certainly causes headaches with development since you need to configure certificates on all your dev boxes, that's probably still not a good enough reason for Microsoft to allow message level credentials go over HTTP...

posted Tuesday, September 26, 2006 4:10 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services ]

So, this is my first week running Vista (RC1) on my primary machine. It's a laptop that I use exclusively both at work and at home. The specs are:   Alienware M7700 3.8GHz Intel P4 w/HT 2GB RAM 100GB 7200RPM SATA HD (two NTFS partitions) nVidia GeForce 6800 Ultra Go (beta WDDM drivers) Realtek High Definition Audio card (beta drivers) I get a "Windows Experience Index" of 4.4 and that's really only because apparently a 3.8GHz ain't much these days. My graphics card gets me a whopping 5.9 and everything else is...

posted Friday, September 22, 2006 9:43 PM | Comments | Filed Under [ WinFx/Vista Personal ]

Chris Anderson has made a couple of posts lately about his book, Essential WPF, nearing completion. Today he lets us know that the website for the book is now available. I'm looking forward to it as it's the first book from someone who was actually on the team who made WPF a reality. I'm hoping for lots of nitty gritty inside details that the other big names haven't supplied already (i.e. "Programming Windows Presentation Foundation" by Sells/Griffiths and "Applications = Code + Markup" by Petzold).

posted Thursday, September 14, 2006 4:56 PM | Comments | Filed Under [ WinFx/Vista ]

Head over to this post to get an understanding of the control naming issue at hand and then leave comments on how you'd like to see it done. I voted for no names by default, auto-naming if none-exists but one is needed (i.e. event handler generation) and suggested they put the name as the very first thing in the smart tag panel for all WPF controls.

posted Thursday, September 14, 2006 4:47 PM | Comments | Filed Under [ .NET WinFx/Vista ]

In my last post about providing custom context I described a way that allowed you to scope the context to the operation/method level. This time I'm going to show you a way that will allow you to scope your context to the service instance level. As you may, or may not, know there are a few instancing modes for WCF services. Per-Call, Per-Session, Shareable and Single. Not only that, but someone could technically invent their own mode of instancing by implementing a custom IInstanceContextProvider. Anyway, despite which mode is used, you may want to tie your custom context to the instance of the service and...

posted Thursday, September 14, 2006 2:11 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services ]

I just filed a bug over on Microsoft Connect about a problem in Expression Interactive Designer with the design time support for an ObjectDataProvider where ConstructorParameters are used. I noticed it a couple weeks ago and never got around to filing, but I just got back into working on the project where I was having the problem and noticed it's still broken even in the latest build (currently Sept. CTP). There's is a workaround that I included with the bug, but it's super annoying and the target audience of EID definitely wouldn't want to have to be doing it every time...

posted Wednesday, September 13, 2006 10:34 PM | Comments | Filed Under [ .NET WinFx/Vista ]

First off, I'd like to say that I absolutely love how extensible WCF is. So far there hasn't been anything I can't do. Unfortunately the documentation, examples and guidance around extensibility is still lacking a bit at this point. This is somewhat disturbing considering that RC1 just went out. Now, on to what I really want to talk about here: providing custom context to your service implementations. We have an in house framework here at Mimeo, called our system framework, that provides some context much like System.Web's HttpContext or even System.ServiceModel's OperationContext. This in house framework exposes the current instance via a Current property (again, just...

posted Tuesday, September 05, 2006 11:39 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services ]

Just found out via Rob Relyea that .NET 3.0 RC1 is now available. Here's everyone's last chance to file show-stopper bugs! Also note that Rob points out that EID and Orcas aren't available yet for this build, but they should be available soon. So, if you need those tools, you might want to postpone your upgrade.

posted Friday, September 01, 2006 10:16 PM | Comments | Filed Under [ WinFx/Vista ]

Just found out via Rob Relyea's blog that Charles Petzold's WPF Book has finally arrived. I know I'll be picking up a copy ASAP, how about you?

posted Tuesday, August 29, 2006 7:07 PM | Comments | Filed Under [ WinFx/Vista ]

My friend Doug pointed me to Miguel's post about WPF today where he calls it the J2EE of GUI APIs. While I've read some of Miguel's previous posts about WPF, to make such a broad statement as this, you would think a person would back it up with some examples of exactly what about Avalon is so overly-complex, but he doesn't. His previous complaints are about things like the sandboxing model (XBAP/ClickOnce), the fact that there's no GUI designer (which now there is with EID and Cider) and ignoring standards (not using SVG/HTML/CSS), but none of those seem to support today's J2EE comparison. Heck,...

posted Thursday, August 03, 2006 3:11 PM | Comments | Filed Under [ .NET WinFx/Vista ]

I've just begun implementing some web services with WCF and so I'm in the midst of learning the ins and outs of the API. First off, it's phenominal as I'm sure you've heard if you already know if you've read about it before. What you might not know, if you haven't played around with it yourself, is that the documentation is still pretty shoddy at this point. It definitely seemed to make some progress in the June CTP, but it still seems that if you want to do anything past the basics you really need to dig around and figure it out for yourself....

posted Wednesday, July 26, 2006 11:10 PM | Comments | Filed Under [ WinFx/Vista ]

Simply put, XBAP is the sandboxed, browser based application model for WPF. What's that mean? Well head on over to Channel9 and watch this video to get all the nitty gritty details on the feature.

posted Tuesday, July 18, 2006 9:33 PM | Comments | Filed Under [ WinFx/Vista ]

Someone posted a question in the WPF MSDN forums today where they wondered if it was "easy" to change the default stacking behavior of the TabControl to use the scrolling paradigm used in an application such IE7 or Visual Studio instead. It turns out this is actually very "easy" in that you don't have to write a single line of C#. Instead you simply need to edit the ControlTemplate for the TabControl. I replied to the post with some sample XAML that provides the basic approach to acheiving this. Be forewarned that the visuals aren't exactly pretty by designer standards, but I think the sample still gets the point across. ;P I loooove...

posted Friday, July 14, 2006 11:47 PM | Comments | Filed Under [ WinFx/Vista ]

I noticed via a post on Rob Relyea's blog that an interview, with Rob himself, was posted over on Channel9 last night. The interview is all about XAML and how it works its magic. Why XAML? Is it compiled? If so, how does it get compiled? WTH is BAML? How does the code-behind get wired together? All these questions and more are answered, so go check it out!

posted Thursday, July 06, 2006 1:47 PM | Comments | Filed Under [ .NET WinFx/Vista ]

WinFX June CTP was released recently and Tim Sneath put up a post with some details on some changes you can expect to deal with in this release. Nothing major thus far. Personally I'm all for breaking changes during the beta phase if they improve the API in the long run. :) The coolest thing in this release isn't even an API change, but rather the addition of a visual tree view to XAMLPad! Totally cool and really helps you understand the difference between the logical and the visual trees. Note: If you use Expression Interactive Designer religiously you probably don't want to...

posted Tuesday, June 27, 2006 7:00 PM | Comments | Filed Under [ WinFx/Vista ]

Inspired by Craig's MSDNMan, Ian has created an MSDN browser with WPF. If, like me, you read a ton of MSDN content every day, both of these tools are extreeeemely welcome additions to browsing the online content or using the installed version of the content.

posted Wednesday, June 21, 2006 3:03 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services Web Development Windows PowerShell Team System ]

Here's a really great post from Tim Cahill "WPF Performance Guy". It's Q&A style with some answers to some of the more common questions about, what else, WPF performance. Definitely worth a read if you are (or are going to be) working on graphics intensive WPF apps.

posted Friday, June 16, 2006 10:31 PM | Comments | Filed Under [ WinFx/Vista ]

Here's a great Channel9 screencast that just came out demo'ing how the typical interaction between developer and designer will work with Visual Studio and Expression Interactive Designer. One thing about EID that I love which is demo'd here is the fact that control behavior is live in EID. That is, any behavior you've built into your controls will function, real-time, inside of the IDE. This really helps the designer visualize exactly what they're going to see/experience without necessarily having to compile and run the project.

posted Monday, June 12, 2006 10:58 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Karsten let us in on one of apparently only a few API changes in WPF Beta 2: the ZIndex attached property for Panels. A lot of people have been clammoring for this feature since day one. It used to be that the order of the child elements inside of the Children collection dictacted the ZIndexing, so if you wanted to raise one element in front of another you had to manipulate the collection which kind of sucked because that requires code-behind logic as opposed to just being able to use a property setter in a trigger. Well, not anymore. ;) Update 10PM: Originally I...

posted Tuesday, May 23, 2006 10:21 PM | Comments | Filed Under [ WinFx/Vista ]

Wow, it's a heck of a day for product releases. Now there's a new May CTP of Expression Interactive Designer available for download. Designers of the world rejoice! ;P

posted Tuesday, May 23, 2006 7:52 PM | Comments | Filed Under [ WinFx/Vista ]

In addition to Vista Beta 2 being made available for download today, Office 2007 Beta 2 is also available for download now. Knowledge workers of the world rejoice! ;)

posted Tuesday, May 23, 2006 7:48 PM | Comments | Filed Under [ WinFx/Vista ]

Hate to do "me too" style posts, but, just in case you didn't read it someplace else yet, Vista Beta 2 is now available for download. If you have an MSDN Subscription, you can also download it there. Windows geeks throughout the world rejoice! I just hope this build comes with drivers for my laptop's SATA hard drive controller... Note: This also seems to include an updated set of WinFX components, not sure what's diff. between the last release and this one yet. Update 11:54PM: Bah, still no drivers for my SATA controller. This sucks, I have yet to be able to experience Vista...

posted Tuesday, May 23, 2006 7:37 PM | Comments | Filed Under [ WinFx/Vista ]

Well, for starters WPF/E stands for Windows Presentation Foundation Everywhere. What's that? Well, check out this Channel9 video to find out!

posted Wednesday, May 17, 2006 12:25 AM | Comments | Filed Under [ WinFx/Vista Web Development ]

Here's another video about WPF on Channel9, this time with Greg Schechter who is an Architect on the WPF team. No fancy demos here, just really good, low level geek talk (my favorite!) about what sits under the WPF's hood that makes it possible for designers/developers to provide great experiences to their end users. Lots of talk about exactly what parts are managed vs. unmanaged code. Highly recommended viewing material for all the WPF geeks out there.

posted Sunday, May 07, 2006 5:22 PM | Comments | Filed Under [ WinFx/Vista ]

Here's a great MSDN TV episode demoing some of the 3D capabilities in WPF. One of the greatest things about WPF, from the developer's perspective, is that the programming model is consistent whether you're working in 2D or 3D. From the designers perspective, the ability to seamlessly integrate 3D content with 3D content is priceless.

posted Saturday, May 06, 2006 7:17 PM | Comments | Filed Under [ WinFx/Vista ]

This interview with Michael Wallent over on Channel9 is hands down the best public explanation I've ever seen/heard from Microsoft on why WPF was created and what some of the major goals and design decisions were. Some interesting tidbits that came out of the interview: Plans to make an WPF “scene” 100% scriptable for smoother integration with Web apps Plans to expose the MIL (Media Integration Layer), which is the lowest level for WPF rendering, as a supported API so others can build rich media applications on top of it directly as opposed to necessarily forcing you through the managed API Plans for a faster release...

posted Tuesday, April 25, 2006 6:15 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Want to be a WPF Evangelist? Here's your chance. It's times like these that make me wonder if my company realizes how lucky they are that I'm so loyal. ;P

posted Monday, April 10, 2006 4:31 PM | Comments | Filed Under [ WinFx/Vista ]

Karsten Januszewski posted a great entry yesterday about the learning curve of WPF. Basically the general message you get for WPF is that it's going to make our lives simpler and improve the developer and designer experience such that you'll be able to crank out great looking, functional, feature rich apps all day long. I personally agree with this message, but it's important to remember that it just won't happen overnight. There are so many different facets to WPF that it's going to take some time to figure out how to brng them all together effectively to deliver a great product. One of the biggest...

posted Thursday, April 06, 2006 11:40 AM | Comments | Filed Under [ WinFx/Vista ]

Well, wonder no more. Pablo Fernicola lays down the nitty gritty of hardware rendering in WPF. If you wondered exactly which pieces are GPU accelerated and which pieces still require CPU resources, this is the article to read.

posted Monday, April 03, 2006 2:31 PM | Comments | Filed Under [ WinFx/Vista ]

Stumbled across the blog of Tim Cahill today. Apparently he's the man to talk to when it comes to WPF performance. Playing with WPF and having some problems squeezing every last ounce out of CPU and GPU? Check out his blog for ways to analyze and optimize your WPF apps!

posted Monday, April 03, 2006 2:25 PM | Comments | Filed Under [ WinFx/Vista ]

Ryan Dawson has a couple of articles up over on Longhorn Blogs titled “XAML and C#” where he's discussing the developer experience of working in a mixed language environment for developing next generation Windows applications. In his second article he states the following, which prompted me to write this post in response: "XAML is a language (technically this is false, since it is compiled into C# first and then into IL, but you get my drift)." XAML is indeed a language, but it is never compiled into C# or IL. In fact, let's not even talk in terms of C# because XAML can be used from/in...

posted Thursday, October 06, 2005 7:30 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Now that BitmapEffects (formally ImageEffects) have returned in this build of WPF, some have already begun wondering why there are only two (drop shadow and blur). Well, fear not! At the final PDC session I attended, where the low level architecture of WPF was discussed in an open forum manner, the WPF team has said that they already have 48 effects under development and planned for the first release. Let's also not forget that the API is 100% extensible and Microsoft sees a market for third parties to develop effect libraries.

posted Sunday, September 18, 2005 6:54 PM | Comments | Filed Under [ .NET WinFx/Vista ]

I don't know how many people have begun digging into the Avalon/WPF bits that were released for the PDC, but there are a ton of breaking changes. The biggest breaking changes that are bound to affect any existing projects are in the Animation APIs. To that end, I'm working on a new change log to help give people who have been playing with previous bits a smoother migration. Keep your eyes peeled.

posted Wednesday, September 14, 2005 3:01 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Currently blogging from my little hotel room desk at the Wilshire Grand. I'm in room 446, my cell is 973.699.0532. Feel free to give me a buzz if you'd like to chat or grab some grub. One thing I will say is that there is already a larger female presence here at this PDC than I've ever seen at any previous PDC. Unfortunately, just as I was reflecting on and being impressed by that, I was sadly reminded as to why there aren't more women in this business by some childish, chauvinistic guys cracking the usual slew of jokes on my bus ride back to the hotel from...

posted Monday, September 12, 2005 5:56 PM | Comments | Filed Under [ .NET WinFx/Vista Web Services Web Development ]

Tim Sneath posts up the official set of changes (Word format) for the May Beta 1 RC. Word is this will also be availble on MSDN soon. It actually has a less complete list of renames/reorganizations than the change log I've been maintaining so be sure to check that out, but it does a better job introducing some of the newer features added in this release.

posted Tuesday, May 24, 2005 11:56 AM | Comments | Filed Under [ .NET WinFx/Vista ]

I've started documenting some of the changes to the Avalon APIs between the March CTP and the May Beta 1 RC. The list is brief and only includes the major ones for now, but I'll continue to update it as I learn more. The intention of this list is to hold people over until Microsoft posts an official list of their own.

posted Monday, May 23, 2005 11:46 AM | Comments | Filed Under [ .NET WinFx/Vista ]

From the main download page, you will find a link to the updated SDK (iso format). Looks like Friday's announcement kinda jumped the gun, but it's all available now. Oh and for those who were asking, yes, this build is 100% compatible with Whidbey Beta 2.

posted Monday, May 23, 2005 9:22 AM | Comments | Filed Under [ .NET WinFx/Vista ]

This ought to supply the geeks with something to do this weekend... besides going to see Star Wars of course. ;) I'll try and do some coverage of Avalon changes/additions since the March CTP. Oh and congrats to both teams for reaching Beta status! Note: if the link doesn't come up for you I think it's because it's still propagating through Microsoft's server farm, give it a little time. Update (3:32AM): Download still not working? Well, here's a direct link to the executable. Time for me to sleep off a night of partying, enjoy!

posted Friday, May 20, 2005 5:19 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Nick Kramer, a PM on the Avalon team, bursts into the blogging scene with his first post being about Avalon's various naming conventions. The primary need for these conventions is for discoverability through reflection. The primary “client” that needs to reflect on types using these patterns is the Avalon serialization architecture itself. However, these patterns can also be leveraged by design time tools to discover interesting aspects about Avalon based types.

posted Friday, May 20, 2005 3:38 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Ian just put up a great, simple overview of Avalon's input and command architecture. Having this type of stuff baked right into the framework just makes life so much easier for application/control developers. We get to focus on our specific problem rather than having to worry about all these silly plumbing problems.

posted Thursday, May 19, 2005 12:39 PM | Comments | Filed Under [ WinFx/Vista ]

This was a pretty interesting experiment. Ian Griffiths made a post to the Avalon NG asking why it wasn't possible to just put the ID of a node into the Target property of a Label in XAML. The reason is because it's a property that expects another FrameworkElement instance. So I created a custom MarkupExtension to provide the behavior at deserialization time. Click here to read the thread and click here to get the source code for my custom MarkupExtension which works, but has an unfortunate restriction right now which you'll learn about at the end of my reply to Ian's original post. Hopefully...

posted Wednesday, May 18, 2005 1:46 PM | Comments | Filed Under [ WinFx/Vista ]

Damn... another dream job offering. Unfortunately my commitment bars me from taking the red pill, but best of luck to anyone that attempts to pounce on this opportunity and just know in advance: I'm jealous. :P

posted Wednesday, May 18, 2005 12:57 PM | Comments | Filed Under [ WinFx/Vista ]

An interview with Chris Anderson just went up over on Channel 9 where he talks about the “nuts and bolts” of Avalon. If you're the type of person that likes to know how the pixels end up on the screen then this is the video to watch. Topics discussed: How Avalon sits on DirectX and User32 The Avalon stack: milcore.dll -> presentationcore.dll -> presentationframework.dll The UI and composition models and how they interact with respect to threading and communication Touches on the control and styling model Discusses the mantra of “lookless” controls where the behavior of an element is completely separated from the visual design Best part is they don't even mention...

posted Thursday, May 12, 2005 8:37 AM | Comments | Filed Under [ WinFx/Vista ]

Chris Anderson is jumping on the Python bandwagon and is building support into AvPad for IronPython as a scripting language. Pretty interesting stuff. In his latest post, he has extended IronPython to support ICustomTypeDescriptor so that you can interrogate an IronPython object at runtime and discover properties that may have been added on the fly. The main purpose Chris added this is beause it is actually one of the interfaces Avalon will use for reflection as he shows here in a databinding example.  On a related note, I wonder if IronPython already has support for IExpando? If not perhaps they should consider adding it...

posted Wednesday, May 11, 2005 10:45 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Filipe shows the layout difference between applying a straight Transform to a UIElement's RenderTransform and nesting the element in a TransformDecorator with AffectsLayout=”True”. He doesn't show it, but it's important to note that TransformDecorator with AffectsLayout=”False” results in the same effect as a straight RenderTransform, making it pretty much senseless to use in that case since the layout difference is pretty much the only reason to use the TransformDecorator in the first place.

posted Thursday, May 05, 2005 3:15 PM | Comments | Filed Under [ WinFx/Vista ]

Here's a thread in the Avalon newsgroup that I was participating in that shows why it's important to put any kind of long operations on a background thread. Basically if you're familiar with the threading model of WinForms then you know you need to put long running operations on a background thread and marshal calls to update the UI on the main thread using Control::Invoke so that you do not cause your program to become unresponsive to input or screen painting. Well, Avalon shares the same concepts... Instead of Control, which is the base of all UI elements in WinForms, we have a...

posted Wednesday, May 04, 2005 9:01 PM | Comments | Filed Under [ WinFx/Vista ]

Filipe Fortes, a PM on the Avalon team over at Microsoft, has put up a couple of posts about the Viewbox and TransformDecorator with a ScaleTransform. His posts deal specifically with the different effects the two have on content layout. This is yet another part of Avalon that I see people having difficulty adjusting to. Definitely a must read for anyone who is experimenting with content layout in Avalon.

posted Tuesday, May 03, 2005 10:30 PM | Comments | Filed Under [ WinFx/Vista ]

Came across a recent post on MSDN Blogs with some great info on how to accomplish drag n' drop behavior with Avalon. Unfortunately there's no good explination/sample in the WinFX SDK just yet, so this question comes up all the time in the newsgroups, so it'll be good to finally have a nice link to point to as an answer.

posted Tuesday, May 03, 2005 8:25 PM | Comments | Filed Under [ WinFx/Vista ]

ExtremeTech just published a great article detailing all the nitty gritty details of where graphics are going in Longhorn. Key technologies: WGF 1.0, LDDM, DWM (used to be DCE), Avalon (for the masses) and WGF 2.0 in the future. Noticeably absent is mention of the MIL unless that's lumped under the WGF umbrella.

posted Tuesday, May 03, 2005 5:16 PM | Comments | Filed Under [ WinFx/Vista ]

First go listen to this interview with Robert McLaws of LonghornBlogs fame and then here are some corrections on a few bits of misinformation given about Avalon in the interview: Avalon is not a “desktop renderer”: It is an API for designing next generation windows client applications. Part of that has to do with a new graphics and multimedia stack, but that's not all Avalon is. It also introduces a new: threading model, application model, data-binding model, resource model, eventing model, input and command model, etc. So this is not what I would deem as the rendering technology. The rendering technology is actually DirectX which leads me to the next point... No...

posted Monday, May 02, 2005 8:48 PM | Comments | Filed Under [ WinFx/Vista ]

This one has been beat to death, but some people still aren't accepting it. The WinHEC build just wasn't meant to show off Longhorn to a consumer audience. Really this shouldn't be breaking news for anyone who has paid attention to the whole discussion, but I figured I'd chime in as another voice of reason. At the same time the reason you don't hear many people saying this is because of NDAs. So, I'll put it as succinctly as possible to avoid any kind of violation: That's just not the UI.  Think about it. When you consider just how neat all the slapped together demos being shown for Avalon are, do...

posted Monday, May 02, 2005 8:16 PM | Comments | Filed Under [ WinFx/Vista ]

Rob Relyea just posted up a little piece that details the three different approaches developers can take to code their Avalon applications. I'm not sure if he was working on it prior to this, but there was a question in the Avalon NG earlier today about how a Delphi person can code Avalon applications and this answers that perfectly. Basically, because Avalon is “just” another CLR API, you can always code against it with any language that runs on the CLR (2.0). However, when it comes to XAML you have a couple different options depending on your language's support for the CodeDom and MSBuild.

posted Wednesday, April 27, 2005 4:21 PM | Comments | Filed Under [ .NET WinFx/Vista ]

This sounds like a great chance for a select few individuals who have the right stuff. When opportunities like these arise I begin to wish I wasn't so darn committed to my current company. :\

posted Monday, April 18, 2005 3:55 PM | Comments | Filed Under [ WinFx/Vista ]

Just noticed, via a post from Chris Sells, that the MSDN Product Feedback application is now accepting bugs for Avalon and Indigo. Here's your chance to provide feedback and bug reports to Microsoft. Don't like the way something works? Having problems with a certain scenario? Well this is the place to let Microsoft know now before the product is released. Speak now or forever hold your peace... ;)

posted Wednesday, March 30, 2005 3:55 PM | Comments | Filed Under [ WinFx/Vista ]

Came across DesignersLove.Net via a post over on Chris Anderson's blog. It's just getting started, but I'm already sending the link out to all of my designer friends. I have been trying to preach to them about the separation of content and behavior in Avalon and they really seem to love the idea of maintaining complete control over their content. I think the harder part is teaching the developers how to design controls so that their behavior is completely separated from the content. Microsoft has coined the term “look-less controls” to describe this pattern. It's a challenge to design controls this...

posted Friday, March 25, 2005 9:04 AM | Comments | Filed Under [ WinFx/Vista ]

Saw this morning that the SDK is now available to the masses. Click here to head on over and download it. Make sure you're running the right VS.NET versions and that you pay close attention to the uninstall/re-install order. FWIW, I had no problems uninstalling the previous CTP and installing the new CTP on top of the same VPC instance.

posted Friday, March 25, 2005 8:53 AM | Comments | Filed Under [ .NET WinFx/Vista ]

The simplest development environment for those of us diving into Avalon these days has just been updated. AvPad, originally called XamlPad, offers a really simple RAD experience for people who want to mock up Avalon interfaces or just learn XAML+Avalon in real-time.

posted Monday, March 21, 2005 4:30 PM | Comments | Filed Under [ WinFx/Vista ]

Here's the official word on all the changes in the Avalon March CTP drop. As a result I will not be making any more changes to the temporary change log I created for the die hard Avaloners out there that needed the info day zero.

posted Friday, March 18, 2005 5:06 PM | Comments | Filed Under [ WinFx/Vista ]

As expected, the March CTP drop of the Avalon+Indigo+WinFX SDK has been released to MSDN subscribers. I imagine it will be available to the general public within the next couple of weeks.

posted Wednesday, March 16, 2005 9:53 AM | Comments | Filed Under [ WinFx/Vista ]

The documentation for the March CTP of Avalon has been released. I assume we can expect the actual SDK to be released soon. Here's a brief change log that I've started gathering on my own, I will continue to expand the article over time.

posted Tuesday, March 15, 2005 3:51 PM | Comments | Filed Under [ WinFx/Vista ]

Scoble says Aero is not based on Avalon. I'm not so sure about that. To the best of my knowledge it is. I mean, it's entirely possible that it's not since it could skirt around Avalon and talk directly to DirectX and/or the Longhorn Display Driver Model (LDDM) itself, but then that would mean that I've been gettings some seriously mixed messages on the subject. Can we get some third party clarification on this one? :) Update: As some others have pointed out, perhaps what Scoble meant is that Aero doesn't use the managed APIs of Avalon. It most likely just talks to the Media Integration...

posted Monday, March 14, 2005 12:13 PM | Comments | Filed Under [ WinFx/Vista ]

I'm sure we've all seen Richard's commentary on the state of .NET as well as Dan Fernandez's rebuttal. If not, go read those first. Since the subject has already been talked to death from the .NET framework perspective, the only thing that I wanted to address is the assertion that Richard makes in his follow up comment in Dan's rebuttal where he states: As to your comments on Avalon and Indigo. I concede your point about Indigo, but I refute your point about Avalon. In Dec 2004 a tech preview of Avalon was made publicly available on MSDN downloads, and by examining this...

posted Monday, March 07, 2005 9:32 AM | Comments | Filed Under [ .NET WinFx/Vista ]

Ok, so I was reading /.'s coverage of Mark Lucovsky jumping ship from MS to Google. Naturally I expected the typical anti-MS spin and of course it was there, but in the form of link to an entry on Mark's blog about Microsoft not being very good at shipping software. In this entry Mark analyzes the way Microsoft ships their software (specifically he mentions the .NET framework) vs. the way Amazon ships a fix for their software (their web site). Maybe if Mark expanded a little bit on what he believes the right answer to the problem is I could understand his angle a little better,...

posted Thursday, March 03, 2005 4:57 PM | Comments | Filed Under [ .NET WinFx/Vista ]

According to this post over at TSS.NET, Avalon and Indigo have now been dropped as pillars of Longhorn. Unfortunately the post doesn't link to any source for where they are getting this information. Personally I think it's misinterpretation. I mean there were only three pillars that really made Longhorn anything other than a service pack and if all three of those are now (supposedly) cut what's going to be new in the next OS? It just doesn't make sense. Time for someone from MS to step in and deliver a clear and concise message. If we're lucky Scoble will catch wind of this, get in...

posted Sunday, February 13, 2005 3:04 PM | Comments | Filed Under [ WinFx/Vista ]

Ian Griffiths just posted an awesome entry on animation and the problems related to rendering. I learned a lot reading it, so I highly recommend it to anyone else who is into this subject... which should pretty much be anyone who is going to be building applications with Avalon. ;) Avalon should hide some of the more technical problems such as frame rate and tearing from us, but the other topics Ian talks about are very much up to the developer/animator to understand and solve.

posted Thursday, December 16, 2004 12:03 PM | Comments | Filed Under [ WinFx/Vista ]

Ok look, I'm not exactly thrilled with the fact that WinFS might not see the light of day until ~2010 either. I've been looking forward to the point where rich forms of data are managed by the OS for quite some time. Imagine being able to ship a product where you don't need to install a custom database solution? Imagine users being able to relate data from your application to data from any other application (and vice vera) ever written? Imagine being able to tag any data with your own metadata using the shell instead of the vendor having to build something into each of their...

posted Monday, December 13, 2004 10:12 AM | Comments | Filed Under [ WinFx/Vista ]

I seem to remember thinking Indigo was one of the most complete pillars of Longhorn when I walked out of the PDC 2003, where as Avalon had a lot more work to go. Since then I think I believe I recall reading that they were taking some Indigo pieces back to the drawing board, but... it's been a while. Now that we've had an Avalon drop, is there an Indigo drop on the way anytime soon? I love playing with Avalon, but it's a hobby. More important to my every day work is how I will be writing services with Indigo, so...

posted Thursday, December 09, 2004 8:28 PM | Comments | Filed Under [ WinFx/Vista ]

I just noticed I can't find any documentation on ServiceManager, IScopedService, etc. in the WinFX SDK. It looks like all the Annotation Framework classes are all marked as obsolete as well. I thought the Annotation Services were an awesome idea. John Developer can just add this feature to his application with very little work on his end. Not only that, but it's basically the poster child for the power of providing generic services to Avalon apps. Is the whole architecture getting dropped? :(

posted Sunday, December 05, 2004 2:13 PM | Comments | Filed Under [ WinFx/Vista ]

Avalon introduces the DependencyObject and DependencyProperty classes. At first glance they seem to add unecessary complexity. This article aims to help understand their existance and power. Update 12/5/04 6:21PM ET:Per some comments from Rob Releya, I realized that I focused a bit too much on “attached” properties and left out the explanation of why you'd want to use a dependency property even for “simple” properties. I've updated the article with to touch on the “simple” property Canvas.HeightProperty and blended it into the section that segways into the services Avalon can offer around dependency properties. Thanks for the feedback Rob. (I've also justified the text to make it...

posted Saturday, December 04, 2004 10:41 AM | Comments | Filed Under [ WinFx/Vista ]

Someone asked a good question in the WinFx newsgroups about how to go from a the result of a hit test (via UIElement::InputHitTest) to a Button. Now InputHitTest returns IInputElement which you can then cast to FrameworkElement. At first you might think you can just walk up the logical tree from there using FrameworkElement::Parent until you run into the Button, but here's where the trickyness comes in: the logical tree of the Button is separate from the logical tree of whatever contains it, but the Button's visual “branch” is merged into the main visual tree. Therefore once you hit the top level element of the Button's logical...

posted Tuesday, November 30, 2004 9:13 PM | Comments | Filed Under [ WinFx/Vista ]

It would seem that the latest drop of Avalon is still missing the concept of a “VisualBrush”. A VisualBrush would be used to paint other surfaces with any other visual definition. An example would be painting a <Canvas>'s contents onto a 3D surface. Not only that but I should still be able to interact with that set of visuals while it's on the surface. For example, if I had a <Button> on a <Canvas> mapped to the surface of a <Sphere> I should still be able to click that <Button>. Animations should also continue to run while mapped onto the surface. Am I just missing...

posted Wednesday, November 24, 2004 10:33 PM | Comments | Filed Under [ WinFx/Vista ]

This is really not a huge deal, but I was surprised to see that this latest drop still uses the “Definition” namespace URI. I know there was some discussion about this even at the PDC when Avalon was unveiled, being that it's not exactly the greatest URI on the face of the Earth. I realize we're not in beta yet and of course nothing's set in stone, so I figured I'd raise the flag again so that it doesn't accidentally fall by the wayside without at least some discussion around it. The simplest thing would just be to tag it right onto...

posted Wednesday, November 24, 2004 8:28 AM | Comments | Filed Under [ WinFx/Vista ]

Woah, this seems to have come out of left field. This is the version that runs on Window XP SP2 and 2003. Read all about it here and then go download it on MSDN subscriptions under  “Tools, SDKs, and DDKs -> Platform Tools, SDKs, DDKs -> Tools, SDKs, and DDKs | Platform Tools, SDKs, DDKs”. I guess we know what most of us will be busy playing with this weekend! ;)

posted Friday, November 19, 2004 4:19 PM | Comments | Filed Under [ .NET WinFx/Vista ]

Chris Sells continues his Avalon based solitaire application by delving deeper into the databinding architecture of Avalon. My favorite part of the sample is his use of data transformers. They're really powerful because you can basically bind to any type of data, stick the transformer in the middle and let it interpret it how ever it likes... even transforming it a completely different type!

posted Thursday, October 28, 2004 4:20 PM | Comments | Filed Under [ WinFx/Vista ]

Rob Relyea has posted a few tidbits on syntax changes we can expect in the next drop of XAML. I especially like the disconnection of resources, which are too closely tied to Avalon in current drops. I also loved the little jab that Rob makes at knockoff technologies about holding off on announcing the new syntax until they can implement it first. :)

posted Sunday, October 10, 2004 9:11 AM | Comments | Filed Under [ WinFx/Vista ]

Ryan Dawson made a post called “Avalon 3D Must-Haves”. In the post he makes a few good points about the 3D stack in Avalon that I figured I'd chime in on. Here goes... I think his first point is the most important. If we can't use another scene as an interactive texture on a 3D surface then that's a major let down. Anybody remember a technology called Chrome? Most likely not since it didn't make it into the real world. It was next-generation rendering technology for IE that was going to bring mixed 3D/HTML content to the browser. This was back in '98, but even then, when...

posted Wednesday, October 06, 2004 8:05 AM | Comments | Filed Under [ WinFx/Vista ]

Hopefully things have cooled enough since the cut-back announcement to ask this question without everyone getting all upset or starting yet another thread of FUD, so here goes: It's been quite some time since the general development community has seen a refreshed drop of Longhorn... I believe WinHec was the last? Obviously things are a little different now given that WinFX and Avalon (not so much Indigo) have to be implemented on an “older” kernel. First off, it would be nice to know when we can expect to see an official list of what sub-features did or didn't make the cut. Second, when...

posted Thursday, September 23, 2004 5:52 PM | Comments | Filed Under [ WinFx/Vista ]

Ok, so we all know by now that Longhorn is undergoing some changes in order to deliver the product in a timely fashion. Basically what it seems to boil down to is that we're going to get two out of the three major pillars of the Longhorn vision delivered to us on top of the existing XP/Windows 2003 kernels: Indigo and Avalon. The only major pillar being dropped is the elusive database oriented storage system: WinFS. Indigo is a no brainer. It's been common knowledge (google cached link here, since Don's permalink seems to be broken) for some time now that it was...

posted Tuesday, August 31, 2004 10:40 AM | Comments | Filed Under [ WinFx/Vista ]

Hmmm, just came across this. I'll wait 'til I get the official word from Microsoft on exactly what made the cut and what didn't, but it doesn't sound like any of the major pillars are being completely dropped.... just scaled back.

posted Friday, August 27, 2004 9:55 AM | Comments | Filed Under [ WinFx/Vista ]