Reflections on Tech-Ed 2007 - Part 1

Last week I was at the Tech-Ed 2007 conference, held in Auckland at the SkyCity Convention Centre. It was a great opportunity to be there attending the sessions, exploring the Marketplace and supervising the Hands-On Labs.

For those who don't know, Tech-Ed is a conference organised by Microsoft and sponsored by a host of IT and Systems-related organsiations. The bulk of the conference is devoted to the sessions covering not only Microsoft tools and technologies, but also software development concepts and practices. These sessions are complemented by the hands-on labs, where conference delegates have the opportunity to try out the various technologies. Then there's the Marketplace, which is basically an expo with promotional freebies and prize draws on the side; and of course, the TechFest party on the second night, featuring live entertainment including Evermore.

This year's theme was "Make your mark" - which basically revolved around User Experience (UX). This theme was superbly introduced in the keynote presentation by Lou Carbone of Experience Engineering Inc. and was highlighted in a few of the subsequent sessions throughout the conference. Even though this presentation wasn't directly related to the mechanics of software development, it contained some important points that transfer directly to the higher-level aspects of building software - particularly concerning the fulfilment of user needs and desires.

Firstly, it is worth noting that in general terms, user experience refers to all factors that impact a customer's emotions, attitudes and behaviours, for the entire purchase process from identifying the need to using the product or service. Or as Wikipedia puts it, user experience is "the overall experience and satisfaction a user has when using a product or system" When applied to software, most of the user experience is determined through the prospecting, acquisition, installation and use of the software. That's where the interaction design, functionality, aesthetics and other human factors play their part.

Here are some of the main points:

As software developers, it can be hard to see how these high-level business and marketing concepts apply to creating software, but it is worth being aware of them. For commercial development this is obvious - creating value and good user experiences brings in business that allows developers to be paid, and also enhances the business' / developer's reputation. In open-source projects, creating value makes the software more desirable and entices greater uptake - possibly converting customers from commercial vendors. As for personal projects, you're more likely to use your own software rather than tinker with it endlessly or give up on it.