There have been hundreds of thousands of words written about ICON's accomplishments in the realm of business development and why a public blockchain makes a great use case from an enterprise standpoint.
Meanwhile, very few words have been written about how ICON is also a strong platform for developers.
ICON's primary use case is interoperability; we've known that since Day 1 of the project. Over time, it's also become very apparent that ICON is a compelling platform for other development as well in the form of DApps or other tools and services.
Demand for ICX won't just come from enterprises requiring the token to operate on the network; demand will also come from individual people who use future applications built on the ICON network. Theoretically, this second category could someday has just as much demand as interoperability - maybe even more.
With so many blockchain products in existence, it may be hard for developers to decide which is the most compelling project to build their ideas on. Not only do they need to be confident the project will continue to grow and exist with a strong user base, but a project also needs to offer incentives, tools, and ease of use in order to stand out among other projects in the eyes of developers.
I believe ICON offers all the above. Below, I'll do a breakdown as to why.
In August 2019, ICON published a document outlining their Contribution Proposal System:
One of the most significant innovations by the ICON Project thus far has been the inception of the DApp Booster Program (DBP) and Ecosystem Expansion Projects (EEPs). While on the surface level these appear to be ways to simply fund projects, the underlying decentralized, autonomous governance mechanism described in this paper allows for a level of human organization and decision making that was previously unattainable.
While both DBPs and EEPs are both critically important to the ICON network, this article will focus on DBPs (although many of the thoughts laid out here could apply to EEPs as well).
Here is how ICON describes the DApp Booster Program:
The DApp Booster Program (DBP) is a program that selects and rewards DApps to help grow the value of the ICON Network, and all DApps on the ICON Network can register for the DBP and receive delegation from ICONists.
All ICONists can select high-quality DApps that can contribute to increasing the value of the ecosystem by delegating ICX to specific DApps. Only the top 100 DApps are eligible to receive rewards depending on the amount of ICX delegated from ICONists and the Monthly Reward Variable for DApps (idapp). The top 100 DApps are elected similarly to the Representatives of the ICON Network, where ICONists delegate Staked ICX to their choice of DApps.
If you've participated in the pre-voting process for P-Reps, this should sound familiar to you. Developers will submit proposals for building a DApp on the ICON network. ICONists (you and me) will have a chance to vote on which projects you like the most that have the greatest chance to become a reality. Those projects that end up in the Top 100 will receive ICX rewards. Those with higher vote percentages will receive more, providing added incentive to put forth the strongest ideas possible.
Let's pretend you're a part-time developer who has always had the desire to build an application that allows hospitals to share medical data (stripped of patient identity) in order to better understand treatment options and outcomes. This type of project isn't easy, and it will take more than one person to pull off.
Under existing conditions, this developer will have to go find potential investors (who he may not even know) to provide him funding to hire the right people to pull off such an app. After a few conversations, he hasn't been able to convince these investors to part with their money and take a risk on his project. Dismayed, he gives up, putting his idea back in a drawer.
A few weeks later, he learns about the ICON DApp Booster Program. He takes the time and effort required to put forth a thoughtful proposal, detailing what the app does, how it works, and why hospitals would want to use it. He includes estimated costs and a desire to hire 2-3 additional developers to help with the project. He submits his proposal as a DBP.
ICONists also love the idea, and believe he has the ability to make it a reality. He is voted into the Top 10 of DBPs. He will now be provided ICX on a monthly basis, which he can now use to build his project.
This decentralized process for incentivizing development is an idea that few, if any, other blockchain projects have implemented. Others have tried similar ideas – EOS, for instance, built a reward mechanism; however, without decentralization, it ultimately never became operative.
As you can likely see, not only does this create a financial incentive for a developer to build on ICON, but it may also provide the financial resources for good ideas that aren't available otherwise.
Fee Sharing and Virtual Step
During the Summer of 2019, ICON announced the implementation of "Fee 2.0", a service developers could use to attract more users.
Here is ICON's description of Fee 2.0:
Previously, all DApp users were required to pay cryptocurrency fees starting from their initial uses of services. That meant that DApps could only be used by those holding a certain amount of cryptocurrency, and therefore presented a challenge in the sense that customers had to solely bear the burden of creating a wallet and buying cryptocurrency.
In order to solve this issue, ICON has designed the Fee 2.0 system in order to resolve this inconvenience and dramatically reduce the fees incurred in using and operating DApps.
While this announcement has received less attention than some of ICON's other announcements, I would argue that Fee 2.0 has been the biggest step toward mass adoption that ICON has made. Fee 2.0 is comprised of two concepts: fee sharing, and virtual step.
Let's look at Fee Sharing first.
Without fee sharing, using a blockchain application typically requires the user to pay a fee in crypto. As of now, most individuals do not own crypto. Even if they wanted to use an application, the process of buying crypto may be too cumbersome and time-consuming.
With fee sharing, the developers of the app cover the fees. The impact of this is that an individual could use an application requiring cryptocurrency fees without even knowing the app was built on blockchain and required those fees. By removing the barrier of the user having to purchase crypto, the floodgates of mass adoption can begin to open.
From a developer standpoint, you now have access to a far greater audience who may be willing to use your application.
Meanwhile, in order to mitigate the burden of the developer paying those fees, ICON has designed Virtual Step:
ICON has designed Virtual Step as a means of reasonably offsetting the fee burden on DApp operators. If DApp operators deposit ICX to their own SCOREs for a certain period of time, this deposit action will generate Virtual Steps that can be used to pay transaction fees. Virtual Step is generated every month in proportion with the quantity of ICX deposited and the duration of the deposit period. The deposit period ranges from a minimum of 1 month to a maximum of 24 months, and the deposit amount ranges from a minimum of 5,000 ICX to a maximum of 100,000 ICX.
In other words, if a developer is willing to make a commitment by staking their ICX over a period of time, their ICX can go further toward paying fees than if they kept their ICX unlocked. The longer they are willing to stake, the greater "fee bonus" they receive. If they need to withdraw their ICX prior to the expiration of the time they had committed, they will face a penalty in ICX.
This benefits the developer by providing reduced costs, and benefits the ICON ecosystem by ensuring ICX remains out of circulation, reducing supply.
In addition, it's a possibility that successful DBP proposals could use a portion of their rewards to finance virtual step, ensuring the developer doesn't face any direct costs. This only further incentivizes building upon the ecosystem.
Languages & Coding
ICON was primarily written in the Python programming language. As one of the more popular languages, many developers already have the skillset required to build on ICON.
Many technology companies have adopted Python, including Google, Spotify, Instagram, and Dropbox, due to its relative ease of use and speed compared to other available languages. Compared to Python, other languages require far more code and complexity to execute a similar task.
As a language, it's seen as the choice for such features as machine learning, automatic trading, data analysis, and many others.
Meanwhile, with an active Github, developers can view the progress being made thus far and have confidence that they won't be the only ones building on ICON.
Overall, ICON's infrastructure provides a great deal of accessibility for developers. Ultimately, if something's easy to build on, more people will build on it.
ICON offers a number of additional benefits, including:
- Unlike many other blockchains, ICON’s SCOREs (smart contracts) can be updated without moving to a new contract address. This provides for an easier and cleaner coding process.
- With block times lasting only two seconds, the speed of ICON transactions enables a wide variety of applications to be built and used. Many other platforms have far slower block times, reducing their overall capabilities.
- ICON has published extensive documentation for its products, making it very easy to get started as a developer. In addition, the ICON developer community is already very vibrant with a willingness to help those who run into questions or issues when developing on the project. (To see all the resources made available to developers, be sure to visit the ICON Developers Portal.)
- The ICON team has thoroughly bug-tested their code. Nothing scares off developers faster than trying to build only to encounter numerous bugs and errors. Many have been wondering what ICON is doing with so many employees – it's this type of work that will truly make the difference in the long-term. Building error-free code may not generate the excitement of a new announcement, but this type of work is more critical to the success of the project.
- Developers have access to ICX Station, ICON's incubator for nascent projects being built on the ICON platform. This provides not only technical support, but potential business introductions and relationships as well.
Arguably, the biggest challenge ICON will face over the coming months and years will be ensuring the growth of a strong developer base. Relying entirely on interoperability is a riskier approach for ICON; by ensuring ongoing development and growth, there is a clear and direct bridge to mass adoption, especially over a shorter time-frame than full interoperability. However, if there is nobody to carry out that development, interoperability becomes the only use case for the project.
Not only are efforts ongoing to recruit more developers to the platform, but many in the ICON developer community are still in the process of building some of the critical tools to make development on the platform a more seamless process.
Accordingly, we are still in the early days: both in terms of the infrastructure, but also in terms of adoption by the developer community.
Fortunately, the foundation ICON has laid is exceedingly strong. The financial incentives for developers to build are unique within the blockchain industry, and the existence of Fee 2.0 will be indispensable when it comes to gaining mass adoption.
What Can the Community Do?
As an ICONist without any development background, you may be thinking: "I want to be helpful, but am not sure how."
Here are a few ideas:
- Support P-Reps with a vision for marketing directly to the development community (rather than just retail investors) and proactively working to recruit developers to the ecosystem.
- Support P-Reps who are working to help build tools for developers to use when building on ICON. For instance, a group of P-Reps has banded together to build a price Oracle for ICX/USD that developers can build into smart contracts. While these tools may not generate as many headlines as other P-Rep activities, they are critical and should be supported.
- The elections for DBPs will be important. While the P-Rep election has generated the most attention, it's my hope that the DBP (and EEP) voting will generate similar interest when it launches in the future. Your vote will directly influence which projects get resources and which don't, so make sure you read these proposals and think hard about what you want built on the ICON platform!
- P-Reps and the ICON Foundation don't need to be the only ones to spread the word about ICON in the developer community. It's likely that you have at least once friend who works in programming and development. Tell them about ICON (and it's financial reward system)! The same goes for other developer communities – reddit, Telegram, in-person meetups – there are plenty of developers out there who would likely be interested in developing on ICON...but only if they know about it!
Hopefully by now you get the idea. Just like many have made efforts over the past several months to spread the word about ICON to the general public, we should also be making the effort to spread the word to the development community.
Like so much else with the ICON ecosystem, there is a lot to get excited about when it comes to development – but there's also still a lot of work to do. So let's get going!