Why I Use Crashlytics

I often get asked what libraries I use when writing new greenfield Android apps or what libraries I introduce when I start working for a new client when helping them with an existing application they already have in production. Of course I always rely on a few key libraries such as Dagger, Otto/RxJava, Retrofit and a few others but one I absolutely always use is Crashlytics.

 

Crashlytics is a free service offered by Twitter that collects your crashes and various other bits of information. Its very easy to setup and install and it instantly starts providing value as soon as you install it – yes, even in development. Its completely free, unlimited apps, unlimited users, unlimited crashes, unlimited keys, etc – its all free. I’m not joking when I say its the first thing I install. Without crash reporting I have no idea whats happening to my app in the wild (production).

 

Why Crash Reporting is Important

When your app crashes in production on a users device you need to know. The reason is simple – something happened that you did not expect. Perhaps you used an API that was not supported for your release (such as using Renderscripts InstrinsicBlur on API level 15 when that API was not released until 17). When this happens over and over, your users start to lose faith in your application and then the bad reviews start rolling in.

 

When you’re monitoring your crashes you’re able to assess the risk level that a particular crash is causing. For example, let’s assume that you release version 2.0 of your application. Upon doing so you introduced a bug on a particular screen. During development and testing you never ran into this issue but as soon as you released the update to your existing users you start getting inundated with crash reports. With a crash monitoring tool you can then observe that the crash is occurring on a particular screen because you’re given the stack trace of the crash. For some reason the crash is occurring on the getActivity() call of a Fragment – a NullPointerException to be exact. Upon further investigation you realize/remember that all getActivity() calls in Fragments can return null (and in production and at scale they will). You then implement the null check, and ship a hot fix version to address the issue at hand. This is a real world case I have witnessed many times for various clients. We would have never caught it without a crash reporting tool.

 

Not All Crash Reporting Tools are Created Equally

 

Prior to Crashlytics I installed various other crash reporting tools such as Bugsense, Crittercism, ACRA, HockeyApp and some others. The problems I encountered with these services were numerous and were different for each tool I used. Some of the issues I encountered included:

 

  • The tool was was hosted and the fees were outrageous

  • The tool was free, but did not scale unless I built out a backend API to support it

  • The integration was rather cumbersome

  • Account management was painful if not non-existent

    • eg:

      • Teams

      • organizations

  • Sharing bug reports was difficult

  • IDE integration was non-existent

  • If I used Proguard my stack traces were obfuscated so I could not fix the issue.

 

I usually ended up working with either ACRA or Bugsense prior to Crashlytics. ACRA for smaller apps that did not have much of a budget or very low user base and Bugsense for larger clients. I attempted to use HockeyApp a couple of times but my clients never got around to setting up accounts and found that they liked Bugsense more or prefered the cost of ACRA – FREE.

 

ACRA worked good, but one thing I noticed was that I never checked in on the Google Sheet where the crashes were sent. Unfortunately due to the way the crashes were stored in Google Sheets I found that they were not optimal for reading. The process of checking for new crashes was very poll based and I found this unfortunate. Sure, there were tools that did help in solving some of these problems but the solution was far from perfect, elegant or quick. I also did not have the statistics that I wanted, such as percentage of Android 2.x users affected vs Android 4.x users, etc. This kind of data really helps identify the impact of the crash. If your user base is 95% Android 4.x and the crash is occurring on Android 2.x  then your impact is rather low. When flipped in the other direction though, you have a very large set of users whom the crash is affecting and at that point different decisions need to be made (hot fix, etc). The key point here is that ACRA is not a fully baked solution in the way other advanced crash reporting tools are.

 

