What have I been working on lately in the Charleston Software skunk works?
Some docs and video tutorials for third party add-on developers, or as I am calling them “SLP DevGru” (short for development group). I’ve had several developers asking about how to build add-on packs, offering to help build stuff, and making a little side money while doing so. Since there appears to be some active interest I though it best to nurture it as it will create more options and a better Store Locator Plus ecosystem for the users. That’s good for everyone.
Current Pro Pack Tweaks
While I’ve not added anything to Pro Pack I have done significant work this week on isolating Pro Pack features from the main plugin. That means that sometime in the next release or two the Pro Pack will become completely isolated as a separate side-by-side installation. That means a lighter weight base plugin. Less memory with less disk I/O means faster performance of the base product.
It also means the license keys will eventually go away for the Pro Pack. When that happens all users of the Pro Pack will need to download and install a separate Pro Pack zip file and activate it alongside the latest version of the base plugin. This will mean fewer “I lost my key” or “I never got my key” issues, which adds up to about 10 email messages every week that I can keep out of my inbox. It also simplifies the installation process and eliminates some confusion over license as it is the ONLY Store Locator Plus add-on pack that remains activated by a license key.
When the new Pro Pack download becomes available you will need to have an active account on the Charleston Software Associates website to obtain the download. For those that ordered a Pro Pack license from within the product it is possible you do not have an account on the CSA site. Order a free product such as the base Store Locator Plus plugin to create a login. I will be adding the new Pro Pack download to any account that has a Pro Pack license ordered since January 2013. All other users will need to request the new download when the time comes.
Current Plugin Tweaks
While refining the elements around the Pro Pack I was came across various sections of code, and complete files for that matter, that were dormant. Those were eliminated, which reduces the security risk footprint and lessens the size of the installation. I was also able to eliminate at least 3 confirmed data I/O operations on every view of the location finder page on your site.
The add-on pack builder has also been improved. I noticed some older client sites had files in their add-on directories that were removed many versions back. The new add-on pack builder ensures the new zip files that are built are clean files with no legacy items left behind. While I’m not sure how WordPress handles an inline-update, a deactivate/delete/install/activate cycle should clean out any unused legacy files from add-on pack folders. Getting rid of unused files is a great way to improve the security of your site.
Speaking of Security
On that note, you really should be DELETING any unused plugins from ANY vendor that are on your site. Deactivated plugins are still accessible to external sources. Hackers can leverage this as a doorway into your WordPress site if that deactivated code has security holes. If you are not using a plugin, delete it.
Future Add-On Pack / Pro Pack Changes
Another BIG CHANGE coming to the Pro Pack will follow directly on the heels of the separate Pro Pack downloads. Any feature that is currently part of the Pro Pack that is a better fit for the Enhanced Search, Enhanced Map, or Enhanced Results plugin will be moved to those separate add-on packs. This is being done to reduce the size of the Pro Pack plugin, which has become very bloated and is inefficient in how it is constructed and how it operates. It will make for a smaller faster Pro Pack plugin that focuses on key enterprise operations like data import, bulk location management, and related activities.
I have started marking those features that will be moving on the Admin UI. In addition to the Enhanced Map, Enhanced Search, and Enhanced Results features, the reporting module will also be separated into a new Reporting add-on pack.
The reason for these changes is to continue to improve the foundation of the product. By creating add-on packs that focus on a single operational area of the product I am able to create more efficient code and improve performance. This is critical on sites with a large number of locations and high search volume. Some sites receive dozens of map requests every minute and reducing I/O as well as memory usage has a significant impact on response time of the site. It also means larger installations will not need to upgrade to larger servers only to serve a location map.
For any Pro Pack user that does not want to lose the changes, the upgrades are not mandatory. If you retain your current version of the product the feature set will remain intact.
For those users that “shoot first and ask questions later” that lose features after an upgrade… you did WHAT? It always shocks me how many people click “install this update.. updates are cool… I fully and completely trust this plugin author I’ve never met before” without reading the update notes.
Luckily not many people have complained about features moving to a new add-on pack for those elements that have already moved out of the Pro Pack. Those features that already moved were relocated primarily due to code structure changes. It simplified the code and/or eliminated issues on certain installations by doing so.
While some people may think this is purely being done for financial gain, that is not the case. It is 100% driven by my desire to continue to refine the product and build things “how they should have been done in the first place”. It is the right way to structure the product and I refuse to compromise doing things the right way to placate a few people that are more concerned with not spending $25 than they are with having the best plugin I can build for them on their servers.
That said, I am currently working on a plan that IS financially based. The simple fact is that providing documentation and support for a plugin with 15,000+ installations is becoming a full time job. That does not include the 20-30 hours of coding I put into the product on a regular build cycle or the posts, like this one, to keep people updated on what is going on.
In order to continue to maintain and improve the plugin there needs to be a better financial model. The current model of “buy once, own forever, and get monthly updates for free” is great. Except for the fact that the ONLY WAY to support future development is to sell add-on packs to new customers. That means that every month there is significant risk that I will be coaxed into going back into the full-time tech job world and development and updates in the Store Locator Plus ecosystem will stop.
Think about it for a minute. How many add-on packs would YOU need to sell to feed your family, pay for health care, pay the rent, pay for the servers you run the business on, and all those things that go along with just getting by? That is a LOT of new product sales for most people. Remember, this is a solo operation. It seems I’ve done a decent job of building a “corporatey” website, but everything you see here is just one guy hacking at a keyboard from a home office.
After discussions with a number of customers over the past 2 months, it has been made clear that some organizations have the Store Locator Plus product as one of the main features of the website. One client recently told me they see 42% of their web traffic utilizing the location system and only 2% of those users view anything else on the site. If development and updates of the plugin stopped it would be a costly endeavor for many organizations to find a replacement.
I have come to the realization that creating a simple subscription based system for obtaining product updates may be a good model for my customers and create a sustainable model for supporting the plugin. The current “buy it and own it” model will remain. The base plugin and upgrades to the base plugin will remain free. However I am exploring the possibility of creating an “Enterprise Subscription” model.
Concept: Enterprise Subscription
The concept I am playing with for the Enterprise Subscription is fairly basic. Enterprise Subscriptions pay a sign-up fee, slightly less than purchasing all of the add-on packs which would put the fee slightly under the cost of the “Kitchen Sink” package. The recurring monthly fee would be set at a nominal rate. I’m thinking something close to $10/month. Any member with an active subscription will get access to any future upgrades and patches of the add-on packs at no cost. They would also be given access to any new add-on packs at no cost.
Concept: Purchase With No Subscription
Customers that do NOT have an Enterprise Subscription can still purchase the products the same way they do now. They will get the latest versions and will get free upgrades to the latest base product. However any add-on pack upgrades will no longer be published as a free update unless there is a security risk or notable issue that makes the add-on pack incompatible with the base plugin. All optional upgrades to the add-on pack will require purchase of the upgrade. Upgrades for add-on packs will be set at something close to $5/upgrade.
There may be some modifications to this model before I “go live” with it.
I the Enterprise Subscription concept is a good compromise between generating enough revenue to continue development and support and keeping the plugin affordable. Larger installations with a vested interest in the Store Locator Plus ecosystem will be supporting development and online support with a small monthly investment. Smaller installations can build out their projects for their clients at a cost that is no higher than what they are paying today, they simply do not get future improvements and new features for free.
What do you think?
I’d love to hear your thoughts about this model. While it feels a little bit more “big business”-like, I feel it would be a disservice to the customers to not address the potential risk of having development and support go away.