2018 was the year of the DApps. Ethlance, the job marketplace, Cryptokitties, the famous game with kitten collectables, and Aragon, the platform for creating and managing DAOs. It’s full of successful decentralized applications that show the maturity of the market.
A ConsenSys survey reveals that Ethereum has 30 times more developers than the other blockchain communities.
But how do you build an effective Dapp? We asked Thomas Bertani, Director of Eidoo and founder of Oraclize, for some advice.
Thomas Bertani: “Timing is everything with DApps”
According to Bertani, before developing DApps, you need to consider in advance the components you need to design the project: “Decide which part of the DApp will be implemented on the blockchain and which won’t. You don’t have to put everything on the blockchain as this would lead to prohibitive costs and a bad user experience. You have to think well about this aspect and how to communicate the part to be included in the smart contract with the one you decide to keep out”.
Bertani then reveals how to hide the inefficiencies of the blockchain with interface solutions: “For example, if a DApp requires the user to send a transaction, you do not have to show them the details of the transaction and, at the same time, you have to entertain the user for as long as it takes to confirm the operation. That’s why you need to create an ad hoc interface. Think of a casino DApp where each roll of a dice corresponds to a transaction. The solution here could be to show the dice rolling, in order to hide waiting times from the user”.
Bertani also warns about the importance of governance and the trust model: “Who will manage the DApp? Who will be allowed to upgrade? These are questions that need to be answered. A model has to be established in which it is determined who can do what, who can be trusted and how to update the smart contracts. And more generally, how to manage the governance of the company”.
For Bertani, governance is followed by a reflection on the integration and interoperability of the DApp: “Integrating with existing projects and tools is one of the keys to the success of a DApp. For example, for transactions, the application has to be integrated with existing wallets. Integration has two advantages overall: it allows you to strengthen your community by involving other communities to test your DApp. It also helps to provide a simplified user experience without having to design components that are not the core business of a DApp. The wallet mentioned is one of the most obvious cases”.
Last but not least: timing: “Don’t be afraid to reinvent the wheel. There are many cases of Ethereum DApps that have been successful when they have been re-proposed with different specifications. An example is Decentraland, a successful project that allows buying land with tokens. In the past, it already existed under another name, Etheria wallet, but it did not have the same luck, not because less valid, but only because the timing was wrong. So don’t be afraid to use ideas from failed past projects and propose them with updates”.