It’s good to finally see “Smart Clients: Essential Requirements and Candidate Services” published on MSDN.
This article was something I helped craft when the Microsoft Architect Advisory Board was active. As the article states, MAAB has been retired and many, if not all, MAAB members are now Solution Architect MVPs.
One important name not listed in the acknowledgements is Jon Tobey. Jon took the collaborative work of a group of architects and clarified it into something more publicly consumable. As you might imagine, this was not an easy job–my colleague Greg Poirier characterized it as follows: “herding us like a bunch of alley cats to the finish line.” Thanks, Jon.
And thanks to all my fellow Smart Client Architecture Working Group teammates. Cheers!
[See also Architecture in a Priory.]
Over the past five months or so, the Smart Client Architectures working group of the Microsoft Architect Advisory Board (MAAB) (whew, that’s a mouth full) has met regularly to produce a reference model that is currently planned to outline a set of content that will map business needs to solutions enabled via smart client architecture. During this year’s (fourth) Microsoft Strategic Architect Forum (SAF) in Redmond, WA, we were able to present an overview of our progress to architects in attendance. It was encouraging to see the alignment between our work and our audience. A majority of interactive breakout sessions during SAF focused on concerns being addressed by our work (e.g. contextual integrity and transmission (aka references and relationships), simplified smart client production and potential expression as a software factory, etc.). Exciting times ahead!
It was nice to finally meet Rocky Lhotka in person. Shortly after our first working group meeting in May, Rocky joined the effort to advance smart client architectures. Anyway, we met up toward the tail end of the SAF–before the start of the MAAB meetings. One of the things I enjoy about blogging is the opportunity to gain another’s insight into a shared experience. For example, Rocky and I sat next to each other as Pat Helland presented another segment of his Metropolis series of talks (e.g. here is the presentation by Pat that shaped last year’s SAF). (Rocky blogs about it here.) What struck me at the time is the incredible value I receive when someone like Pat takes a hard look at history, correlates it to the present and suggest how to anticipate what’s to come–both opportunities and challenges. (It was also a treat to hear Pat’s lovely rendition of Mr. CIO Guy.)
Hopefully Microsoft will publish a MAAB page soon where you can gain addition insight into the makeup and focus of this group of architects. Ideally it will be a fairly collaborative area that allows you to interact with us (e.g. share your perspective; discover other feeds on architecture; etc.). Once Harry Pierson and team return from OOPSLA–wish I was there!!–look for these and other developments in the architecture space.
Earlier this week, I was in Redhill, UK at Nutfield Priory as a member of the Microsoft Architect Advisory Board (MAAB). Five focus groups spent two full, intense days at the Nutfield Priory collaborating on issues facing architects today. My group spent its time on Smart Client Architectures, and it was surprising how quickly the members of this group–the largest of the five–reached consensus on common vision of making it easier to build smart clients, which are admittedly hard to build today. Unlike some of the other areas focused upon by MAAB members this past week, which are five, even ten years out in their realization/implementation, smart clients are here today, driven by the growing demands of information workers, IT administrators, and software development staff.
David Hill joined our group as the representative architect from Microsoft. His suggestion that smart clients are rich clients done right resonated. Easily the most important feature to deliver in smart clients is deployment. Smart clients must be easy to deploy; if they aren’t the whole sell is a complete non-starter. However, deployment is not a one-time event; it’s a process. The process begins upon initial installation of software and continues throughout the life of the software and the role of the user.
Unfortunately there tends to be a default reaction when a new application is required in the enterprise–build a thin client (browser-based application). Not all user experiences are meant for the web, though. While this may seem like an obvious statement, it’s clear that today’™s businesses knowingly and, worse yet, unknowingly sacrifice the productivity of their employees, partners and customers to the web. Do you need to work in your application offline? Without a network connection, the web disappears; so does the ability to do critical business that may be transacted on cached data. Is the responsiveness and richness of your application critical to decision making and support? What if the available network has only low bandwidth and/or high latency; will your users perceive your software, your service, your brand in the same manner as if there were high bandwidth and little latency? Will sales be lost, will collaboration cease, and will customer satisfaction drip away?
To be clear, our work has just begun on this important facet of architecture. The roadmap will be incremental. Be looking for material to be published by this focus group, and by the MAAB in general. Keep an eye, for example, on the following resources:
I’m looking forward to contributing to smart client architectures as a member of the Microsoft Architect Advisory Board (MAAB). We have a meeting coming up in early May where this will be a focus. Hopefully we’ll have some material to publish and present more publicly thereafter. In the meantime, there is value in the following resources on the subject of smart clients:
- David Hill weighed in on the definition and makeup of smart clients (also here on his blog). Chris Anderson summarizes David’s original post.
- On 2/27/2004, the Smart Client Offline Application Block was released (announcement). This block is well-accompanied by David Hill’s article. On 1/27/2004, David gave an overview webcast on this subject, too, with Brenton Webster; he also points out a case study on a medical diagnosis smart client application.
- Naveen Yajaman posted his slide deck and demo code from the Smart Client Offline Application Block webcast he presented on 3/25/2004.
- The deployment section on windowsforms.net lists several resources worth mentioning as follows: Updater Application Block (pull-based, BITS-by-default solution)(6/27/2003), .NET Application Updater Component (reference; WebDAV, not BITS, solution)(5/5/2003) and Write Auto-Updating Apps with .NET and the Background Intelligent Transfer Service (BITS) API (Feb-2003).
- David Hill answers some questions (e.g. smart clients and no-touch deployment (NTD)) he received as feedback to his post, above, here and here. Jon Udell warns not to give up on NTD, which is here today, by waiting for ClickOnce. If you’re already actively developing with the current Visual Studio 2005 Whidbey Technology Preview, though, the April 2004 issue of MSDN Magazine features an article on ClickOnce by Brian Noyes that was recently posted online.
- GDN features a workspace for releases related to smart clients here.
7/12/2004 update: more smart client resources: