• Skip to primary navigation
  • Skip to main content
  • Skip to primary sidebar

UXwanabe

Learn the softskill of UX and grow your design career

  • Home
  • Blog
  • Podcast
  • About

Tim Chan

2019 The Year of Taking Control

January 4, 2019 by Tim Chan

This is the second of my yearly review posts. I want to actively assess my life rather than just watching years slip by. Last year’s post: 2017 in review

2018’s goal

A quick recap on the goal I set up for last year

1 Find a new job — Update portfolio, actively looking for jobs/ natural networking, prepare interview questions. DONE! This is one of the greatest success in my goals, as I have been able to obtain a UX manager title and have a considerable increase in salary.

2 Gain a six pack — Work out 3 times/week, hire personal trainer. FAILED. This went extremely poorly, as I stopped working out and actually got a bigger belly 🙁

3 Have at least 8 hours of sleep, every day — Set up alarm clock at 23:00. Make myself accountable and have to lose something if I didn’t meet this goal. FAILED. This had a cascading effect on my health and relationship on people around me. As I constantly stay up late at night, I was unable to give 100% focus when I hangout with friends and in multiple occasions a lost my temper and had fights with my girlfriend.

4 Publish 12 articles — Set up schedule on calendar to publish every month.FAILED. I have only published 2 articles in 2018. I actually wrote a lot of articles and they all sit in the backlog. My writing was a little bit all over the place and I weren’t able to complete any of them.

5 Make 24 Origami models — Set up Origami time on my calendar. FAILED. I had set up systems to remind myself to create origami, but ultimately I created 0 this year.

6 Start a UX teaching course.FAILED. I did not complete any steps that would put me in a position to teach others about UX.

Reflection

Last year, I made 6 commitments at the start of the year, but I only followed through on 1 of them. I believe the main reason is that there is a lack of focus on the goals, they seem scattered and it seems like there is no strong reason for achieving them, it just made me felt good by writing them down.

This year, I’m setting 4 goals— but each goal are carefully picked to help me achieve a bigger goal, a big piture, a theme, and the theme for this year is:

The year of Taking control

I am going to implement 3 mechanism that will help me take . They are:

  • Do things NOW — This means that whenever there is something I want to do, I will sit done and set up systems that will make sure I will do it
  • Deadlines — Everything must have a deadline to avoid procrastination
  • Focus on ONE thing at a time — Distraction is the main reason that cause me to unable to finish a task.

Goals for 2019

  1. Gain a six pack — Gain control back to the shape of my body. I will start off by going to the gym 2 times a week, then slowly move to 3 times a week. I will commit to run at least 1 time a week.
  2. Have at least 8 hours of sleep everyday— Gain control back to my health and temper. I will start off my turning off my lights at 12pm, then slowly move on to 11pm.
  3. Publish 12 articles —Gain control back to something I committed. I felt a lost of control when I spend so much time writing but is unable to finish my articles. I plan to publish articles every month even NO MATTER WHAT. I will aim for consistency over quality and building a writing habit. I will do so by setting a weekly reminder to allocate time for writing,
  4. Create 2 side projects — Gain control back to something I wanted to do, and had said I wanted to do it, but is unable to follow through. I will allocate 3 hours per week to work on my side projects
  5. Bonus: Publish rabbit comic every week — This is a side goal that I enjoy doing on the side, and I hope I feel passionate continue doing it.

Filed Under: Personal Tagged With: New Year Resolution, Resolutions

2017 in Review

January 3, 2019 by Tim Chan

Another year complete. Time for a year in review post! This is the first of what I hope to be many review posts. I want to actively assess my life rather than just watching years slip by.

What Went Well

Health

I signed up from a gym member ship this year and I have been consistently going to gym 2 times a week. It is a good thing that it has now become part of my life and stuck as a hobby.

Gym 2 time/week @ Tue/Thur

Relationship

I am involved in a romantic relationship this year. My girl friend and I are currently been together for 9 months and is currently very stable. I consider having a healthy relationship as part of my Tripod of stability (Health, Relationship, Work), without those, I cannot pursue something greater.

