It has been nine months since our last Serenity article and exactly two years since we first introduced it to our partners and customers. The first change worth noting is that we can probably stop calling it “new” as we’ve been working on it for over three years now! What began as a simple redesign of our original mobile application has taken us down many interesting twists and turns as we traverse the choppy waters of “Progressive Web Applications” – a technology first introduced 12 years ago by Steve Jobs as “[web] apps that look exactly and behave exactly like native apps.”
From a purely technical perspective, the PWA definition has not changed. A few variations on the theme have evolved in the past few years, but the core concepts remain the same. Unfortunately, the landscape of support across platforms and browsers is varied. Google and Microsoft have embraced Steve Jobs’s vision the most, supporting PWAs more fully, and defining new technical specs for future functionality. Ironically Apple, however, has lagged behind. While PWA’s are supported natively on iOS devices, they have limited access to the device itself, and are prevented from running processes in the background.
There are many accomplishments worth celebrating that clients love about Serenity. The rollout of our new Account Call Sequences has been very positive, and customers are already seeing the value of implementing more strategic, guided selling at the Account and Segment level. Our use of newer Salesforce APIs have allowed us to replicate and cache Salesforce filtered listviews allowing for simple client additions of customized lists of almost any kind. Clients can also take advantage of other administrative components such as Custom Metadata and Compact Layouts to provide a more tailored experience for their users.
Our mobile button framework is now able to dynamically add navigation items to the “Waffle Menu” or as a custom button to launch third party apps or custom additions to Serenity. Most powerfully, custom web apps and Visualforce pages can be embedded into the Serenity user interface, as well as defined as a Call Sequence Step allowing for nearly unlimited customization on a client specific basis. Users also love the ability to start using the app right away rather than waiting for a full sync.
And on the topic of sync, one of the greatest challenges has been the syncing of data and files from Salesforce, to allow Serenity to work seamlessly when a device loses its connection to the internet. Our legacy mobile app required users to wait to use the app until after a full sync of data completed. With Serenity, we have taken the approach of giving the user access to the app immediately, and syncing data in the background, while they use the app. The limitation on iOS devices to prevent PWA apps from running in the background has created a challenge where the sync is paused, when the app is not open on the screen. Android and Chrome allow this background activity to continue which is helpful. While we can’t change what Apple forces on us, we have structured the sync process to pause and resume, so the sync doesn’t lose its place between sessions.
Another challenge we’ve faced was with Salesforce API limitations. Depending on the customer, there is the potential for gigabytes of data needing to be transferred to Serenity, so users have access to that data while offline, as well as to improve performance when the device has limited bandwidth. As you can imagine, syncing all that data requires thousands of API calls. Our initial sync process was encountering API limits, set by Salesforce, for customers with large amounts of data. In the Spring 20 release, Salesforce took the step of removing most of its daily API call limits, which helped. We also took time to restructure our sync process, and reduced the number of API calls we needed by 34%. We have plans to reduce that number even further.
The final challenge from a PWA perspective is the support of “Content” in all its various forms. Since we migrated customers to the Salesforce Lightning Platform, we have adopted their Content architecture to support Account photos, as well as the more traditional sell sheets, recipes, presentations, shelf talkers and even videos. Users of GreatVines Mobile have become accustomed to having these “Files” available offline and linked to their sales objectives.
The Salesforce Mobile SDK, on which our first mobile application was built, had decent support for this through its native “container” model. Unfortunately with PWAs (and Safari/iOS in particular) there are arbitrary limits and complex formulas on file and data storage that we are unable to see or manage proactively from within our codebase. Salesforce has also limited the speed at which files can be downloaded, causing the time necessary to download file data to become excessive. As a result, we have had to confine our offline Content use case to potentially dozens of files, as opposed to the hundreds that many customers wish to make available offline.
Over the past 12 months we have fixed 164 bugs, and completed 75 new features aimed at making improvements to core functionality of Serenity. While we have taken this past year to ensure our new mobile application is strong enough and robust enough to support the demands of our customers, we are still keeping our eyes on the horizon. Our backlog of new features and improvements to existing features stretches out 12 months in the future. Our roadmap of major themes we want to deliver for our customers looks out even further.
In order to provide more transparency to our customers and partners, we have begun tracking a more granular roadmap of Serenity front-end and back-end improvements by release, which changes a bit with each 3 week development sprint we complete, and as customers provide additional feedback. You can also track changes, patches and improvements to each new version in our support portal (login required).
We are excited to share this journey with our customers and partners, and are happy to discuss these challenges with you at any time. While this new technology can sometimes seem daunting, we remain committed to providing your business and your users with the most friendly, flexible and powerful Sales Management tools in our industry.