Riddle: A collaborative Whiteboard web app powered by NKN
NKN - Gitcoin GR11 Hackathon Winner Showcase #1
Introduction
In this mini series, we will feature several dApps that won the recent NKN - Gitcoin GR11 hackathon. Some of these tools might be quite useful for your daily work and life, so please do give them a try. In addition, we will also try to introduce the developers behind these winning dApps about their experience developing web 3.0 decentralized applications.
Riddle
Our first featured dApp is Riddle, a collaborative whiteboard app by Jithin that is entirely built on top of NKN’s peer-to-peer network without any centralized servers. With Riddle you can create a new room, invite others by sharing a magic link, and start collaborating in this specific shared whiteboard. The NKN project team is already using this dApp for internal R&D meetings.
Here is a quick video demo:
Next, we will virtually sit down with Riddle’s developer Jithin discussing his experience developing Riddle on NKN.
A chat with Jithin, Riddle’s developer
- Hi Jithin, nice to e-meet you. Can you first say a few words about yourself?
I’m a software developer from Kerala, the southernmost state of India. I have been in the industry for the last 2 years and worked for a fin-tech startup. Currently, I’m on a break exploring the web 3.0 ecosystem.
- Congratulations on winning the NKN GR11 hackathon bounty! Can you explain a bit about Riddle, what it does, and what are its unique benefits?
Riddle is a whiteboard collaboration app. Anybody can create a room and invite others to join by sharing a magic link with them and using the shared whiteboard. It has all the important tools that you might require for a collaborative whiteboard brainstorming session.
The main highlight of the app is that it works without any central servers. Thanks to NKN, the network connectivity protocol on which that app is built that lets clients directly communicate with each other.
- I heard developing decentralized apps (dApp) is quite hard, compared to the traditional client/server model in Web 2.0. Can you talk a bit about the challenges you met while developing Riddle, and how you overcame them?
Yes, developing a dapp or a peer to peer web application is a bit difficult when compared to the client server alternative.
During the development of a web app, what I have always been accustomed to doing is to send the state updates to a server and update the clients accordingly. But here, I had to implement it in such a way that the state is updated correctly by the mutual communication with clients.
For instance, when the state of the whiteboard is updated, in a client-server model, a client sends the update to the server, and the server updates all the members in a room. But in the peer-to-peer model, the client itself updates all the other members of the room for which the client has to have the list of all the addresses of all the members of their room that has to be updated correctly every time someone joins/leaves the room.
The NKN community was very supportive during the development and offered many suggestions to make the app more performant and secure.
- Is there anything in the NKN SDK and documentation that needs improvement to make it more friendly to developers like you?
In my application, I have used the Javascript SDK which was extremely easy and simple to use. While it has been very easy for me to follow the docs and build applications, some of my friends are used to viewing tutorials to learn about a tool. It would be really helpful for them if there is a short tutorial that explains how to get started with NKN.
- What are your future plans? Making riddle a unicorn, or building another dApp?
I really wish that more and more people find it useful and it helps them in improving their productivity. I was really happy when I came to know that the NKN team is already using the app in their internal meetings. There is still scope for improving.
How to use Riddle:
You can try out Riddle web app here:
Or on IPFS:
ipfs://bafybeiabhe6df6rhhemdcv6r5ehjcg36frpicwmyvq7tyh47izenej4dpe/
You can find @JithinKS97’s Riddle code in Github: https://github.com/JithinKS97/riddle
About GR11 hackathon
As a proud sponsor of the Gitcoin GR11 hackathon that ran from September 8-29 2021, NKN aims to empower developers to master the future of Web 3.0 development. Throughout the hackathon, we received submissions from over 30 creative developers/teams all over the world. It was our greatest pleasure to work with so many talents, a huge thanks to you all!
You can find here the winners of our 11 bounties.
About NKN
NKN is the new networking infrastructure built for Web 3.0 and the decentralized Internet. Already built the world’s largest blockchain network with over 100,000 full consensus nodes globally, NKN aspires to be the indispensable peer to peer networking protocol for all consumer and enterprise applications. NKN encourages Internet users to share their bandwidth and network connections through economic incentives, so everyone can have faster, cheaper, and more secure Internet connections.
For more information about NKN and our team, please visit: https://nkn.org