Since Black Friday first became a thing, roughly 15 years ago, practically every big name in digital retail has experienced some form of outage while trying to cope with its demands. Last year alone, international retailers Lowe’s, Debenhams and Game all suffered downtime at one point or another, bringing howls of complaint and derision from customers.
Now Black Friday (and its offshoot, Cyber Monday) is upon us again, and although much of the ‘how to prepare’ content will naturally focus on websites, it’s vital that retailers’ apps are also in full working order. After all, mobile now drives the majority of Black Friday digital activity, and apps are just as vulnerable to high-volume sales traffic as their web companions (if you want proof, just ask Amazon how its recent ‘Prime Day’ worked out).
But how can we make our apps crash-proof ahead of the biggest shopping frenzy of the year? It’s a question a lot of our fellow developers have asked us, so we’ve put together a brief tip-list to give you the best possible chance of success. Even if you don’t see huge traffic on the day itself, a smooth, problem-free experience will impress shoppers and give you more chance of capitalising next time.
Bugbytes (TL;DR)
This article will cover:
- The tests you need to run to ensure your app is ready
- Tips to guarantee your server is ready for the traffic
- Ways to maximise your customer service
1. Test How Your App Performs Under Heavy Traffic
Ok, this one seems obvious, right? Yep, we get that. But how do you go about it? Well a great way of mimicking the stresses and strains of Black Friday is to conduct a load test, which allows you to find out how your app stands up to heavy server load – the type you’re sure to experience on Black Friday.
Tools such as Apache Jmeter, a Java-based proxy built specifically to perform load tests, can really help you out here. The configuration process is fairly simple and you can see a step-by-step guide here.
2. Check Your Servers
As well as checking whether your app can cope with the traffic, you need to check whether your server(s) can cope. If they’re not equipped to handle the sort of activity you’re going to see on Black Friday, you need to expand or upgrade them, and quickly.
There’s plenty you can do here. To maximise efficiency, split up your core process into its individual components, to ensure each of them can be scaled up with a few extra servers if you start to see a huge amount of traffic. You can also take traffic away from your servers by installing a content delivery network, which uses mirroring to tap into other servers around the world.
If you’re not sure you’ll be able to cope on the day itself, don’t be afraid to rent an additional server or two. There are plenty of companies out there that offer a server hire service, and it’s better to spend a bit of money than endure the stress of not knowing whether you have enough capacity.
3. Check Against Slow Network Speeds
If previous years are anything to go by, Black Friday and Cyber Monday are likely to reduce network coverage to a crawl in large parts of the world this year. So it’s good practice to check how your app will respond to slow and patchy connections.
To do this, all you need to do is throttle your connection speed. Sites such as Network Link Conditioner will do this for you, as will Charles and NetLimiter. Simple!
4. Prepare for Network Downtime
Building on the point above, it’s important to prepare for the eventuality that the internet will go down altogether. If the connection goes down in one of your key user locations, your app needs to bounce back again as soon as the coverage is restored.
This one is very simple: just take your app out to an area of low coverage (like the basement of your office, for instance) and see how it performs. Does it behave properly, or does it react badly? Does it start working again when the connection is restored?
If you’re not satisfied with this method you can also try more complex tricks, like blocking your app with a firewall or downloading a tool such as toxiproxy, which has been specifically designed to simulate network outages.
5. Do a Malware Check
By this, we don’t mean that you should check for malware on your app. No – you should check that your app isn’t being flagged as malware by other people.
If your app is red-flagged by one of the major antivirus screens on Black Friday, Cyber Monday or any other day, really, it could be disastrous for your reputation. Word of suspicious apps and sites soon spreads, and you could end up losing a fortune – it could even be as damaging as a crash.
One really great tool we’ve found recently is VirusTotal, which prevents developers from becoming false positives by scanning their code against dozens of antivirus screens.
6. Hold Off on Any Updates
You may have developed a brilliant new build for your app and your customers are going to love it, but it’s not worth risking potential problems on the busiest shopping day of the year by rolling it out now.
Try to avoid putting any updates on your app for a week before the big day. Stick with what you know, and what’s brought you the success you’ve had to this point.
The build may make a significant improvement to your UX design, but, with so much at stake, it’s better to be safe than sorry.
7. Check Your App’s Performance
It’s not simply a case of crashes and blockages: you also need to ensure your app is running as smoothly as possible. If it’s lagging, or stuttering, you’re sure to lose customers. So it’s vital to root out any performance issues before things get busy.
In addition to physically going through the app yourself, there are plenty of tools out there to show you exactly how it’s performing. One of our favourites is Firebase Performance Monitoring, which supports both Android and iOS.
If you find your app is running slowly, there are plenty of steps you can take:
- Use tools such as Hierarchy Viewer to examine your view hierarchy – and flatten it out if need be.
- Reduce the global static objects, so fewer functions load on start-up.
- Clean up some of the widgets that might be congesting the system.
8. Ensure World-class Customer Service
Finally, make sure you think about customer service. The entire retail world will be out in force on Black Friday and Cyber Monday, so you need to maintain the standards your customers expect. If you don’t, they’ll go elsewhere.
Here, we feel it only fair to recommend our own product: Bugfender. Combining crash report and remote logging, it can help ensure you continue to deliver world-class customer service amid the shopping frenzy.
In the event of a customer sending you a support request or a failed order on Black Friday or Cyber Monday, Bugfender will allow you to locate their device logs and see what’s happening on their app. You’ll find out exactly what they did, and where their interaction went wrong – enabling you to solve their support query or even reach out to encourage them to complete their order if it wasn’t processed correctly.
Bugfender comes as an SDK, and it provides remote logging 24-7 – even when the device is offline. We’ve recently rolled out a number of improvements, which mean that Bugfender now supports eight different platforms.
So give us a try now – the free version is, well, free, and we’re offering a 50% discount on your first purchase of the premium model for a limited time, using the code BLACKFRIDAY.