The past couple of days have kept me busy with a few things, but mostly with working on the Store Locator Plus 3.9.7 release. I’ve also been working on a patent that is not related to WordPress stuff (yeah, I do things other than WordPress… hard to believe), getting ready to head up to Boston (thoughts & prayers to the families affected by the tragedy there yesterday), and researching both crowdfunding and software subscription features for the CSA site.
Store Locator Plus 3.9.7
Testing is underway and with any luck this will be released before I head out of town tomorrow.
The main push in Store Locator Plus 3.9.7 is to fix a few minor issues that have been causing problems on client sites, some of which have paid for support of their Store Locator Plus installs. Along the way I managed to address a few issues.
Map Image Fixes
One is related to the maps and how they render on some themes. As usual, some themes are not playing well with others. Turns out some themes mangle the images returned by Google while rendering the map. While not a Store Locator Plus issue directly, I have added another level of specificity to the CSS rules related to map images and managed to fix the over-sized images and the “map lines” problems on several sites. One of those issues has been irking me for months now, and thanks to some hints from a forum contributor I was able to resolve that problem. So, in short, sites that had odd map image issues may have some of those issues resolved with 3.9.7.
Immediately Show Locations
The other big change is addressing the bug fix for Immediately Show Locations. A long time ago, in a galaxy not so far away, in fact right here on earth, and right inside the Store Locator Plus plugin, immediately show locations used to only show those locations within X miles (or kilometers) of the center of the map. X miles was determined by the default radius that was set for the drop down menu that was shown to the users. A short time ago, about 9 months ago to be exact, someone over at the Cyber Sprocket skunk works broke that functionality. A typo in the code caused the limitation that shows locations within X miles to go away. That meant that ALL locations anywhere on earth would show up whenever you had immediately show locations turned on.
This is where all the trouble started. When I took over active development of the project back in September of 2012 I had no clue this bug existed. It wasn’t until fairly recently when I had a few clients from the good ol’ Cyber Sprocket days send me email saying “hey… all 10,000 of my locations are loading on the map page… and it takes a really long time… and some of our customer browsers are crashing”. That happens when you render 10,000 locations worth of HTML data on a Windows XP box with 512MB of RAM. Ok, maybe it happens on newer/bigger boxes, but the point is that not all site visitors have cool new laptops with 8GB of RAM and high speed Internet. Even worse, a related bug meant the “only show up to Y locations” was broken. So that was no help.
So I found the FIRST bug where the default radius was ignored. I fixed the bug. Locations from Immediately Show Locations were once again limited to those within X miles of the center of the map. All is good in the world.
But not really.
Turns out some people, well… a LOT of people, never used the old “working” version of Store Locator Plus. They only used the new “Unlimited Immediately Show Locations” version. They expect ALL their locations to render when the map loads. However their default radius was set to 10 miles, which is great for interactive user searches but inevitably NOBODY has even one location within 10 miles of Coffeyville Kansas (where Google decided the center of America is). Now the default functionality is broken for all the newer customers of Store Locator Plus.
So now that you know the background, here is the only part you really care about.
There is a new setting in Store Locator Plus 3.9.7 for setting the default radius of immediately show locations. That means you can now set this value to something like 25,000 miles and get it to show every single location on earth. This is independent of the user drop down menu, which can still have a default radius of 10 miles from the location they enter. Yes, “new” customers will need to set this to something, but with this setting you can now make immediately show locations work the “broken way”… but now it is a feature versus a side effect of a bug.
In addition I managed to fix the “limit immediately show locations results”. So if you do have 40,000 locations and have set your immediately show locations radius to 25,000 miles you can still tell Store Locator Plus to only show the first 25 results and not crash the browser for the one customer still running IE6 on XP.
Odds and Ends
In addition I’ve set the framework for using serialized options as part of the core code. This means nothing to most people that are not WordPress code geeks, but what it means for the system admin people is less system I/O. From now on, any new options that are added to Store Locator Plus require a SINGLE data I/O operation versus the 60+ data operations that happen today. Eventually I will replace the legacy data I/O for options with this new method and speed up every interaction with Store Locator Plus, but for now at least new features will not be hammering your database which means almost NO performance hits as new features are added to the base product.
This happens to be the same methodology I introduced in Tagalong and is being used as the same setup for all SLP add-on packs going forward. More features with near zero performance hits. I like that.
One feature that has recently started to gain interest is the concept of crowdfunding. After a lot of research I have finally settled on the fact that I need to write my own plugin. Fortunately there is a great base in a Woocommerce base plugin that is available as open source on GitHub. Unfortunately it does not support PayPal and it needs some UI refinement before I can use it.
Thus, I will soon be embarking on writing my next plugin. I’m calling it “Fund Do” and it will be a premium WooCommerce extension for handling crowd funded “products”. I will continue Store Locator Plus work but that work will be limited while I push to get this new feature implemented on the CSA website.
Based on the current input from the CSA community, I think this will benefit everyone in the long run. It will provide a mechanism to group fund ANY WordPress related project including Store Locator Plus features, new add-on packs, and even completely new plugins. Getting the funding for these projects will mean I can afford to hire the developers that will be able to assist the the CSA projects. That means more features in less time. That is good for everyone.
Off To Boston
In case you missed it in the last few posts, I will be heading to Boston to visit family. After yesterday’s events it will turn out to be a more somber occasion that we had anticipated. It will be difficult to be back in Boston without thinking of the horrible events that unfolded yesterday at the Boston Marathon. Thoughts and prayers go out to everyone that was affected.
During my trip I will be available sporadically. I will be working on code and other tech-geek stuff, but the first focus is on family and friends with tech-time coming during “idle time”. Please be patient until my return to the forums and email next week.