Application programming interfaces, or APIs, offer a wide variety of benefits for digital businesses. But is an API right for your business?
New Year’s Eve is notorious for being amateur celebrity night. Millions of people around the world descend upon restaurants, clubs, and bars willing to spend highly inflated prices for one of the most popular nights of decadence and celebration all year. Money is bandied about left,right and center, with premiums placed on nearly everything: New Year’s Eve menus, New Year’s Eve entry charges, New Year’s Eve cocktails, New Year’s Eve parties, even New Year’s Eve transportation.
It’s that last one – transportation – that some credit with the inception of what we now call the on-demand economy. After having parted with $800 with friends for a taxi on New Year’s Eve, the wheels started turning for one particular entrepreneur in San Francisco. Rather than pay exorbitant prices for black car services, Garrett Camp started to brainstorm ways in which riders could pay a lower price by sharing the ride with multiple people.
And thus, Uber was born.
Since Uber was founded in 2009, the number of on-demand companies has exploded. This new type of economy goes by many names – gig economy, sharing economy, on-demand economy, peer economy, platform economy – but the idea is the same: offer products and services delivered incredibly fast and at a low price, and all with just a few taps on a mobile screen. Some of the more notable on-demand companies include TaskRabbit, “an online and mobile marketplace that matches freelance labor with local demand, allowing consumers to find immediate help with everyday tasks,”; Wag, an on-demand dog walking and dog sitting marketplace; Airbnb, “an online marketplace and hospitality service, enabling people to lease or rent short-term lodging including vacation rentals, apartment rentals, homestays, hostel beds, or hotel rooms”; Instacart, an online grocery delivery service; and Postmates for on-demand local delivery.
It’s apparent that the on-demand economy can be hugely profitable for businesses, but what are the common elements that lead to success? And can the gig economy be applied to all businesses, or are there some products and/or services that could actually benefit from delayed gratification?
What does work mean to you?
The on-demand economy has already changed the face of the U.S. workforce. There were approximately 55 million freelancers in the U.S. in 2016, making up over a third of the population. In a country that has in recent history heralded the 9 to 5 schedule as the gold standard in workdays, the rise in freelancers signals not only a shift in workforce statistics, but also in the collective mindset. Sara Horowitz writes for the Monthly Labor Review, U.S. Bureau of Labor Statistics, “Online work platforms, such as Uber, Airbnb, Etsy, and Elance, that connect workers directly to consumers and clients are completely reimagining the work relationship.”
If we were to use the chicken-and-egg argument, it could be hard to pinpoint which came first, on-demand companies or the rise in freelancers. Either way, the concurrent increase of each shows that not only are there more opportunities for freelancers in the modern economy, but there is also a surplus of workers who prefer this type of employment.
Global investment experiences recent boost
The number of investors allocating capital to on-demand companies took a dive in the first half of 2017, but with 87 deals in Q2 alone, the on-demand marketplace is experiencing a resurgence, as shown in the graph below by CB Insights. This most recent boom was led by Chinese ride-hailing startup Didi Chuxing, which received $5.5 billion in investment. Other companies that led the funding rise include GO-JEK, Ele.me, and US ride-hailing company and Uber rival Lyft.
Investments in new companies, however, have started to decline. CB Insights reports, “Looking at on-demand global deal share by quarter, there is a clear decline in seed and angel deals to the space, falling from 45% of all deals in 2016 to only 39% in H1’17. This is indicative of a maturing industry, in which later-stage companies are increasingly receiving more investor attention and dollars.” Startups in the on-demand space will have a harder time getting investment, as well as facing significant competition from companies that have been around for some time. Companies that wish to start afresh may find it more difficult to gain traction in a market that is starting to become saturated, especially in certain industries.
Leading the charge
Certain types of on-demand businesses are more popular in the on-demand market, forcing recent startups to become more innovative with their concepts. The Harvard Business Review writes that the more popular types of on-demand businesses is reflected in the amount that consumers spend, the majority of which is in online marketplaces, which on average totaled $35.5 billion per year in the U.S. This is followed by transportation with $5.6 billion, food grocery/delivery at $4.6 billion, and the remainder of the on-demand economy bringing in $8.1 billion.
These numbers should be a clear signal to entrepreneurs who have the twinkle of an on-demand business in their eyes. Unless backed by a large amount of funding or corporate partner, it will be very difficult to infiltrate the parts of the on-demand economy in which consumer spending is already concentrated. Instead, it would be better to focus on new ideas that are still in their infancy, as these stand a better chance at becoming profitable. James Paine writes for Inc that the B2B space has been an interesting place to watch, with a few startups coming to market to fill a variety of the needs of businesses, including Spiffy, an on-demand company that will wash your car while you’re at work, and ezCater, a catering company with a network of 55,000 restaurants that can handle anything from two people to thousands. Whatever the value proposition, a unique idea will be paramount to starting a business in the on-demand world.
How to build an effective on-demand business
Looking at the bumpy roads of some on-demand startups, a few things rise to the surface as necessary ingredients for a winning on-demand business. First, your business must offer as many options for the product or service as possible, and spare no exceptions. The reason for this is, as mentioned earlier, the on-demand market has started to become saturated, and if a consumer cannot fulfill all their needs with your company, they will quickly search for another one where they can. Establish brand loyalty in the early stages of the customer journey by giving the customer everything they require and then some – give the consumer what they want before they know what they want, and leave no stone unturned.
Second, when building your software, make sure to prepare for future scalability by layering your back end. This will allow for quick enhancements and build-outs to occur if your company starts to expand quickly. Whenever opportunity comes knocking, have your digital infrastructure ready to answer.
Next, research your competition and make sure you’re doing everything better. The on-demand world has already had a few years to find its feet and it’s running at a pace now, so there is a good chance that there’s another company offering something very similar to what you are. Find them, get a clear picture of what they’re doing, and then do all of it better.
When considering the ways in which customers will interact with your business, it is paramount to be excruciatingly precise and consistent with every step, and make everything happen as fast as humanly possible. Again, with a saturated market, if a customer doesn’t receive your product or service in as much or as little time as they expect to, they will go to a competitor. Don’t give them time to consider another company – give them exactly what they want, every single time, and do it faster than they realized was possible. On-demand means now.
Taking this need for speed a step further, make your payment system fast and painless. There are lots of companies out there that offer excellent payment systems, from pocket-sized credit card readers to online wallets. Find which type of system works best for you, then integrate it into your business so that this step happens in the blink of an eye.
As you continue to grow your customer base, keep a constant eye on your analytics trends and implement changes as necessary. It will take a while to aggregate enough data to discern patterns, but you should do this as soon as you can in order to start refining the way your business works. Data is the name of the game in digitally focused businesses, so put it to use to continually improve your business model.
On-demand does not work for everything
One thing upon which online marketplace Etsy has capitalized is the recent demand for handmade goods. Etsy found that despite the fact that you can get almost anything in the blink of an eye, there are certain things that consumers are willing to wait for. The allure of having something made by a person rather than a machine is a recent trend, and although these goods are offered via an online marketplace and thus technically part of the on-demand world, many of them also require time to produce before shipment.
For instance, say you wanted to give someone a handmade quilt. Part of the value in this product is that it is custom made, so no one else will have the same quilt. The other part of the value is that it is made by a person, not a machine, and that the craftsperson invested one of today’s most valuable assets into making this gift: time. Not all products and services are going to benefit from an on-demand model, in some cases simply because it is not feasible to produce them quickly enough. It will be obvious the types of businesses that simply do not belong in this sphere; marketing these types of businesses with a focus on the time and personal approach they have will balance the inability to turn them around in a short timeframe.
The on-demand economy has taken off like a storm for many modern businesses, and can prove very lucrative when it’s done right. However, there are right and wrong ways to go about it, and it’s certainly not for everyone. Consider what your business has to offer that differentiates itself from other on-demand businesses and if the time is right, make the on-demand economy work for you.
We have an array of wonderful tools and platforms available to help us automatically monitor, scale, heal and failover our servers. Designing our products for Five Nines of availability (99.999% or just over 5 minutes of downtime per year) is absolutely achievable in 2017. However, this may not be necessary for your business. Here’s why:
- High availability is expensive. Maintaining multiple servers across multiple data centers incurs time and money, and it’s difficult to justify this “just-in-case” business expense.
- Redundancy requires complexity. If your team doesn’t have the necessary expertise to manage this complexity, continuing to add Kubernetes clusters and redundancy could even make things worse.
- If you’re relying on trusted third party providers, it often doesn’t make sense to build in redundancy. For example, when Amazon S3 suffered a 5 hour breakdown in early 2017, very few companies had an automatic failover built into their architecture. This is because the price of maintaining it vastly outweighed the likelihood of S3 going down. While you could back up your third party DNS, CDN and cloud server… is it really worth it?
For most of us, downtime is inevitable. While you can’t control everything, you can manage the experience customers have when your services do start to go down.
In this article, we look at how teams can design their downtime to be less disruptive to customers, and reduce the cost of this downtime to the business.
Prioritize Your Effort
Depending on your business type, different parts of your service will be more critical to maintain than others. What are the most important actions customers need to perform? These are the ones that must be protected first as a priority.
Prioritize redundancies by deciding how critical each service is to the running of your product. Is your ecommerce site primarily a catalogue? If so, your slave SQL database won’t need to be promoted to master when things go wrong, as users will still be able to browse your products. Is search critical to your site? If not, you can take the money set aside for your redundant ElasticSearch instance and invest it elsewhere.
With unlimited time and resources, we could have a bulletproof service that never goes down. But that’s not the case for most of us. (If this is you, and you’re hiring, please give me a call…). Instead, we need to prioritize our time to make sure the most critical services stay up.
If one tiny error brings your website crashing to its knees and flashing 500 status code errors, you’re going to upset a lot of customers. Your service needs to handle brief moments of instability or unavailability gracefully. For example, Google offers an HTML only version of Gmail when loading is slow. This means that customers can still get the information they require, albeit without the full experience.
Offline First is a popular trend at the moment, especially for mobile. It involves caching data and assets on the client so that the service still works when the server is unavailable. Its primary focus is for mobile – 4G is widely available, but deteriorates when customers are on the move, such as on a train. But even if your app is designed for desktop browsing where the connection is generally stable, Offline First will allow your app to continue functioning if your server goes down. Obviously a customer would have to visit your site or download your app beforehand, so this technique will only help for returning customers, and not new ones.
For the web, the service worker is a great way to start implementing offline-first paradigms. It’s a programmable network proxy that lives in the browser which allows you to intercept network requests as they happen. The service worker also has access to the browser cache, meaning it can store the results of network requests for future use. If a customer makes an HTTP request, and the server returns a 500 error, the service worker is able to intercept the error and instead return the last version of the request that was successful.
Single page applications – web pages that load a single HTML page and update dynamically as the user interacts with the app – can use other techniques for gracefully degrading. Since network requests are primarily made using Ajax, you can control the user experience after receiving a 500 message. For example, if your search server is down, an inline message can be displayed with more helpful information, rather than just serving up a generic error page. If you’re storing data in the web browser’s local storage, you could even offload search to the client to provide a degraded version to the end user. Local storage can also be utilized to store user provided data, allowing a form to be resubmitted automatically when your server is back online. Clever use of all of these technologies, along with good UX to set customer expectations, means you can still provide a stable service when your servers are burning!
Understand How Your Services Depend On Each Other
It’s important to keep track of your architecture, how different services depend on each other and what happens to the end user if one of these services is unavailable. For example, a common SaaS stack would include a key-value store like Redis. How does your application react if Redis runs out of storage, is overloaded or goes down? If you’re only caching data in Redis, it should be possible for your service to continue running when it becomes unavailable. If you’re storing session data in Redis, what happens if a customer tries to log in? Can you fall back to a different mechanism, like file storage? Does the affected customer see a sensible error message or just a 500 page? Keep these eventualities and possibilities in mind when adding services to your stack, and you’ll be able to keep your customers satisfied when the worst happens.
Keeping Customers Informed
While you’re working on bringing service back up to normal, your customers are waiting on you. They don’t know what’s happening behind the curtain, and they don’t know if the downtime will last a few seconds or many hours longer.
The only way they can know what to expect is by your communications with them. 88% of customers have lost faith in a company that experiences frequent downtime. But transparency during the downtime can go a long way to repairing that trust. 94% of customers are likely to be more loyal to a brand that commits to full transparency – even when it’s not pretty.
Keep in mind:
- Don’t make promises you can’t keep. Exact time estimates are the worst sins. If you suggest the service will be back up in 10 minutes, and it actually takes 15, you’ll have a lot of frustrated customers knocking on your door!
- Don’t throw your vendors under the bus. Even if it is the fault of your DNS, you chose them in the first place, and you didn’t back it up!
- Don’t “apologize for the inconvenience”. It doesn’t mean anything to customers any more. Instead, offer a genuine, specific apology for the trouble they are seeing.
Status pages that function independently of your architecture, like Statuspage.io or Sorry App, are a good investment. They’ll provide an easy way for customers to keep apprised of the situation, as long as you keep them updated. In-app notifications can also help explain why customers are seeing unusual behavior, but are more difficult to set up on the fly. Working with your marketing team to update social media feeds or send emails to key customers might be an easier way to spread the word about degraded performance.
When service resumes, it’s often helpful to provide customers with a post mortem. This can include a brief explanation of what went wrong, how it was fixed and what you’re doing to ensure it doesn’t happen in the future. Again, customers trust transparent companies, so being open post outage can win you back some of the trust you lost.
Working With Your Tech Support Team
Most of the time, your engineering team won’t be dealing directly with customers. Instead, you’ll have an army of customer support agents between you and the angry mobs trying to access the site. These people are your friends – they transfer information from your customers to you, and vice versa. Relying on your customer support team to communicate with customers means you can focus on getting everything back online.
To work effectively with your frontline teams, you must have processes set up before the storm hits. Know who your Specific Point of Contact (SPOC) is and how best to contact them. Understand what information they need to provide good customer service to customers throughout the outage. Let them know what information from customers is helpful. Do you want error codes? Troubleshooting reproductions? Your customer support team can get all of these for you.
Working with your tech support team will help ease the effect on customers, and hopefully help you identify the root cause even faster.
Planning For The Worst
Balancing the need for high availability with available resources inevitably results in some tradeoffs. But the good news is that you can always help direct how your customers experience service degradation.
With proper planning and communication, your customers will stick around, even when you go down.