Bugsense and Crittercism (and other services) solved a lot of the issues I had with ACRA, but I found that the price point was a huge turn off for almost all of my clients. One of the great features of these services was a pushed based system that would notify you of when a new crash occurred. This could be via email, etc. Not having to log in and check manually was a huge time savings. My clients have either very large Android Apps (millions upon millions of installs/users) or very small (new startup, etc). The price point bodes problematic for both. On the lower end of the spectrum the new startup is trying to save money at every area possible and they don’t want to pay for crash reporting. Every penny affects their runway. Therefore we usually ended up with a sub-par solution like ACRA. On the upper end of the spectrum we had a different problem – application scale. These clients are at such a scale that the pricing tier they fall into simply says: “call us for a quote”. This usually equated to tens of thousands of dollars per month in licensing fees. While these larger clients could pay for it (and some  did) they really didn’t enjoy paying that much for a crash reporting solution.

 

When Crashlytics was announced for Android last year it seemed too good to be true, but it wasnt. Seeing that Crashlytics is a free solution that can handle large scale applications and provides the metrics that I need for both large and small clients – it was a no brainer. User management was super easy with Crashlytics too. Being that I’m a consultant I am able to be part of many Crashlytics ‘Organizations’ at once with one login. At this time I have one login and I’m part of seven different teams with different apps in different verticals. Crashlytics provides a push based mechanism (in the IDE and email) to notify me of new crashes as they occur.

 

