Caring about UX aspects on a legacy System product — My small journey

I have always been intrigued with user interfaces, technology and even more, with the relationship between people and technology. Anything in the range of HCI steals my heart, unfortunately, it took me a while to realize that and only during the last semester of university I had an opportunity to work on a project with personas, briefly, but I loved it. Since then I started to mature this idea and realized I wanted to work with something related to UX. Well, it is still a journey to get that official role, but I have been walking towards it.

So…After a while tempting to grasp an opportunity to work on a project with strong UX aspects I got an opportunity. If before, I would expect a new a fresh project with the latest technologies and following the current design trends I ended up in a legacy system project.

It seemed scary at first, mainly because my official role was a UI Developer, generic as it sounds.

Since I started the exploration in the UX world I felt like a designer-minded developer and walking onto the direction of UX designer more each day.

I decide to write about my first real adventure in a real UX project as a reflection. So here it goes some insights I took from it:

Legacy system, legacy UX

Firstly, I met the product and play a little bit with it. I found out it was a legacy system, based on an outdated javascript framework. It was a lot of information to grasp at the first, but once you start to learn more about the product you start to feel you are leading somewhere.

Working with a legacy system seems tough, once every designer expects a blank canvas to drill down new ideas, perhaps apply material design and today’s tendencies. But when you have an old system, you started from the, sometimes, underlooked part of the design: functionality. Perhaps the sensation of working with the User Interface of a legacy system is similar to, for some reason, add a new room inside a very old house, you may want to change a lot of it is appearance but you should try to understand its meaning first. The new room can have a new and modern purpose but it would be bad if it was built of a much more fragile material, it could cause damage to other ones or even to whom is going to use it. You want to innovate keeping the legacy alive.

Knowing the technology you know its limitations

I had to get familiar with the code and the understand the expectations I would have as an UI Developer, it turned out it wasn’t only code, which I loved. But still, I needed to know how to turn the mockups into functional, pixel perfect code. Knowing the framework helps you to ground what it can be achieved or not. Sometimes, having someone to design and the code doesn’t work, but I was actually in love with creating solutions and solving the problem as well as caring about the user. For me, frameworks are tools and I see myself as a framework/technology agnostic, but I do really care about the user.

At the begin of a project UX related you miss the background, you don´t have

Well, even though we had some guidelines to follow, defined the tools to use, it still feels like something is missing. When we have business requirements and we want to transfer that fo flows and screens you miss to know more about your user. I didn’t have access to any personas, proto-personas or anything exactly UX related. The existing flows and the requirements where the only supports I had. I think everyone who would impact the experience should have the user in mind. You really don’t know the Why´s, and it would be helpful, this is also a characteristic of old products with big teams, but still, we miss to be in context.

Prototyping is good, you should do it.

I love prototyping and not only at work: paper, text, imagery and of course: code. Anyway, we can show our ideas. It is good.

At work, I would also prototype interfaces which I was actually expecting, but at first, I didn’t know if would be low-level or high-level work. Then I knew I would develop mockups to support decision meetings and had a feeling of how the interface would look like with the new features. The focus was clearly on the flows and how better to address them. I decide to use Balsamiq for the prototype work, it fit well. I had to prototype a lot of flows and Balsamiq makes our work easier when we want fast prototyping and we can abstract visual identity. Furthermore, we can also prototype interactions, it was enough.

Design is not a solitary task, we need people in order to build for people

Being a developer may lead people to think you are in the wrong place if you try to act or even apply UX techniques in your job. They may think you can not accomplish. So, arguing about your decisions am supporting your ideas may be difficult at first, at second, but we get there. Studying is the key, there loads of good books and UX courses online.Furthermore, we should also try to give emphasis to what really matter and explain our ideas clearly and straightforward.

There is still certain resistance with UX yet.

Even though I cared about UX, I was a developer inside a development team. We’ve missed a culture of UX. There are some people who think only a designer should worry about that and also that UI and UX are honey from the same pot. After some time I got used to it and tried to mix the two worlds together: design and development.

Where I arrived?

This journey is not at the end. I am continuously learning more about UX. I had a taste of how it can be beautiful, how I really love the subject.

Users of legacy systems have a culture too, complete with strong attachments to specific features and design elements. Each change has to be weighed against the users’ needs.

Redesigning a legacy app is like an archeological dig, forcing a designer to push the limits of creativity within very specific boundaries — respecting what exists while imagining what can be built.