Travel

This year, I went to Japan with my girl friend. This is the first time I plan a trip without my parents help. I enjoyed the time in Japan and I learned a great deal about what my GF likes and dislike, I believe this trip and strengthen our understanding with each other.

Finance Automation

I finally got my finance automated. It might come as a shock to someone that I did not hold a credit card under my name as I was 26 of age. The truth is I have been procrastinating about this since I was 21. The effect it has on me has been daunting. Liberating would not be enough to describe how I feel to finally did something that I should have done long time ago. Here is what I did:

  1. Set up credit card.
  2. Set up auto-pay for credit card.
  3. Set up auto-pay for Octopus.
  4. Set up auto saving account.

Writing

This year, I have published 3 articles on Medium that got quite a few attentions from the readers. I spent a lot of effort to write those articles and I consider them high quality. I am happy that someone actually read it, gave comments and liked my post, that made me feel happy and I am actually more motivated to write more this year.

Cooking

This is a great year for cooking. I started to take my cooking passion more seriously and committed to cook twice per week. The arrangement of aligning when the house maid is off (such that no one will cook at home) and my cooking schedule made it harder for me to slack off. I also met someone from the card game I played who happened to be a cook. I should consider asking for guidance from him from time to time.

What Did Not Go Well

You will see that a lot of things that didn’t go well is overlapped with things that go well, as I see there is always areas that I can do better if I push myself harder. This is the only way to be a top performer and become world class in my life.

Health

I have been staying up too late at night, for more than I wanted. I am most efficient when I get at least 8 hours of sleep and my current sleeping habit fails to achieve my goal.

Writing

In this year I have only published 6 articles. Far less than the ideal goal of 2 articles per week, and is only slightly better than last year’s 5 articles. The truth is that I had a lot of articles that I started in my backlog, but I lacked the discipline to finish them. Good things is that I do receive some positive responds from my reader.

This would be something I would continue to improve this year. I aim to double the amount of articles I published.

Origami

This was a poor year for Origami. I only created 2 turtle when my girl friend is around. When I look back I believe the reason for this is because I didn’t delegate specific time for this hobby. I should put origami as part of my calendar if I want to continue to pursuit this passion.

Work

Non of my goals of increasing salary nor getting a promotion has been met. To be honest I felt a little bit set back by the fact that the work I did was’t being valued.

I no longer feel passionate about going to work. Everyday I feel frustrated, annoyed and sometimes angry. The truth is, I have already decided that I wanted to move on, so whether I can reach my goal was more as a pride than something I really want.

On a plus side, I did learn a great deal of how to run projects and how to apply design principles in my work. I have been growing a lot in terms of design, and I do hope that the knowledge I have acquired is going to help me to find a job that I would enjoy.

Goals for 2018

  1. Find a new job — Update portfolio, actively looking for jobs/ natural networking, prepare interview questions.
  2. Gain a six pack —Work out 3 times/week, hire personal trainer.
  3. Have at least 8 hours of sleep, every day — Set up alarm clock at 23:00. Make myself accountable and have to lose something if I didn’t meet this goal.
  4. Publish 12 articles — Set up schedule on calendar to publish every month.
  5. Make 24 Origami models — Set up Origami time on my calendar.
  6. Start a UX teaching business — Go through ZTL course.

Filed Under: Personal Tagged With: New Year Resolution, Resolutions

Designing bank’s money transaction UI

December 24, 2018 by Tim Chan

A while ago I worked on a redesign project of a banking website. One area of the website in particular has caught my attention. Here is what it looks like:

This is a money transaction form, the purpose of it is to allow users to transfer money to another party. First you select which account you want to transfer your money from, then to whom and how much. Finally, you select when you want to send it, which the bank calls it the Transfer schedule.

Transfer schedule comes with 3 options:

  • Now
  • Transfer on [-Specific date-]
  • Monthly transfer on every [-Date-] from [-Month-] to [-Month-]

