June 26, 2015

Welcome to Episode 43 of Apply Filters.  Today we dig into Backpress, a PHP library of some of the core functionality of WordPress.  Backpress grew out of the core of WP and is now the muscle behind GlotPress, a popular web-based software translation tool.  However, the future of this tool is in question.


This episode was sponsored by WP Ninjas, the creators of Ninja Demo and the highly popular Ninja Forms plugin.

 

ninja-forms

This episode is sponsored by Dreamhost and their new Dream Press 2 managed WordPress hosting platform.  Dream Press 2 offers HHVM, which is an alternative to standard PHP, created by Facebook to optimize their site early on, and allows for page load speeds up to 25% of a normal page load time.  For more information, check out dreamhost.com/applyfilters.

DH_logo_blue-nopill

 

As always, first and foremost big thanks go out to Scott Fennell for his review of the show.  Scott, thanks for writing such a great review and letting us know what you enjoy about the show.

If you leave a review in iTunes shoot us an email letting us know and Pippin will review your plugin for you.

Updates

Brad

Pippin

  • Easy Digital Downloads 2.4 beta 1 is launched
    • Amazon Payments enabled
  • This week I wrote a blog post on Batch Processing

Today’s Topic:  BackPress

If you’re enjoying the show we sure would appreciate a Review in iTunes.  Thanks!

Transcript
INTRO: Welcome to Apply Filters, the podcast all about WordPress development. Now here’s your hosts, Pippin Williamson and Brad Touesnard.

BRAD: Welcome to Episode 43. Today, Pippin and I discuss what we’ve been up to, what BackPress is, and whether or not it should be killed.

But first, this episode is sponsored by DreamPress 2, DreamHost’s new managed WordPress hosting platform. I wanted to learn more about the HHVM part of the platform, so I reached out to Mike Schroeder over at DreamHost.

MIKE: I’m Schroeder, and I’m the WordPress platform lead at DreamHost.

BRAD: What is HHVM?

MIKE: HHVM is an alternative PHP runtime that was created over at Facebook. Essentially, they found that the current PHP was not performant enough for their needs and went and developed another way to run PHP.

BRAD: How performant is it?

MIKE: It’s sometimes not quite as fast with the first page view, but what it does really well is that once a particular page has been visited, it is astoundingly quicker than PHP. Some of our tests under load, it even performed comparably to cache tests, so around 55 milliseconds in some cases under heavy load with load stress for a page to get returned, which is, especially under load, astoundingly quick. That’s, in some cases, 25% of the speed of a normal page view for PHP for some heavier pages.

BRAD: Cool. How do I turn it on in DreamPress 2?

MIKE: Within the DreamHost panel, it’s just a checkbox that allows you to enable HHVM, and you can use the same checkbox, and you can disable it whenever you want, to play with it.

BRAD: Seems too easy. Is there anything else you need to do?

MIKE: Well, of course you’d want to test your site in between, but it really is that easy to enable and disable.

BRAD: There’s no wp_config.php stuff that you have to switch on and off or change in there or anything like that?

MIKE: Not at all.

BRAD: Then why wouldn’t I just leave it on all the time?

MIKE: HHVM is not compatible with all plugins and themes. It’s compatible with many plugins and themes, and it’s quite compatible with core.

BRAD: There you have it folks. With DreamPress 2, you can turn on HHVM; test your site. If anything is broken, just turn it off again. It’s that easy. For more information about DreamPress 2, check out DreamHost.com/ApplyFilters. Now back to our show.

PIPPIN: All right, now before we dive in, we actually want to read a quick review that we got from iTunes from Scott Fennell. It was a really great review that just kind of helps validate what we do and why we put together this podcast. We want to go and read it.

Scott says, “I really like AF (Apply Filters). Obviously this is a great resource for staying up to speed with best practices. But where these guys really shine is when they talk in very realistic terms about life as a developer and businessman, and sometimes those realities take precedence over, say, WordPress trailing comma standards. I also enjoy the friendly and humorous tone of this program.”

