This was written as part of the rough draft for Deploy Empathy, a practical guide to interviewing customers.
Like it? Order the book:
A common question after doing interviews is “ok, so what do I do with this information?”
I thought it might be helpful if I deconstructed the example interview (listen here
) so you can see my thought process throughout the interview and some of the different things you might do with this information.
Everyone picks up different things. I’d love to hear what things you pick up that I didn’t! (This was one of my favorite parts about working with a larger product/UX team.)
In the transcript below, my own thoughts as he was talking are indicated by normal text. The actual content of the interview is in block quotes. Often, my notes cut through continuous speech – so the existence of one of my notes doesn’t mean there was a break in the conversation.
(Note that I use “we” to refer to Simple File Upload, even though I’m not part of the company. For the purposes of this interview, I found it helpful to both submerge myself into the world of the customer and the company.)
After the transcript, I provide some thoughts on tasks we might do with all of these learnings. (I understand if you want to skip there first and then read through to see where I got those things from.)
Hi, Is this Drew?
Yep, this is Drew.
Michele Hansen 1:26
Hi, Drew, thank you so much for taking the time to talk to me today. I really appreciate it.
No problem. Thanks for having me.
Michele Hansen 1:33
So before we get started, I just want to ask if you had any questions for me?
I’m not off the top of my head. I’m sure I’ll find some along the way.
Totally normal that someone wouldn’t have questions. Let’s dive in, but make sure he knows there’s space for him to ask questions in case they come up.
Michele Hansen 1:42
Okay, feel free to ask any questions that might come up.
Michele Hansen 1:47
And just before we get started, I just want to make sure that it’s okay, we record this interview.
All systems go. Let’s do this!
Michele Hansen 1:53
Okay, so um, so just to get started, Could you just tell me a little bit about like, how you came to even needing something like Simple File Upload in the first place?
Well, I’m, I’m building a product that is going to play currently has a, it’s a job listing platform.
Job listing platform. That’s the overall thing they’re building. Let’s write that down.
…So we wanted companies to be able to upload their logo, you know, to sit next to their listing.
Sounds like this is a frequent need for users of the platform. Frequent needs are promising for a business.
But our stage two of that we’re actually adding in some more verbose user accounts, where users will have avatars, they’ll be able to upload resumes and stuff like that.
Ok, so it’s not just images. Other types of files. Interesting. Do we support that?
So we just really, we really saw that we were gonna need something that would allow us to upload all the files and handle them easily.
This is a good overview. Let’s dig in more.
Michele Hansen 2:42
Yeah, that makes sense. Um, I’m curious, have you tried anything else to do this?
Yeah, we were using Firebase Storage, because we were using firestore as our database.
Firebase Storage. Writing that down. So why did they switch?
…So we started using Firebase Storage. Just because, you know, they, they were right next to each other seemed like an easy enough fit.
Integration of adjacent needs – a smart business move on Firebase’s part. Continuing on.
And it was working at first.
Hmm… there’s something here.
But we recently started going through a big migration to next js, which has, which is you know, some things are just handled a little differently from a code perspective. And Firebase Storage just did not work as easily.
This sounds like struggle?
As it was, we found ourself running into a lot of walls, jumping through a lot of hoops just to make the simplest things work.
Struggle! We have found struggle! Time to dig! Ok, don’t get too excited. Let’s remember to use his language to describe struggle, because using the word “struggle” might be insulting, or just throw things off.
Michele Hansen 3:36
Can you tell me a little bit more about those hoops and, and walls that you ran into?
I’m trying to think a specific case.
Oh sweet! Finding a specific case of a problem is always better than generalities. Always try to find a specific case. He brought us to it without asking. Nice.
So we were we’re really just trying to load the image before the component was loaded. You know, so it would be there when, when the page did load. But because of because of how they give you access to it with promises, and you know, all that fun stuff.
‘Promises and fun stuff’? Interesting. We need to dig here.
I don’t know if it’s because we were implementing it wrong.
ooo, we’re getting to intellectual-level struggle, moving from tangible struggle to intangible. We’re getting into it now. Interesting. Stay quiet.
Or maybe they just weren’t ever really meant to work hand in hand, but we would get we were getting errors that, you know, it couldn’t it couldn’t do what we were asking because the data it needed, wasn’t there yet when it was asking for it.
More struggle. Keep listening.
And we really started to feel like we were just putting band aids on things to make something work. And this was really kind of our big push to make the platform more stable, not less. That was probably the biggest one.
This sounds frustrating, and like something they thought would be easy is becoming unexpectedly difficult. That disappointment brings an emotional dimension to this. Let’s validate that.
Michele Hansen 4:45
Sounds like that was like frustrating. A lot of like, fits and starts for you guys.
Yeah, it really was because there we had it working.
There’s that disappointment.
And it you know, it took a little bit of work to get it working that first time and most every other piece of the code kind of just transferred one to one for the most part. And this, this part just did not. And we already had, you know, we had a decent amount of files in the stores that we wanted to get to, but for whatever reason, be it user error or stored there. It just wasn’t happening.
A lot of disappointment there. It worked, then it didn’t. Uncertainty about whether it was their fault, or because of the software. Disappointment + self-doubt. They thought they had it all set up. I wonder how much time they spent on this?
Michele Hansen 5:24
Yeah, I’m going to – do you remember, like how long it was, like from from the time when you just started, decided to start using Firebase Storage? And then until you decided, like, wasn’t going to work? Like, how long was that?
Oh, we started, we started using it around a year ago, the it was working fine. We started, we started working on this big rebuild about maybe a month and a half ago. And that was probably when we started realizing that it wasn’t gonna work.
So this problem happened somewhat recently. Fresh in his memory. Good sign in a Switch interview. Tells us we’re talking to the right type of customer. Also, first thought about using something else. Go on..
And I think it was, I think I spent probably three days trying to wrestle it before I’ve just relented.
‘Three days before I relented’ – I wonder what caused him to give up on it? Let’s rephrase and mirror that back to get more detail.
Michele Hansen 6:08
Oh, man.So it took six weeks of try of trying to get it to work, and then you intensely worked on it for three days, and then it still wouldn’t work.
Well, the six weeks wasn’t fully working on trying to get it to work six weeks was, you know, getting all the components moved over. And all that other stuff set up for the new environment. And then, but you are correct, it was three intense days of trying to make it work.
Three intense days?! That is both pain in terms of disappointment and time. Let’s validate that.
Michele Hansen 6:37
Man, there must have been super frustrating.
It was and I was I was at my wits’ end.
Ok, we’ve got the moment. So how did he go from being at his wits’ end to exploring something else? Probably some serious sunk costs there for him to overcome. Let’s phrase this gently.
Michele Hansen 6:48
So when did you start thinking like that, maybe use something else.
Almost immediately, I wanted to use something else, but I didn’t know what else would be out there at the pricing model that they provide. Um, but I guess, free free always comes with caveats. And I found those caveats early on.
Hmm. Pricing uncertainty, and uncertainty about alternatives. Let’s dig into that pricing uncertainty – perhaps there’s a competitive difference for us to understand here. Let’s clarify.
Michele Hansen 7:12
Oh, so Firebase Storage was free if you were using Firestore.
Yeah, they have their, they have this whole platform set up where it’s, it’s free up until X amount of requests, but that number is like really high. So it’s really, it’s really enticing when you’re trying to just, you know, when you just want to get something up and moving. The widget, we just kept hitting brick walls with the storage.
Interesting. Let’s validate and rephrase again to get more detail.
Michele Hansen 7:38
Yeah, it sounds like it. So. So you were, you had like three days of intensely trying to work on this. You wanted to use something else? And then you you didn’t know what other options there were? Did you start researching other options? Or like, Can you can you walk me through that a little bit.
Veering into prompting there. Good job pulling it back, me.
Um, I didn’t really researched too many options.
Again, showing the power of solving adjacent needs here, and why using process-driven jobs-to-be-done thinking is SO beneficial for a business.
Just because where the product we’re building is, you know, it’s not generating any revenue, and it’s kind of a side project first status.
Low willingness to pay, at least right now. Got it.
So I wasn’t really, I wasn’t really seriously considering anything that had a paywall on it was, I wasn’t sure that it would ever, you know, pay itself back off. I knew I knew there were I knew there were other options out there that would either require moving our storage and our database altogether, which didn’t really seem appealing, or having or having two different services, one to manage each, but then the storage still being just as complicated only somewhere else.
Interesting on the paywalls. Let’s reflect his decision process back to him and come back to that later. Jotting down the word “paywalls?” as a reminder.
Michele Hansen 8:51
It sounds like you had a lot of things you were trying to like weigh back and forth about whether you should sort of try to plunge forward with this thing that was already being very frustrating. Or then all of the, you know, the the negative effects of switching and all the complications that that would introduce.
Yeah, I really, I really didn’t want to spend a whole lot of time investing, you know, building up a new infrastructure for a new product. Or, you know, for new servers to handle this one thing that I think the most frustrating part was that it worked in now. It doesn’t.
There’s that disappointment again, which leads to reticence about new solutions. Fear of the same issues happening again. Reminds me of how he said they weren’t sure if it was their fault, or the software. Let’s come back to that later, and go back to ‘paywalls’ while it’s still fresh.
Michele Hansen 9:27
Yeah, that’s such a letdown. So, I just want to ask about something you said you said you didn’t want to consider anything with a paywall. And when you say paywall Do you mean like something that has like a free tier and then it goes to to like pay as you go or something that you have to pay for upfront or just, I’m just wondering if you can see what you meant by that.
Um, but the ones the other options that are newer out there usually had like Up front paywall that I’m not well, I guess not a paywall, it was kind of a pay as you go, depending on what you use. And I didn’t know what those numbers would equate to. So where we were in the project, I didn’t want to invest too much mental overhead, and you’re trying to figure that out, I really wanted to stay focused on just building the thing.
ahhhh! They were willing to pay, but not if it was unclear what they would pay. In that case, a pay-as-you-go with convoluted pricing would cause anxiety. Hmm. I wonder if our flat rate pricing was helpful in this regard.
Michele Hansen 10:26
That makes sense. Yeah. So it sounds like the like the pricing models, like, based on what you were doing, it was unclear what you would have to pay for those if you had to pay for them.
Boom. That was it! Let’s pull it full circle.
Michele Hansen 10:42
And you were already kind of, you just wanted to get this thing that you thought was gonna be easy out the door, and kind of just the thought of doing all those calculations was was not really where your head was at.
I think we got a lot of good stuff there. Indications that our pricing model is less anxiety-inducing is hugely insightful and we can use that on our landing pages (and also to remind us why not replicate our competitors’ convoluted pricing models).
Let’s shift to something else. So… if he hadn’t known what the alternatives are, how’d he find out about us in the first place?
Michele Hansen 10:57
Yeah, that makes sense. Um, so so let’s jump to so Simple File Upload, can you can you just let me know how you how you heard about it.
I heard about it through two different ways. I heard about it in a virtual coffee community I’m in. And then I also heard about it through the twitterverse.
Ok, social factors here. When was that? Let’s try to nail it down.
Michele Hansen 11:27
And so can you tell me when you first heard about it? Like, what what did you was this around the same time that you were trying to wrangle this whole Firebase thing? Or was it after? Or is it before? Or?
It was? It was a little bit before?
Oh interesting. Let’s keep listening.
So I think I first heard about it, when we were at the very beginning of the big, you know, I guess it was a it was a framework migration is what we were doing. So it was kind of at the beginning of that when I heard about it, but at that point in time, our current solution worked. So I wasn’t really, at that point. I wasn’t really looking for anything else.
Ok. Let’s reflect back again, and try to get to that moment of deciding to switch.
Michele Hansen 12:10
That makes sense. And then going into you had those sort of three days of struggle. And and then it occurred to you at some point that you could maybe use Simple File Upload for that, does that right?
Oh, no, it never occurred to me, I was gonna continue banging my head on the keyboard.
Whoa! There’s those sunk costs again.
But a friend in the virtual coffee community said, Hey, why don’t you just try this thing? Because I’d already heard about it in the virtual coffee in virtual coffee had already seen heard about it on Twitter.
Social proof helped overcome the sunk costs. Noted. We should get testimonials on our site.
And at that point, I was so like, you know, white knuckling to holding on to our current solution that the thought hadn’t even registered. Yet, so someone else recommended. And as soon as they said it, I was like that. This is it. This works.
This is PIVOTAL. Struggling and wasn’t going to quit. Got the recommendation. Happy with the product. So much good stuff here. Let’s reflect it back to get more detail.
Michele Hansen 13:05
It sounds like you, like you put so much work into trying to make the other thing work that you were like, really wanted that to work. Like you didn’t want to have to, like walk away from all of that frustration that you went through.
Yeah, I did. Yeah. I was being very stubborn.
There’s that emotional dimension, front and center. Let’s validate. And see if we can get more on the social dimension.
Michele Hansen 13:24
That That makes sense. I mean, it sounds like you poured a lot of effort into it. Um, but then so this friend that you heard about simple file upload from like, had they used it themselves? Or?
I’m not sure if they I’m not sure if they use it themselves. I know he and Colleen both work with Ruby. So maybe they were just maybe he was more familiar with it because they had they chatted about it from that perspective.
Hmm.. where else did he go to try to get info about it? He probably did more research than that.
Michele Hansen 14:01
Did you like look for you said you had heard about it through these groups you’re in? Did you look for any other places for information about it before you decided to use it?
I looked at the website and kind of like skim the documentation as somehow we came across a think it was a code pin or some type of like little code snippet that let me like kind of test drive it. And based on that, I was like, if it’s really this easy, then I don’t see why I wouldn’t use it.
Ah ha! Now we’re getting the decision process. The documentation! This thing that’s been a struggle internally was one of the first steps. And code pen – we have that, but it isn’t front and center. Let’s pull that front and center with the documentation on our homepage, perhaps? Let’s dig into more possible anxieties around switching. Sounds like he had some doubts it was really that easy.
Michele Hansen 14:41
So before you started using it, was there anything you were like sort of like it sounds like you were unsure if it was actually as good as it seemed? Is there anything else that you were unsure about? Or like what like you weren’t able to figure out before you used it.
Um, I was I don’t want to say unsure of how like the the Amazon s3 buckets and stuff worked like I knew I knew that that’s what it connected to and like, that’s how it worked.
Mistake on our part to use “unsure” here. Taken as a reflection on his knowledge. Noted.
But I’ve heard a bunch of people get frustrated about how complicated that would be. So I was I guess I was curious as to whether or not it actually made it that simple.
Let’s keep digging! Understanding this doubt is key.
Michele Hansen 15:29
It sounds like you were almost like, doubtful whether it could be that easy.
Yeah, probably just, it seems like from what I’ve heard about s3 buckets, that that’s such a big problem that it’d be, that wouldn’t necessarily be an easy thing to wrangle into a simple solution.
Hmm.. so, how did it go? Did those suspicions pan out?
Michele Hansen 15:50
So have you gotten the chance to use it yet?
Michele Hansen 15:55
Okay, so how did it go?
I think I had it working in five minutes.
WHOA that’s amazing, this is a huge moment, this should be on a landing page or homepage or something, front and center.
Calm down. Let’s pull the full emotion out first.
Michele Hansen 16:02
And how did that make you feel?
Oh, man, I was I was elated. But I would have if I didn’t live in South Georgia, I would have shouted it from the mountaintops.
Let’s validate that.
Michele Hansen 16:17
I think you still could.
Ok, details time.
Michele Hansen 16:22
Wow. And so and so you were able to sort of drop it in where you previously were using the the Firebase Storage?
Yep, there took a I don’t even really think there was much configuration needed. I get the. So I’m specifically using the React component version of it. So I just kind of got my account set up, dropped in the React component. And there really just worked.
That could be a testimonial! Maybe we could reach out to him in a few days or a week to see if he’d be okay with this being used as a testimonial.
But before we let that go to our heads… he’s told us about his personal decision process. At the outset, he said he was working on a team. How did they play into everything we’ve heard so far?
Michele Hansen 16:53
And so it sounds like it’s it’s really work for you. And you had looked into some other things. And I’m curious, like for the, the site you’re working on, or you’re working on that with other people?
Yeah, so there’s, I guess there’s, there’s a team of five of us. But we’re, are we call it a side project, first priority last thing that we’re working on. So there’s five of us that work on it, but no, one of us may be full tilt for two weeks straight, and then you won’t hear from us for a month or two.
Ok… more details needed. Let’s jump to that pivotal period of struggle.
Michele Hansen 17:34
Gotcha. So when you were, you know, sort of in that in that period of knowing that what you were doing wasn’t going to work, even though that was sort of hard to admit to yourself, understandably, and then deciding to switch to simple file upload. Was there anyone else you talked to about that decision? within the team, or the company?
Um, I mentioned it, I mentioned it to everyone. I guess I guess, was never really put to the table for a vote. But I was just kind of like, Hey, we’re, we keep running into problems with this current thing.
That must have been hard to admit to his team.
I’m going to give this a try and see what happens. And I think I think everyone, I think everyone on the team had already heard about Simple File Upload because they’re in the same virtual coffee community. So I want to say it was a it was a unanimous, yes.
Oh wow! Social proof for the win. But was there anyone outside of that team involved?
Michele Hansen 18:31
And Was there anyone like outside of the team who needed to weigh in on that or, or anything like that?
I’m not really we’re kind of a it’s a. Right now. It’s a small project, small team. So
Alright, let’s move on and hear more about the overall process and how it helps what they’re trying to do.
Michele Hansen 18:52
gotcha. So you’ve gotten to implement it. And to so you have it working on the site now with the the logos.
Yep. It’s working. It’s up and working. And it’s beautiful.
Amazing. I hear so much relief in his voice. Now that we’ve closed the loop on the disappointment, let’s move to something else.
Does he like it enough he’ll use it in another case?
Michele Hansen 19:11
Yeah. Yeah. So do you think you’re going to use it for the the applicant photos as well?
I believe so. Yeah. We haven’t working in this instance. Or we haven’t working in the way we need it now. So I can only see it making the other places we need file upload better.
Wow. Well that’s a great place to end on. We got the full decision journey. 20 minute mark on a 30 minute interview. Let’s pull in the reaching for the door question.
Michele Hansen 19:37
Cool. Well, thank you so much for taking the time to talk to me and I, I’ve learned so much from you. Is there anything else you think I should know?
Um, I guess maybe maybe now that we’ve been talking about I do have a question around.
He’s thinking about the topic and has questions. Excellent.
And is there would there be this would probably end up being like, a feature request more than anything.
Go on.. (shield ready for deflection via asking for details)
But is there plans in the future to, from the Simple File Upload dashboard to be able to, like, section off different stuff from? You know, maybe this is type A files is type B? Or is that already they haven’t seen it?
Time to deflect and ask for details. [Note: if I were actually part of the company, I would just skip to “So can you walk me through…]
Michele Hansen 20:24
So I can’t speak to that, because I don’t work on it and myself, but I, could you walk me through, like how that would like, fit into your process, or like how that would help you.
Um, we’re going to be rolling out some user accounts, there’s gonna be two different types of accounts. And so one of the account types is going to have avatars and PDFs. Um, it may or may not even be necessary, because at the end, all we just need is the URL anyways. But if for whatever reason, we do need to go to the dashboard to see those files, it would be nice if they could be sectioned off from you know, these are our user accounts. These are our company accounts.
Ok, they’re trying to organize files. Let’s clarify to get more details.
Michele Hansen 21:16
Oh, got it. So the first one, are the users like people uploading resumes that right? And then the second one is the companies and then all the images associated with the companies.
Michele Hansen 21:29
Which will be the logos.
Yeah. And that may not even be necessary. So because we’re really just taking the URL and piping it in somewhere?
Huh, it sounds like he isn’t sure if they would need this, but he’s asking anyway. I wonder if the request came from someone else in his team? Let’s get more details on a specific situation where they would use this.
Michele Hansen 21:38
Yeah. Could you like, could you just like, tell me a situation where you would, you would need to do like, like distinguishing between those files like what what would that help you do? Like, what’s a situation where that would be helpful?
I can’t think of one off the top of my head.
Starting to think this idea didn’t come from him.
But when when we first started working towards the getting user accounts someplace that was actually a question. One of the one of my team members brought up was, you know, when we send this too simple out file upload, do we really have to specify that it goes to this file or this followers that all those same places? And it’s kind of got that? That’s a good question.
There we go. It was someone on the team. Can we get more about what that person wanted? And what is that person’s role on the team? Do they have the seniority to decide whether this would be a make-or-break feature?
Michele Hansen 22:23
And did that person want them to be differentiated?
I don’t think they necessarily wanted them to be differentiated. As much as they were just making sure that they weren’t doing it the wrong way by not specifying somewhere.
There are those fears again about whether there’s a problem with the software or with how they’re using it.
Michele Hansen 22:39
Gotcha. Gotcha. They wanted to make sure they were using the tool, right?
Ok, let’s clarify again, and validate that fear.
Yeah, that makes sense. You had mentioned with Firebase that you guys were kind of unsure whether it was like user error, versus the limitations of the tool. And so it, like it kind of makes sense that you would have questions about like using it, right.
Yeah, because we’re, we’re mostly junior developers building this. So we’re making it up as we go.
That showed a lot of vulnerability. Let’s validate that.
Michele Hansen 23:12
We all are.
Solid rapport building there, me. Let’s not make him dwell in that moment too much.
Was there or is there anything else? Did you have any other questions or?
ME! You prompted! No prompting!
No, I think that’s everything I have.
Let’s leave extra space here and after the next question to make up for prompting after the last question.
Michele Hansen 23:29
Okay, great. Well, thank you so much for taking the time to do this today. I really appreciate it.
Thank you. It was my pleasure.
Ok, I think we’re really done.
Michele Hansen 23:37
All right. Thank you so much.
Michele Hansen 23:41
So what can we do with this information?
We got SO MUCH in this interview. We learned about what he’s trying to do overall and where the problem our product solves sits. We got his decision process, from trying something else to struggling to switching to being satisfied using it. We able to plunge intellectual, social, and emotional dimensions.
We should never make major business decisions after one interview. Wait until you have at least five and some supporting research, like analytics, competitor research, or other data. However, they can certainty get us going on marketing, which, as a very early stage company, is key.
Here’s a few things we can do today based on this:
- Put the code pen front and center on our website to reduce friction for people considering using our service
- Put the documentation links front and center, understanding how key they are to the decision process
- Write a headline to the effect of "Up and running in five minutes. It really is as easy as it looks.” and put it on our homepage/landing page
Things that might take a few days or week:
- Email him asking if we can use him as a testimonial
- See if other current users would be willing to give testimonials
- Put those testimonials on our site, ideally with them attesting to how “quick and on with your work” our product is
- How can we reach people when they’re at that point of struggle? Perhaps some landing pages targeting common specific integration issues people might have with competitors? Might need to do some experimentation on our own to see how those integrations might break, or do some research on Reddit/HackerNews/StackOverflow/their support forums to find some common snags
- Lots of great insight on the decision process here
- Great insights on pricing – lots for us to chew on as we nail down our pricing and pricing model. It sounds like competitor pricing models create a lot of anxiety and uncertainty
- We learned that while integrating file upload is a one-time process, people are hesitant to switch once they have it working (sticky! this is probably why our competitors can have convoluted pricing that people pay without understanding why they’re being charged), and that the need for file uploads is frequent – the pain of switching combined with frequent need for the product is a very strong indicator for the long-term viability of this business
What else did you pull from the interview? Anything else you would add to the to-do list after that interview? I’m excited and curious to hear what you pulled from it!