The first 2 options seems pretty straightforward. If you want to transfer money, you can either do it now or do it later (i.e. on another date). However, the third option feels weird to me on first glance. I couldn’t say why until I put in some dummy dates and read it aloud:

I want to “Money transfer on every 5th between August and December”.

This statement is logically correct and I understand what it means. However, something doesn’t feel right. Why?

Because nobody talks like that.

This is why this form sounds weird when you read it. It slows me down and let me wonder “What does this option mean?”

I decided to fix this.

Why does this matter

You might wonder why does this matter? Can’t user figure things out eventually?

You are probably right. Users probably can figure things out on their own if you give them enough time. The thing is, this kind of things adds up, when people say a website or an app is hard to use, most of the time they are not referring to one particular feature, but with all the tiny annoyances or inconveniences such as the above example as they experienced it.

Users are here to get things done, they want to come in, do what they want to do, get out and get on with their life. Our job is to translate what the business needs into an interface that users understands, such that they can input what is needed, and get on with whatever that they wanted to do.

Lets see how we can make our user’s life a little bit easier this time.

The approach

When it comes to transaction, there are only 2 things the bank needs to know.

  1. The date
  2. Whether you want to repeat the transaction. If so, until when.

One trick I like to use is to imagine how things would happen in real-life. This helps to design the form in way that it feels more like a natural conversation. Lets say we are having a conversation with the clerk at the counter. The conversation probably goes like this:

Hi there, what do you want to do? — I want to transfer money.

How much? — $1000.

To where? — This account.

When do you want to do it? — 5th August.

Anything else? — Yes, I want to repeat the transaction until December.

The redesign

Here is my updated version on the “When” part.

Couple things is happening here. First, I added an option where users can quickly select the date of Today since it covers a majority of the use-case. Second, I added a simple checkbox that says “Repeat monthly”, once checked, it reveals another drop-down where user can select the end of the monthly repeated cycle.

The last part of the money transfer conversation becomes:

When do you want to do it? — 5th August.

Make this a monthly transaction? — Yes, until December.

Doesn’t this sound better? Feel free to comment and let me know what you think!

Filed Under: Case study Tagged With: Design, User Experience, User Experience Design

How to design for constrains

September 3, 2018 by Tim Chan

A case study on designing loading state

I like to consider design as a spectrum. On the left hand side, you have the Minimal Viable Product (MVP), the absolute bare minimum you can do to ship the product. On the other end, you have the Dream UX design, where I define it as the “If I have infinite time and resources this is what will I do” kind of design.

The challenge for every designers is to push their design towards the right hand side as much as possible while considering about the constrains. In a company, this typically means time and resources. How one can embrace this constrain and thrive in this environment is what separates novice and seasoned designers.

In today’s article, I want to walk you through how I designed loading states for Vyond, a start up I previously worked for. Where we slowly tweak our designs based on different constrains and finally coming up with something that strikes the balance between UX and available resources. Lets get right into it.

Background

When we were redesigning the Vyond product the Video Maker a year ago, we took a lot of shortcuts to hit the schedule. As a result, we didn’t create any loading states and is causing some frustrations to our users. Now that we have time, we decided to fix this.

Why is loading state important?

Loading states is a way for a system to tell users that it has received their command and is now working to make things happen for them. Without a loading state as a feedback, users won’t know what is going on and it violates one of the top 10 principles of usability design — Lost of control.

Understanding the problem — Talking to Engineers

To create good loading states, first we need to understand how things are loaded in the back-end. At this stage, you basically ask 2 questions:

  1. Can it be done?
  2. If yes, at what cost?

Here is an example, in the below UI, we are going to display a row of templates for the customer to use. We want items to load one by one from left to right. Can it be done? The short answer is yes. However, developer told us that there is no way to control which item to load first because items comes with different file size, and they will appear as soon as they are rendered. Which means item 3 might show up before item 1 if the file size is smaller.

← Expectation: we want items to load from Left to Right | Reality: items shows up in whatever order they want depending on its size→

The only way to load item from left to right visually is to wait for all items to finish loading, then displaying them one by one from left to right. This means users will spend more time waiting and staring at the blank state. This goes against one of the purpose of the loading state, which is to mask waiting time!

