Elliot Condon, the man behind the popular Custom Fields plugin, explains what led him to develop ACF, talks about the challenges of running a successful one-man show, and tries to predict the future of WordPress.

Elliot Condon is a web developer specializing in UI & WordPress, and the author of the Advanced Custom Fields plugin. ACF allows you to add custom content fields to your WordPress edit screens. 

Listen to the full interview, and read about the major takeaways that followed.


Please explain about the Advanced Custom Fields plugin without using jargon.

ACF, or advanced custom fields, is a WordPress plugin that allows you to tailor, customize, and design to your liking any kind of edit page in the back end of WordPress. Primarily it’s for adding different fields to a post, but it’s bigger than that now and you can actually add fields to users, widgets, and other kinds of data objects within WordPress.

Can you share a bit about yourself, like how it got started, how you came up with it?

My story of developing ACF has got pretty humble roots in that I built ACF because I simply needed it for the work I was doing at the time, which, back then, I was doing freelance work, freelance web design, web development. We were using WordPress, or I was using WordPress at the time, which I found out about through the client that I was working for. They already had a WordPress website, and I was gonna do some updates for them. They’d designed, or they’d had designed, this new section of their website that I think it listed out in tiles quite a few different products that they had, but they weren’t using an eCommerce plugin at the time. I don’t think Woo Commerce even existed back then.

Like a catalog?

Yeah, I guess we’re talking about a catalog of products. We needed a way for the client to log in and edit this content. WordPress has always had custom fields in a really basic form. Back then, there were a few plugins available, similar vein to advanced custom fields, that allowed us to create these different content inputs in the back end. During that project, I really got to experience the frustration of using these existing plugins, and also the other side, which was slight embarrassment of then handing over this project to the client where I wasn’t proud of the user interface that the client had to use. That’s what really drove me to start developing my own custom field plugin. I guess my focus has always been on the user interface and making sure that it looked as native and first party as possible.

Where did you learn how to PHP and code and those things?

Going back before working on ACF, I studied multimedia at university for four years, and there was a small section of that course which was on web development. At the time, I wasn’t really that intrigued or fascinated with web development, but I really did enjoy some of the other programming classes that we did. I think I really kind of sunk my teeth into programming, but I’ve always had a background in visual design, in 2D and 3D design.

I think that that kind of mix led me down a path of doing a few websites for friends of friends, which led me through doing some flash based websites to start with, that was the area of my expertise. And then, slowly worked my way into HTML websites, learned HTML code, and then the PHP came quite naturally because I’d had a background in programming Java. Which, once you’ve learned programming in one language, it’s so easily transposed into any other language.

The logic is usable across any language. PHP is so user-friendly that it was quite easy to get up to speed with it.

Would you say you’re a combination of developer-designer?

Yeah, I think so. I think the era that I grew up in, I’m what you call one of these jack of all trade developers that is a designer, is a developer, can do email. I’ve done everything, all the weird little jobs over the past 15 years in my web career. I’ve done all matter of things that nowadays you’d have, if you walked into an agency, there’d be no way that you would be expected for you to do all these tasks. You’d be set into one specific group to focus on just UI or just design or just development. Yeah, going back a decade ago, we did a lot more I think, which is good. I feel quite well rounded in that. I got a good appreciation for all the different parts of web development.

How did you, in the past and currently, extend your skills, your capabilities in both of these areas? Because it’s difficult to keep progressing, and code is changing, and a lot of new libraries out there.

I think it’s got to be so much more difficult nowadays because there are so many libraries and because the technology is changing so rapidly. When I was freelancing at that time, things didn’t change for a good three, four, five years. There was a good little time when I was working in the industry, from a freelancing point of view, where I got to design the websites. I got to develop the front end and I also got to build the back end.

In that time, yeah, really not much changed as far as technology. WordPress got a lot better through the updates we received and the plugins got a lot better alongside them, but we weren’t using built tools at all. It was all quite rudimentary. Which, I quite appreciate that. I’ve definitely kept that approach, that old-school approach of keeping things simple. That’s been a bit of a motto I’ve tried to keep.

There were custom field plugins before, why do you think yours took off so much?

I think ACF’s success is based around its focus on quality interface. I think a lot of people really appreciate good design, and I think at the time ACF was a bit of a step up or up on think next level compared to the other plugins. It may not have had the same features, but it looked much more professional. I think, especially in the professional industry when we’re making websites and getting paid to do so for our clients, we want to hand over something that we’re proud of and we want to hand over something that looks the money that we’re charging. I think that’s definitely been one aspect of ACF’s success, just that quality of the user interface.