Luckily I was invited to participate in the Android private beta for Maven users and Android Studio users last year. I jumped at the opportunity and brought my client, MyFitnessPal (#1 Free Health and Fitness app in Google Play) along for the ride. At MyFitnessPal we now use Crashlytics as our primary tool for managing crashes and assessing risk during post release of a new version.  

 

 

Working With Crashlytics in Production

Upon working with Crashlytics we were given access to their private portal (now public) for Android developers. This gave us access to the area where we were given instructions on how to install the plugin. Normally these types of instructions are provided via  webpage and a few steps to follow. Not the case with Crashlytics. They provide a full powered walk through on their site at www.crashlytics.com/downloads/plugins. You can choose your IDE or your build tool as shown in the figure below:

 

The Crashlytics guided installation tour

 

I either choose Android Studio or IntelliJ as these are my preferred IDE’s. Depending upon what client I’m working I may be working with a different IDE. Its important to note that if you do not use one of these IDE’s you’re not out of luck, you can choose the build tool of your choice as shown below:

 

You can also choose a build tool to help with set up.

 

The nice thing about choosing an IDE is that you get to install a plugin for that IDE and Crashlytics is nice enough to guide you through the process per IDE. Here’s a sample screenshot from the Android Studio walk through.

 

The Android Studio plugin installation walkthrough

 

Once plugin is installed you can view the plugin by opening the toolbar in Android Studio by ensuring that View → Toolbar is selected (for other IDE’s please see the documentation). Once this is open you will see the Crashlytics landing page as shown below:

 

The Crashlytics plugin landing screen.

 

Select the power button and the Plugin will detect which application you currently have open and at that point you will be walked through the setup process. One very important thing to note is that since I’m a consultant it’s very important for me to be part of multiple teams (known as Organizations in Crashlytics). While setting up a project I’m asked what organization I want this new application I’m setting up to be part of. As you can see from the list below I’m part of a few organizations. I can select which one I’d like this app to be listed in and then I’m ready to go.

 

The organization selector in the Crashlytics Plugin.

 

After you’ve selected your organization Crashlytics will inform you that its going to update a few files for you. This is great! I get to preview the changes and Crashlytics implements the changes for me, awesome! Here’s what it looks like when setting up an application:

 

The Crashlytics Plugin informs you that it will be making changes to your application code for you.

 

One important thing to notice here is that the Crashlytics plugin was able to detect that I’m using Gradle as my build tool for this project and is implementing the correct Gradle syntax for me! I did not select Gradle from the choices when setting up the IDE, I simply chose ‘Android Studio’ and Crashlytics did the rest.

 

Once you hit the next button you’ll be informed that you need to launch your app so that Crashlytics can detect that it’s running.

The Crashlytics Plugin waiting to hear from your app.

 

Once the app is built and is deployed the Crashlytics Plugin will recognize the app and will display the crash interface to you as shown below.

 

 

The Crashlytics Plugin interface analyzing the current app with installed.

 

Once Crashlytics recognizes your application they even give you instructions on how to force a crash if you’d like. Once crashes start showing up you can see them via the plugin as shown below.

 

As crash shown in Crashlytics plugin.

 

Upon clicking on the issue (the crash on MainActivity.java as shown in the figure above) you’re taken to the web based issue detail screen where you get a plethora of information about the issue that caused the crash. On this screen alone the following data is provided to you:

 

A screenshot of a Crashlytics Issue page on the Crashlytics site.

 

 

1.

Application and Package name

The application and package name of the app that has this issue.

2.

Error Location

Where in the crash occurred in the source code.

3.

Total Crash Count

The total number of crashes reported for this issue.

4.

Total User Count

The total number of unique users that have experienced this issue.

5.

Open / Close Switch

Toggles the issue as open or closed for this particular version of the app. If another crash for the same version of the app comes in after you close the issue, the issue will remain closed. However if you release a new version of the app and the crash occurs a new issue will be opened.

6.

Crash Graph

This graph displays the number of crashes on each given day over a period of time.

7.

Share Options

Options to tweet, email/copy the short issue link to send to another person for review.

8.

Android Device Breakdown Charts

These charts show the various devices affected by this issue.

9.

Android Operating System Charts

These charts show the various Android Operating systems that are experiencing this crash.

10.

% Rooted

Displays the percentage of rooted devices that are experiencing the crash.

11.

Free Space

The average free space on a device that has had this crash occur.

12.

Free RAM

The average amount of free RAM on a device that has had this crash occur.

13.

App In Focus

The percentage of times that the app was in focus when the crash occurred.

14.

Proximity On

The percentage of the devices that had their proximity sensors on when this crash occurred.

15.

Expandable Crash Stack Trace

A expandable stack trace explorer for the crash. You can inspect the various aspects of the code that was executing that caused the crash in this area of the issue report.

16

Notes Field (not shown)

At the bottom there is a notes field where you and your teammates can add various notes to the issue.

 

 

Using this data you can determine if this is a critical crash and if it should be fixed. I tend to particularly review the crash count, affected user count, device and OS breakdown initially. Crashlytics does provide each issue with an automatic severity level assignment that will help you determine what to do.

 

So what can you do with all this data from Crashlytics? In Part 2 of this series, we’ll do a deep dive on how this data helps you fix the most critical crashes with minimal effort and create happy users/customers for your business. We’ll be releasing Part 2 sometime next week — stay tuned!


In the meantime, learn more about Crashlytics for Android.

 

This article was also posted in the Product Showcase section for sponsors at CodeProject. This review is intended to provide you with information that is considered useful and of value to developers.

Your Desk Job is Killing You and Your Posture Sucks

Stop, right now, look how you’re sitting. You’re probably leaning in towards the screen with your shoulders hunched. You probably look like you’re hugging a beach ball. You’re killing your back, neck and spine in the process. It is what it is, but it doesn’t have to be.

I have something to admit – my posture sucks (but its getting better).

I’m relatively healthy. I eat as much organic foods as I can. I eat leafy greens a lot, I exercise 4+ times a week using weights and various forms of cardio in my home gym and during the summer I swim almost every day with my kids. I go to the doctor and they say my blood pressure is fantastic and that everything looks “excellent”. But, my posture sucks and the middle of my back hurts a lot.

Why?

My posture sucks.

I’ve become slightly kyphotic from my desk job. What does someone who is kyphotic look like? This:

 

NewImage

 

They hunch forward, their shoulders lean forward, neck protrudes forward a bit. This can cause all kinds of back, neck, spine, etc issues. Does your back hurt after sitting at a desk? Do you have a knot in your neck or back that no masseuse can seem to get out? Yeah, I have one of those still. I still work on getting it worked out. I constantly catch myself leaning over, shoulders rolled forward in a bad position while compromising my back.

Injuring your back is no joke (ask anyone who has). You literally cannot do crap. You can’t stand up without pain, you can’t sit down without pain, you can’t get out of bed without pain, you can’t twist, etc. You have no idea how much you use your back until you injure it. If you’re like me, you probably thought you sat up tall and then one day you looked in the mirror or saw a picture of yourself and thought “Why the hell am I leaning over like that? Do I really look like that?”

Chances are, you do … and that sucks. But, you can most likely fix it.

Fixing Your Posture

I’m going to address the #1 problem I that bugs me. The statement of “Sit up Straight”.

What the hell does that mean anyway? What is straight?

No one seems to know, well … they think they know. But the definition is so sparse and obtuse that some people sway their back (Lordotic) when attempting to “Sit Up Straight” and that causes problems as well. Understanding what “straight” is a different kind of beast. This image from Esther Gokhale’s great book 8 Steps to a Pain Free Back. This book has transformed the way I think about sitting, standing, sleeping, walking and general movement in general.

 

straight

Most folks would look at the silhouette on the right and feel that this person is “sitting up straight”, but thats not the case. The person on the right has what’s known as a retroverted pelvis and over time it can lead to tense back muscles or slumping. The person on the left has a anteverted pelvis which helps facilitate a healthy posture.

For me, this was my first realization in that I was thinking “sitting up straight” meant retroverting my pelvis and pushing my chest out. I thought I was sitting up straight but I was just causing other issues.

After delving into kyphosis I found that there was a ton of other information about sitting, standing and movement that was causing my back to curve. The slight curvature limited me from doing some basic exercises during my workouts, pinched certain nerves during common movements and gave me odd feelings in my arms after long periods of time at my desk. Thankfully I found some great, cheap, easy tools to help fix my posture and lately my life has been much better because of it.

Tools To Fix Your Posture

  1. Buy Esther Gokhale’s book: 8 Steps to a Pain Free Back
  2. Make a Standing Desk (for only $22)
  3. Implement a Daily Mobility Routine (5-10 minutes a day)

 

Buy The Manual For Your Back

Just save yourself the research and just go buy Esther Gokhale’s book: 8 Steps to a Pain Free Back

8steps

This book helped identify the various reasons why I was having problems with my posture. My standing position was incorrect. I realize I was always sitting with a retroverted pelvis and that was a big issue. I realized when I stood my pelvis was retrofitted. I realized I was being told to “sit up straight” all my life and that meant nothing after reading this. You’ll learn how to sit, stand, sleep and walk better which will improve the overall health of your back and posture significantly.

I love this book. I have it on my desk, I refer to it often. After reading it (and re-reading and using it as reference) I no longer tell my kids to “sit up straight” I tell them to “sit tall”. I do this so that this is not confused with what they will hear out in the world from everyone else who says “sit up straight”. This is based on Gokhale’s “Stacksitting” method she covers in her book.

Start Using a Standing Desk

NewImage

I started using a standing desk about two years ago. Since doing so I’ve noticed dramatic differences in my posture, energy and work performance and output.

You can build a cheap 22$ standing desk by following the instructions here. Its simple, you purchase a couple of things from IKEA  and build it. This is the exact standing desk I use and it works great. Since its a low cost and easy to transport you can build this at home and bring it into the office or use it in your cowering space or home office with little issue.

Arm & Hand Positioning

Simply using a standing desk is not sufficient. It needs to be set up properly. Your arms need to be at the proper angles and if they’re not you’re just going to cause other types of back/neck and mobility problems in the long run. Standing desk ergonomics is pretty simple and its best outlined by the image below. Desk height should be just below the elbow.

Standing Desk Ergonomics

 

Img:

Finding arm and shoulder placement is key too. Kelley Starrett explains it perfectly in this video:


A couple of caveats with a standing desk  though …

You may notice that your feet and legs get fatigued after a while. This usually happens when you start standing. You’re using muscles that you haven’t used before or haven’t strained that much in the previous years. There a couple of ways to combat this. I’ve found that the best way to combat this is to wear comfortable shoes and use an anti-fatigue mat. The best one I’ve found is the GelPro. Its pricey, but its worth it if you can afford it.

NewImage

 

Secondly I sometimes feel that my legs are getting tired and I want to change it up a bit. Perhaps my lower back is starting to complain, or I’m just getting antsy. I find that if I can place one of my feet raised on a stool of some sort I can relieve pressure from one of my legs and then I can get some alternative standing positions. Others find that kind of standing/sitting by leaning against a tall chair can really make a big difference.

Lastly, sitting at a desk can cause all kinds of problems and one of which is mobility. You’ll get tight in the hips. After watching the video below, I found myself stretching a lot, everyday while I was working. 2 Birds. 1 stone.

You can stretch while you stand by doing a couple of exercises as outlined by Kelley here:

Lastly, I work 2/3 of the day standing and 1/3 of the day sitting  because I tend to workout around 12PM for an hour almost every weekday. After working out I’ll stand until around 2pm and sit for the rest of the day (I start work anywhere from 5-7am everyday).

 

Implement a 5-10 Minute Daily Mobility Routine

Disclaimer: As with any physical exercise, consult with your physician first. 

Foam roll for about 5-10 Minutes each day.

5-10 minutes isn’t much.

You can usually do this kind of stuff when you’re working, getting ready for bed (this is actually the best time as it relaxes you), etc. You can pick up a foam roller from play it again sports for under twenty dollars or at a local sporting goods shop for a bit more. They also sell them online and look like this:

NewImage

Here’s a good video on how to get into foam rolling. Its easy: Roll until you find a place that hurts and hang out. You can roll your legs, back chest, etc. A roller is a great tool.

For those that really like to test their pain threshold or would like to expand their mobility, integrate a lacrosse ball into your mobility.

Lacrosse Ball

Simply take a Lacrosse Ball (pick one up at a sporting goods store for a few bucks or online) and put it on the ground, lay on the ball. Find a place it hurts and just hang out there for 60 seconds. Then find a new place. That red thing is the Lacrosse ball that is being used to “mash” or massage out the kinked muscles.

NewImage

Lacrosse ball mobility on the back. 

or this … 

NewImage

Lacrosse ball mobility on the chest.

Tight chest muscles can be one reason your shoulders hunch forward, here’s a great video of Kelley Starrett of Mobility WOD showing you how to roll them out.


You can also take two Lacrosse balls and tape them together to create a spine roller.

NewImage

Stand up or lay down and put the taped set on your spine. The space between the Lacrosse balls provides a space for your spine to move while you roll up and down.

NewImage

 

The Lacrosse ball will test your willingness to test your own pain threshold, its the great equalizer. After awhile, you get used to it and its a “good pain”.

The reward of mobility is immense. From being able to move more effectively and live a happier life to being able to play with your kids with no (or less) pain is great. I find that I’m extremely happy that my mobility work is over with immediately after I’m done. This i because: a) I’m happy as hell that its over. b) I feel amazing

 