The importance of talking to Engineers

As you can see from the example above, understanding whether our ideas is feasible up front saves us time from designing something that will never see the light, and we can spend our time to focus on something that can actually work.

Another important thing from this exercise is helps us to have a better understanding roughly how long each component will load, so we can design appropriate on each scenario.

In case you are curious, for the above example, we decided to use skeleton loading in the end to help mask loading time.

Continue iteration

Let me show you another example. In the below UI, when user clicks an item from the left panel, the item will show up on the blank area on the right hand side.

Here is how the interaction works:

  1. Click an item from the Library.
  2. After a short loading time, the item is shown on the Stage.

Originally when you click an item, nothing happens. You will be staring at a blank canvas for 2 seconds before the item finishes loading and pop up. The delay and lack of feedback makes user feel the system is not responsive and triggers user to repeat their action. Which causes user to add multiple items unintentionally, and they have to wait even longer.

The Dream UX vs Reality

To approach this task, lets start with the dream UX, the holy-grail:

In an ideal world, when you click an item, item is shown immediately on the blank area.

This is what The Dream UX looks like, zero loading time!

Of course in the real world, items can’t appear instantly because it takes time to load them, but I don’t take “impossible” for an answer until it was proven, so I decided to ask the question:

Is it possible to render items immediately when we click on it?

The answer is yes…with a cost. Item takes time to load, if we want to have the appearance that items is shown immediately when we click on it, we have to preload the items in the backend. It is similar to when you download a big file, you decided to browse Facebook for the duration. Since you are preoccupied, you have the perception that you are not waiting for it to download, but the file is still taking its time behind the scene.

To achieve the “immediate response” effect, we need to “hide” the preload time somewhere such that users don’t feel like they are waiting for us. When user enters the Vyond app, we show them a loading screen before the app is fully loaded. Can we add this loading time to the loading screen?

Loading screen for Vyond’s Video Maker app

Yes we can! This is how we imagined the flow would look like, after the “Item loading” time has been absorbed by the “App loading” time:

The Item loading time is absorbed by the app loading time

Here is the catch, we have more than 20,000 items in our library. If we preload all these contents in the loading screen, this will take us more than 5 minutes. That’s quite a long time to wait, compared to the time to loading an item which only takes about 2–3 seconds.

Expectation vs Reality. Putting Item loading time into App loading time actually makes loading longer

Someone on our team suggested that can we preload only the items “above the fold” — items that are visible to users without them scrolling. The problem is that having instant access to those items doesn’t help us to achieve our goal of having 0 loading time, since this approach only benefit only roughly 100 items that is above the fold.

This is a time for us to pause and ask ourselves the big question —Is it worth to keep thinking about this direction?

As product designers, it is always important to keep asking yourself this question. Because you always have limited resources and a lot of problems to tackle, spending more time on this problem means you will spend less time on another problem.

In the end, we decided that we have tried our best for this 0 loading time direction and it didn’t work. Let’s find another way.

Building the gap

OK so we can’t show items instantly on the canvas, but we can try to do other tricks to mask the loading time. Below are some ideas:

Idea 1 — Real size selection box

  • When user selects an item, show its selection box but without the item inside it, the selection box has the same size as the item the user selected.
  • Display the real item when it finishes loading

What I like about this idea — It is clear that the item is loading and it helps to mask loading time

Why this idea does not work — Showing a real size selection box requires the server to load the size data of the item, this means until it can get that data, users are still staring at a blank screen and the loading time remains unchanged.

Idea 2 — Fake selection box

  • When user selects an asset, show a fake selection box. The fake selection does not represent the size of the Real item.
  • The fake box is replaced by the actual item when it finishes loading.

What I like about this idea — It gives instant feedback that the item is loading.

Why I don’t like this idea — After all, the selection box is fake and does not represent the actual size of the item being selected.

Idea 3 — Thumbnail images

When user selects an asset, show its thumbnail. Thumbnail is replaced by the real asset when it finishes loading.

