Building an attractive environment for DApps developers

Sharpn
5 min readJul 31, 2019

For several years now, we have been witnessing a race for adoption in the DApp platform ecosystem. Since the end of 2016, many projects have emerged and offer platforms that respond to various issues in a different way. These issues may be about decentralization, affordability to Smart Contract creation or even transaction costs. I mentioned the concept of adoption earlier. It is clear that adoption for a DApp platform is a little more complex to achieve than for other projects.

Indeed, one of the most valuable resources is the number of active developers in the ecosystem. If Ethereum is today the most chosen by new projects, it is largely thanks to its large community of developers (Although it is objectively not the most accessible for a developer because of its particular language).

Working on the DX (Developer Experience) is the best way for a DApps platform to attract more and more developers. But what does DX exactly means? It’s the experience of a developer working with a product, a library, an API etc. A good DX is a mix of “functional and feature-rich” with “stable and intuitive”. Here are some key points which are, according to us, the most relevant to blockchain dev :

Consistency and clarity are primordial. In addition to making a product more intuitive, this will avoid many mistakes for new users, especially for beginners.

Communication is the key: New features, Common bugs, Depreciations, How-to, Q/A … Good communication toward and between developers is really effective when it comes to improving DX. Contrary to the other points, communication can always be improved! This will be the main aspect that we’ll try to improbe for ICON.

Packaging: Most traditional development tools are nowadays distributed via package managers (npm, pip, cocoapods, etc.) Blockchain development tools should be no exception!

Open source: It is almost pointless to specify this point, as it is so obvious. But more in all other areas, the Blockchain is intimately linked to the concepts of trust and transparency. This is why it is important to open source the tools and libraries that will be used by other developers

The current state of ICON

In this part we’ll go trough the different strengths and weaknesses of the ICON DX in order to prepare an effective action and communication plan to reach new developers.

We have migrated our DApp: https://certiv.io from Ethereum to ICON recently. It was the occasion to experience the processes and identify pain points in it.

The least we can say is that ICON foundation aimed to create a developer-friendly architecture for the creation of SCORE. Newcomers developers will probably be attracted by the following :

  • SCORE are updatable and written in Python, one of the most popular and easy to learn programming language.
  • T-BEARS is really smooth to work with. T-BEARS is providing a starter template and is allowing actions such as deployment, sending tx, calling methods from a contract, etc. It’s also distributed as a PIP package.
  • There is a lot of consistency in the documentation and between the various SDKs (Java, Python, JS, Swift).
  • ICON foundation recently brought the Fees 2.0 update, which allow a lot of flexibility by for example allowing the contract owner to pay the fees of the user.

But as every developer knows, starting to code on a new format rarely works perfectly the first time. Their best support in this kind of situation is Q/A platforms such as Stack Overflow.

The ICON dev portal has a built-in forum: https://www.icondev.io/discuss. Developer problems are systematically solved by community members, but the platform could benefit a bit more animations and history!

One of the missions of P-REPS is to provide as much educative content as possible to the community in order to facilitate the arrival of new developers. The ICONation team did a great job on the Craftain platform. Introductory courses are led by their team to provide training as a DApps developer on the ICON network. This kind of initiative is a very good thing to help increase the number of developers on ICON!

We are on our side developing a platform to promote the development on ICON. We want to communicate on the above points in order to achieve 2 goals: Convince DApps developers on other platforms to experiment and take advantage of ICON features and help “traditional” developers to take the initiative to learn how to code DApps.

What metrics should we aim?

In order to offer new developers the most enjoyable development experience possible, we should aim to have a community active enough to meet the quotas recommended by the famous Q/A Stack Exchange platform.

According to them, a healthy community receives 1,500 visits per day and asks an average of 10 questions per day with an average of 2.5 answers per post. These values are not absolute truth but we consider that reaching the minimum requirements to create an ICON Stack Exchange platform would be a nice goal!

A word about us

As you may know, at Sharpn we want to develop DApps affordable for No-Coiners. We want to allow them to benefits from the Blockchain technology without forcing them to have a thorough knowledge of concepts such as decentralization, pub/priv key, etc. You can check out this brilliant article about how a DApp should be “invisible”:

Here is a quote from it :

By way of analogy, Uber didn’t decimate the taxi industry by teaching people about peer-to-peer mobile experiences. Rather, it focused on radically improving the taxi calling experience by giving people a big fat button they could press where a car would show up and automatically charge their card. As Steve Jobs might have said: ‘It just works.”

Conclusion

Thank you very much for reading our article! We would be happy to hear your opinion on the DX in general, if you do not agree with some points of the article or even if you have other ideas in mind for ICON!

--

--