- Read Tutorial
- Watch Guide Video
Jordan Hudgens: We haven't gotten into how you can practice these things and improve as a UX developer. Jesse has a lot of experience in this and is definitely one of the most talented UX/UI guys I've ever had the pleasure of working with.
I want to get your opinion on how you've improved. I know you were probably born with some innate talent, but I think you have probably developed it because of how hard you've worked and the different steps you take each day to improve.
Jesse Cook: I think that developers sometimes are a little spooked when the letters "UI/UX" come flying around. But, honestly, UX is a very similar skillset to development. Lots of critical thinking and things like that. However, I want to start with what I believe is the most important part of being a good experience designer, and that's communication.
Improving your ability to communicate is what allows you to get the information from the client. Most of what I do all day is talk. I'm talking to clients and working through problems with them and then communicating those things to my developers and team leads. Communication is so important in all of this. Of the software projects I've been a part of, communication was the difference between the ones that went well and the ones that went poorly. If there is one thing I could point, to that was it. I mean, I'm sure you've noticed that.
JH: Absolutely. That's one thing I do like about the entire study of user experience is that it's communication on the goal of the system and what you want it to do, and explaining that in a visual format. It's saying, "These are the ways that the user should interact with this entire application," and, by visually placing it there, that gives developers like myself the ability to run with it. Whenever I'm trying to do this by myself, I always run into these stumbling blocks. I spend half my time just trying to figure out "So where should I put this button?" and then it ends up being wrong. That's where developing those critical thinking skills and practicing them really comes in handy so that you can actually improve. You continually build those skills.
JC: Right. Think of it as a house. You're working with a homeowner who's having you build this house, and you're laying the blueprint for it. They don't know how you're going to do the electrical or where you're going to put the trusses. They don't know any of that. But they do know if there needs to be a one-car or two-car garage. That's something they know, right? That's what you need to download from the client or the manager. You need to translate that onto paper, and then you need to be a very good listener and a very good communicator.
That's definitely something that I would recommend. You don't think about becoming a better communicator, but I promise you, it will help you so much. Whether it's through research or just being an active participant in those conversations, it helps to ask those questions and try to root out the things that you don't know that you don't know, or that you don't know that the client doesn't know. Being honest about whether you understand something or not. Pretending to know what they're talking about is just going to bite you over and over and over again.
The next thing is the ability to both zoom in and zoom out on the fly. Don't spend too much time solving little problems in an isolated environment. Those little problems that you're solving, while good, might have an effect on the larger project. You might solve a problem on this one page, but that might affect how that object is going to behave on mobile or in three pages from now.
JH: Right.
JC: So you need to be able to zoom in and solve little problems, but always be zooming out and asking yourself "Does this affect other things outside of this one isolated incident?"
JH: Absolutely. That's one of the core concepts around critical thinking is being able to have that perspective. Yes, you can dive in and see the little details--you can see where that button goes or what the navbar looks like--but you also have to zoom back out and say "If I build this one feature, or if I structure the user experience in this way, how does that affect the mobile experience? How does that affect what they're doing on a desktop?" And then, when you even have more experience working with developers, or being a developer, then you can understand that there might be other ramifications beyond that. You can dream up all you want, but some things need to coincide with the system it's being built with.
JC: 100% percent. The more you understand about development--and you said it's called a unicorn for a reason--but if you are really good at communicating, you have a firm grasp on the development, you work well with people, and you have some of that design built into your DNA, it is so valuable. When I'm making design decisions, I'm not making decisions based on what's easier to develop. But if you know what the development ramifications are, well, holy smokes, you can really optimize that flow. You can gain the most value possible without sacrificing tons of time in development.
JH: Absolutely. We talked a lot about critical thinking and developing a mental framework for how to think through these problems. Whether it's in the details or being able to take a step back and look at it at a higher level, it comes down to just actually practicing. When you are building a new application, instead of just jumping straight to the coding and building the design as you go, start practicing these techniques.
Now, your low fidelity wireframes are not going to look as good as Jesse's the first time you do them, but that's where practice comes in. Your first one may not be the best-looking one that's out there, but your fourth and fifth and fiftieth may be. They are going to continue to improve. It's just like any skill. One really big goal of this course is trying to make the entire user experience process a little bit less magical. If you've been going through this course and you've heard all these topics and the very first thing that pops into your mind is that most of this is just common sense: You're right. It is.
JC: Haha.
JH: And that's the way it should be! If it was any other way, then that would be a problem because this entire process is all about logic, common sense, and having a systematic approach to developing applications. Instead of throwing a blanket over it and hoping everything's just going to work, it's thinking about each stage of that project's lifecycle right from the beginning through to the end.
JC: Right. And honestly, there's a lot of different traps that you can get caught up in. One of which is just thinking that it's easy because it really isn't. When you see an app that has a good user experience it's like, "Well, duh. Of course, you would do it that way." But that's not how most people do it! And I'm sure you've used a lot of apps where you say, "That took me four clicks to get to and I use that every day! And this other button that I only click once a month is super prominent!" You just should not notice a good user experience design. You notice it when it's bad because it really makes you angry.
JH: Haha. Absolutely!
JC: So, when you see an app that looks really polished and works really well, don't think that they came up with it by going straight for what was obvious. They got there because they refined it. They took the steps necessary to fill in those gaps, and fill in those holes.
JH: The point of this course is to give you a mental mindset that allows you to perform these same tasks without running into some of the issues we've had to fight against through the years. It's so that you could learn from our experiences just the same way that we try to learn from our own. It's really meant to help build that mental framework so that, when you're presented with a project, you don't just start trying to code it, but that you build a system for how to go and build it.
If you went through our problem-solving course, part of the reason we created it was to help you develop a system for when you're given something new to build. You may not know how to build the entire system right away, but you would at least know what the first step is, which would lead you to the second one, and the third. That's why I wanted Jesse's design process to be included in this course because it's a straightforward approach to planning and then executing an application's design.