What I like about this idea — It gives instant feedback and gives users a preview of the real thing as early as possible.

Why this idea was shut down — This idea seems really good on paper, however when I took this idea to the development team, I was told it would take more time to code it then we had planned. Which brings me back to the topic of this article — How to design under constrains.

Design is about trade offs. On one hand, we have and ideal solution that might deliver 90% of value to the user, but it will take 5 days to code. On the order hand, we have an Okay idea that will deliver 70% of value to the user, and takes 1 day to code.

In our case, time is limited, so we have to choose what is the best design within the constrain. Not what is the best design.

Making a choice

In the end, we went for Idea 2. We chose a box size that represents 80% of all item’s size. Which means that in 80% of the cases, the fake selection box is the perfect size and it represents the actual size of the item selected. I was actually surprised that it looked way better than I thought. Another reason why you should do prototype.

Here is what it looks like in the end:

Case 1: Item selected has the same size of the Fake selection box.
Case 2: Item selected does NOT have the same size with the selection box, the REAL size is rendered afterwards

The constrain of time forces us to focus on what really matters, it forces us to make a choice. We chose Idea Two that takes 1 day to code versus the other option that will take 5 days. It is the best design based on the given constrains because we want to solve customer’s problem tomorrow, not 5 days later. For us, delivering value to customers is the only thing that matters.

Sometimes we might think: “If only we had more time, we would have the perfect design”. The question is, perfect for whom? Perfect for the company? Perfect for the customer? Did customers really asked for perfect? Or is it for our own designer ego? In the end of the day, giving your friend a present on their birthday is way better than the “perfect” gift that is late. Embrace imperfection. Embrace constrains.

Conclusion

A dream design is just that — A Dream. The real world is a place full of constrains and a lot of things is beyond our control. We as designers, are problem solvers, not dreamers. The sooner we understand this, the better we will become. I would like to end this article from a quote from General Patton:

“ A good plan, violently executed now, is better than a perfect plan next week.”

The perfect design is the one that makes users pain point go away today, not tomorrow. Until next time, may your constrains helps you become a better designer 🙂


Disclaimer: I am no longer a Vyond employee and I’m not posting on behalf of Vyond.

Filed Under: Framework Tagged With: Case Study, MVP, Product Design, User Experience, UX

How I became a User Experience Designer

December 1, 2017 by Tim Chan

Script I wrote for a talk I did for IxDA Hong Kong

Recently I went on a panel for IxDA Hong Kong, the local chapter of the global organizer. The topic was “How I became a User Experience Designer?”. Since I already wrote a script in advance, I figured it would be a nice idea to share it here such that it might benefit a wider audience. Here it is.


Who are you?

I am Tim Chan. I am a Senior UX designer and I work for a company called GoAnimate. GoAnimate, what is it? It is a tool that lets you create videos through drag and drop. Think of it as PowerPoint, but for video creation.

We have more than 10,000 props and characters to choose from and you simply drag and drop what you want from the library, and you can add actions to the characters, do voice over and even do lip-sync for them.

What is your background before you entered the UX industry?

It goes all the way back when I was in high-school. I studied this course called Design & Technology, and I learned this word — Ergonomic. It basically means design for the human body. For example, if you are designing a chair, make sure you know how tall your target audiences are. It made so much sense to me. This planned the seed on how I perceive design should be — Designing for people.

Fast forward to 3 years ago, I was working in a telecommunication company. My title was Marketing operation officer, basically what I did was: When a marketing campaign rows out, a lot of people in the company needs to know what is going on. Company website needs to be updated, Customer service and Retention people needs to know what is changed. My job was to make sure that a) everyone gets the updated info and b) everyone can find the info.

So we had a very basic intranet at that time, basically it was just a bunch of links. I wanted to improve this, so I thought to myself, I want to meet the people that is going to use this site, so I walked into the call center, and I immediately knew that the intranet is not going to work for these people, they have customers yelling on the phone in one hand and other CS people talking over you in the other hand. It was quite a stressful environment and it became very crucial that information is organized systematically so that people can find information very quickly in this kind of situation.