BRAD: Awesome.

PIPPIN: Scott, I love that that’s what you find important because I think, as we all grow as developers, we realize that there are a lot of things that are more important than how you place your commas or the standards that you choose to enforce or not. While those things are all very, very important, I think there’s more, and so it’s nice to see that recognized. Thank you for the kind words.

BRAD: Yeah. Thanks, Scott. If anyone else leaves us an iTunes review, Pippin, I think you’ll still review their plugin, right?

PIPPIN: Yep. All I ask is just, if you leave a review, just let me know you did, and then send me an email or on Twitter just so that I know you have a plugin to look at.

BRAD: For sure. Awesome.

PIPPIN: All right, so let’s dive in here. Before we get to BackPress, which has been a fun topic over the last week or so, Brad, what have you been up to?

BRAD: A couple weeks ago we released the free version of Migrate DB. We have a staggered release cycle now, so we released that free version. Kind of give it a couple weeks, and then we release the pro version. We just released the pro version today, so Migrate DB Pro 1.5 with the multisite tools add-on.

PIPPIN: Awesome.

BRAD: We’re pretty excited about that. It’s, believe it or not, been eight months since we started that release.

PIPPIN: Crazy. That’s a long time. Aside from the multisite tools add-on, what else is new? What major things are in 1.5? I see your change log is, like, 30, 40 lines long.

BRAD: Yeah. One of the things that we’ve added, I think I’ve mentioned on the show before. We’re adding a delay between request sliders, so you can kind of slow down the migration so that Web hosts don’t see the requests or identify the requests as malicious because they’re so close together. That’ll help quite a few of our customers avoid that problem.

We’ve added an export sub command for WP CLI, so you can, from the command line, export an SQL file so that you can import it somewhere else using PHP myAdmin or whatever. That was pretty neat.

We just made a lot of — most of the work was really on the invisible stuff, like under the hood stuff. We did some sessions. I guess that’s what I’d call them is sessions.

We had a lot a lot of data that we were passing through each HTTP request, so we’d just pass it from the ajax request. From the JavaScript, we’d pass a lot of the data through to the server every time for every request. We, instead, store a lot of that data in the database now, and then just use an ID to reference it, so we’re not passing so much over the wire each time. Just kind of cleanup stuff like that that also improves security, reliability, and stuff like that.

Yeah, it’s just a lot of little things that added up.

PIPPIN: Very cool. That got pushed out today, right?

BRAD: Yeah, that got pushed out today. The multisite tools add-on was pretty tricky to build as well.

PIPPIN: I would imagine. Getting things in and out of multisite is not the simplest process.

BRAD: Yeah, exactly.

PIPPIN: If you’ve ever tried to move a multisite yourself.

BRAD: Yeah.

PIPPIN: My favorite is trying to change a URL on a multisite. For whatever reason, it’s ridiculously difficult.

BRAD: Yeah, well, there are a lot of places where it can screw things up if you don’t change it.

PIPPIN: Yeah, and if you don’t change it, there’s one place where, if you don’t change it right, it actually fatal errors, and you can’t connect to your database anymore, whereas other places will just cause 404 errors.

BRAD: Awesome.

PIPPIN: Multisite is a whole fun can of worms.

BRAD: Yeah.

PIPPIN: Anyway, okay, cool, so you’ve got WP Migrate DB Pro 1.5 pushed out with multisite tools add-on.

BRAD: Yep.

PIPPIN: What else have you been up to?

BRAD: I wrote a blog post about our retreat, our company retreat in Miami, so kind of got to reflect on it a bit more in depth and pump out a blog post about how it went, what we learned, and that kind of stuff. Ian actually posted a really cool article this week. Have you ever used the extended CEPTs library?

PIPPIN: I haven’t, but I’m kind of intrigued by it after reading the article on it.

BRAD: Yeah, it’s John Blackburn. I want to call it a plugin all the time, but it’s not. It’s a library, a WordPress library that you would use in your plugin or whatever. It just makes creating custom post types and custom taxonomies as well. He’s got a taxonomies library as well. It just makes it way easier to manage, but that’s worth checking out, that article.

PIPPIN: Yeah, definitely. We’ll put it in the show notes.

BRAD: Yeah. We’ve been talking about switching up our Core contribution day where we, as a team, contribute to WordPress Core one day a month. We’ve just kind of been postponing it a lot and doing it, but not really enjoying it all that much. There are a lot of reasons for that, but probably the biggest thing is you just can’t get that much done in a day, so there’s really very little satisfaction after that one day.

PIPPIN: Have you guys considered doing it more often, but a shorter amount of time?

BRAD: Yeah, so we kind of started to flesh out is that we want to work on GlotPress, actually, because that’s something we use a lot as well, and that seems to need a lot more attention that WordPress Core needs right now. We’re going to try that for a little bit. But, at the same time, we want to keep an eye on the responsive image stuff that’s going on.

PIPPIN: Sure.

BRAD: We’re really interested in that, but it’s really early days for that stuff.

PIPPIN: Right. You could say, as a company, we’re going to focus here, where not only does it benefit other people, but we also have more benefit from it. But, that doesn’t mean that you’re not going to still contribute elsewhere. That’s just not necessarily where the focus is.

BRAD: Yeah, exactly. But I think, working on GlotPress will allow us to have a little bit more satisfaction in the run of a day because it’s–

PIPPIN: It makes your job easier.

BRAD: Yeah, and some of the problems with working on WordPress Core is that a lot of the tickets that are manageable to get done in a short period of time are taken. Someone else is working on them, right? And so, you spend a lot of time, actually, going through Trac during the day trying to catch up on things and try to find where you can actually contribute, whereas GlotPress is not quite so active of a project. And, like I said, it could use a lot more resources.

PIPPIN: Yeah. I think, since you are putting paid company time into it, it’s sometimes nice to be able to have a more measurable impact. Contributing to a project that has fewer contributors, I think, is easier to do that with.

BRAD: Yeah, exactly.

PIPPIN: That makes total sense to me.

BRAD: Yeah. The other big news for me is that I am personally no longer reviewing every GitHub notification on our repositories.

PIPPIN: I think that’s a smart move, sir.

BRAD: Yeah. I’m guessing you don’t do that either.

PIPPIN: I don’t.

BRAD: Yeah. When did you stop doing it?

PIPPIN: I never actually used the GitHub notification system. I don’t know. For whatever reason, just never liked it, but I always did it by email. Every issue, every pull request, every comment, etc. would come into my inbox. They still do, but I don’t review them as much anymore. I’m going to guess that you have many of the same reasons, but one is there’s not enough time in each day. Two, the people that work with you, you trust them.

BRAD: Yes. Yeah, both of those things.

PIPPIN: And so, you don’t need to be that overseer that’s line-by-lining everything they do.

BRAD: Yeah. It’s an experiment for me right now to see how it goes. It was really unnerving to give up that control in the beginning.

PIPPIN: Sure.

BRAD: I still look at the GitHub notifications on GitHub that I’m participating in, so there’s a participation filter. If anybody mentions me, it shows up as a notification in there. I pay attention to that only, but it’s a small fraction of what it used to be, right?

I see the other notification total is, like, 40 issues that I haven’t looked at. Then the participating is, like, six or something. It’s a lot less things for me to look at. I told the team that anything UI related, so any user interface elements that need to be fleshed out or you need my opinion on, then just mention me and I’ll take a look, kind of thing.

What have you been up to, man?

PIPPIN: The last two weeks have been a little busy getting the first beta version of EDD 2.4 released. We pushed it out on Wednesday of last week, I believe, so it’s been almost a week now. No, it has been a week. It’s been exactly a week.

We pushed it out on Wednesday or maybe Thursday morning of last week, and we released it out. Now we’ve just kind of been waiting for feedback on it. We’ve had a little bit of feedback from some early beta testers.

Mostly, we’ve been testing it on our own sites, and so the Easy Digital Downloads website has been running the beta version for a week now. My personal PippinPlugins.com site has been running it for a week, and we’ve been testing it, trying to break it, trying to see where things fail.

BRAD: What’s the new stuff in 2.4?

PIPPIN: There’s actually a lot of stuff. I think we had about 74, 75 GitHub issues closed. Most of them being enhancements. This is one of the few major releases that we have that didn’t have a lot of bug fixes in it. Maybe because we spent the last ten point releases fixing those. But anyway, there are a couple big ones.

The first one is batch processing for exports, which I think we mentioned a little bit the last time. Our CSV exports for customers, payment records, file downloads, etc., they now use a batch processing system for exporting the data. Before, we did everything in one request. And, if you had too much data, it would time out, and you couldn’t get it.

Now we do it all in a batch, so we send numerous requests until the export file is complete. You can easily do 5,000, 10,000, 20,000, 30,000 records without a problem. That was one big one that we were definitely glad to have.

Another one we added is earnings by category. Now you can go in and see a visual graph that shows how everything is stacked up in categories, so you can get a sales and earnings mix that says, okay, this category is worth 20% of your earnings. This one is 50% of your earnings. This one is 10% of your earnings, etc.

BRAD: Right. If you’re running a store, like a retail store that has men’s clothing, women’s clothing, that kind of thing, you could see earnings per department kind of thing.

PIPPIN: Yep. If you had the categories, for example say men’s versus women’s, you could very easily see, okay, what’s the majority of our clientele? Is it men or women? Then you could break it down however many categories that you have. That was one that’s been on our to-do list for a long time that I’m really glad to have done.

The other big one is Amazon Payments. We integrated EDD with the Amazon Payments, as well as their login and pay API. We’ve added it directly to Core, so most of the time when we introduce new payment gateway integrations, we do it through an add-on that’s then either sold or given away. But this one has been added directly to Core, so everybody gets it.

As a customer, the process for using Amazon to pay for things is really awesome, especially if you’re an Amazon user. I buy tons of stuff through Amazon, and so anything that I can purchase through Amazon, like if I can use my Amazon account to purchase something, I’m going to. It’s a really nice, clean experience.

BRAD: Right. I thought about adding Amazon as a payment option on our site because right now we just have basically credit card or Stripe and PayPal, so just two options. I just feel like adding another option is just too much. Two options is more than enough, I feel.

PIPPIN: Right. We used to have three options. We used to have PayPal, credit card through Stripe, and 2Checkout. We disabled 2Checkout about four or five months ago for some other reasons. We never really had enough data to say for sure if three options was a problem. We had sales go through every option, and sometimes it’s hard to know because, if you have a sale go through, well, you had a customer that clearly preferred to pay that way.

BRAD: What would be the advantage of using 2Checkout though, as a customer?

PIPPIN: 2Checkout, as a customer, is actually a big one because there are a lot of countries in Africa that 2Checkout is one of the only options they have.

BRAD: Really?

PIPPIN: Mm-hmm.

BRAD: They can’t pay through Stripe?

PIPPIN: A lot of the time, because they don’t have a debit card — either they don’t have one, they don’t have access to one, and they do not have access to a PayPal account, and so 2Checkout is their option because 2Checkout, of all payment process, has the widest reach of all of them.

BRAD: Wow. That’s news to me.

PIPPIN: It’s in, I think, every single country, but a very, very small list. That small list is North Korea.

BRAD: If someone in Africa, an African country, was having trouble paying or they couldn’t pay, how could they pay with 2Checkout? Do they load up their 2Checkout account with cash from their bank or something? How does that work? Do you know?

PIPPIN: I think that’s how it works.

BRAD: Yeah?

PIPPIN: To be honest, I’ve never bought something through 2Checkout. I’ve only ever used it as a merchant.

BRAD: Yeah. I thought it was just another kind of PayPal-like system where you would just enter your credit card.

PIPPIN: It’s very similar to PayPal in that you can pay as a guest using the debit or credit card, or you can, I believe, pay through your 2Checkout account. The other thing, and I know that, when we had 2Checkout enabled, we had a few customers that had this issue where Stripe would not approve their debit card. It would just say “declined” every single time. But, 2Checkout would accept it. Something to do with their validation process would allow it. Every time, these are always customers in either certain parts of Asia or Africa.

BRAD: Right. Crazy.

PIPPIN: Yep, so we actually have enabled Amazon on the EDD website, and I’ll probably enable it on my other sites as well. At the moment right now, I haven’t decided if we’re going to leave it. We have it on right now because we’re trying to beta test it ourselves, but we’ll see how much traction it gets from our own customers.

BRAD: Yeah, that’ll be interesting. I’d like to know how that goes. You’ll have to give us an update in a month or two.

PIPPIN: Yeah, definitely. The last thing was that, after we did all that work with 2.4, especially with the batch processing, I decided to go and write a blog post about doing batch processing. It looks at two different methods of processing: one that uses redirects and one that uses ajax to send a request. For anybody who is looking for help with batch processing or is interested in it, go take a look.

All right. I think we wanted to do a quick followup. Brad, I know you’ve got some more information on this about responsive images that we talked about a couple episodes go.

BRAD: Yeah. What episode was that exactly?

PIPPIN: I cannot say off the top of my head.

BRAD: 39, it looks like.

PIPPIN: Yep.

BRAD: 39 is the one we talked about responsive images in depth, really. We talked about RICG plugin and just how responsive images in WordPress might work. It’s really early days, that stuff, is what I’m finding out.

Morten Rand-Hendriksen wrote a really, really great article about his vision of how responsive images could work in WordPress and how it would work so if you switched themes, the responsive images would continue to work on a new theme. We’ll link it up in the show notes, but I would recommend checking that out. Have you checked that out, Pippin?

PIPPIN: Not since we last talked about it.

BRAD: Yeah. It’s pretty neat. Anyway, should we get into BackPress?

PIPPIN: Yeah, let’s dive into BackPress.

BRAD: What is it, first of all?

PIPPIN: BackPress, first of all, it’s an old project. It is not currently active, but if anybody who is listening follows Twitter or is just generally active in stuff going on around the WordPress community, maybe you read PostData or WP Tavern, you’ve probably heard some discussion about recently. A couple of prominent developers, primarily John James Jacoby and Roy Sivan, they started a discussion about reviving BackPress as a project.

BackPress is a PHP library of core functionality for Web applications. If you look at WordPress, WordPress has a huge library of functions and classes and things to help you build stuff. WordPress is also the content management system, the blogging system, and all of the other stuff. But, if you kind of pull some of that stuff away, there’s some foundational stuff that it provides: database access, caching, HTTP request, helper functions, etc. That’s what BackPress is without any of the UI is really the idea behind BackPress. Is that a reasonable summary?

BRAD: Yeah. No, I think that’s right. As far as I know, the only project that uses it is GlotPress, anymore. I know if you go to BackPress.org, it says on the site that bbPress uses it, but bbPress was transformed into a WordPress plugin–I don’t know–a couple of years ago, at least. It’s probably five years ago by now. I’m pretty sure that it’s no longer using BackPress to run.

PIPPIN: Definitely.

BRAD: I don’t know why you would ever need WordPress Core and BackPress together.

PIPPIN: Why don’t we answer this question for people? Why would you use BackPress? What is the purpose of it in a project?

BRAD: I think it’s supposed to be, so basically you don’t want to use the UI, the WordPress UI. You don’t want to boot a bunch of extra stuff for each page load.

I was talking to Marco, who is the lead developer of GlotPress. He was saying that GlotPress is generally, on average, a page load would be 2 megabytes of memory to get that page rendered. With WordPress, it’s like 20 megabytes, right? And so that’s one of the concerns is that it’s extra memory, extra overhead.

PIPPIN: For anyone who is not familiar, it’d be like a foundation to build something on top of to provide you a starting point. If you’re familiar with Laravel, for example, which is a PHP framework, that same kind of concept.

BRAD: Yes, I’d say so.

PIPPIN: Except now it’s no longer maintained, and so that’s where the discussion comes in of, hey, do we want to bring this back? Do we want to update it? Do we want to give it some new life?

BRAD: Yeah. Yeah, because right now it’s pretty much dead because it hasn’t been touched in so long. It seems to be just kind of — you said it was an inactive project. I think that’s pretty accurate.

I think I should probably mention. I’ve been mentioning GlotPress, but not defining what it is.

PIPPIN: Yeah. Give us an overview of what GlotPress is. I know that I’ve heard GlotPress, the term, the name used a lot, but it wasn’t until maybe a year ago that I finally figured out what it actually is. What is GlotPress?

BRAD: GlotPress is just an app for translating. You would load translation files into it, as a developer, and then you invite translators to come to GlotPress, your GlotPress website or your GlotPress app, and translate strings. Translate this string into German, from English to German or whatever, and then you can suck all those translations out and put them into your WordPress plugin or whatever software you’re building. Basically, GlotPress is a translation tool is what it is.

It’s quite hard to install. It requires BackPress, so you need to get BackPress first and do a bunch of manual steps to get GlotPress set up and installed. That’s basically what it is.

PIPPIN: Cool. There was a lot of discussion about bringing BackPress, bringing it back, giving it some new life. There were also a lot of people kind of against it. We discussed briefly in our pre-show a couple of thoughts around it.

I think there are two main thoughts–okay, we’ll say three–with GlotPress. One: Just let it die. Just go away. It’s had its life, and it’s okay to let it just slowly die out – nothing wrong with that. Two is turning it into a plugin that’s installed on a WordPress site, and then removes the UI, does everything that BackPress does. Then, three is bring it back to life. Where do you stand on this?

BRAD: Probably one, yeah, number one, I guess if those are the options.

PIPPIN: Any particular reasons?

BRAD: I just feel like you’re basically forking WordPress, right? That’s how it feels to me because you’re really maintaining another copy of all the WordPress stuff that you decide to spin out of it. It’s a fork, right? It’s a fork and a trim, right? I don’t think that’s healthy for WordPress.

What about you? What do you think?

PIPPIN: Well, I think there’s merit to all of the viewpoints. One of the first arguments against reviving it is kind of the why question. What purpose does it serve that WordPress Core, as a framework, does not already serve? Whether you agree or disagree that WordPress Core serves well as an application framework, I think it’s a good question to ask yourself when looking at projects like this.

I think there’s some merit to the idea of building a plugin that runs on top of WordPress. There’s a lot of stuff that WordPress provides that somebody who is building a system on top of it. Let’s say you’re building GlotPress on top of WordPress. You just don’t need a lot of the stuff. Having a plugin that runs on top that removes a bunch of that extraneous fluff, we’ll say, is great.

Then, three, looking at reviving it, I think there’s absolutely a place for projects like BackPress that are very similar to WordPress, but don’t have all that fluff. I don’t mean fluff in a bad way. I just mean there are certain kinds of projects that just don’t need a lot of the stuff that WordPress has.

I like Marco. The lead developer of GlotPress wrote a blog press about why I care what happens with BackPress. We’ll link it up in the notes. There’s a comment that he made that I really like. I’m going to try and summarize it for you.

He basically says, “Look. If I am running a team, or if I’m going to hire somebody, I’m going to hire a WordPress developer. Now, if I build a new project on top of BackPress, and then I want to hire someone to work on that, all I need to do is hire a WordPress developer because they’re already going to be familiar with how everything works.” I think there’s some good merit to that.

