I am the author of Ultimate Fields (https://wordpress.org/plugins/ultimate-fields/) and Ultimate Post Types (https://wordpress.org/plugins/ultimate-post-types/). Those plugins have been online for more than a year now and I am more than happy enough so far. Right now Ultimate Fields has more than 800 installs and Ultimate Post Types has more than 200. Those are not the best numbers, but we will get to this later, after I inform you how it all got there.
It all started in 2012. I wanted to have an in-theme library for creating custom fields, as I had some freelance projects, which needed some custom WordPress love. I couldn’t find a library nor a plugin that I liked. There are two reasons for this.
I was looking for a single, relatively light-weight solution, which I could use for creating custom fields. But don’t get me wrong. I am talking about fields, which are custom-made, not the “Custom Fields” box, that comes with WordPress. I needed something that can be used for all custom back-end fields, which would let me focus on my code, rather than ways for data entry. This meant that I wanted to use the same thing for various locations in the administration area, or at least post meta fields and (theme) options.
At this point I was aware of only one option. If you are developing WordPress site, you either know it or you are using it. There was a problem with it though:
I wanted that magical solution to be easy to use, mostly by code. I didn’t want to wander through the admin, in order to check if the field I created is saved as “backround_image” or “background_image_id” (just an example, of course it’s “background_image” :D). I wanted to be treated more as a developer by my tools, rather than a user.
I was obvious that I needed to code something on my own. It was called “ThemeX” and was my own starter theme, including the libraries I need, including the one for fields. It was a code-only solution, just like I wanted it. Of course, there were neither too many field types, nor a lot of small “functionalities”. At that point, I was very satisfied with what it did and how it did it. I wanted to share it with the world, but at this point, although I was using open sourced software, it just didn’t feel right to give my baby away for free.
Since a friend of mine gave me the recommendation, I decided to go with CodeCanyon, as a selling tool. It was the baby-brother of Theme Forest, where I wanted to publish a theme at some point, so it was a no-brainer for me.
I wasn’t too confident though, as even though I loved my code, I wasn’t sure how easy would it be for people to understand it too. I contacted them, in order to discuss if my code would make sense as a plugin, without having an administration interface. Of course it didn’t. I decided to create that interface. Of course I did it and this is how my first product was born.
Yay! I had something with my name next to it. It was very exciting, especially in the beginning. Someone was interested in my work, paid for it, used it and of course, needed support.
Although initially I was happy helping everyone and getting some dollar, the sales didn’t go as I expected. Since that was a bit demotivating and at the same time I had a full-time job, attended my university and had some freelance gigs, it was already hard to invest time in support. The project was almost dead, so I dropped the plugin from CodeCanyon, as it seemed like that site was not the place my potential clients would look at, when they needed that type of solution.
I needed a different way to sell the plugin. What I needed was a channel, which I could use as a way for more people to discover it. And what could be a better place for this than the WordPress plugins repository? There is just one thing that didn’t suit me about it – it was a place for free plugins. I still appreciate my work a bit too much and I am not ready to give all of it for free. This led to the next decision – Freemium.
I separated Smart Fields into two parts. Since the name also didn’t feel right, the result was “Ultimate Fields” and “Ultimate Fields Premium”. As always, I rushed out and published the free version online. I wanted it to gather some inertia while I polished out the premium one, plus some users using the free one were going to be quite useful, as they would let me find/clear out more bugs. I was much happier when I did this, compared to when I published the plugin in CodeCanyon.
It was far from finished though. I still needed to get a couple of things done: I needed to get ready with the premium version and I needed a website, where I could sell it.
While the premium version was almost ready, I decided to focus on the website, since I needed both things. Although it doesn’t seem like it, behind the “OOPS! WE ARE NOT READY YET!” message, at http://ultimate-fields.com/, there actually is a website with a lot of stuff into it.
I am not a designer, never claimed I was one and even if it doesn’t seem like this, I spent a lot of time with it. Although it is not finished, there is a lot of documentation already in place, a WooCommerce shop (for the premium version), a forum for support and etc.
The turning point
While I was working on the premium version, i discovered Backbone.js. As I like it a lot, I decided to do a quick experiment and try to combine it with the other thing I love – the plugin. I was extremely happy the result!
What I wasn’t that happy about was the plugin. The pro features, combined with the admin interface for creating fields were too much for the base that I used. Sites were too heavy, the user interface did not allow all of the functionality of the plugin to be used and overall, most of it wasn’t written as well as I wanted it to.
I decided to re-do it all. I started in the end of 2014 and you can read what happened since then in the Ultimate Fields 2 article. If it gives you a 404, don’t worry – try again in a couple of days. This article (the one you are reading) is the second one on the blog and I am trying to post in chronological order, so some links might be doing some time-travelling 🙂
The reason I am still happy
In the beginning of the article I mentioned some numbers, stating that I am satisfied by them. As you read above, the only part that is online at this point is the free plugin. Because of the development of version 2, I was not able to give it a lot of love. Keep in mind that the plugin exists without any user-accessible documentation.
Still, that plugin has 3000+ downloads and 800+ active installs, even though it has not been updated for more than 12 months now. This keeps me very optimistic and I believe, that when all parts of the puzzle are online, including the Pro version, the site and the support forums, there is a nice future ahead.