Microsoft: Faces of Windows Server
- Codify and George Patterson Y&R/Wunderman jointly developed the Faces of Windows Server 2008 campaign site for Microsoft globally.
- The campaign was run and deployed across 31 countries.
- The site employs advanced facial recognition and image processing technology.
- A single infrastructure was developed to support the entire global campaign, hosted centrally in Australia .
- The site had complex localisation requirements including support for non-Latin/Roman character sets such as Arabic, Chinese, and Japanese.
- Projected capacity planning required allowance for very high peak loads from large instantaneous demand generation such as e-mail broadcasts or massive newsletter broadcasts sent to Microsoft’s registered customer base.
- The key site features (facial detection, compositing, and morphing) were all very computationally intensive (up to 10-15 seconds per request). This required very careful planning and special architectural considerations.
Microsoft challenged 131 Y&R Brands offices around the globe to develop a campaign for the forthcoming release of Microsoft Windows Server 2008 (also known as “Longhorn”). Y&R Brands Interactive Sydney was chosen to: “Position Windows Server 2008 as the preeminent software choice for all large and small organisations.”
Wunderman responded with the concept for a community based site where members could contribute to a global pool of Windows Server users by uploading photos of their own to form part of an “average face” for their country.
Users would also be able to view a morph animation from their face to the current country average. Finally, the community features of the site would allow customers to search for members who have similar interests and explore the challenges they face in their professional IT roles.
Wunderman called upon Codify for their unique skills in building highly scalable and reliable information systems and their deep experience with Microsoft’s corporate information systems and business processes.
The core development effort for the site launch was completed within a time frame of approximately one calendar month. This would have been an extraordinary achievement for a stand alone marketing site for launch within one geography, however this is practically unheard of for a global campaign of this nature. Codify managed the quality of the software engineering exercise according to a key set of architectural themes.
- Scalable architecture for distributed image processing
- Data services API to support the front-end flash applications
- Ensuring customer data integrity, security, and privacy
- Integration with third party facial recognition technologies
- Administrative workflow and user moderation features
- Localisation API
Customer privacy, data integrity, and security
Customer privacy, data integrity and security are very important goals that, when considered properly, touch every aspect of a project. Failure to consider the entire lifecycle of the customer’s data throughout the campaign together with the organisational, support, and legal requirements for the management of such data is a recipe for disaster.
Codify utilised several proprietary and well hardened frameworks to create a trusted code base for the application that extends not only from the application tier, but all the way through to the data tier. In practical terms this means that every tier of the application is self supporting in preventing customers from seeing or manipulating each other’s data.
Diligent attention to corporate standards has ensured that the application does not function as a rogue store of customer information with no controls in place. The application dovetails into the same information systems that control customer data for all of Microsoft. This means that privacy preference selection made via other channels (a phone call to the call centre or a privacy preference change via an online form at an event) will be reflected in a central store and honoured by the Faces of Windows Server campaign infrastructure.
Despite the very short development cycle, Codify was very careful to comply with all of Microsoft’s internal corporate requirements regarding the handling of customer data.
Scalability for peak loads
Performance under peak load and concurrency are enormously important concepts in global marketing campaigns. It is not uncommon for a large and expensive advertising campaign to be run to create initial demand for a site such as Faces of Windows Server. This money is completely wasted if customers are greeted with server too busy error messages when they answer a call to action.
Microsoft established a design goal of handling a peak load of 200 000 photo submissions in a 48 hour period. It is normally trivial to meet a requirement like this, however in this case the facial detection and image compositing algorithms are extremely resource intensive – 250 megabytes of RAM per thread and up to 20 seconds of CPU usage. It was immediately apparent from these resource requirements that the imaging operations could not be processed in real time on the web application servers.
Codify designed a scalable and asynchronous processing architecture where additional image processing servers could be added very quickly to the pool of workers, irrespective of the requirements of the web servers. The image processing servers were completely stateless and could be turned off or replaced with no detriment to images currently being processed – a neighbouring server would immediately pick up dropped job and process it.
The image processing architecture easily exceeded the customer’s scalability requirements by processing 250 000 detection, composite, and morph operations in 48 hours.
Responsiveness for up to 1 terabyte of data
Just as it is important to consider the stress placed on the user experience by a peak load, it is also important to consider the stress placed on the user experience as the data tier grows. With a planned storage peak of 1 terabyte, this was an important aspect of the site to get right.
Performance is emergent from a carefully planned architecture and careful implementation according to that architecture. Any mistakes made on an architecturally correct but poorly performing component can generally be rectified for minimal cost or effort – however going live with a poorly performing architecture is disasterous.
The application was loaded with significantly more data than the customer’s specified peak load to ensure that both the architecture and implementation would yield the required performance characteristics. The result is that the web servers and database servers function with a nominal CPU loading of <5% during the normal operation of the site.
Quality of facial dection and imaging results
Finally, and perhaps most importantly, is that once the fundamentals are met, the overall output images must be visually pleasing and of a very high standard. The worker processes in the image processing cluster utilised ASP.NET for general image processing and format conversion operations and Betaface for facial recognition, compositing and morphing.
It became apparent early in the development process that special handling of the image data would be required to ensure a high quality final result. The development team found that the country composite images would degrade over time as more faces were added due to artefacts increasing through noise being continually fed back into the composite via the JPEG algorithm. Judicious use of PNG and later a high definition RGB32 colour format resolved this issue for the composite after the substantial increased storage requirements were assessed.
The final images produced by the imaging cluster are run through some filtering and alpha transparency masking during presentation in the client Flash application.
There were several highlights of the site’s usage including high profile events worldwide. Faces of Windows Server photo booths were a key feature of:
- Tech Ed 2007, Australia
- Australian Partner Conference 2007, Australia
- Site launch event, India
- Tech Ed 2007, Japan
- Tech Ed 2007, New Zealand
- Site launch event, Singapore
- Site launch event, South Africa
- Site launch event, Sweden
- Site launch event, United Kingdom
- Tech Ed 2007, United States of America
Australian download figures for Windows Server 2008 Beta 3 exceeded Microsoft’s internal goals by 85%.