The other has been good timing. I think if I was to start working on ACF now, it maybe wouldn’t be as successful. But at that time, I was the only one working on a custom field plugin that was rolling out these kind of updates quite regularly. I was really ambitious in the number of features and ideas that I was rolling out, because within that first year of development, I charged through three complete major versions, version one, two, and three, with all the minors and patches as well. I was very ambitious and put a lot of energy into it, and I think that that momentum people really … The word spread quickly that this plugin was evolving at such a rapid rate and it was something to get behind.

Do you think that because you had your personal touch on it and didn’t outsource any of the tasks, did that affect the fact that you had control over everything, and the quality of course, and didn’t have to supervise and do the tasks that most bosses need to do? 

I think this definitely helped because I didn’t have to waste, well not waste, but I didn’t have to spend any time in communication with other people or even consulting ideas. As long as I thought the idea was good, I would just get straight to it. Yeah, I guess that helped this fast release cycle of getting new features out, getting designs out. I am a little bit OCD and have a very fine tolerance for design and code in general, which I’m starting to relax with as I get a bit older. I think I was worse going back five, ten years ago.

I know you outsource support, but are you still managing everything else on your own?

Yeah. Yeah. True, all development is done by myself, development and design at the moment. I’m hoping to get some people on board in the future, for sure. I’m starting to realize that ACF is growing continually. It’s continuing to grow now. I wasn’t expecting this at all, actually, and so I think it is time to probably look at hiring some people. But I do have some people that I work with, designers, developers, when the time comes, but there’s no one but me as a full-time kind of sense.

In managing, I think the biggest thing is managing both small and big tasks. How do you cope with it? Like you have to, I don’t know, write all the logs and the menial type of tasks, code reference, and you know?

There’s a lot to juggle when you’re working on a WordPress plugin. Fortunately for me, I just really enjoy all of it. I’ve got now just a really clear understanding of how WordPress works, how PHP, JavaScript work, so testing things is not so much a problem. Nowadays that ACF is so established, all these updates are either a new small feature, or maybe there is a big feature that requires quite a lot of testing, but most of the time it’s small LEGO block additions, and so it’s quite easy to test those things as they get put on. But I just really enjoy developing, designing new ideas, so yeah, I’ve still got that motivation.

And ACF 5, this has been in beta for quite a while. Can you share a bit like what was the process like and where it’s at right now?

The release schedule for version 5 is probably the one thing that I most regret. What happened going back about four years now is I stopped work on version 4 and I started work on version 5 because I saw a need for a new architecture for both the PHP, HTML, and the JavaScript. Version 4 was good, but I was starting to walk towards a corner that was going to be difficult to get out of. Version 5 was a fresh start with a new data structure and would allow for a lot of new things, and so that was great. That took six months or so of new development, and by the end of it, I had decided I wanted to move away from my previous premium mode, which was a free plugin and then four individual add-ons. What I wanted to do is change that towards just the free version and a pro version, so consolidating those four add-ons together. This all just happened at the same time. Maybe it was a bad judgment call, maybe it wasn’t, we’ll never know.

But I, instead of releasing version 5, I released ACF Pro, and Pro was version 5 plus the add-ons. Basically, I’ve been working on Pro for the past four years, unfortunately neglecting the free plugin, but that’s all changing at the moment. Version 5 is going to be released very shortly on WordPress.org as a free update, and it currently is available now in a package that I call Early Access, which with just one line of code you can update now from version 4 to version 5, but it’s not an official update that comes through into the plugin prompt in the back end.

You’re working so hard for several years on that plugin. Didn’t you think the FOMO, the fear of missing out, that you could create a different plugin?  

Yeah, I have had ideas in the past, but there’s so much work with ACF that this is just what I do full-time. I have had ideas, though, but nothing that seemed more appetizing than ACF. ACF is a great playground for me. The plugin itself is super rewarding because I’ve got this great appreciation and love for content editing, and I feel like custom fields is just this great pathway, a great tool for creating content. It’s not the only way, but I believe it’s part of a bigger picture, bigger painting. It’s this really necessary component. I just, I really [crosstalk 00:18:17]

