Ramblings from a compromised mind.

Miguel calls WPF the J2EE of GUI APIs

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 previousposts 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, if any major UI technology is the J2EE of UIs, it’s HTML+CSS. You have a set of specs, but all the browser vendor’s implement it slightly differently (these days it’s usually bugs that cause differences) or not completely (*ahem* certain key CSS features not supported) and then throw in their own special features that if you venture into using (without providing a separate path for other vendors) you immediately end up with lock-in.

I’ve noticed that sometimes it just takes people a while to really reach the “ah-ha” moment with WPF. I don’t think this is necessarily a negative indicator for WPF because it is a complete overhaul of the way we’ve thought about UIs for a long time (at least most UI frameworks I’ve ever worked with). For example, the whole logical tree vs. visual tree is tough for people to grasp, but the instant they make a round button with a 3D rotating cube inside of itwithout writing a line of code (i.e. just pure XAML) they get it. The most important thing is though, you don’t need to worry about all of that. If you just want to create a simple form with some buttons and some data bound controls on it, it’s pretty much the same design-time experience as WinForms thanks to tools like Cider and then, when you’re ready to spice the thing up, just hand it on over to your designers and let them add some flavor with EID.

Anyway, I’d love to hear specifics from Miguel because, while I may not agree with him on the subject, I know he’s a smart guy and if he says something like this you have to listen and try to understand.

Update 2:40PM ET 8/4:More people from are taking notice of Miguel’s comments. The story behind the post can be found here on Wenser Moise’s weblog. Rob Relyea is also tracking the growing discussion over on his blog in this post, so make sure to check that out too. Like I said, when someone like Miguel speaks, people take notice. Let’s see how this unfolds…