This opinion piece will tell you about the straightforward steps involved in creating an App on the Internet Computer.
It is not easy to create many things or innovate with competition, lack of opportunities and resources. Many Big monopolies have established themselves in various fields and engage in antitrust practices while feeding propaganda and misinformation. However, DFINITY's Internet Computer will rectify these issues.
DFINITY created Internet Computer Blockchain, which aims to be an extension of the public internet. The Internet Computer is a decentralized smart contract cloud platform, which is also a public blockchain.
Developers can build their services directly on the internet computer, and tokenization allows entrepreneurs to create businesses rapidly and scale. DFINITY said that the Internet Computer was created to accelerate innovation, which cannot happen when the status quo is maintained and decided by a single centralized authority.
There is no doubt the internet is broken today. The fundamental principle of the internet is to achieve maximum unbound connectivity that is not censored and where all the network participants must have an equal say.
A LinkedIn ‘Breach’ Exposes 92% Of Users—And Other Small Business Tech News - Forbes 2021
Why should you build on the Internet Computer?
- Massively scalable web-speed public Blockchain
- Boon for the Open Internet Services
- Censorship resistant and unstoppable
- Canisters are the next-gen smart contracts
- Reverse Gas Model - Efficient smart contract fee structure
- Zero platform risk
- Host and deploy both front-end and backend entirely on-chain
- Massive opportunities for interoperability and collaboration.
Minor overview of Developer resources by DFINITY
DFINITY Foundation has recently awarded 1 million USD in grants to more than 60 teams. We can see many developers and entrepreneurs building a variety of services on the Internet Computer, and there is still around 200 Million Dollars worth of grants yet to be claimed.
An Entrepreneurs Journey by DFINITY shows how the showcased prototype CanCan (decentralized version of TikTok) can be turned into an Open internet Services - A billion-dollar app.
DFINITY showcased a prototype of a Dapp written in less than 1000 lines of code.
- DFINITY also provides 75 Trillion cycles ( worth 100$) for developers to start building their services. Check out the Cycles faucet and the Developer center to dive right into it.
Brainstorming and Defining the Strategy
Good ideas rarely come to just one single person. It is tough to build and deploy something in the current world, where there is a lot of competition and unfair practices.
Monopolistic practices are a double-edged sword that comes with both advantages and disadvantages.
Want to build something on the Internet Computer?
The first step is deciding what you want to build. Grab a cup of coffee and start brainstorming on your ideas and your theories. Read about the Internet Computer, Learn, Meet and Discuss with people for maximum collaboration and build a team to start your work.
The most critical phase after coming up with Dapp Idea is to define a strategy for achieving that Idea. Strategy can be specific to the platform - Mobile, desktop, or console. Broadly, the following should be considered during this phase:
1.1 Define clearly - objectives & Goal of the Dapp.
1.2 Identity user/customer base.
1.3 Research your competition (on the different Blockchain or related Dapp).
Internet Computer Blockchain offers a platform for developers/creators to build on.
Now time to start building a prototype!. One can get started with DFINITY's developer center for Software Development Kit, documentation, developer forums, technical library, cycles faucet, etc.
Hop on to the Motoko playground to start learning and writing and then deploying your prototype.
Using Motoko Playground
So, What is Motoko?
Motoko is a smart contract programming language for the Internet Computer created by the DFINITY foundation.
Motoko playground is the integrated development environment (IDE) that allows developers to build canisters (upgraded smart contract) directly within the browser. This eliminates the need to download the development SDK kit or the wallet and makes the whole development experience easy and efficient. In other words, anyone can do the development after going through simple-to-follow tutorials.
Select a project
DFINITY has some examples, or you can import it from Github. I have selected the “Calculator” one. “Main” has the code of the project.
Once we hit “deploy,” it will get a free canister Id and deploy the code on the Internet Computer. We will get 10 mins to test the code, and the canister will be destroyed. Of course, we can change the code in the editor and re-deploy it for testing the changes.
Query / Testing
We can use the “Candid” language’s Graphical User interface (GUI) to query the code. In the below example, I did a simple “addition.” The initial value was Zero (code on the left side). I entered ten first (click call), it made the value 10. Then I entered 20, and the result came as 30.
If you don’t want to go through the deploy the canister & other Internet Computer-related development, you can use Fleek to deploy the static sites. It offers various plans (some paid). Although Basic one is free and offers 3GB Storage, 250 Build Min & 50GB BW. It lets you connect to GitHub and deploy the canister using the Github code in 4 easy steps.
Select the “New site” and connect to GitHub
Select “Internet Computer” as hosting services
Fleek will get the canister and will do all the work for us.
To deploy, you can look at the default & advanced settings to fine-tune. And in the end, you will get a URL to connect. Here I just used a single HTML test page, and it took 1m 21 secs to deploy.
So When I hit the site:
I can go to ic.rocks on search my canister with ID. So no intermediary or expensive Cloud provider is necessary on this easy to deploy website. It’s secure and doesn’t have a single point of failure because of the Blockchain consensus. Furthermore, you can get a website name from google / go daddy / or any other DNS provider and redirect traffic to your Internet Computer URL. In this case: ic.rocks
Test your prototype
Test the dapp rigorously and invite select testers for alpha testing. Next, collect their valuable feedback and improve the service. Bug fixes and feature requests have a huge snowballing impact on the product, and an excellent strong community will carry the product to success and scale massively in days to come.
Then go on and release the beta testing phase and let people use the app and ask for their feedback.
One of the purposes of testing is to design an effective and suitable tokenized economic model for the dapp to sustain itself and reward users for using the app and maintaining its integrity as an open internet service.
Orthogonal persistence is a direct result of the Internet Computer's canister model, where code and state live on-chain in a serverless environment. This eliminates a lot of the IT complexity with persisting data using databases (such as wiring it to your app, replication, sharding, etc.)
Assign it to the Service Nervous System and issue governance tokens.
Once the product is stable enough, it can be assigned to the service nervous system. The service nervous system is an open governance system like NNS, but the dapps tokenize and become open internet services.
Now the product has become an open internet service ( well, not open yet). This means any changes to the dapp can be done by governance proposals using governance tokens. These tokens are issued by the developer who created the service and will initially own all the tokens.
Then these tokens are distributed among the community and investors for decentralization of voting power - therefore - open governance.
Incentivized long-term goals must be put in front of the community, leading to a win-win situation. DAOs may play an essential role in this. The Internet Computer opens up endless possibilities using smart contracts.
App-based tokens can be used to generate micro-economies within products that help bootstrap app ecosystems and adoption.
Issue tokens through starter and launchpad - sell tokens.
Ultimately, the community will control the open internet service using the governance tokens, and no single individual or centralized authority can control the service. This brings us one step closer to ending the malicious data economy and big tech monopoly.
Raising funds and scaling.
Once the dapp is on the Internet Computer, it exists anywhere that people can access the internet around the world, meaning that Dapp has effectively launched everywhere without ancillary services like content delivery networks and databases.
The issued token can be distributed and sold to obtain the funds necessary to develop that service. With just a few clicks, one should be able to raise funds.
The governance tokens can be sold in the private and public sale.
Distrikt ( decentralized professional social media ) said that there would be no private token sales; only public sales would be held for the community.
- Token distribution
- Educational tutorials
- Upgrading the teams along the way
The app is now under the control of the owners of the governance tokens, which can also be used to distribute rewards and bounties to open-source developers.
By using permanent functions, the app can power other apps and services. Once the software is deployed on the Internet Computer, it is instantly available worldwide without needing extra processes.
Build the team and manage community growth.
Communities are a vital part and heart of any open internet service, and communities have a responsibility to govern the platform.
Any open internet service is as strong as the community. Open internet services are run and governed by the community for the community or anyone who wants to use them... because... it's..open..
Build the team further using the raised funds. Incentives can be provided to the community - Like Hackathons, Giveaways, etc.
Communities can be built and run on the Internet Computer ecosystem once the social media of the ecosystem establish themself properly. Till then the legacy social media can be used to reach many people as needed.
After the tokens are distributed to early adopters, the early adopters, in turn, grow the community by bringing in more users and further distributing the tokens.
The dedicated community will work hard to grow the service as well as the community. Thus they are rewarded for their efforts by Early Adopter perks/badges and airdrops.
Updates and patches incentivized by governance tokens
The governance token can be used to provide incentives to the community as well as open-source developers.
This can be done by using governance tokens to reward:
- Bounty for open source developers -Developing features
- Bug bounties
- Content Moderation by Decentralized Web3.0 moderation systems
- Influencers who promote the services and bring quality content and users to the platform
- Community contests and hackathons
Canisters allow functions to be marked as permanent, which means they cannot be deprecated across updates. This is a promise from the developer to the users of the function, whether they are people or other services.
Now you have reached the end of the article, and I am sure you have learned a lot and should feel fully equipped to continue the journey to build a successful Dapp. Since the Internet Computer ecosystem is still evolving and Dfinity provides grants and support, this would be a perfect time to develop a Dapp on the world's most developer-friendly Blockchain.
Connect With Us:
Articles & Guides:
- Disclaimer: The views and opinions expressed on this website are solely those of the original author and other contributors. These views and opinions do not necessarily represent those of the Dfinity Community staff and/or any/all contributors to this site.