BRAD: Sure. I guess my problem with it is also, so if the root of the problem is there’s all this extra stuff in WordPress that’s getting in the way of my application, then why not just figure out a way to make WordPress not run that fluff, that extra overhead? It just seems to me WordPress could be modified to be a better application framework rather than saying, “You know what? Let’s just kind of like start from scratch.”

I don’t necessarily think that forking WordPress and trimming away the fat is the solution to making a lean application framework that’s based on WordPress. I think you can make WordPress an application framework, a better application framework, and I feel like that’s the better solution here.

PIPPIN: Yeah. I know that one thing that a lot of people will come back and say is Rest API. That is where you provide a lot of that. Now, there are some distinctions here that are important, but the Rest API provides that access to all that information without the fluff. But, it does not provide, say, the PHP or the other, more lower level functionality that you would be using WordPress development on top of. The PHP library is the database access, etc.

BRAD: Right. Well, okay. One of the arguments against building GlotPress into a plugin for WordPress is that GlotPress only has a 2-megabyte memory footprint right now versus WordPress having a 20-megabyte footprint. It’s 10x, right?

My question would be why. Why does WordPress have a 10x memory footprint? Could it be rearchitected in a way where it could run a plugin like GlotPress and only have a 2-megabyte memory footprint?

PIPPIN: Sure. Right, but using BackPress as a plugin that gets rid of all the extra fluff.

BRAD: Well, no, not necessarily. I just mean maybe you could change WordPress. Maybe there are some modifications that could be made to WordPress itself to make it so that it could run more lean than it does.

PIPPIN: Sure.

BRAD: I feel like that’s a better solution than going and forking WordPress, basically.

PIPPIN: I’ll be honest and say I don’t know that I really have a lot of super strong opinions on it. I think I can see the merits to all sides on it. If it is something that you do feel strongly about one way or the other, I would definitely encourage you to jump into the conversations that people are having. I know that everyone that’s looking to revive BackPress or to kill it off, they are definitely looking for people to help out in one way or another.

Regardless of where it goes, I think it’s a good discussion to have. If it means that we end up with this new application framework that is now brought back up-to-date, great. If it means that some of the fundamental issues that even give BackPress a reason to exist get fixed in WordPress Core, awesome. Whatever it does, I think there’s a positive turn, regardless of where the discussion goes.

BRAD: Yeah, for sure.

PIPPIN: There is one other thing, and I think then we’re probably about out of time, but I want to bring up real quick. There’s a cool change going into WordPress 4.3, which, if you do much with featured images–or not just featured images, but just images in general with custom post types–when you register a custom post type, with WordPress 4.3, you can now specify the text strings that are used for, like, buttons that say “set as featured image,” “choose featured image,” “upload image,” etc. Those text strings can be changed. It’s one of the cool changes coming in 4.3, along with a lot of other things.

BRAD: Cool. I didn’t realize it could change all those strings. The ticket was really about the featured image string.

PIPPIN: Yep.

BRAD: Yeah, so they’ve expanded it.

PIPPIN: It’s four different strings. It’s the actual name of the featured image, the phrase used for set featured image, the phrase used for remove featured image, and then use as featured image.

The example that is used in the ticket, which is cool, or nice and simple, is that, like, as a company, you’re using a company logo. You’re using the featured image as your logo. You have this post type for companies. You create these companies, and you upload their logo as a featured image. Instead of saying “featured image,” you could actually change all the phrasing to say “company logo.” Now you can do this on a post-by-post type basis, making it a lot easier to customize the UI appropriately.

In Easy Digital Downloads, for example, we’re going to change it to say, like, “set download image,” instead of “set featured image,” because featured image doesn’t mean anything for us.

BRAD: Right. That’s cool, a nice little optimization.

PIPPIN: Yeah. Anything else before we jump out of here?

BRAD: No, I think we should wrap it up.

PIPPIN: Cool. If anybody has any feedback on BackPress or anything else, let us know on Twitter, on the site in the comments, by email, however you want to reach out to us. We’d love to hear about it.

BRAD: Definitely. Thanks, everybody.

PIPPIN: Thanks for chiming in.