Why we created MobileCaddy…performance and confidence for Salesforce mobile apps.

Justin Halfpenny
Only The Paranoid Apps Survive
7 min readJul 18, 2016

--

It was 2008 and the company I was a director of was expanding rapidly. They ran a team of external engineers with 1000’s of calls per month being manually processed and all updates from the field coming back on paper.

Everyday was a firefight from beginning to end. Something had to give.

So as soon as Apex and VisualForce went GA we began transisitioning the whole company to use Salesforce and the Force.com platform as the system of record. In my mind I had a number of foundation pillars to build out — this would then give us the basis to really push the company hard and to be able to build those bridging processes and systems that make a company stand out, both in terms of operational capability but also customer service.

The Pillars

  1. Order receiving
  2. Job scheduling
  3. Parts Ordering
  4. Distribution stock control
  5. Van Stock Control
  6. Engineer Paperwork
  7. Invoicing

Over the next 2 years we worked hard and made significant progress. Life was hard as we balanced legacy systems with the transition to the platform but I knew from previous experience that the real wins would come as the individual components and ‘pillars’ started to work in tandem — and all from the same datastore ie the Salesforce platform.

However there was a nagging worry in that to really ‘complete the loop’ we knew we would have to extend the platform to the engineers and that meant mobile.

Over previous years and jobs I had used all sorts of ways to get field operatives to update backend systems — DTMF tones (we were one of the first to have a VOIP ‘switch’ from Swyx), Salesforce ‘Classic’ and offline briefcase to name a few. But with the first iphone now available it felt like we could really take the processes out to the field.

This was the same time as I met my cofounder Paul. Together we built up many of the pillars above included some groundbreaking drag n drop scheduling systems, automated stock control and even appointment booking through portals. This was all great but with paperwork still being used by the engineers and the lack of near real-time data from the field there was still far too many errors and far too much duplicated overhead.

Over the next few years we built a number of versions of mobile apps using Salesforce as a back-end and slowly we gathered our learnings. Three things came out over and over again. It was still so hard to build the app, it was still too risky (always using new technology and approaches) and worst of all was that most of the pain came post deployment.

We tried using ‘naked’ APIs, then Adobe technology coupled with ruggedised notebooks and various approaches that would make us laugh now, but always we were building from scratch solving the same problems over and over. But what was appearing was an enterprise spec. What came to be called MORE(s) Design. It meant every time we started a new project we knew the high level spec we wanted to attain.

As we started to nail this we realised that to build an app properly we had to really bind to the platform and that meant we would only build for Salesforce. This meant we could start to build in standard behaviours around the very non standard behavious of the force.com platform.

This was really the start of what was to become MobileCaddy — the key was configuring the app from the platform.

Around this time the Salesforce mobile SDK appeared. We were not sure it was ever going to go GA but as it was open source it felt the time to gamble on a technology was right. And so we started in earnest building repeatable patterns and processes to ensure we could build an app with our enterprise grade spec with speed.

With my background in manufacturing and operation management it was natural to focus on the post deployment pains. These were even worse than they are today. Android fragmentation was crazy and both Apple and Google could kills apps with every new OS release. But this would become a blessing in disguise as we started to live another of our mantras ‘Only the Paranoid Apps survive’.

This means we built resilience and replays into every process — not just the actual app process but within our own product and tools. Little did we know it but we were living the DevOps dream.

Monitoring and visibility became obsessions. And when we thought we had gone too far we’d have an app hit a snag and praise the DevOps lords that we had built some monitoring around some obscure edge case.

And now we were moving at speed. And now we were like….struth!! We need Continuous Delivery…which means we need version control and deployment tools and user management and…well you get the picture.

So it was at this point in late 2013 that Paul and I had a late night skype. If we were to start over, build a company that focused on making it super simple to design, build, manage and maintain mobile apps — if we had a blank start but with all this experience what would we do? It was like we had opened up some secret door — what if we built everything on a versionable architecture, if we built monitoring and resilience right into the core of the product which meant it got built right into the core of every app delivered? Just imagine.

Well imagining was not enough so MobileCaddy was born.

Having previously run companies, started companies and spun out business units we had a decent idea that this was going to be not just a crazy technical challenge but also we were going to be building something that most of the world did not know they needed (yet).

But there was a core who got it. Our first ever show ’n’ tell was to Val Cassidy of Salesforce — was very quiet through our whole presentation. Then words to this effect… “I see a lot of sh*t but you guys have built a mobile platform on a platform. This is brilliant” :)

And so it continued. We would show what we were working on and if anyone had ever done any mobile development they would just get it. But we were still miles away from a completed product. And all I’d ever read is just build an MVP. But a minimal viable product for what we were trying to solve — where we were going to be selling capability, reliability and affordability — this was a pretty big MVP!

So what have we ended up with?

Well as all product companies we are still building, but…MobileCaddy is a real cradle-to-grave lifecycle solution for Salesforce mobile apps. We can take an idea of an app, map it out in our DesignCaddy system, mobilise the data with point and click from the platform and bring in the devs to build out in quick time with our CodeFlow dev environment. All whilst inheriting an enterprise grade spec, full offline, full monitoring, conflict resolution, record replay — the list goes on.

Then we have click to deploy from a devs perspective, and a deployment process from sandbox to production. Multiple versions being able to be run simultaneously — pointed and distributed to specific user/device combinations.

So why would anyone use MobileCaddy?

The simple answer. So businesses can extend the Salesforce platform to their mobile users with apps that really will transform their business….with confidence, and not costing them the earth either for the initial build or for subsequent version changes.

And what this means in practice? Aha! Well the real value comes to Salesforce consultancies (and in time to larger enterprise who develop and manage themselves). It means Salesforce consultants can say yes to their client. Yes they can deliver custom mobile apps that perform. Yes they can make sure they continue to perform. And yes they can be maintained and updated at a cost that will not mean that app gets left for dead after the first version.

And what did this all mean for the app we first started with?

Well the company got an app. An app that was fully suited in with the platform. That allowed the field engineers to accept or decline jobs, that let them complete with parts they have used (that then auto ordered parts to be replenished the next day). That let them take pictures of the completed work. That let them take the signatures from the customer. That let them work online or offline — that let them just get on.

And for the business. Well the results were unbelievable. First time completion rates hit the high 90 percent consistently. GP was raised significantly. And overheads? Reduced by over 60%. Yes 60%. Whilst not completely attributable to the mobile element the vast majority of these savings would never have been realised without it.

Mobile is a game changer. No doubt. And we really are only just seeing the start of this. But remember. If the app stops so does the business. And this is not acceptable. So of course make sure you design, build and manage with MobileCaddy :)

If you enjoyed this read please share the love by recommending.

Justin Halfpenny is CEO and cofounder of MobileCaddy. Always willing to chew the fat on DevOps, Mobile, SaaS, Salesforce — email justin@mobilecaddy.net

--

--