This was the first time I was designing for people, trying to understand their goals and what kind of environment they will be using the product. This kind of user centered thinking set my foundation of becoming an UX designer.

I am the guy in blue heart T-shit.

How did you get into the field? And how your previous background contributes to what you do now or not?

I was lucky enough to be assigned to a mobile app project from the telecom company. My intranet project was a success and I was handed this opportunity. I put in everything I learned in building the intranet into this mobile app.

I accidentally stumble across the word UX when I was learning about Mobile UI and I realize what I had been working all along (Thinking in user’s perspective) is what a UX designer does. I know I was good at doing this kind of stuff, you know, really grilling into how people will feel and act to your product. For the company, this was only a project, but for me, I wanted to keep doing this forever, so I was surprised that someone in this world actually gets paid by continuing doing this kind of stuff, so I jump into UX right away.

What is it you actually do at your work on a daily basis?

I work in Product development for an online tool.

It is not that glamorous, 50% of my time is spent on writing functional spec, it is document that describes in detail how each features work. It describes a lot of “if this then that” scenarios and document how to handle edge cases. This is an important document because it describes decisions in details and allows you to track bugs in the future. It allows it to be shared with all kinds of people, people in CS and people in Marketing needs to know how your feature works.

20 % of my time is spend on testing the features and document usability issues found. Debating with Developers whether something is a bug or bad design…etc.

20% of my time is spent in meetings, presenting to the team, figure out what is the next features to work on, brain storming, writing patch notes..etc.

10% of my time is doing wire-frame and user flow.

You can say that 70% of my time is spent on communicating my design.

What are the opportunities you see in the industry?

As long as employees and founders respect their customers, there will be plenty of opportunities. There are a lot of start ups hiring UX designers now, but that doesn’t mean they can do good UX work. If the founder insists they are going to put and ad. on every step along when people use their app, or use design that tricks or manipulating people, then there is no UX at all.

UX is a new trend right now and its striving, so there is no shortage of jobs. Only shortage of good company that respects their customer and allow UX designers to do good UX work. So As long as companies respect their users, there will be opportunities.

What are companies looking for in designers?

That depends on the kind of company you are interviewing for, and actually, what kind of company you want to work for.

In general, a lot of company and start ups doesn’t fully get what UX is, so they might not know what they want. The responsibly lies on you to teach them what it is and how they can support you. Don’t get frustrated when they don’t “get it”, just because people didn’t know something doesn’t mean they are anything lesser than you. They are not the professional, you are, and frankly these kind of companies are better for you, as a newbie, because the barrier to entry is much lower and they are less likely to attract the experienced designers, which will out qualify you.

For other cases, company that has an established team, they will be looking for someone that totally can bring in and explain their design process, it is much harder to apply to these type of company if you didn’t have an “UX” in your title because they are looking for people that is already qaulified, not people that is just starting out.