Can you talk a bit more about Pro, like how did it come to be and what’s the functionality, and what’s the usual funnel for people to upgrade?

The Pro version is five premium features that aren’t in the free version. Those premium features are the repeater field, the flexible content field, the gallery field, the clone field, and options pages. Previously, this is also tying into going back to version 4 a couple years ago, they were all sold as individual add-ons. At that time, I loved that idea of these small modules because, in my eyes, it meant I could create infinite little modules, and one day I could come up with a new idea and create a new saleable module. From a business point of view, I thought that was fantastic.

But after years of working in that model, I experienced the frustration of having to manage and update four separate add-ons which could conflict with each other and conflict with the free version that you needed as a hub. This drove me to such frustration that I opted for a all-inclusive Pro model. I feel like some other people have moved the same way and maybe experience the same frustrations when you’re trying to, again, manage conflicts between different versions. It makes it quite a lot harder to roll out updates and you have to really plan them out in advance, whereas when it’s all wrapped up in one plugin, you can just release an update and you have full control of all the code inside that bubble.

That was the main reason for packaging them up into a Pro version. Pro’s been selling really well for the past four years. The funnel for people to get to Pro, usually through the free version. The free version, although it’s version 4, it’s still essentially the same idea as version 5 and version 5 Pro. Yeah, so if people try out the free version, it’s got heaps of features, apart from those premium fields and options pages, it’s exactly the same plugin. You can create professional websites with it just the way it is. When you find a need for one of these premium functionalities, then that’s the prompt to do the upgrade.

Before we came up with our theme builder you had to implement ACF with code. Now, you can include it as a dynamic field and you can manage the whole process, including design, without coding. This opens up the door for designers that are less code-oriented. How do you see? 

I love this. I love this change towards a more embracing and open usage and community. When I was developing ACF, I was developing it for myself. I was developer in need of a developer tool. I guess my main, or 99%, of my customers are developers. They’re people that write code in their sleep and they need a tool for developing websites, very bespoke websites that they need fine tooth control over. But the work that you’re doing with Elementor and bridging the gap between the data in the back end and the control over the visual on the front end is super impressive.

I mean, I’ve thought about this kind of stuff in the past. I’ve thought about page builders and the sheer complexity and just the infinite amount of questions that already pop into my head are the reasons why I haven’t gone down that path, so it’s so impressive that you’ve been able to do it. And not only do it and it works well, but it works seamlessly and it works simply. Yeah, that is really exciting. It’s a really exciting areas that’s opened up at the moment.

Are you seeing the questions from different users? Are you seeing an expansion in your tickets and the questions that you get?

Yeah, I think that over the past year or so, as more and more page builders and more and more different approaches to creating websites are happening, we’ve definitely noticed a trend towards less developer-focused questions and more usage questions. I think it’s nothing like huge black and white, but it is a slow kind of gradient towards some different users. Which we’re happy with, you know? We’re happy with anyone who wants to use ACF. New challenges, new questions, that’s always interesting.

But at the same rate, compatibility and plugin issues aren’t the funnest things to debug. They’re really tricky. We don’t ever like sending our support customers back and forth between developers because I have been on the opposite side of that and that becomes quite frustrating too. But, no, we haven’t really noticed anything too major, so everything seems to be working quite well, I guess.

Do you think if you had to do it all over again, like if you start from scratch right now, do you think you’ll come up with another ACF or something?

Yeah, if I had to stop ACF today and I had to start working on something new, it would probably be Gutenberg-related, only because of the timing, but it would have to be something similar. It would definitely be to do with content interaction. Yeah, I’m not sure where that would be, but it would always be to do with user interface and user experience, somewhere in there.

And what do you think about Gutenberg and all the possibilities?

Gutenberg, look, an amazing idea. I’m not sure which side I’m standing on right now, but I’m hoping for that everything works out just fine. My main concern is for our users, and obviously our users are using ACF to customize their edit screens, and the Gutenberg project completely changes what the edit screen is. We’ve got some challenges ahead of us to integrate ACF into the new interface of the Gutenberg editor, but it’s exciting that we are getting an upgrade on the editor and also the fact that Gutenberg isn’t just about the editor, is it? It’s actually a whole new approach to content being saved throughout WordPress. The whole idea longterm is that everything will be a block. Basically, I guess, WordPress is standardizing content in a way so that their content that’s edited on what we now call the post content, the native TinyMCE editor, is no different for editing content for a widget. In that sense, that’s a great idea, that kind of, what would you call it?

