2018 Year in Review: Our Most Productive Yet
This has been the most focused and productive year for Delicious Brains, Inc., yet. We shipped a bunch of new features for our existing products and built two new products. Let’s get into it.
WP Migrate DB Pro
This year saw some great progress on WP Migrate DB Pro much of which was behind the scenes. Servicing technical debt has become our top priority and Pete has done some great work building new foundational pieces and reorganizing the PHP code all while delivering releases that were compelling for customers.
In September, we released the Theme & Plugin Files addon which included some new foundational pieces that will eventually replace old pieces in the core plugin and the Media Files addon, speeding up migrations and making them more reliable.
Just a couple months later, we released WP Migrate DB Pro 1.9 with a new Backups tab to manage database backups. The bulk of the work for this release was actually reorganizing PHP code.
In 2019, we will continue to balance the servicing of technical debt with delivering compelling releases. I just described our plans for WP Migrate DB Pro in November with lots of detail including wireframes. Check that out if you’re interested to see where we’re headed.
WP Offload Media
I’m thrilled to say we shipped three major releases of WP Offload Media this year. Jonesy did an excellent job planning the releases and fighting scope creep. Each release got us closer to supporting more storage providers in addition to Amazon S3.
Version 1.6 (February) eliminated conflicts with plugins that also bundle the AWS SDK. It also eliminated the requirement to have the Amazon Web Services plugin installed. Version 1.7 (June) upgraded the AWS SDK from v2 to v3 and increased the PHP requirement of the plugin to 5.5+. And finally version 2.0 (September) renamed the plugin from WP Offload S3 to WP Offload Media and added support for DigitalOcean spaces.
Our next major release will add support for Google Cloud Storage, aiming to land it in the first quarter of 2019. (Want to be the first to hear when Google Cloud Storage support arrives? Click here to get on the product news list.)
Ash and Gilbert started working on SpinupWP in February this year and have been full steam ahead building it in Ansible and Laravel. They’ve been rocking it.
We quietly launched SpinupWP into beta on November 7th by emailing our interest list. We’ve had over 100 people sign up, most of which have been spinning up servers, adding sites, and managing them. We’re very happy with the number of signups (especially considering it’s a paid beta) and the feedback we’ve received so far.
— Johnathan Lyman 🚀 (@_johlym) December 23, 2018
We had our fair share of challenges building SpinupWP but it feels as though we’re through the worst of it. I plan to write an article detailing all those challenges after we launch out of beta. We’re currently in the process of building the launch features: adding per-site SFTP/SSH access, site backups, and team accounts.
WP Offload SES
Although Matt has done some great work and made excellent progress with WP Offload SES, it wasn’t quite ready to launch in 2018. However, before we headed off on our holiday break, we did wrap up all development and testing, and got it fully ready to launch. Then just last week we quietly rolled it out without emailing anyone. So if you’re reading this, you’re one of the first to find out about it! 🙂
We’re really excited to have released the first full-featured Amazon SES plugin for WordPress. It features a painless setup wizard, open and click tracking, reporting, and a robust queuing system.
Matt is already working on the next release which will include the ability to search all the emails sent through your site, view all the emails sent to a specific customer, and resend an email that was previously sent.
We started treating our site like one of our products this year. Iain dedicated himself to working on it full-time and it has paid off big time.
To start the year though, I had Gilbert, Ash, and Iain furiously working on the site to get the redesign and product rebranding implemented. We launched it at the end of January 🎉.
A few weeks later Ash pushed out an update to fully support Composer for our premium plugins and wrote an article about how he did it with the hope that other plugin shops could do the same. Iain plans to improve our Composer support even further in 2019, enabling the use of auth.json.
In March, Gilbert and Ash moved to working on SpinupWP and Iain took ownership of the site. He reorganized the hundreds of issues into an awesome kanban board and prioritized them.
It has made it a lot more manageable to choose the most important things to work on.
He also set up automated acceptance testing with Codeception so that we don’t have to remember to manually check that the checkout still works every time we deploy an update to the site.
It may surprise you that most of our site isn’t editable from the WordPress dashboard. But this year Iain has been moving bits and pieces into the dashboard, like our testimonials and alert bars. Liz and Caillie have been rejoicing! 👏
In 2019, we plan to continue treating our site like a product and knocking out issues that are long overdue.
You may not remember, but we were working on a product called Mergebot for the past few years. We blogged and emailed about it lots in 2017 but in 2018 we came to the unfortunate realization that there wasn’t a viable path forward.
The product was cumbersome to use (more trouble than it was worth) and we didn’t see how we could improve it. The problems were simply not solvable, at least not by us. We shopped around a bit for a buyer, but ended up just shutting it down in August.
After reflecting on this project, I realized that when we set out, we literally didn’t expect to succeed. We knew it was an incredibly difficult problem, but decided to throw caution to the wind and try to knock down every brick wall in our way. And although we knocked down quite a few walls, we hit one that was just far too thick for us to knock down. Perhaps for anyone to knock down.
When I think about how much time, money, and energy we invested in building the app, it helps to think about how it started. We set out to not just hit a home run, but to knock it out of the park, and we struck out. As expected. My only regret is not pulling the plug a bit earlier, but that’s always easy to say in hindsight, isn’t it?
Some people have requested that we release the app as open source and we may, but we haven’t decided yet.
This year saw the departure of one member of our development team and the addition of our awesome marketing assistant Caillie in August. And so we end the year the same size as we started it.
Caillie has been a massive help to Liz with all things marketing, but has also been a huge help to the dev team as she has been responding to all pre-sales and billing emails and taken those off their plates. She has also been organizing our internal documentation, which was sorely needed. It’s a wonder how we managed without her!
We did try to hire our first designer, but I took some shortcuts that didn’t work out. And so we’re still in the process of hiring our first designer and will likely hire another developer in the first half of 2019 as well.
In May we flew to Negril, Jamaica for our annual company retreat. Overall it was a great trip and we had a blast, but internet connection troubles made keeping up with support and working in general difficult and a major annoyance. In the future I’m going to avoid destinations where the internet connection is likely to be a problem.
Check out the retreat blog post for the whole story.
I reorganized the dev team this year into teams of two. Jonesy leads development of WP Offload Media and has help (sounding board, reviewing pull requests, etc) from Matt. Matt doesn’t write any code for WP Offload Media. He has been busy leading development of WP Offload SES and has help from Jonesy.
Similarly, Iain and Peter worked together, Peter leading development of WP Migrate DB Pro and Iain leading development of our site (deliciousbrains.com).
Gilbert and Ash worked on SpinupWP, reviewing each other’s pull requests.
I (and sometimes Liz) met with each of these three product teams weekly, got an update on what they worked on in the past week, what they will be working on going forward, discussed any dev struggles/concerns, and discussed customer support. We also set launch dates and checked in on them every week to see if we were still on track.
These team configurations coupled with the weekly meetings have made a massive difference this year. I feel as though we’re more focused and productive. We’re making subtle course corrections weekly rather than big ones when things go off the rails.
The fact that I don’t feel the need to make any significant product management changes this year is a testament to that success. Not to mention we’ve shipped more than ever this year and I’m very happy with our output.
I’ve never believed in setting launch dates. It seemed at best silly and at worst dangerous to pick an arbitrary date for launch. However, this year I figured out a better way to set launch dates. I ask a pretty simple question:
If we’re still working on this release in April, will it feel like we’ve been working on it for too long? Will it feel like we should have shipped it by now? What about March?
And so setting a launch date for us is about avoiding exhaustion and running out of steam.
I think we have yet to set a date that doesn’t get adjusted several times. And we almost always punt some things until after a release. But that’s fine because having those dates in place has still made a huge difference in our productivity and motivation. The SpinupWP beta launch for example felt like a sprint to the finish.
I signed up for Balsamiq early in the year. It’s not my favorite software, but it does make it very easy to put a quick UI together without fiddling with it too much.
I had previously been doing high fidelity mockups in Photoshop for any UI changes to WP Migrate DB Pro and WP Offload Media, but although I found it fun, it was time consuming and the team would often be waiting on me. I was hoping Balsamiq would save me some time, but what ended up happening is that our developers started using Balsamiq to do the wireframes themselves and I would just review and suggest changes. This was a huge improvement.
The team did wireframes for SpinupWP and WP Offload SES to nail down the user experience and copy before getting into coding. This worked so well for the new products that they wireframed the releases of WP Offload Media as well. I now ask them to wireframe all major UI updates before getting into implementation.
One of the goals in my 2017 annual review was to set specific marketing goals in 2018. Liz and I did exactly that:
- WP Migrate DB Pro: Increase revenue by 20% over 2017 revenue
- WP Offload Media: Increase revenue by 30% over 2017 revenue
- SpinupWP: Acquire 800 email subscribers for the upcoming launch
- WP Offload SES: Acquire 600 email subscribers for the upcoming launch
It should go without saying but we always want to pursue goals like this for the company in ways that still have our customers’ best interest at heart. For example, we saw significantly less growth on our email list this year but that was largely due to us prioritizing some changes around explicit opt-ins and other permissions which we all agreed was an important step.
Liz did a great job tracking our progress all year and we managed to surpass every one of these, which was awesome. We did realize that overall revenue doesn’t make a great marketing goal, so we’ll be choosing even more specific marketing goals in 2019.
We also set the following marketing goals that weren’t really measurable:
- Get our new branding out there
- Continuously improve our site
Although they’re not measurable exactly, I feel as though we achieved these goals as well.
We had new t-shirts and stickers printed and have shipped them to over 200 of our customers.
— Eyal Gantz 🐘 (@egantzjs) December 16, 2018
And Iain worked on our site and related projects the entire year as described above.
One of the things I’m most excited about is the new screencast videos that we did to replace the old screencasts that are years out-of-date. Liz and Iain did an amazing job, very professional.
New Product Sites
Launching a new marketing site for a product can be just as much work as building the product itself. And while I don’t think that was quite the case for the new SpinupWP or WP Offload SES sites, it was still a crap ton of work. I wrote a ton of copy for both sites with Liz as my editor. We went through many many revisions 😬 but got there in the end. 🙂
Since we were very happy with the work Dose Media did for the rebranding of WP Migrate DB Pro and WP Offload Media, we went back to them for SpinupWP and WP Offload SES branding. We couldn’t be happier with the result.
We hired Jason Schuller to do the design of the SpinupWP site and we’re very happy with how it turned out. For the WP Offload SES site, we just assembled the design using the pieces from the pages of our other products and I think it turned out well.
We continued to write articles for the blog every week, publishing 52 posts this year. The blog continues to serve as not only a great source of traffic for us but also helps us see what you’re interested in or gather feedback on upcoming product plans.
If you aren’t already, you really should be reading the @dliciousbrains blog. Why? Great technical articles delivered with clarity and understanding.
— Jack Kitterhing (@codemonkey_jack) October 9, 2018
— Victor M Ramirez (@isvictoriousss) April 25, 2018
@dliciousbrains Just a little praise: your technical blog entries are phenomenal. I think that you are regularly putting out some of best high-level, current/cutting-edge WP dev practices material out there. Please keep it up, it’s really appreciated.
— David N. Blank-Edelman (@otterbook) February 13, 2018
Some of your favorites from this year include:
– Is Gutenberg the End or A New Beginning For WordPress?
– Vue vs React: 2018 Edition
– Creating a Custom Gutenberg Block in WordPress
– How to Switch Your WordPress Site From HTTP to HTTPS (with a little help from WP Migrate DB Pro)
– WordPress Deployment Part 1: Preparing WordPress
However, the team has been getting weary of writing so often, so we’ll be looking for guest authors and other ways to relieve some of the pressure in 2019.
Liz started having a monthly marketing meeting with each of the product teams to discuss marketing the product and any trends they’ve noticed emailing with customers. Once we estimate we’re six weeks out from a release, Liz attends our weekly meetings which means any communication or other marketing efforts have time to be executed rather than be a last-minute scramble. One of the major items to come out of these meetings this year was the beginnings of usage tracking (optional & opt-in) for WP Migrate DB Pro — something that we’re continuing to develop to help better inform what we focus on in both development & marketing.
Liz worked with Iain to try figure out what (if anything) needed to change with our site and our products to be GDPR-compliant. This was a lot of work and I can’t thank them enough for enabling me to mostly ignore the whole mess. 😂
By far the best product of that work is the post-checkout screen where new customers are asked if they’d like to get email about some of our other products or projects:
We used to just opt-in every customer to all our emails, but, while they could always opt-out, it never felt right. We also added a screen to My Account that allows you to see all your email subscriptions with us, subscribe to some, and unsubscribe from others:
We experienced healthy growth again this year with revenue up 26% over last year. This is actually better than our growth rate last year, so I’m very happy with that.
Our growth rate has decreased each year since we started, so this is the first year it has increased over the previous year. To be clear, we’ve grown revenue every year, it’s just that our rate of growth has slowed every year, except this year.
I’m hoping to see a higher growth rate again in 2019 as we launch the new products we’ve been building this year.
One metric that I’ve been ignorant of and have become sensitive to this year is the number of new customers we’ve been bringing in each month. As you can see in this chart, the number of new customers (bar chart) and the revenue from new customers (line graph) for WP Migrate DB Pro has been flat and even decreasing a little over the past few years:
It’s a similar story for WP Offload Media:
This is to be expected as our products mature but I’d like to see some growth in the number of new customers we bring in each month, so we’ll be working on strategies to accomplish that in 2019.
Conferences & Masterminds
In February, for the first time I attended Big Snow Tiny Conf West in Beaver Creek, Colorado. I co-founded and run Big Snow Tiny Conf East, but had never been out to the sister event my friend Dave Rodenbaugh has been putting on for years. I had a blast and I was very impressed with Dave’s operation. He has inspired Brian and I to step things up for Vermont in 2019.
In April I attended MicroConf (Las Vegas) again and managed to balance having a good time with not drinking too much and getting enough sleep. I still love MicroConf to reconnect with people I haven’t seen in a year or more, but I definitely don’t get as much actionable tactics out of it as I used to. I get just as much or more out of tiny conferences like Big Snow Tiny Conf.
In June I went to WordCamp Europe in Belgrade, Serbia and had a great time learning about the local culture there, reconnecting with old friends, and meeting new ones. After the conference I flew to Tivat, Montenegro to meet my wife for a little vacation. We drove up the coast of Croatia with a little detour into Bosnia & Herzegovina. The trip was filled with wonderful history, rich culture, and delicious food so we just loved it. In 2019, the rest of the Delicious Brains team will be joining me for WordCamp Europe in Berlin, where we’ll have our annual retreat as well.
In November I flew to San Diego for FishConf, a tiny conference and fishing trip put on by some of my friends from MicroConf. In addition to the non-stop business chatter one expects at these tiny confs, we carelessly rode electric scooters (and surprisingly didn’t die) and caught a bunch of fish and made sushi and ceviche. So damn good. I was impressed with the city of San Diego, very nice.
In addition to these in-person events, I had regular mastermind calls with David, Ruben, Brecht, Robert. I’m not sure where I’d be if I didn’t chat with these folks regularly. They helped me realize things I was ignoring, held me accountable when I committed to something, and were supportive when I needed that.
Launch WP Offload SES
We could have launched it before the holidays but decided to wait until afterward, so I’m counting it as achieved in 2018.
Launch private beta of new cloud app
SpinupWP public beta launched Nov 7.
3 major releases of WP Offload Media 2 major releases of WP Migrate DB Pro
- Mergebot: Launch Support for Multiple Environments and Teams
We scuttled this project, see above.
Set specific marketing goals
- Hire a Product Designer – Tried but no dice.
Printed t-shirts and stickers and started offering them to customers. (If you haven’t gotten one yet, don’t worry – we’ll get to you! We’re doing these in monthly batches.)
Increase monthly revenue 30% by November
Nov revenue this year is up 40% over Nov last year.
- Consolidate the WP Migrate DB Pro and Better Search Replace codebases into one codebase
Other things have taken priority. Not sure we’ll get to this in 2019 either.
Continue the healthy eating/drinking/sleeping practice at conferences
- Revisit this goal list with our team at our company retreat in May
Oops, forgot. I blame lack of internet connectivity.
Goals for 2019
In addition to the measurable marketing targets we’ll be setting for 2019, we also plan to accomplish the following:
- Hire a product designer
We tried to hire a part-time designer last year. This year I’m determined to have a great product designer join our team full-time.
- 3 major releases of WP Offload Media
- 3 major releases of WP Migrate DB Pro
- 3 major releases of WP Offload SES
- 5 major features released for SpinupWP
- Enlist another product manager
If we’re going to scale to more products and a larger team, I’m going to need help managing the products and people. I’m hopeful an existing member of the team will be able to step into this role.
- Hire another developer
If we’re going to build more products and continue with the ones we have, we’re going to need more developers.
- Start building 2 new products
We’re already launching 2 new products in the first quarter of 2019 and we’ll need to accomplish the above before we can get started on more new products, so just starting in 2019 will be a challenge.
- Revisit this goal list with our team at our company retreat in June
Again this year the positive feedback I doled out was too few and far between. I may have improved a little, but there’s no doubt it’s something I need to continue working on for sure.
I’d like to thank my whole team, Liz, Caillie, Pete, Gilbert, Ash, Matt, Iain, and Jonesy for all the good things they’ve done in the past year that I haven’t thanked them for. From updates to our wiki, to reminders in Slack, to all the lines of code that I never saw.
I especially want to thank those who brought things to my attention that were difficult to address. I was sick non-stop for three months this year (finally figured out that it was a tiny change to my diet that was the cause) and unbeknownst to me, my grumpiness was seeping into my messaging and disheartening the team. I’m grateful that they confronted me about it and I hope they continue to do so in similar situations in the future.
I’d also like to thank my mom for keeping our books and running payroll. I’m grateful to have someone I trust unconditionally with access to my bank account.
And thanks again to my fellow entrepreneurs for helping me work through the typical struggles of a solo founder and those unique to me.
Finally, thanks to you, our customers. Without you none of this would be possible. I feel very fortunate that you love the products we build, appreciate the quality, and are willing to reward us with your hard-earned dollars. We’re aiming to greatly improve our current products you know and love, as well as build new ones that we hope you’ll love too.
I’m incredibly happy with our team and the work we did together this past year. I feel as though 2018 has been a solid year and that we have a firm footing to take our next step up as a company in 2019 (Find out how 2019 went here).
What would you like to see from us in 2019? Let us know in the comments below.