What tips do you have for newbies?

  1. Be realistic — What I mean is that design is a total different skill set. It doesn’t matter how senior you were in your previous company, or took a 3 months hardcore course in UX, when it comes to UX design, you are still very junior at this craft. Some people thinks that since they were a manager before, and they took an UX course, they could just magically become an UX manager or had a managerial role in UX. Well, that is not entirely impossible, but would be incredibly rare. Frankly speaking, how confidence are you in leading a design team that had more experiences than you and you had 0 practical design experience? And how much respect will you have from the team? Chances are, you had to start at the bottom. So, as a junior UX designer, are you going to be OK with that pay grade? That is the first question. Let’s say you still want in, what are the actual career path out there? Some company only has Junior → Senior and that’s it, there is nothing further, are you going to be okay with that? There aren’t really that much jobs out there that gets what UX is and can offer a good career path in the same time. Also, plan for the worse, this UX thing might not work out for you. Think about what if you don’t like UX, what are the outs? Think about how the skill you learned as an UX designer can be transited to other places.
  2. Portfolio — Prepare for a portfolio because it is one of the most important things that will get you into the door. It proves to your potential employer that you care about this stuff (After all, you spend a good chuck of time doing this) and how much you get what UX is. The best kind of portfolio are actual works you did, they are much better than made up projects because you are dealing with real business needs and with real constrains. Business needs and Constrains, the 2 most important thing most junior designer doesn’t get. A portfolio showcasing real work can separate you from those designers. Take everything that can be related to UX and document it, take pictures or whatever. You might skipped some steps during the journey and the project might be 80% done. You might skip the user research or user testing part because your company didn’t allow you or what knot, doesn’t matter, be creative, ask your friends, family or colleagues or people from other departments. No one has to know you didn’t do things sequentially. Make sure you don’t just documented What happened, but also Why the decisions has been made. If you really can’t relate anything from your current job into UX, by all means create a fake one, just know that the portfolio would have less of an impact.
  3. Job Hunting — You need to be very, very knowledgeable to what UX is about. The reason for that is a lot of company doesn’t know what UX is and would have a wrong expectation of what kind of people they are hiring. The worse case scenario is that people that hired you know nothing about UX at all. This might be OK if all you cared about is getting the title such that you can look for “Real UX” jobs in the future. But if you don’t want to waste time doing that, you need to get good and wielding these company out, in order to do so, you need to have a thorough understand of what an UX designer actually do and can tell from the company’s jobs ad. whether they get it or not. So, figure out what you want. Is it “A” UX job or a good UX job.
  4. Job interview — Use this opportunity to interview the company as much as they interview you. Find out what UX means to them, find out how much support they have for the UX team (Do they even have a team?), find out whether they have any budgets allocated to user research or usability testing. Ask them how regularly do they do that and how hard is it to gain approval. Really grill them to make sure there is no BS lying around.

Filed Under: Career development Tagged With: Job Hunting, UX

There are no quick fixes in product design

August 22, 2017 by Tim Chan

Throughout my years in product design, I had been through numerous occasions where supposed “quick” or “small fixes” turns out to be complete scope creep, or they created problems that drains time in the future because of hasty decisions made in the past. It is a nightmare.

What is a quick fix

A quick fix is whenever one faces with a problem — without close examination — decided that the problem is a small one and thus gave it little time to work on. Sometimes one even made up a solution on the spot without consulting matter experts (aka Design by meetings).

So what is wrong with doing things quickly when you knew the problem was small? The problem is this exact “this must be a small problem” mindset.

Let’s break down why this is bad thinking.

1. You assume you understand the problem

Problem comes in many forms. Often, you need to spend some time to carefully study them in order to reveal their true nature. When you are just look at the problem from the surface and try to come up with a solution, it is like trying to finish someone’s sentence without understanding the context. You are no better than guessing.

The quick fix mindset makes you stop digging to the root cause of the problem and makes you jump right into the solution. It forces you to believe that you know it all, and prevents you from looking deeper.

2. You believe the quick answer is the right answer

Let’s just say the problem — is in fact — a small one. You want to find an elegant answer that takes the minimum effort to implement. That doesn’t mean that you would be able to find the solution quickly.

Since you already skipped ahead and decided that this will be a quick fix, you assumed that there must be a quick answer. You jump right to the first answer you came up with and assume it will work. You want it to work.

The problem here is that design is ambiguous; there might be many right answers — all depending on what you are looking for. But if you think there’s only one right answer, then you stop looking as soon as you find one. You can’t see the good ideas behind you by looking twice as hard at what’s in front of you.

3. You decided that everything is going to be okay

Now that you have picked a solution to work on, the next step is to execute it — the standard creating wire-frame and writing specification stuff. The problem now you see, is that since you already decided that you solution is the answer to the problem, it has to work for you. You became overly optimistic or even, tunnel visioned.

Should we talk to the developers to see whether our idea is feasible or not? Nah…my design is simply and shouldn’t be that hard to implement, there is no time for that. What if users do x instead of going through the desired path? Nah… I don’t think user will do that, it is an edge case.

You are likely to make bad calls with this way of thinking. You won’t see the damage you have made. Not today, not tomorrow, but when it is time to pay your debt, it will hit you hard.

