Posted on

Dev Notes January 10th 2014

Promises A+ Banner
Some quick notes about what has been going on at CSA the past few weeks.   I’ve been slowed down a bit battling the flu followed by acute bronchitis.   However I’ve not just been lying around playing my son’s Wii U the whole time.   I’ve actually been planning and preparing for some cool new initiatives with Store Locator Plus this year.

SLP 4.1 In The Works

If all goes well, Store Locator Plus 4.1 will be released at the end of this month.

Better Theme Implementation

I’ve been working on some new features with Store Locator Plus in conjunction with a customer request for a theme customization.  With this being the fifth theme build in the past 6 months I decided it was time to automate the system and save me some time.   This has lead to building the “SLP Theme Reader” that I’ve wanted to build for a while now.   For the SLP4 compatible themes it not only applies the CSS to the Store Locator Plus interface but also reads the “settings” from the CSS header.   This displays a list of settings for each of the advanced SLP Themes and tells you what you should set things like “Locator Layout” or “Results Layout” to in order to achieve the best layout for the site.   I am current working on a one-click “set all these options for me” button.

Upcoming SLP 4.1 Advanced Themes
Upcoming SLP 4.1 Advanced Themes

This will make it far easier for users to select a theme, click “set options”, and get a whole new layout on their site.    Many of the advanced layouts will require the Pro Pack, Enhanced MapEnhanced Results,  Enhanced Search add-on packs to take full advantage of custom layouts.     It is a small investment to create complete UI overhauls with minimal effort.

My hope is that this makes for better looking location interfaces out there in the world and hopefully make the map look more like it “belongs” with the rest of the content.

Lighter and Faster, WPCSL Framework Dropped

The other big change, which is purely behind the scenes, is the primary reason the version has bumped to the next minor release number of 4.1.    The old and “heavy” WPCSL framework that was created by Cyber Sprocket Labs years ago has been pared down.   The guts of the framework, and only those used by the SLP plugin, have been moved into a standard include library.

This speeds up development and production release of the plugin.   It also cut out about 1.5MB of RAM, or about 10% of the RAM requirements on a typical website, on every Store Locator Plus page load.   Less RAM per page load means more simultaneous users can access your site without reaching your RAM limit on your server.

RSVP.Promises in SLP.js

I’ve been talking to “withinboredom”, the author for the SLP Widget Pack,  this week.  He has a renewed interest in doing more SLP work.   He and I have been discussing RSVP.Promises implementations in slp.js.  Promises/A+ will be a future Store Locator Plus release (4.2, 4.3, …) feature that allows far more control from add-on packs over the JavaScript stack.    It is completely async and will provide actions (no responses required) and filters (returns a result to be acted on) with priorities assigned.    This will break down every step of the current slp.js processing into discrete elements where a developer can insert a new action or filter at any point in the process.
It will be easier to understand when you see it implemented.
It allows developers, like withinboredom, to create new add-on packs with cool UI trickery like being able to turn on a switch an allow users to move a location by dragging the marker on the map on the front end.
It opens to door to all kinds of advanced UI features but will be some time before it is rolled out.   It is not going to be released until there is an add-on pack that truly needs it and not until it has been heavily tested.   Performance, especially on mobile devices, is paramount.    At this stage of R&D, which is primarily research, we have no clue how much the RSVP.Promises framework adds to the processing load.