{'fraction_non_alphanumeric': 0.019625741670470105, 'fraction_numerical': 0.0, 'mean_word_length': 4.908355795148248, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Crafting the Compelling User Experience

This article provides an introduction to the usage of software engineering approaches and tools for the design of user experience (UE). This approach was developed for three main reasons: (a) to provide UE design teams a rigorous, methodical, encompassing method that can be applied throughout the entire product development cycle; (b) to provide designers a way to work with abstract concepts to establish the conceptual design of the system before progressing to the realization of the design to the appropriate platform; and (c) to communicate the intended design to the implementation team in a manner that is concise, complete, and familiar. The approach is the application of Unified Modeling Language concepts to describe users and the UE design rather than the technical architecture. It is believed that designing the UE design separately from the technical architecture will help ensure teams deliver a usable and delightful UE. The methods in this article have been applied to a handful of real-world projects in the last year and a half. Thus far, the application of software engineering approaches and tools have been found to be very powerful aids that have enabled the creation of highly useful Web experiences as well as software applications. Our intent is to address the full gamut of issues involved in creating a total user experience (UE)-from discovery of users needs through high-level and low-level design, ensuring fidelity during development, and deployment, with a full assessment of how well the design meets users' needs. We believe that through a concerted use of such a rigorous approach we can greatly improve not only the UE of products we create, but also the experience of designing and developing them. We are not the only team taking this direction in UE design. It has become clear to many in our field that a more rigorous, thorough, and accurate approach to UE design is not only possible-it is necessary, for many of the same reasons that software engineers long ago embraced such practices. As we are evolving our approaches in other phases, this article focuses on the discovery and design phase activities.