A very passive-agressive article about DApps and ERC721 Collectibles
We're back at square one. CryptoKitties blew up and, then, "blew right down". Eh. Let's be real:
Creating certain DApps can an awkward and short affair...
Now, in this post, I'm strictly referring to most non-fungible token based DApps. They are either created around independent ideas (like CryptoCelebrities), or during major events. An example of this is the Football World Cup. Search "football cup DApps", and you'll find at least a million, if not a gazillion examples.
Right before a significant event - you think of a brilliant idea: "A marketplace for DApps". Suddenly, there you are - super invested in it! Feels like you're creating a novel application. It won't save the world, but Snapchat didn't do that either - so you're fine, right?
If you have the abovementioned mindset ("DApps won't save the world") - congratulations, you've figured it all out.
DApps are usually applications made for the fun of it. You might sit on some extra Ether and this is a great way to just throw it out the window!
You might be confused on what side of the argument I'm taking here. In simple English and honesty: I think DApps are fun and great! The ones I know provide interesting entertainment, and even more importantly - spread the b-word (ref: "blockchain"). You know something is right when your almost 80 year old-neighbor knows of "digital kitties" and "internet money" (shout out to my neighbor).
Furthermore, DApps don't have to be a "pointless" application - GIVEN that you rethink why you are doing it in the first place and what you want to gain from the experience of developing a DApp.
Despite staying away from SteemIt and being anxious about writing a post, I've decided to step out of this comfort zone of mine and write about "why you should or should not make a DApp".
Why am I writing about this? Because I recently developed one together with one of my best friends. Hence, I'll sprinkle some of my own experience of developing a DApp and lastly - if enough people are interested - I'll start writing tutorials.
Hopefully, my very "Gen-Z way of writing" and choice of gifs makes you smile as well. Yay. Let's begin!
These are various reasons for why you should be developing a DApp:
- You want to understand how to make a consumer-facing interface that can interact with an actual smart contract. We used web3.js as an oracle to interact with the smart contract and front end. This is no "hold-my-beer" kind of thing. I found myself on the floor sobbing multiple times because of lacking documentation or Stack Overflow not being helpful.
I just wanted to get back to Netflix, reading and "enjoying summer vacation" (a principle I have yet to discover).
The process of learning both web3.js and Solidity is a brilliant experience that teaches you independent debugging, finding creative solutions and reverse engineering.
- You have found an equally nerdy person who's also ready to ruin their summer in order to build something cool. I found "my someone" during a hackathon in Mexico - at Talent Land in Guadalajara. He was on my team and his name is Dennis. I didn't know him before we competed together at the hackathon. We had similar interest and became great friends quick. Fortunately, we were also pretty stubborn and the idea of building something cool seemed plausible. Now... Complications knocked on our door when I moved back home to Oslo and he stayed in San Francisco. It ended up with me (voluntarily) staying up until 6 AM in the mornings to match his schedule. That way, we can brainstorm, write code, cry some (ok, that was only me) and brainstorm again. There was a lot of Skype, screenshare, GitHub and Messenger Call. Yay. No regrets. He's awesome.
In short, finding someone with THIS (gif below) mindset is key. Wanting to develop something with an awesome person is the perfect reason to try building a DApp.
- The last reason you should be developing a DApp is; it's relatively easy to "publish" it. You can keep it server-less (on your part) thanks to fantastic blockchain technology. It's easy sharing the project on free webpage services like Github Pages. Create a repo and host it - it's all static and that works perfectly fine! All you need is a frontend, a few images, something interacting with a smart contract and the smart contract itself. The smart contract can be built and deployed using Remix (I'll explain this in another tutorial), and therefore needs no additional back-end development.
These are the reasons you should stay away from developing a DApp
- Money. Can I stop here? You get where I'm going, right? CryptoCountries might have made $25,000,000 transactions in 24 hours, but no guarantee yours will. Yes, CryptoKitties....
Think about it - in this very moment; there are 1,646 decentralized apps featured on the "Wikipedia of DApps" - State of the DApps. How many do you know of?
- You want to be the CEO of something. Just staph. Just don't. Pls. Scrolling through my own LinkedIn, I often see people my age or even younger call themselves "CEO" of something they started yesterday. Please don't disrespect people who have given time of their lives to build something, had to make tough decisions, or people who are really putting all effort into this ONE vision they believe in. Don't get me wrong, if you are my age or younger and have been able to do some of this things, create jobs, or etc. please give yourself an incredible title to reflect your impact, grit, and passion. My very point is: Don't begin developing a DApp BECAUSE you want this title.
- Lastly, you should STAY AWAY from developing a DApp if you "want to handle the business side". No DApp needs any significant "business wizardry".
The only "business" I can think of is stating the price increase for every purchase in the smart contract, and that is only a few lines. In short, don't be this person:
Looking for developer talent and giving them tasks might seem easy, but it's even more difficult because you're negatively impacting the team culture by being passive. You want to make sure you can contribute to the DApp yourself. Be in a team of people you trust, hold each other accountable, create a safe space, and keep motivating each other.
My experience
For those of you who managed to read through this whole article - I salute you!
So - my experience. Let's keep this part short.
I thought the process of making a DApp would be like this:
I turned out to be like this:
All in all, it was a lot of this:
Conclusion
Developing a DApp can be fun IF you are doing it for the right reasons and with the right people. Dennis and I reflected on these various points before we began the process and hence, we were transparent and simply just trying to have some fun while learning.
It was all just a fantastic process because we had a good foundation, common ground, and similar vision for the app (primarily for learning purposes).
To end this passive-aggressive, but slightly informative post - check out our DApp at www.ethercup.co if you're curious about the result and upvote if you'd like to endorse my love for gifs.
Here's a little sneak peak of our interface (excuse the shameless self-promoting).
PSPS: I will try my very best to put up both resources and tutorials on how to build a DApp - given that there is enough interest in it. Let me know if you'd like a similarly passive-aggressive tutorial on that.
✅ @banisingh, I gave you an upvote on your first post! Please give me a follow and I will give you a follow in return!
Please also take a moment to read this post regarding bad behavior on Steemit.
Congratulations @banisingh! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Do not miss the last post from @steemitboard:
Vote for @Steemitboard as a witness to get one more award and increased upvotes!