Wrap Up

You don’t have to do everything thing here to fix your posture. But just doing one of them will help. They’re all gateway drugs into the world of wellness for desk jockeys. If I were to recommend something for under fifty bucks? I’d say buy the book, read it at your leisure and buy the parts for the standing desk and try it for 30 days.

Those things alone will change your life, for the better.

Until next time.

Inspiration is Perishable

I just got done with my mastermind meeting that takes place every other week and I was reminded of a key concept that I had forgotten in the recent years.

Inspiration is Perishable.

As I write this, I find myself having to create this entire post “right now” and not later because, well, I’m inspired to write about it at this moment. Currently, right now, I’m realizing that my inspiration to write this post is perishable. The concept and idea of inspiration is perishable was solidified from the writings in the book ReWork by Jason Friend and DHH. Its a great read, check it out.

Peak Inspiration has a Short Shelf Life

The concept of “inspiration is perishable” is simple and very easy to understand. Just as fruit in the basket on your kitchen counter has a shelf life, so does your inspiration. Unfortunately inspiration for a developer, designer, writer, engineer, entrepreneur, musician, videographer or anyone creative is very brief compared to even the short shelf life of a banana. You have to take advantage of inspiration when it hits and just ride the flow that it provides. Once its gone, its gone – it rarely (if ever) comes back in the same form. Right now, is right now and it will never happen again – take advantage of it.

