« Research Pipeline | Main | Floating-Pointing Numbers »

August 03, 2006

Miguel and Avalon

Joe Beda has a post “Avalon marks the end of the American Dream,” quoting Miguel de Icaza in the latter’s post “A J2EE Moment of Zen:”

Avalon is the J2EE of GUI APIs.

Miguel’s post originated from a conversation I had with him yesterday at the Lang.NET Symposium. It seems weird to see the remnants of that conversation immortalized on the web. (I also feel bad for Sun that the term for their technology, J2EE, has acquired an unflattering second meaning; even the Sun rep at the symposium, humorously remarked that he actually worked for J2SE, not J2EE.)

I had watched Miguel’s talk on Tuesday on the “Mono” project. He’s an entertaining speaker, who detail the history and purpose of the Mono mission (which, by the way, includes taking over the world.)

I introduced myself to Miguel, telling him, “oh, I wanted to meet with you.” I then reminded him of our brief prior intercourse in cyberspace. He seemed confused. I pointed to his critique of Longhorn changes, especially involving complexities found within Avalon. The post made Slashdot and instantly brought traffic by way of Chris Anderson to my blog post on XAML and Standards. I followed up with a blog post “Avalon Throwaway” to which Miguel responded in a comment.

I brought up the question of frameworks. I used to be an admirer of Java’s framework, particularly with the collection classes, which seemingly was better designed the the original v1.0 collections namespace in .NET. Maybe I had an inherent biased towards APIs that originate from academic circles. I, however, lost any admiration after the birth of J2EE when Java went enterprise. Miguel didn’t think much of J2EE either.

I did mention my disenchantment with the MVC paradigm, and my movement to a more persistent framework. Miguel said that he wasn’t familiar enough with functional programming to provide an answer.

I asked him then about his opinions on various frameworks, first with Avalon, since our past communication was linked together by posts we had each written about Avalon.

ME: What do you think about Avalon?
MIGUEL: It’s the same thing. It’s the J2EE of GUI APIs.

I was taken aback. I remarked well there were two versions of Avalon, and I agree the first one was absolutely complex, but that I thought Avalon was headed in the right direction. The model was more declarative and include markup support; it was relatively simple and easy to construct a user interface.

Miguel then came up with a counterexample. He talked about the lengthy inheritance chain. Despite that complexity, Avalon doesn’t have a tree control; one has to fake a tree view through a list control. My unstated opinion on the matter is resource constraints. There is only a limited amount of work that can go into version 1, but future versions will probably make that a priority.

I asked him about future support for Avalon in Mono. Unfortunately, Miguel said no way; he just wasn’t ready to waste time on an overcomplicated user interface framework. I asked him if he had seen any Avalon demos; he indicated he had seen many, but he didn’t seem impressed.

I went through various frameworks in the Macintosh and UNIX world like NextStep, Cocoa, and Motif. It just seemed like he didn’t like any framework. Now, what about WinForms, which is currently being implemented in the Mono project. Obviously, it’s worthy for his consideration; he doesn’t consider WinForms a framework, merely just a “wrapper” for a Win32 API.

“Well, Is there a framework that you do like?” I asked. “No, not yet,” he replies. I pretty sure that he wasn’t actually including the user-interface toolkit GTK, because he touted some of its benefits over WinForms such as dialog layout.

Throughout the Mono presentation, I was dazzled by the animations and 3D effects of his desktop environment with the realization that both the Linux and the Mac world had left Windows behind with Vista struggling just to catch up. [Here are sample videos of all 3 OSes in actions.] I asked him what desktop environment he was using in the presentation. He said Gnome, and that he heads the Gnome Project. It was like a double whammy. First, the environment is so cool, and, second, that I am talking to its creator.

It was wonderful to meet and talk with him. It’s nice to meet a celebrity.

I did meet about four people who wanted to greet me in the conference. One time, I was busy typing away at my computer. A guy jumps into the seat in front of my view, who wanted to meet me. I don’t know why; what have I actually done in my life?

GUY: Oh, I wanted to meet you (just as I had greeted Miguel.) I am Stephen Lees. I commented in your blog once.
ME: When?
GUY: It was about LINQ.
ME: I don’t really recall your name. Who are you?
GUY: I am the Group Program Manager of the VB team.

My memory started to rejiggle a bit. I did recall a PM from the VB team, asking for my thoughts… and I actually referred to him by name in my blog post “Late Binding Suggestions for VB 9.”

Sometimes, I think no one reads my blogs, based on the number of comments I get compared to what Jeff Atwood or Rory Blythe achieve on a regular basis, but then their posts are also more approachable than mine. Then, I surprised whenever I go to a conference, I find that people staring at my name badge and responding, “oh, I read your blog.”


"Oh, I read your blog" :)

Had I the ability to go to the conference, you'd see me doing the same thing.

Blogs surely differ wildly in their #comments-to-#readers-ratio.

I don't think I've commented on your blog before, but I've nevertheless been a pretty faithful shadow reader since I first stumbled upon "Strings UNDOCUMENTED" a couple of years ago. I've been reading Rory's blog (and Jeff's for that matter) for approximately as long, commenting quite a bit at times. I guess it's just much easier to do; commenting Rory's blog I just try to show off a bit of wit, on your blog I'd feel - as I do now - a slightly annoying pressure to be very clever. I wouldn't say it's intimidating - it's not - but it stops me from typing a quick comment, to be sure.

I'm guessing Rory is quite a lot more approachable and social than you are "in real life" as well, so there shouldn't really be any surprises here. I hope you understand that I'm not trying to put you down in any way, it's just the way things are, isn't it? Your respective personalities, which show clearly through your blogs (and thus make them readable and enjoyable), are very different, and diversity is always a good thing. I wouldn't want to read duplicate blogs written by either one of you - one of each suits me much better.

And now, if you'll excuse me, I'll slip back into the shadows.

I've been a long time reader, commented a few times, and must add that I've heard your blog mentioned by speakers several times. Your blog was even mentioned on Hanselminutes (in Scott's top N favorite blogs show.)

Actually, I think there's more respect out there for you than you realize. Your blog is definitely one of the ones I always look forward to reading, because I love AI and wish I understood it better, but just have never had the time.

Don't underestimate the power of lurkers! ;-)

Miguel is the current leader ("manager?") of GNOME, not it's "creator". That would be the scores of volunteers, companies and projects who contribute to it.

And what were Miguel's comments on NEXTSTEP, Cocoa and Motif?

Just on a point of information, WPF *does* have a tree view control. It's called TreeView.

(The fact that it is also possible to construct one using other parts of WPF is remarkable. But you're not actually required to do that.)

TreeView came along ages ago. This suggests Miguel is way out of date, and hasn't looked at WPF any time recently.

I agree with the other posters; comments don't always indicate readership. I can post something controversial on my blog and get 50-100 comments; or post something that doesn't induce a lot of emotion and get few comments.

Your blog, Wes, is something I always look forward to. You post a lot of interesting stuff: functional programming ideas, insider information from MS, interesting AI ideas, and of course the occassional post on NStatic. Good stuff, keep it coming. :)

Yeah, I too visit your blog every other weekly although your name keeps slipping out of my head. Oy. Life in the 21st century. LOL.

His views on the other frameworks, David, was that he wasn't too familiar with any of them.

The comments to this entry are closed.