4. You create design debt

The shortcuts you took and the little things you ignored will pile up. They became debts to be paid in the future. Since each components is intertwined with each other, the time it takes to solve a problem in the future is not linear, it is exponential.

Quick design almost always means there is a lack of documentation, both on describing how the feature is suppose to work, and more importantly, why the feature was designed that way. No matter how nonsense it seems now, the old logic exists for a reason. You have to be very cautious in adding new stuff while making sure you understand how the old stuff works, and if you choose to ignore the old design, you are very likely to walk into trouble.

Design debt — once accumulated — becomes a bad debt, one that is possible to pay. This is how a legacy system becomes untouchable. Touching one feature means going through the documentations of 10 other features. If you did not fully document how each these features work and why they were designed that way, chances are, the risk of changing it is too high and you are forced to stay away from them.

5. Your crappy design is permanent

If you messed up and the design doesn’t work, your crappy design is going to be permanent. Why? Because you have already worked on it. Your team, or even you would believe that you would improve it in the future. This won’t be the case.

The further away the promise, the easier it is to make. And the more painful it is to ultimately deliver. When the time comes to fulfill the promise, employees would rather be working on newer, cooler ideas rather than old promises. No one wants to put aside progress to make up for the past.

This thing has already been worked on, so it will get shuffled to the bottom of the to-do list. To your users, your crappy design is permanent.

Something cooler

Why do we like quick fixes

What is going on in our mind that makes us like quick fixes so much? I believe there are 3 main reasons.

We want peace of mind

When problem arises that wasn’t something we anticipated, we felt uncomfortable about it. Our first reaction is to find a quick way to make it disappear.

One way to do this is to trick yourself into believing everything is going to be okay. The logic goes “I don’t want to deal with this right now, so whatever came up is going to be a small task”. Hence, we became overly optimistic in both the severity of the problem and our ability to resolve it. It didn’t really matter how big the problem really was, as long as you can get away from it.

We want to work on something cooler

We tend to pay attention to things we care about (Don’t we all?). Small problems always comes with an unattractive batch on them. It feels small, it feels redundant. It feels like we were not going to have a fun time solving it.

More importantly, we are not going to gain much credit on fixing small issues. You might even want to hide the fact that the problem exists, because they shouldn’t exist in the first place if your designs were good. We would chose to ignore the small problems it if we were given the choice.

We are tight on schedule

This is most common reason. There is a deadline and the resources is tight, then this problem came up and it seems that you have to squeeze some time to fix it. You compromise for quality and tell yourself there won’t be next time, of course, there is always a next time.

Conclusion

There is nothing wrong with wanting to fix a problem with the minimum amount of effort if possible, that is what we should strive for. However, do not mistake you intention of using small effort to fix a problem translates to the problem being small.

Slow down. Fight the impulse of jumping to conclusion right away. Spend some time to investigate, bring in the expertise from different employees and discuss together.

If you are really in a rush, time box the time needed to investigate. It is better to spend some time to understand the problem now, than to realize a few months down the road your design doesn’t solve the real problem.

And if you really don’t have time to do all this, know that you are trading quality for speed. Your bad design will always come back to haunt you in the future. Know your debts and plan for it.

Filed Under: Framework Tagged With: Product Design, Startup, User Experience, UX

  • « Go to Previous Page
  • Go to page 1
  • Go to page 2
  • Go to page 3
  • Go to page 4
  • Go to page 5
  • Go to Next Page »

Primary Sidebar

UXwanabe newsletter

About

Hi, I am Tim Chan, I want to help you get promoted as a design lead!

Previously, I lead a team of 10 at HSBC as a Product Design lead.

I share my experiences, mindset & strategies on how to climb the design ladder in my newsletter.

Recent Posts

  • Are your design policies a “House rule” or “The Law”?
  • How to choose which battle to fight as a designer
  • Why you fail to influence stakeholders as a designer
  • 2022 in Review
  • 10 Lessons I learned working in a global bank as a designer

Copyright © 2025 · Genesis Sample on Genesis Framework · WordPress · Log in