Inspiration sometimes peaks for an hour. Sometimes it peaks and holds at that level of intensity for 4 hours. But it rarely lasts a full day. Exploding an utilizing that peak inspiration can be exhausting and draining but the results of what you can create during that peak inspiratory time block are usually spectacular. The best things I’ve ever created have been during peak inspiration. This includes my best selling Android Development book, my top blog posts and some of the best product features and code I’ve created or designed. All created during peak inspiration.

Its important to note that I’m not talking about the evergreen inspiration that some of us possess to become a successful or to complete a marathon project that has a lofty goal. Examples of lofty long term evergreen inspiring goals would include:

  • Launching a new SAAS product
  • Creating a new full length audio album
  • Training for a 26 mile marathon race
  • Producing a hit indie movie

The type of inspiration I’m referring to is the inspiration to create a portion of content in a short of amount of time when that inspiration is at its peak. The content could be a one of the following:

  • A blog post
  • A new feature for your product
  • A design for your app/client/etc
  • A new cool design in Photoshop
  • A new track for a new song (think guitar track or drum beat, etc)

Usually you’ll find these these bursts of inspiration are very short.

So how do you know when this type of inspiration is going to hit?

You don’t.

Peaks of inspiration do not come with a warning or any precursorsthey just hit you like an avalanche of emotion that overwhelms all of your available thought processes. You’ll know when it hits. Its the feeling you get when you feel so passionate about something that you immediately feel the need to create something because of it. This happens a lot in many creative types such as musicians, engineers, entrepreneurs, artists, designers, etc.

