QCon

posted Sat, 24 Mar 2007 16:18:00 GMT by Jonas Bengtsson

Last week I went to QCon, an enterprise software development conference here in London organized by InfoQ.com and JAOO. And I must say they did a pretty good job.

One of the best performed talks was Ian Griffiths’s talk about Windows Presentation Foundation: Not Just a Pretty Face. He managed to present WPF with a lot of passion, but still in a way that clearly described the concepts, and managed to squeeze a lot of meat into his 60 minutes.

One of the most thought-provoking talks was Erik Meijer’s keynote Democratizing The Cloud. I had the pleasure to attend one of his tutorials a year ago about Haskell, functional programming languages and LINQ, so I knew what to expect. The basic idea was to “make irreversible decisions at the last resposible moment”—you shouldn’t have to choose the platform upfront. Instead you should be able to start with a simple single-tier, console based, application, and then refactor to a multi-tier web based application. I’m not sure exactly of all the parts that’s needed for this to happen, but compiling .NET code/CIL to JavaScript/HTML (JavaScript being the “ultimate universal runtime”) and providing better support for distributed computing seems to be two parts of the puzzle. There are a lot more to be said about this talk, but I won’t go into it right now.

The talk that made me take most notes was Jim Coplien’s talk about From Design Practice to Code. The talk was about how software design is crucial for usability. He talked about the direct manipulation metaphor, how designing software from use cases creates poor usability. I think he advocated domain driven design, to create long standing domain object, and then create tools above the domains (that’s where usability aspects apply, since the tools should reflect the user’s model of the workflow) that integrate across the domains. Basically, there should be four layers, a view layer, a business layer (tools/business objects), a domain layer (domain objects), and an infrastructure layer (common objects). By separating the layers you should get humane UIs. I’m not entirely convinced by everything Jim said, and his conclusions, but I have some digestion to do.

It was also nice to see heavy-weights like Martin Fowler, Dave Thomas, and Jeff Sutherland. On the second day I went to all the Agile Foundations talks and it was refreshing to hear the basics of agile again.

After the last day my brain was on overdrive, probably due to exhaustion and sugar overdosing, so I wandered aimlessly back and forth on South Bank for an hour or two. After a while things that I’ve been working on for the last couple of months fell into place, I was able to see the bigger picture and realized several changes that are needed (disclaimer: it might have been the sugar talking). So for me the conference was totally worth the time and effort.

Comments

  1. Avatar Peter Lindberg said about 16 hours later:
    How is the business layer different from the domain layer? And where do the controllers belong, in the view layer?