Much has been said about the state of decentralised applications (dApps) recently. Most has been negative, stating that dApps have, in general, not lived up to the promises from the halcyon visions outlaid in ICO whitepapers. Have these commentators been too quick to judge? Or, are they right and dApps are but a fickle endeavour? Well the truth, as usual, probably rests somewhere between both camps. Perhaps, at this point in time, we should remember the old adage that Constantinople wasn’t build in a day…
It took AirBnb almost four years to crack 1m users, Uber similar and the digital freelancing platform UpWork took nearly twenty years, three mergers and tens of millions of dollars to get where it is today. Most of these dApps have only been around for less than a year.
Also, although a lot of dApps have impressive unique selling propositions (USPs), they also have more hurdles to jump than ‘normal startups’. This blog will look to explore some of these hurdles and discuss techniques to overcome them on the way to sustainable growth.
It will explore the following issues to adoption:
- Admission barriers
- Marketing and Messaging
- Technology and scaling issues
This is not the exhaustive list but covers most of the major factors.
Most of the examples given throughout relate to the decentralised freelance platform CanWork, however, they can be extrapolated across all dApps.
The payment admission barrier
One of the first challenges faced by a dApp is that of admission. That is, for most dApps, you need the project’s native token to actually use the platform. Although this is good for the cryptoeconomics of the project ecosystem, it is bad for adoption as it creates a high barrier to entry.
Below is generally the process a potential new user, from outside of the ICO community, faces before they can use most dApps:
- Dammit! I need the native token to use the platform
- Stop registration
- Transfer ETH (or similar) to an exchange
- Convert ETH to the native platform token
- Transfer the native token out of the exchange to a supported wallet
- Register with wallet
- Use platform
Or if the potential user has never used or heard of cryptocurrency it might look more like this:
- What the hell is a token? Metamask….WTF?
- Close window and get lost down a three hour YouTube black hole…
Compare this to a new user for more traditional website/application:
- Register (with google, facebook etc and credit card details)
- Use platform
If you can get your potential users to stay the course from step 1–11 then well done. However, clearly, dApps need to work harder to be more like the traditional website/application experience.
Most of the awareness for the dApp will have come from some type of token generation event. Although this is good for creating a strong initial community of token holders, many of these token holders may be speculating on the token’s price and will not use the platform at all. Even if ten thousand ICO community members use the platform (more than infrequently) it will generally not be enough to sustain the ecosystem in the long term. Therefore, it is critical for the project to allow wider (and easier) admission into the project ecosystem as soon as possible.
The most logical first step in this journey is to move from allowing only native token holders into the platform to allowing all cryptocurrency holders into the platform. At least these participants are familiar with cryptocurrencies and the values of a decentralised platform. This is represented below by moving from Stage 1 to Stage 2 (these Venn diagrams pertain to CanWork in it’s quest to onboard digital freelancers).
An educated guess would put the number of cryptocurrency users across the globe north of 30–40 million. In particular, cryptocurrency is starting to gain serious traction in nations with tumultuous economies:
Therefore, by moving from stage 1 to stage 2 your potential users (or those that don’t have to go from step 1–11) go from 10,000 (being generous) to 40 million. An expansion factor of 4000; not too bad considering this step is not overly complicated..
There are many ways to go from Stage 1 to 2. Popular methods include Bancor(for ERC20), kyber, changelly, shapeshift etc — however these methods require your users to leave your platform and then, hopefully, return. Another solution is CanExchange which the CanYa development team will be releasing at the end of October 2018. This will allow platform users to seamlessly convert a large range of cryptocurrencies into the $CAN token without fees or having to leave the platform. This will of course be open-source so check out our github closer to the release date. Feel free to copy it for your project and claim it as your own 🙂
By using CanExchange (or other similar products) the user on-boarding journey has now been seriously truncated to look like this:
- Dammit! I need the native token to use the platform
- Nice, I’ll use CanExchange to convert some crypto in my wallet to $CAN tokens and register.
- Use platform
Being at stage 2 of the dApp release adoption process will allow your project to consolidate the product and grow. Projects at stage 2 should find complementary projects to partner with. Ideally you can combine user-bases and solve each others problems and both ecosystems will prosper.
However, the real growth and ability for dApps to steal market share from their fiat competitors won’t come until widespread crypto adoption, or, a solution is found for getting fiat on and off ramps for your dApp in an efficient manner. Obviously the former is happening, but not fast enough, therefore, the latter needs to be the focus of dApp projects. By getting to Stage 3 your potential customer base looks more like the diagram below:
Also, your on-boarding process is now basically the same as any other web platform or application.
There are many third party platforms and plug-ins working to help dApps get to stage 3. However, at this stage they are costly and have a poor UX which removes a large part of the dApps USP. Having said that, there are some promising solutions in this space. If a low fee, user friendly solution for a dApp to have fiat on/off ramps is released then the potential for large scale dApp adoption could change overnight.
The volatility issue…
Another major barrier for dApp adoption is the awkward issue of cryptocurrency volatility. Token price volatility (both up and down), is the very reason most speculators and ICO participants hold the token. Yet, ironically, it is one of the reasons the projects can’t grow a user base. No one really wants to trade goods or services when the agreed upon value of those goods or services (in relative terms) could double, or halve, within a week.
Sure, there are plenty of great stories of developing nations (or countries with poor economic health) moving to cryptocurrency payments as it is less volatile than their national currency, but, for most of the world’s population this is not the case.
dApp projects will need to find a solution to this issue. dApps for the sale of goods are generally not as affected as the price of the good is transferred at the point of sale. It can then be converted to fiat or held in crypto at the whim of the merchant. But what about for dApps that deal with transactions or services that occur over a time period? Usually, to stop bad actors, this type of transaction will require credit card pre-authorisation or some type of escrow. For a dApp using cryptocurrency, the former is not available and the latter opens up significant volatility issues. When the platform’s token price changes the relative value of the escrow will also change.
As an example let’s use the case of a web designer creating a page for someone through a digital freelancing dApp. The webpage design will take the service provider two weeks. Now, in this two weeks the usual trope of FUD causing headlines have permeated across reddit causing a bear market. Let’s go with “US tax time, Chinese banning, exchange hacking, Mt Gox wallet moving shorter feeding frenzy” subsequently (despite having no logical correlation to any of the above) the dApp’s token has lost 40% of it’s value. Therefore, the escrowed funds for the new webpage are also worth 40% less in relative terms. Does this mean the client has to now top it up with more funds? Or does the web developer get the short end of the bargain and lose 40% of the job value meaning they are no longer motivated to finish the job? As you can see this very real world problem has significant drawbacks for both parties.
One solution to the above is to have a stable escrow. Ideally this is trustless and done in a decentralised manner. The CanYa team have just implemented such a mechanism with the ‘hedged escrow’. This mechanism ensures that a job’s value stays consistent, relative to USD, (or gold in a future development) while the funds are held in escrow. It does this through a series of smart contracts using DAI and Bancor.
You can read about it here:
Or see it visually below:
This now means token holders still have the potential upside of $CAN once platform adoption grows but those booking jobs don’t have to worry about any short term volatility. Again, this is open source so we encourage other dApps to go ahead and see if they can implement something similar in their platforms. Here’s the github link.
Marketing and Messaging
One hard truth that dApp projects and their teams need to face is that for potential users outside of the cryptocurrency space:
No one cares that your platform is decentralised…
This is not a USP in itself. A decentralised platform will allow you to do amazing things that you wouldn’t be able to do otherwise, however, your messaging needs to focus on those amazing things. It should not get bogged down in the esoteric terminology and rhetoric that pervades the cryptocurrency world. Many people outside of this space, at this point in time, don’t really care.
Why would someone who has happily used a centralised, fiat based platform for years want to use your platform? Saying because it is ‘decentralised’ or that it uses cryptocurrency (which they may not have any interest in) is simply not enough.
Let’s again return to CanWork, a platform designed for digital freelancers all over the world to use. It will eventually operate via a decentralised autonomous organisation (DAO) and uses cryptocurrency, however, we will focus on all of the amazing things those facts mean for the users of the platform rather than those facts themselves.
By operating via a DAO and using cryptocurrency CanWork will:
- Be 20x cheaper to use than incumbents
- Mean the roughly 2 billionn ‘un-banked’ people of the world (who are indeed adopting cryptocurrency) can access the freelance economy, which has been dubbed the ‘industrial revolution of our time’
- Access your data via secure third party platforms meaning no data hacks or spills.
- Allow trans-border payments 24/7/365 with tiny fees in a universal currency
- Always be user-focussed as more users means price appreciation in $CAN which is what those running the DAO are incentivised with
- plus much much more.
The above USPs are what the CanYa team’s messaging will focus on for those using competing platforms. Let’s briefly focus on the price angle.
CanWork will be 20x cheaper for freelancers as it uses a tokenomic model and cryptocurrency. The potential users don’t need to know why it’s 20x cheaper, just the fact that it is. As long as the CanWork dApp is close to feature parity with incumbents the reduction in fees should be enough to convert large numbers of users across. Graphics like the below can convey this message easily:
All freelancers are business operators. Therefore, if we can offer a service that reduces their fees by a factor of 20 it means more money for their pockets and most likely cheaper prices for the clients booking them. This is one of the major selling points the CanYa team will focus on when bringing in users from the world of fiat.
Technology and Scaling
The vast majority of dApps are based on an underlying protocol. This has mostly been Ethereum but new players such as EOS, Zilliqa, Stellar are claiming more favourable conditions for future dApp deployment. No matter what protocol a project decides to build their dApp on there are inherent limitations with the technology of today. One of the most common problems is the ability for a protocol to handle a large amounts of users. Congestion at times of high usage can bring the entire network (and any dApps build on top of it) to a grinding halt.
One classic example of this is the cryptokitties craze of late 2017. Almost overnight this fad brought the Ethereum network to its knees. Gas prices increased by a factor of 16! This meant that every dApp on the network required its users to pay 16x the fees they were paying the day before or have their requests wallow in the mempool thus rendering the dApp unusable. This was (and still is) the most widely used dApp of all time. Want to guess how many users it took to bring the entire network to a near standstill? Merely 27,000. As a comparison most readers will acknowledge the seamless experience you may have using Facebook, despite it having over 1,000,000,000 users every day. Until dApps and their associated protocols can operate at this type of scale, or at least close, they will struggle to get the adoption they are aspiring to.
This is not to say that all hope is lost, not by any means. There are many protocols out there making big claims (which they may be able to back up).Even Ethereum (considered the premier smart contract protocol) has significant scaling solutions on the horizon. The problem they have is trying to solve the ‘blockchain trilemma’, that is the competing goals of being secure, decentralised and scalable. Most protocols only achieve two of these three goals.
Thankfully, significant progress is being made by a number of projects and very smart people in the space. Layer 2 and sharding technology could be the answer for Ethereum while other networks have their own approaches. The take home point is that this technology is improving everyday and so is the potential for a dApp that can one day compete, in usage terms, with the current tech giants of the world.
Design (or lack thereof)
The final point I will discuss is design. This is an incredibly important and often overlooked (particularly in the crypto space) aspect of any successful product. Currently the user experience (UX) and user interface (UI) for most dApps out there is terrible. The crypto/blockchain space has an overt emphasis on core technology which seems to lead to a neglect, or aversion, of anything to do with design principles. This has created platforms that people either can’t, or don’t want to use, even amongst cryptocurrencies biggest advocates. There is a reason there are around 40 million cryptocurrency holders yet most dApps struggle to break over 1000 daily users. Although it would be misleading to claim that this is all due to poor design, it is definitely a factor.
Most of the most successful software products of today are all distinguished by having fantastic design. A great example of this is AirBnb, a platform that was actually created by designers, not software engineers. Sure, designing your way around some of the difficulties that come with this technology takes time, however, it must be done. Putting out the next killer dApp idea on the world’s fastest blockchain is completely wasted if new users can’t intuitively use it. This is even more pertinent in today’s society where attention spans and patience for new technology is very low. Until more focus is given to dApp users having a great interface and experience, adoption will be slow. Please don’t let your amazing idea or technology go to waste; create something that is also enjoyable to use for the layman!
In my opinion it is too early to judge the performance or future success of dApps. Sure, many have not lived up to some of the hype, but, is it realistic to think they would be knocking on the doors of Uber, AirBnb and UpWork within one year of their ICO finishing? There are many internal and external factors that need to be solved before they can have a real shot at taking on the big guys.
As a side note, it is often ironic to see people espousing all of the amazing tech behind a new protocol and how good it will be for the applications built on top of it, then, in the very same breath say that dApps are but an illusion and will most likely never work. If the latter is true, why bother with the former?
Barriers to entry, volatility, messaging, technology limitations and poor design are all contributing factors; but there are others.
But, hope is not lost. Many dApp projects have learnt these lessons and are furiously working at ingenious ways to overcome them. dApps will get there but maybe we just need to give them a little more time?
I would love to hear your thoughts and comments. Disagree entirely? Have some other factors you believe contribute to lack of adoption? Throw them in the comments below.