Thanks to the help of a second 25k USD grant from the DFINITY foundation, we will wrap up the work needed for running a beta version of DeckDeckGo on the Internet Computer (sign up to help us test it!).
Of course getting grants is a strong motivation to use a new technology, but there are other reasons why we think this is the right move.
Even though at first glance decentralization might not seem to bring much to a presentation editor (who needs decentralized slides?), we think the extra level of security it adds is an incredible opportunity.
We foresee an architecture in which each user gets one (or multiple) database-like smart contracts for their data. Users will get a clear ownership on their data and there won’t be one single node containing all the content.
Moreover, thanks to the Internet Identity that enables a secure anonymous authentication, the privacy will also be improved.
Finally, the nature of the system makes it also unstoppable and less prone to failure.
Think about it, as I am writing these lines Wednesday Oct. 6, it was just reported that Twitch reportedly suffered a massive data leak. It was reported that more than 100GB of data (including revenue, activities and even passwords) is available online.
In addition, two days ago, Monday Oct. 4, Facebook suffered a massive blackout of seven hours during which none of their services were reachable. It was even reported that some employees could not access their building because the doors were connected to the same networks that were unreachable.
Decentralization is no silver bullet, but these two recent incidents of major platforms showed me once again that the current model has its limits and comforts me in our decision.
As a decentralized blockchain, all changes to the configuration and behavior of the Internet Computer are controlled by a (decentralized, democratic) governance body called the Network Nervous System (NNS — source).
According to certain criteria (see “neurons” in the linked source), it is possible to get voting rights to define the future of the network.
In other words, it is possible to become an actor and to get involved in the development of the network.
We share our learnings through blog posts and our project’s open source code is published on GitHub.
Using a technology and providers that share and live by the same values goes without saying.
I originally intended to hit quite hard on the big tech in this chapter because I am convinced there is something viscerally rotten in their monopolistic influences on our life. Instead I will leave you with one simple question: do you really want to pay for services that send Jeff Bezos to space?
We have no exact goal on the production launch date. On the contrary, without pressuring ourselves too much, we do have for objective to reach a Beta milestone by the end of the year or the beginning of the next. At that time, we hope to count on you to help us test the platform before its official release.
Meanwhile, we are also planning to unleash in production a transitional version of our editor that has been transformed to an “offline first” approach.
Because we are planning no migration of the data, it will allow users to save their content to static files. The new version of the editor can open and save presentations to files as you would do with any desktop applications.
To complete the proof of concept of porting DeckDeckGo on DFINITY's Internet Computer, we already completed three milestones: “Offline first and Hosting”, “Authentication” and “Data Persistence”.
In order to achieve our short-term goal, and to get our second grant 😜, we have defined the following two new milestones:
The Internet Computer is primarily a distributed and decentralized platform for running software. To persist data and run programs on it, the applications have to be deployed as WebAssembly modules. These are executed inside of a conceptual computational unit called a software canister (source).
To create slides, users must be able to upload their assets (images and csv files). That data is currently persisted in CDN Storage.
This milestone is the re-implementation of a similar system on the Internet Computer using one or multiple canisters. As for the data, we aim to empower the ownership and privacy of the users’ content with a decentralized architecture.
Various features that interact with the Internet Computer through async canisters calls are time consuming (e.g. delete all canisters upon user deletion). Tasks like this should be run in the background by dedicated canisters.
In other words: our overall goal is to transform our editor in a way that user should not even notice that it is powered by a blockchain network, its usage should feel like using any other slick modern web application.
From day one and until today, DeckDeckGo has always been a side project. Even though we do display an Enterprise offering on our website, we never actively did any sales activities nor found the perfect partners (or time) to start such a collaboration.
However, as we are about to transition to a new network model that requires cycles, which are used to pay for resource consumption, and have for goal to release kind of a unique tool, we do know have monetization in mind with nothing less than tokenization.
“Sharing is caring”, here is the list of blog posts I published since we started the project with the Internet Computer:
- We Received A Grant To Port Our Web App To The Internet Computer
- Hosting on the Internet Computer
- Singleton & Factory Patterns With TypeScript
- Internet Computer: Web App Decentralized Database Architecture
- Dynamically Import ESM Modules From A CDN
A journey of a thousand miles begins with a single step and this blog post was mine.
To DFINITY and beyond.
Give a try to DeckDeckGo for your next slides!