In this podcast episode, Corey Maass and Cory Miller discuss their experience at WordCamp US and the challenges they faced in promoting their WordPress product. They talk about making changes to their homepage to provide clearer examples of open graph images. They also talk about the decision to refactor the code for their product to make it more extensible and user-friendly. They discuss the timeline for completing the work and adding presets to the product. They also mention receiving positive feedback and expressing excitement for the upcoming features.
- Importance of Refactoring: Corey Maass discusses the decision to refactor their WordPress product’s code. While initially hesitant, he recognized the importance of improving the code’s structure to avoid future limitations and difficulties in maintaining the product. This highlights the significance of making technical decisions with an eye toward long-term sustainability.
- User-Centric Development: Corey Maass emphasizes the need to consider the user perspective when developing products. He discusses the benefits of creating a more dynamic and extensible image builder, which will ultimately make it easier for users to customize their images. This showcases the value of user-centric development in enhancing product usability and scalability.
- Engaging with Early Users: They talk about sending out an email to early subscribers and receiving feedback. Engaging with early users not only helps build a community but also provides valuable insights into user expectations and needs. This underscores the importance of proactive communication with your product’s early adopters.
Mentioned in the show:
You can follow Post Status and our guests on Twitter:
The Post Status Draft podcast is geared toward WordPress professionals, with interviews, news, and deep analysis.
Browse our archives, and don’t forget to subscribe via iTunes, Google Podcasts, YouTube, Stitcher, Simplecast, or RSS.
Cory Miller (00:00:05) – Special session 24.
Corey Maass: Wow.
Cory Miller: Man. I saw a tweet or something and I was like, golly, we have been. Talking for a long time. In a good way. Yes. Is it the years of just felt like days, Corey.
Corey Maass: The what is it? The the day. The days are long, but the years are good.
Cory Miller: Days along by the years go by fast. That’s what they say with kids, by the way.
Corey Maass: That makes sense.
Cory Miller: All right. Here we are on YouTube.
COrey Maass: Woo hoo!
Cory Miller: In all the places. We’re live. Session 24, Cory and Corey launched in a WordPress product live. A lot has happened.
Corey Maass: Is there a loud rumble behind me, by the way?
Cory Miller: You’re the audio guy. You got to have the sound effects.
Corey Maass: Right? No, sorry. I meant no. I have my air conditioner blowing on me, so I’m worried that it’s.
Cory Miller: Oh, no, no, no.
Corey Maass: Okay.
Cory Miller:I thought you meant you wanted to, like, cue a drum roll or something on my right.
Corey Maass (00:01:22) – Very dramatic. So. Yeah. Oh, right. So we did chat briefly last week, um, post WordCamp US and in the throws of Covid. Um. At least for me. You survived, right? Or you guys escaped unscathed. But lots of reports from us. Um, so yeah, we it a quick recap. Uh, we thought it WordCamp US went okay. Um, we had good feedback. We did not uh, I did not feel like we got to spread the word as wide as I’d hoped. Um, in part, just or mostly, I think just like the way that the camp was laid out this time, I found it a lot more difficult to jump into conversations like I had done previously. Um, I liked the openness of it, but it the way I finally figured out how to explain it. To my satisfaction was it did not. The previous camps in the sponsor’s hall, it felt like a cocktail party. And so you were never more than an arm’s length or two away from other groups of people.
Cory Miller (00:02:53) – And so it was really easy to overhear a word and then jump into a conversation. Right there. Right there. But because this hall was so large and then also it was so the center of it was occupied. By just huge rooms of sponsors that I, i a couple I checked out, but most I didn’t have any real reason to like go near. I wound up literally standing in the middle of the room and like nobody was within 20ft of me, even as people were passing me because they could. So yeah, just logistically, I found it was more difficult, but, but gave out lots of cards. Got some people on our mailing list, had some really good conversations, got some really good feedback on pricing and on tech. It helped me change some of the wording. I had a lot of a lot, a lot of people say to me, I know what and I know what open graph images are. I know I’m not doing them right, which is always an interesting statement when people say that because it’s like they don’t they don’t actually know that. (00:04:03) – They just in the context of the conversation, they assume that, you know, I’m an I’m the expert. And so they are not. And so a little self deprecation. They are probably still not doing them right, but they don’t. I would assume that most people don’t know it. Right is which is interesting, but also that a lot more people were focused a lot more on featured images, at least in conversation.
Cory Miller: At the things we talked about there, like the featured image editor in the little buzz phrase you had that’s really good. Like we talked about was some of the best takeaways where people kind of capture what it is we’re doing. And I think only with those live things, you know, you and I did a lot of work, but having people there that can give real feedback in your community can I think is excellent.
Cory Maass: And the and the majority of our conversations between us were about open graph images, um, featured images as a result. But it’s like a featured image. On a blog post requires people coming to your blog post, but that featured image. (00:05:23) As it gets shared. So acting as an open graph image is where you and I were like, Oh, this is amazing because it’s, you know, assume that the, the, the spread is wider, that the impact is greater. But again, I think people are not really thinking about it quite like that. So so there’s some education there. Um, so one of the first things I did, I came home and I added more examples to our home page. So we had, I had put up. To think two examples of like when you shared a link on Slack, it gave no preview. If you shared a link on Twitter, it was a gray box. Um, and then and we were just saying, you know, a picture is worth a thousand words. Here are some examples. And then I said, Oh, okay, people, people are thinking about featured images and open graph images separately. So I added two more examples and changed a section to be called like featured image examples and open graph image examples. (00:06:31) And technically they’re kind of sort of the same thing. But I think they, they illustrate the difference well, and a lot, a lot of people like somebody there was actually a guy tabling and he like called me over and I was like, okay, he’s going to try to sell me his hosting or whatever. And he was like, You’re the OMG IMG guy. I love the examples on your homepage. They finally make it clear what an open graph image does. And I was like, whoa, like huge win, you know, and lots of compliments on the language that we were using. So I made it even spicier, even more fun going, What was it? Facebook Fail to Facebook. Fantastic. LinkedIn Lame to LinkedIn Luscious. Twitter Tired to Twitter Totally awesome and Slack Sad to Slack Satisfied.
Cory Miller: That’s the kind of personality stuff that really endears people. Um, I think, you know, you’re right on about all the things you said about the conference and not being as big, but I do think for for OMGIMG but I do think really good.(00:07:52) – What I found and heard was really good feedback. Customer type feedback. There’s something here. We don’t know how big it is, but there’s something here. It’s not just you and I going. There’s something here. There’s more people saying that legitimately. And then even the things you’re talking about is like people willing to. They’re interested enough to understand it better to help us. And I think that that bodes well for the public rollout.
Corey Maass: Yes. Yeah.
Cory Miller: Attention. We’re doing enough to catch attention.
Corey Maass: Yeah. Yeah, I think it. You know, it helps that we’re talking about it. It helps that it’s images. Um, it’s a surprising number of people said I’m really surprised this doesn’t already exist which is can be can be a good or a bad thing. Um, but people were generally excited about it. And I think also, uh, images are things that people understand, even if, like I said a minute ago, they don’t. Think that they’re optimizing their images particularly.(00:09:03) But everybody has the experience of writing a blog post and then needing an image and attaching an image or uploading products to to a page or using a page builder and injecting images. So it’s it’s it’s a it’s something it’s part of the WordPress process that people understand. Which I think is easier. It’s it’s it’s less it’s one of the less abstract concepts I’ve had to deal with in products, which is nice.
Cory Miller: It’s a huge takeaway to say get it out as quick as you can with every opportunity into the wild so that people interact and give you some better, better feedback.
Corey Maass: Yeah. So with that said. Yeah. Um. If you could slap me, this is where it would be appropriate if you could reach through Zoom.
Cory Miller: Oh, no. Um, so did you recode. What do you call it? Yeah. Refactor.
Corey Maass: Refactor. Well, but. So. So. The joke for everybody listening is, is Last week I had a punch list of things to run by Cory and I said, one of the things is I’m finding the code more and more difficult to update as we want to add more features and stuff like that. (00:10:30) – And he very rightly said, Deal with it, suck it up, just keep moving forward. And that was the right decision in that context. However, there, there was underlying that. So I’ve been a developer for 25 years. Jesus Christ. A very long time. And at this point I have a mature. Instinct in development. Right. And for weeks, maybe even months now, you, Cory, have been asking me saying like presets is the thing. Like we need to go in and we need to design a bunch of presets so that people can come in and just say, Yes, I like the the orange one or I like the blue one or whatever. Right. And and I kept adding features, tweaking things and and adding the ability to save presets. For a while I was like, I’m not sure how to do this. And then in the last two weeks, I looked at it and I and I was like, Oh, I can do this. This isn’t a big deal. (00:11:49) – But there was something nagging me and I’m like, Oh, it’s it’s the rewrite thing. Like my design, my developer brain just wants me to, you know, to tighten things up. And I was like, No, no, no, no, no. Like, let’s look at this. And I actually got as far as there was a button that said Save Preset. And. But again my my developer gut and you’ll just have to trust me that like I was able to look at it and go, okay, I’m not just being pedantic and like wanting to rewrite the code. There’s something wrong here. And and in particular, and it’s one of those like you start, you know, essentially you paint in code like there’s there’s a lot of ways to paint yourself into a corner. And as I went as we we had had we had an image builder and it worked. But then as we took the image builder, the next step. So it was like the next step down the, the dark hallway. (00:12:49) – I was like, oh, okay, I’m we are in fact painting ourselves into a corner. And that’s where I stopped. And so I was like, okay, this isn’t about refactoring code. My gut was right in that there’s something literally wrong with this. And so what I finally you know, the light bulb finally went on. I was like, oh, okay. The problem is I banged out. I mean, we say that it took me three months or something, but technically I banged out a product and along the way I proved the tech that we could, like render, create images, render images, use save images. Right. The problem is, is to get there quickly. The format of the data stored in the back end to explain how to render an image was quick and dirty. And so as I was looking at, you know, the ability to save these in bulk aka presets, I was like, Oh crap. Like we’re painting ourselves into a corner with this formatting. (00:14:01) – Like things were hard coded. And so I was like, Now is the time. Because it’s if, if we released the product as it is and, and it’s not and it’s not a huge lift, relatively speaking, it’s not a huge lift to take a step back and revisit that formatting because I realized like if we put this out in the world and people start using it pretty quickly, I’m not going to be able to add more attributes to these templates, right? Like we you can you can inject an image and you can rotate it and you can, you know, but if you wanted to add borders and you wanted to add, you know, because there’s I mean it’s we’re talking CSS attributes basically so there’s not an infinite number, but it goes on and on and on. It was like, I can’t add all of those things. At some point we’re going to hit a wall and and when we hit that wall, I’m going to have to write a ton of code that’s going to with the next version would go in and rip apart everybody’s images that they’d created and and have to like migrate all of it into a new format as opposed to taking another week or two and just having it create the right format in the first place.(00:15:25) – So. You should be rolling your eyes. You should be smirking. Because I understand how it sounds.
Cory Miller: No, you made a technical decision based on your experience, and that’s.
Corey Maass: That’s where we’re at. Yeah. I’m disappointed because it’s like I don’t I don’t want to be right. Like, I was perfectly happy to accept that I was not going to refactor based on what I was thinking of last week. But then. Yesterday. So the the the other side of this, at least, is I tweeted about it. Today I had my Silicon Valley moment where I actually went in and like basically blew everything apart and was like, look at the core. The actual value is describing these image templates. Start from there and build up and out. Um, and, and so I was up most of the night coding because it turned into one of those sorts of things. Um, and I actually have a really neat. Much better user interface. Not totally, no. Totally different from what you saw what we had before. (00:16:49) – Um, but infinitely extensible and a much better, easier build experience.
Cory Miller: Yeah.
Corey Maass: And right now it’s still a little technical, but we can, we can keep adding, you know, the UI can change forever but the that how do you describe it’s like when somebody finally explained to me like why Blocks in Gutenberg were a good thing. Um, and it’s similar to. Uh, react and a bunch of other. Um. Technologies. Where elements on the page are designed or are represented in code. You know, you’ve got a block of data that says, what type of element is this? It’s a paragraph. Does it, you know, if it has an Aline attribute, it says left. Right. And then you can if you’ve got something represented well in code, then you can do anything with that or in in data, you can you can do anything with it. And that’s the difference. I was like, Oh, if we keep going down the path where our data is hard coded is wrong, then we’re not going. (00:18:01) – We’re not. This is going to be a nightmare later. So.
Cory Miller: So where are you at right now?
Corey Maass: So my hope is I’m making great progress. Um, I’m hoping. Not more than another couple of days, honestly. But if life happens, then, you know, another week realistically. Okay. And the ability to add presets and all that stuff like there’s still I have to go back to those features that we wanted. But you know, so I’m expecting all in all, a two week delay. Like if we were going to be able to create presets today and theoretically launch tomorrow, I want to give myself at least a couple of weeks.
Corey Miller (00:18:49) – Um. What do you think we’ll do the preset template work. Be able to do that?
Cory Maass (00:18:55) – I’m. I’m going to work hard so that we can do it next week.
Cory Miller: Okay. (00:19:01) – Okay. I knew we had that in mind today, so I just wanted to keep that because that’s I still believe that’s the intersection right there.
Corey Maass: I agree.
Cory Miller (00:19:09) – And hopefully everything you’ve done really gives us some cool sounds like cool options for that. So yeah.
Corey Maass (00:19:18) – Yeah. Overall like the the the. The nerd part of me is finally satisfied. And then it actually has led to a better image builder, I think because it’s. We were walking down a path where basically every attribute you ever wanted on an image rotate border. If we wanted to add filters, you know, if we change the size or you align it top or bottom or left or right, like all these things were just going to go add on and on and on and on. Whereas now it’s, it’s all, it’s all dynamic essentially. So it’s all built in. So it’ll, it’ll be easier to manage all of those things now to from a user perspective.
Cory Miller (00:20:06) – Good deal.
Corey Maass: Yeah. (00:20:10) – So thank you for your patience. You’ve dealt with developers before. You know how they.
Corey Miller (00:20:16) – Have understand it. Yeah. Mean the summary is. It sounds like you made a good decision. And. (00:20:29) – It’s got numerous benefits. So getting it right now, I think, is a, you know, a good decision. When I was. Last week when we talked that my mindset was I know refactoring every developer that comes into new code or looks at their code, passes its writers and artists to want to redo everything they did. And so my general thing is always go no time budget is another consideration in that helping bolster that decision. But it really does sound like you, which is great for the project because you see the future. You know, downstream, you’re going to be maintaining this and no one’s going to make your your your job easier and that’s going to go back to the customer. So I support it. I’m happy to come here and say, don’t do it again, you know, when you need it. But like, I think that’s a good tension to have. And ultimately you made a good decision and you had some fire and energy under it. So that’s those are wins in my book.
Corey Maass (00:21:41) – Yeah, agreed. And, and, and it was sort of a neat mental exercise for me as well because like I said last week, I couldn’t have told you why other than it was getting more and more difficult to maintain. Okay, fine. Suck it up. You know, and and also and I’m pretty good about that because as we’ve talked about, we’re both starters generally. And so I’m I’m comfortable with messiness. I’m comfortable with refactoring as I go rather than walking in and, and going, okay, I have to start over. You know, it’s the one file gets to be a thousand lines. Okay. How can I break this into two files rather than, you know, all of this has to be redone and and perfectly laid out and all that kind of stuff. Like I have high tolerance for for that because in general, I’m. I’m the kind of developer who cares more about product. Than code. Um. Which is why nobody should ever look at my code. It’s good enough, but that’s what I aspire to. (00:22:46) – Safe. Reliable. Good enough. Doesn’t have to be perfect. But last week, I couldn’t have made those arguments. It was just like, there’s something, you know, this is eating at me. But so. So switching back to other topics, I did send out a first email. Uh, to the people who have signed up to our list so far.
Cory Miller (00:23:10) – Excellent.
Corey Maass (00:23:11) – Um, the. Just kind of just start teasing it, right? To start a conversation. I need to look at how many people unsubscribed because one of the first responses I got was somebody said I actually went and unsubscribed because I signed up weeks ago and I didn’t remember what you were. And when I googled OMGIMG I got the wrong thing because there are other domains out there and was so I was like, Oh right. I should have explained any of that in the newsletter. I should have included the URL. I did not. I should have said, Hey, remember us? Which did not. So lessons learned. (00:23:59) – But conversation started and I got good feedback, you know, because I, you know, a an easy way to send a first email is to ask a question. So I now I actually want to set up an auto responder so that if people subscribe, they get an email right away that says, Thanks for signing up. Tell me what’s going on with you today that made you sign up? Well, we will set up the same sort of thing. If somebody purchases down the road. We’ll say today you bought. Why? Um, but so I since we already missed that window with people signing up, I just wrote and said, Please hit reply and tell me why. If you remember, you know, what prompted your interest in the first place. So and the, the again, the first reply we got right away was another plug in developer who’s trying to promote his product said, You know, I know I could do a lot more with the images attached to the content that I’m trying to put out there to help. (00:25:03) – Garner sales. So it’s like, okay, that’s great. Yeah, we’re among friends and sympathetic people who will help us get this thing off the ground.
Cory Miller (00:25:14) – Heck yeah.
Corey Maass (00:25:17) – So that’s what I’ve got this week. Okay. Anything on your end? Or we can go have lunch.
Cory Miller (00:25:25) – Yeah, I think. I think that’s good. Um, when. When you’re able to do it. I’m eager about those. You know, nothing’s changed on that front about the preset. So that’d be great.
Corey Maass (00:25:41) – Yeah. And I mean, to be clear, I agree that it is the number one priority. And so that’s what I’m racing back to, essentially.
Cory Miller (00:25:53) – So roger that.
Corey Maass (00:25:54) – Hopefully next week. I’ll keep you posted.
Cory Miller (00:25:57) – All right. Thanks, man.
Corey Maass: Thank you, sir.
Cory Miller (00:25:59) – Talk to you later. All right.See ya.