Many experts tell us that Black Friday and Cyber Monday are the ultimate challenge for e-commerce. The opportunity is huge; November and December drive up to 30 per cent more revenue for online retailers than during non-holiday months, with the days from Black Friday through to Christmas generating 50 per cent to 100 per cent more revenue than non-holidays.
Yet, given the immense fortunes at play, some retailers simply don’t get it right. On this side of the pond, the Perfume Shop and Game experienced technical glitches during 2017 Black Friday - and Stateside, Macys’ reported “over-capacity” problems on the same day last year.
The fallout of outages like these is significant. Stores can lose hundreds of thousands of dollars from missed sales, shoppers are left frustrated, customer loyalties are frayed, and of course it’s stressful and disappointing for the developers in charge of the site. Stores behind the biggest holiday web fails make national headlines - for all the wrong reasons - and reputational damage can be lasting.
So how do we stem the tide of these major issues? And how do you know if your site is ready for the next big sales rush?
1. Don’t view Black Friday as a one-off
The most fundamental mistake development teams can make is to view the holiday season as a special sprint - a one off event which they must race to get ready for. Instead, the most successful teams are those who have the right approach to testing and quality control all year round - monitoring and optimising a website continuously. If this approach is continuous then when there are spikes in traffic, the entire DevOps team is prepared - simply put, there are no surprises.
A year-round approach is also crucial to helping teams anticipate more accurately the level of traffic or activity sites might see over the holidays. Underestimating anticipated traffic to your site or app is an easy to make, and without a continuous view of visitor activity developers have to look to last year’s numbers to anticipate what’s likely to happen this time around. But, in the unpredictable world of e-commerce, two plus two doesn’t always equal four.
New deals, better promotions, more products online - they can all lead to more traffic than anticipated. And, of course if a competitor experiences an outage, their customers might flock to you. This will generate an unprecedented load on your web and, if you also fail, these people will move on to another site, creating a snowball effect. You want to be able to collect all of this culminated traffic - not let it slip through and move on to the competition. Ultimately, our advice is that if your testing is continuous then you’re able to stress test for spikes in visitor numbers regularly- meaning that when Black Friday comes around, you’re properly prepared.
2. A brave new world for mobile
Mobile traffic has been growing faster than desktop traffic for years. It hit a tipping point during the 2014 holiday rush, when mobile traffic outpaced desktop traffic for the first time on a Thanksgiving, and hasn’t slowed down since.
The mobile market is constantly changing, evolving to meet consumer demand. Apple has recently announced significant updates in the form of new phones, operating systems and features, Android Pi is gaining greater adoption and a new Google Pixel is on the way. Mobile capabilities like augmented reality, virtual reality and Internet of things are impacting the ecommerce environment significantly, giving shoppers the ability to enjoy a more immersive and interactive experience.
But this slew of new devices, operating systems and functions mean that developers face a tough job as they race to get their apps and websites prepped ahead of the holiday rush.
This need for speed throws up potential quality issues. If a testing lab is not well configured to properly cover the full range of new device/OS combinations then glitches and their consequences are inevitable. In addition, this time around, alongside the demand of developing apps and websites for new devices, there is an additional pressure - coming from within the device itself.
Both Android P and iOS12 have introduced new digital wellbeing functionality that provides the users with daily, weekly and on-demand visibility into the most battery consuming apps, highlighting to users the ones which aren’t working as hard as they should. This in itself should force app developers to make sure that their apps are well optimised to work across multiple platforms and to actively measure battery consumption and performance.
The good news is that there’s plenty of guidance available on how to optimise apps for multiple platforms - our own Factors report, for example, provides advice on how to plan your test lab for multiple devices and capabilities.
So, the mobile market is undoubtedly fragmented, but there are testing methodologies and tools to address this issue. Rather than build a device lab in-house, the savviest firms are opting to leverage real devices in the cloud. It's quicker, easier to maintain, enables agility, and costs less. Unit tests, early-stage tests, and tests that don't rely heavily on hardware specifications can be run on emulators. More complex, late-stage testing can be done on real devices, but in the cloud. For us, this is a realistic way to fight fragmentation with the mobile ecosystem and deliver outstanding apps, no matter which device or platform they run on - particularly vital at this crucial time of year.
3. Testing matters
So, the need for testing is clear. And development teams need to focus on continuous and comprehensive testing to ensure quality of user experience and reliability of apps and websites.
They must ensure that all tests (functional, non-functional – performance, security, accessibility, UX etc.) are running as part of their continuous testing workflow against a production environment with ongoing monitoring to identify production hiccups. Furthermore, dependencies on third party apps such as Facebook should be fully covered.
Quality dashboards with smart insights for fast feedback will enable a timely response to issues whenever they occur. For the savviest firms, machine learning and AI help organisations slice and dice data, monitor trends, and enhance overall productivity (both for development and testing).
Testing at scale is critical during a peak in traffic, and because the server side will be targeted way more than during any other time of year, the robustness of solution and its availability, should always be prioritised.
And whilst developing and testing for new devices is crucial, developers must do this without neglecting legacy and -1 versions / devices that are likely to remain popular and in use.
4. Choose the right development platform
Moving from testing to development, the fundamental need for a better, more engaging user interface has led many to develop progressive web apps (PWAs). PWAs are installable and live on the user's home screen without the need for an app store. They promise to be more reliable than traditional web or mobile web browsers and can even be loaded even in uncertain network conditions. They’re fast too, and they’re engaging - and feel like a natural app on the device, delivering an immersive and consistent user experience regardless of the platform.
Most importantly, PWAs offer offline access and the ability to incorporate on-board sensor access for a richer experience. They can also use device features like cameras, data storage, GPS and motion sensors, face detection, push notifications and more; which paves the way for great augmented reality (AR) and virtual reality (VR) experiences, right on the web.
So, it clear that rigorous preparations and robust performance testing is more crucial than ever, not just in the lead up to known times of peak traffic but all year round. The good news is that most of these failures are preventable and many bottlenecks can be avoided in testing.
Of course, even the most robust testing process won’t catch everything, and outages can still happen. The key question is: how do you deal with them? Companies need to prepare a procedure in advance and make sure Ops/DevOps team members know exactly what to do if a problem does occur.
And then there are considerations for your wider IT ecosystem. Don’t take any chances - have backup servers and locations ready so you can recover if you are unfortunate enough to experience a power outage during a time of peak traffic, and work with data recovery firms who can quickly help you get back up and running.
Ultimately, though, however you get there, app success comes down to UX, Performance and availability. So, it’s perhaps no exaggeration to say that retailers’ Black Friday success, or otherwise, lies squarely in the hands of DevOps.
Eran Kinsbruner, lead technical evangelist, Perfecto
Image Credit: StockSnap / Pixabay