10 learnings in 10 years
That help UX designers in making sure that UX is done right by the developers
I have been designing digital experiences for almost a decade now. A large part of that required working closely with developers to make sure that the intended vision and user experience eventually reflects in the final product. During these years, I worked with different developers that possess almost all levels of expertise, right from entry level fresh graduates to super senior rockstar coders. Not only that, I have been fortunate to have worked with developers from diverse cultural backgrounds and geographical regions (makes you wonder how is this relevant, doesn’t it?).
My journey of teaming up (or designing) with developers started in the summer of 2006 while working with Mads Clausen Institute of University of Southern Denmark during my undergrad internship. While I was designing user interface concepts for an application that is used by field technicians to configure supermarket refrigeration sites, I had to continually understand and investigate aspects such as feasibility and how well UX is understood by the software developers (majority Danish). Some unlikely design concepts at the beginning of the engagement produced learnings that led the way towards a few successful designs in the end.
User testing session with engineers at a refrigeration site (Denmark, 2006)
Fast forwarding to few years in full-time employment. At SAS Institute, I got the opportunity to work quite closely with American, Chinese and Indian developers while designing a range of industry-leading software solutions in the realm of business analytics and intelligence. A large part of this engagement at SAS was on remote basis which presented some exciting challenges to tackle. With the team in Beijing (China), trials got even more interesting when communication aspects played a significant role. The question is how do you communicate design if ‘design’ is the only language you can use for communication?
UX workshop with development teams in Beijing, 2013
In my current job (with HUED, a leading Innovation and Design consulting firm based in Riyadh, Saudi Arabia), I have had the opportunity to work with developers from different parts of the Arab world (Egypt, Jordan, Saudi Arabia to name a few). It’s been a remarkably exciting journey so far with many takeaways worth sharing.
Over the years, as a designer and as an eager beaver, I could manage to learn enough ways to overcome cultural, lingual and lack of general UX know-how related challenges. Some of these novel methods practiced during the engagement yielded positive results while others failed.
In this article, I have tried to sum up all the decade-long experience of working with developers from extremely varied backgrounds in 10 key learnings ordered chronologically.
1. Interactions must be thoughtfully “designed”
Web app development team, India
10 years back, the idea that all possible user interactions can be designed without writing a single line of code was evolving.
I was already into almost a year of working with tech team of Brijj.com, back then a community based professional networking portal trying to compete with rival entrant in the Indian market, Linkedin.com.
Let’s talk about interactions now. A common misconception about interactions is that developers can tacitly understand the functioning by merely looking at how “static screens” are linked. Back then the idea that a single page can have several states and technologies like AJAX can help designers conceive creative state-based, in-page interactions was somewhat coming to existence. Even today, not many designers are on board with the idea that every little nuance that goes “undesigned” hence “unSPECed” leaves enough room for the tech guy to misinterpret expected behavior. I realized the value behind all the blood and sweat that went into designing every possible interaction in the “UX” phase. Soon, the tech team found themeselves talking to different product divisions and evangelizing the importance behind thoughtful IxD.
Snapshot of interactive prototype of professional networking portal mentioned above (2007)
2. Coding logic is as much a designer’s game as a developer’s (2009)
Enterprise platform development teams in India
Writing code is a fraction of any puzzle-solving, that occurs only towards the end.
Designing complex platform-level tools and sub-systems that do not necessarily qualify to be referred an end-user experience on their own could require a lot more use of the left brain than one may imagine. These sub-systems are often part of the holistic enterprise level app experience. The challenge here is most of the functioning of these sub-systems is left for the product team to imagine, make calculated guesses and inform thinking via second hand, tacit sources since technically there would be no end user of these components.
So when it comes to “imagining” rather complex scenarios of how the end user might experience with this particular component or a sub-system, in a holistic app experience, UXers should find themselves as much abled as the rest of the tech team. In one such project (design of a “Software Bugs Tracking and Reporting System”), I got the opportunity to get myself involved in initial if/else and all sorts of analysis much much before discussion for possible user interface started. Those early “logic” discovery sessions turned out to be a tremendously fulfilling experience. Which made me realize that the habit of always thinking about the end user that designers cultivate over the years makes them analytically very strong to discover patterns that sometimes tech team may not find instantly capable of.