Originally Created: 2005-05-14

I'm not a UI design guru but I can surely recognize a good thing when I see it! Whether you're an architect or developer the CAB from MS patterns & practices will certainly interest you. To quote from Eugenio Pace's blog entry on this subject:

  • The architect, would use CAB to build the reusable infrastructure and define the common [UI] services to be used by all applications
  • The solution developer would develop SmartParts [composable UI parts] that could be used anywhere
  • The solution assembler would create an instance of an app composing SmartParts and maybe some "glue" code

Combine this stuff with the Guidance Automation Toolkit and the various Smart Client initiatives (like Offline App Block and Updater App Block, see EntLib) and I think you can see lots of really flexible UI development possibilities starting to emerge. Furthermore, with Indigo's support for peer-to-peer channels and duplex communications, the notion of treating "users as services" doesn't appear to be so far-fetched after all! Think about it... if UI can be easily custom-composed (using CAB of course) based on a particular message exchange semantic and the task in context, then applications can be built that will really merge users into the message-based and service-oriented world. Ron Jacobs, Clemens Vasters and I had a little discussion about this recently (April 21, 2005).