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: