Customer Interview Part 1: The Interview
Michele Hansen 0:00 The following message is brought to you by Balsamiq. Balsamiq decided to support the Software Social community by donating their sponsored airtime to some of our listeners.This episode is sponsored by RosieLand. RosieLand is going meta and building a community for community builders through a newsletter community of course and soon to launch podcast. RosieLand brings together community builders for conversations wherever we can have them. And Rosie Sherry would love to chat with anyone who is building a community. Check it out at Rosie.Land. Thank you again to Balsamiq for generously supporting our listeners this way. If you'd like to receive a promo code for Balsamiq, visit balsamiq.com/go/software-socialMichele HansenHey, everyone. So we're doing something a little bit different this week. We've had a lot of conversations lately about doing customer interviews. And so we thought that it might be helpful to do a demo of one so that you can all understand what goes into one. So we have someone who has agreed to be interviewed. Who is using Colleen's product, Simple File Upload. And so I'm going to interview them today. Alright, so here we go. We're gonna get started. Michele HansenHi, Is this Drew?Drew 1:24 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.Drew 1:30 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?Drew 1:38 I'm not off the top of my head. I'm sure I'll find some along the way.Michele Hansen 1:42 Okay, feel free to ask any questions that might come up. Drew 1:45 Okay. Michele Hansen 1:47 And just before we get started, I just want to make sure that it's okay, we record this interview.Drew 1:51 Yeah, absolutely.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?Drew 2:05 Well, I'm, I'm building a product that is going to play currently has a, it's a job listing platform. So we wanted companies to be able to upload their logo, you know, to sit next to their listing. 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. 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.Michele Hansen 2:42 Yeah, that makes sense. Um, I'm curious, have you tried anything else to do this?Drew 2:51 Yeah, we were using Firebase Storage, because we were using firestore as our database. So we started using Firebase Storage. Just because, you know, they, they were right next to each other seemed like an easy enough fit. And it was working at first. 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. 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.Michele Hansen 3:36 Can you tell me a little bit more about those hoops and, and walls that you ran into?Drew 3:44 I'm trying to think a specific case. 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. I don't know if it's because we were implementing it wrong. 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. 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.Michele Hansen 4:45 Sounds like that was like frustrating. A lot of like, fits and starts for you guys.Drew 4:51 Yeah, it really was because there we had it working. 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.Michele Hansen 5:24 Yeah, I'm going to do 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?Drew 5:42 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. And I think it was, I think I spent probably three days trying to wrestle it before I've just relented.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.Drew 6:21 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.Michele Hansen 6:37 Man, there must have been super frustrating.Drew 6:41 It was and I was I was at my wit's end.Michele Hansen 6:48 So when did you start thinking like that, maybe use something else.Drew 6:57 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.Michele Hansen 7:12 Oh, so Firebase Storage was free if you were using firestore.Drew 7:17 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.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.Drew 7:59 Um, I didn't really researched too many options. 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. 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.Michele Hansen 8:51 It sounds like you had a lot of things you were trying to like wave 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. Drew 9:10 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.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.Drew 9:54 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.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.Drew 10:40 Yeah, exactly.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.Drew 10:55 Yeah. Yeah.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.Drew 11:14 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.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?Drew 11:42 It was? It was a little bit before? 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.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?Drew 12:26 Oh, no, it never occurred to me, I was gonna continue banging my head on the keyboard. 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. 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.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, he 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.Drew 13:20 Yeah, I did. Yeah. I was being very stubborn.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?Drew 13:39 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.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?Drew 14:16 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.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.Drew 15:01 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. 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.Michele Hansen 15:29 It sounds like you were almost like, doubtful whether it could be that easy.Drew 15:36 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.Michele Hansen 15:50 So have you gotten the chance to use it yet? Drew 15:54 Oh, yeah. Michele Hansen 15:55 Okay, so how did it go?Drew 15:58 I think I had it working in five minutes.Michele Hansen 16:02 And how did that make you feel?Drew 16:05 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.Michele Hansen 16:17 I think you still could.Drew 16:18 Yeah, absolutely.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?Drew 16:32 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.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?Drew 17:09 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.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?Drew 17:57 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. 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 follow up load because they're in the same virtual coffee community. So I want to say it was a it was a unanimous, yes.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?Drew 18:39 I'm not really we're kind of a it's a. Right now. It's a small project, small team. SoMichele 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.Drew 19:04 Yep. It's working. It's up and working. And it's beautiful.Michele Hansen 19:11 Yeah. Yeah. So do you think you're going to use it for the the applicant photos as well?Drew 19:22 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.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? Drew 19:54 Um, I guess maybe maybe now that we've been talking about I do have a question around. And is there would there be this would probably end up being like, a feature request more than anything. 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?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.Drew 20:37 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.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.Drew 21:28 Yeah.Michele Hansen 21:29 Which will be the logos.Drew 21:31 Yeah. And that may not even be necessary. So because we're really just taking the URL and piping it in somewhere?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?Drew 21:55 I can't think of one off the top of my head. 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.Michele Hansen 22:23 And did that person want them to be differentiated?Drew 22:28 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.Michele Hansen 22:39 Gotcha. Gotcha. They wanted to make sure they were using the tool, right? Yeah. Yeah. 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.Drew 23:04 Yeah, because we're, we're mostly junior developers building this. So we're making it up as we go.Michele Hansen 23:12 We all are.Cool.Was there or is there anything else? Did you have any other questions or?Drew 23:26 No, I think that's everything I have.Michele Hansen 23:29 Okay, great. Well, thank you so much for taking the time to do this today. I really appreciate it.Drew 23:35 Thank you. It was my pleasure.Michele Hansen 23:37 All right. Thank you so much. Drew 23:39 Thank you. Michele Hansen 23:41 Bye.