Standardization or…

Yeah, the standardization of content is a fantastic approach because, although there may be some pain now in the transition, you can already just see that longterm that makes so much sense in the same way that in ACF I’ve standardized the way that fields are created so you can extend a field and create a new field type. I’m sure in Elementor you’ve got widgets or block types that you extend from a class. I love that kind of extensive nature of code, and so I can really appreciate that. But there’s definitely some major challenges ahead of us, that’s for sure.

How do you see your work in, I don’t know, five years? ACF in five years?

Well, I’m starting to come to terms with the fact that I think ACF will be around in five years. Even just only a few years ago, I was thinking surely ACF will have run its course and something else would have come along by now and no one will be choosing it. Each year I am just so surprised that we’re still building websites with WordPress and we’re building amazing sites with WordPress. The features that I’m working on with ACF are getting used and appreciated, and there’s just so much more left to do.

I’m feeling really good about the next five years. I’m definitely still going to be doing this because, for me, this is just the ultimate job now. I know this language back to front, and not only just PHP and JavaScript, but the WordPress language which you could almost call it. It’s such a huge library of functions and concepts that it’s nice going to work each day and knowing that you’re, what’s the word I’m looking for? That you’re a bit of a expert. This is kind of your area of expertise.

I think ACF is going to look very different in five years, especially with Gutenberg on its way. I think that’s going to be … It might have quite a changing factor for all of WordPress. I think five years from now, there might be something else. Gutenberg might be completely outdated in five years and we might have something else to worry about. But I think the need for content editing will always be there. That’s the premise of websites is to share content. Without content, a website is pointless. It’s got no purpose. And content is more than just text. Context is imagery and video and everything that we actually go online to look at. Everyone needs a way of editing that content. That content needs to be saved somewhere.

Do you miss the office talk, the working with other employees?

Yeah, yeah, a little bit. I’ve always worked quite well by myself, on my own. Growing up in a small town has probably done that to me. I’m quite fine on my own. We’ve got the dogs here and my partner as well. I mean, we live in Melbourne city, so it’s not far to find someone to go have a coffee with or whatnot [inaudible 00:36:47]

What do you do in your free time?

I skateboard, which I’m going to have to give up one day. Now that I’m hitting 30, and I think it’s starting to hurt, to be honest. Falls hurt a little bit more than they used to. Skateboarding, I’ve been into woodwork for a while, although I’ve taken a little break away from that. There’s lots of projects going now. We’re hoping to actually start designing a house soon to rebuild the house that we’re currently living in.

You’re not going to build it yourself from scratch, right?

Do you know what? One day, I would have in the past. That would have been my dream. But no, no. There’s no way that I’ll do that now. I think I’ve always had that kind of DIY drive. I love doing stuff myself and I love just learning new skills, new techniques, new ideas. Really, always just open to, yeah, to being wrong as well. I’m very open to being completely wrong. I love being proved wrong. I quite like failing as stuff as well. That’s completely fine by me. It’s just the wrong way to do it, and try again and learn from that.

I think you have to be like that, especially when you’re working on product design and you’re opening yourself up to a lot of criticism. I think you have to, yeah, you have to be open to failure. That’s just part of it.

What do you think that most people won’t agree with, but you believe it is true?

I’ll go with the fact that I don’t give up very easily. It’s pretty impossible for me to give up. I’m very stubborn, even with code. If it takes me a few days to perfect a code, I will spend those few days, and even if it gets thrown in the bin, just to have a proved a point. So, I think my stubbornness can sometimes be a really good thing.

What are you currently working on?

Currently working on the free release of ACF version five, which I’m really excited about getting back to the roots of the plugin, which is a free plugin. Really excited to see everyone updating and gaining all of these new functions, functionality features, security, and all these other ideas that have been happening in the last couple of years. Really excited to see people start using Elementor and ACF together, and really excited to see how far we can push this compatibility and all the different field types that we can start integrating together.

Other stuff that I’m working on is obviously Gutenberg integration, which is a challenge at the moment, but something that’s actually super exciting. I’m looking forward to harnessing Gutenberg as the UI for creating blocks and injecting ACF into those blocks allowing people to create their own kinds, and just seeing how that all unfolds over the next six months. That’s going to be the main focus and entertainment.

Liked this interview? Let us know in the comments below, and please share which guests you would like us to have next.