Last weekend, I spoke at WordCamp Manchester. My presentation revolved around some of the many mistakes I’ve made while creating Ninja Forms and Ninja Demo. I discussed taking too long to release code, support, plugin updates, and managing a development community. I think it went pretty well, and hopefully it will be on WordPress.tv in the next few months. When it is, I’ll update this post with a link.
Just a few hours before my presentation, James and I had a long discussion about development timelines and focus. As you may or may not know, we have been working on Ninja Forms 3.0 for about a year. Our grand vision was a completely re-written code-base that removed legacy code, a completely new UI to help organize our settings and make them more user-friendly, a new submissions system that would allow users to search submissions and decide which fields are shown in the table, and a new robust notifications system to replace our current method of sending emails. Obviously, this became a very good example for my discussion about taking too long to release code.
Why has it taken so long to get 3.0 done? Why has it taken us so long to release code? The short answer is that the goals we set weren’t specific enough. We approached the re-write holistically, rather than a piece at a time. This made it easy for other development projects to take priority. It also meant that one piece being out of place, like the new UI, could slow down or stop development altogether. While we have made some progress on the new version, it has become increasingly apparent that a new approach is necessary, and we think that we have a decent plan. Instead of releasing 3.0 all in one go, we’ve decided to break down our release into stages, working on one aspect of the update at a time. These sections will take somewhere between two to four weeks each, depending upon the amount of work required.
The first thing to be overhauled will be our submissions system. Beginning now, and wrapping up around 15 July, the submissions overhaul will turn submissions into a custom post type. This will make it much easier to get data from your submissions for front-end display. It also means that your submissions will now be searchable and sortable. Furthermore, it will enable us to create a really good reports extension. All current submission data should be converted over to this new system with the update to that version.
Again, our goal is to have this done by the 15th, but we know that the best laid plans of mice and men often go awry. After the update to submissions is completed, we plan on working on our new notification system. In a nutshell, you’ll no longer be limited to one admin email message; this system will allow you to create as many emails as you’d like when a user submits a form. The next area to receive attention will be how fields are registered. While this update is more technical, it will allow us to improve our user interface as it is without any major updates. Finally, we have been in contact with Focus Lab, the same amazing company that did our rebranding, to help us create the next generation of Ninja Forms UI. This UI update is several months in the future, but we feel that bringing in an outside team to create a new UI will make Ninja Forms more simple and intuitive.
If you’ve been waiting on version 3.0 of Ninja Forms, thank you for your patience, and I’m sorry that I’ve let you down. I completely understand any frustration, because I have felt it myself. I think that we have a very clear and concrete plan of attack, however, and it should allow us to get awesomeness out to you much more quickly. As I said in my talk at WordCamp Manchester, being able to admit when you’re wrong and change is the hallmark of a good developer. Trust me, I’ve had plenty of practice.