If you’re a musician, you’ve had it hit at random times. You hear a tune, you get off the phone with someone, you see something in person that affects you – feel a certain way – then it hits … and it hits hard. You get inspired. You pick up the keyboard or guitar (or whatever you play) and you just start magically making something phenomenal with minimal effort. This, is the inspiration I’m talking about.

If you’re a tech/engineering/design type of person you’ve had this happen when you’ve realized you know how to solve a problem and you feel the overwhelming feel to drop everything you’re doing to go implement what you’re thinking about. You cant get it out of your head, it makes sense, its “flowing” and the thought consumes you. You’re excited about it beyond comprehension. This, is the inspiration I’m talking about.

Sure, you can escape and deflect your peak inspiration if you want – but you shouldn’t. Peak inspiration is where the magic can (and usually does) happen. Don’t ignore it. Your inspiration will perish. Don’t say “Wow, this is a great idea/etc, I’ll do this later”. Chances are, you wont. At that point you’ve let your inspiration perish. Take advantage of it and ride the wave of inspiration, you’ll be surprised at what you create and share with the world.

Remember, inspiration is perishable – take advantage of it while you can.

 

 

A side note about inspiration and “The Madness” …
“The Madness”
Understanding the idea of peak inspiration is easy, but relating it can be hard at times. Thankfully Jason Roberts and Justin Vincent coined the term “The Madness” on their podcast, TechZing. “The Madness” is a form peak inspiration. Its when you’re so inspired that you can’t get the thought out of your head and you have to work on it. You become consumed and work at a blistering pace and produce amazing things in fractions of time that it would normally take you. This is called “The Madness”. You become overly consumed with your work through your inspiration and it consumes you. If you’ve fallen into this realm of peak inspiration and you’ve taken advantage of it and come out the other side amazed at the items you’ve created then you’ve had a case of “The Madness”.

Android From The Trenches

I recently was slated to present at Philly Emerging Tech last week. Unfortunately a few things came up and I was not able to make it at the last minute. However, I did record my talk and send it to the Philly Emerging Tech team to distribute to their attendees. They have since uploaded the talk to their Vimeo page for everyone to view. Below is that talk. The talk covers my experience in having two apps in the top 100 free category in Google Play. Enjoy.

ETE 2014 – Donn Felker – Android From The Trenches from Chariot Solutions on Vimeo.

AARRR Metrics Apply To All Businesses

I recently dealt with a company that had an odd requirement that I come to their office to sign a contract so that they can remodel part of my house. Note, this is the second job I’ve had them do. This never happened before and I thought it was an odd occurrence seeing how the previous transaction went off without a hitch. Their office is about one hour from my house (Phoenix metro is a huge urban sprawl). Knowing the pain of traveling this distance and the related traffic I asked if they could email me the contract, I’d then sign it (using HelloSign or a related service), send it back and then call them up to make the down payment over the phone/etc

They refused. 

They insisted I come to their office to sign the contract make the payment and then they’d schedule a time to come out and start the work. This is where the problem is situated – the majority of common traditional blue collar businesses (landscaping, pool service, house remodelers, electricians, plumbers, etc) have not advanced into the digital age. I realized this and decided to help them by guiding them into a services that would work for their company. All of contract and payment process can be done virtually without a face to face meeting. With many people being professionals these days, its hard to find the time to drive across town to sign a piece of paper and give them a credit card in between work, clients, wife, children family, etc. I found this interesting because this simple little request that they are insisting upon causes me some grief. I then realized, AARRR Metrics apply to all businesses. But by denying a customer request based upon the simple requirement of a signature and check is ludicrous. In fact … 

This is how you lose a customer and lose referral business.

This is the Referral part of the AARRR metrics by Dave McClure. The lesson to learn here is: convenience the customer do not burden them if a solution is there. Go above and beyond for them. You never know when this person will refer the next million dollar deal for your company. Do the customer wrong and you will have probably lost a customer and any additional referrals they can provide. 

Startup Metrics – AARRR Model Applied

This world is connected in many ways and each interaction you make has a lasting impact on the person and your referrals. If you follow Dave McClures AARRR metrics (slides, video) you’ll notice this company failed the second R. Yes, I know this is not a startup I’m talking about but the same rules apply for almost all businesses. The AARRR metrics are: 

  • Acquisition – users come to the site (or business) from various channels (we found them through yelp)
  • Activation – users enjoy 1st visit. “happy user experience”. 
  • Retention – users come back, visit site multiple times
  • Referral – users like product enough to refer to others
  • Revenue – users conduct some type of monetization behavior
Heres the diagram that goes with it: 
 
Aarrr

How They Failed and How They Could Improve

Unfortunately the company I dealt with failed the referral section. As you can see it sits tangental to the acquisition/activation/revenue stream but its still a very important aspect of business. Referrals are huge. My business has been very successful because of this. Fail the referral step often enough and you probably won’t be collecting any additional revenue. The company I speak of above had already acquired me, activated me (I used them to remodel my bathroom and didn’t have this issue) and I had retained me (I came back and had more work for them) and they were retaining me (emailing and calling me about a quote I got). They made revenue, but they really failed the referral route because I probably won’t use them in the future if this is the standard procedure. Strong arming a customer into a position that they are uncomfortable about is unnecessary and should be avoided at all costs. Improving this is simple. They can simply use HelloSign and a either key the transaction themselves over the phone or they can use another payment processor to handle the payment. If the company does not want to pay the transaction fee they can roll that into their cost of goods sold so that it does not affect their bottom line. This way, customers are given a convenient way to interact and the business has the opportunity to bloom through referrals and time savings. 

The bottom line is … if you own a business and someone says over the phone “I like your product – here’s my money, take it” and you say “No I don’t want your money like this. I want this money hand delivered to me, tomorrow” don’t be surprised if you don’t land them as a customer.  

If you remember the simple AARRR acronym you’ll be surprised how your actions are redefined so that they help your business. In turn your bottom line will hopefully continue to  follow an ‘up and to the right’ trajectory. 

 

As a final note, I was able to gently guide the company I was dealing with into agreeing that a digital (or more convenient alternative) was best as they would still land the deal and the customer (me) would still remain happy. I’m continuing to educate them on the various digital options that are available to help their business which in turn will help their customers.