Building an application on a blockchain is a real challenge for developers who are seeking to leverage the power of the decentralized Web. With that in mind, dfuse is inviting experienced developers to share their journey of building these next-generation dapps. We are pleased to speak today with Nebojsa Zelenovic, Founder & CEO at Infiniverse and one of the early users of the dfuse API.
Could you introduce yourself?
I'm Neb, founder of Infiniverse. I was born in Serbia, grew up in Australia, lived a couple of years near San Francisco, and the last couple of years I've been in Europe. I've been working as a software engineer professionally for over 5 years, from the beginning specialized in augmented reality.
I spent almost three years working for Meta, a startup from Silicon Valley, where we were building augmented reality glasses. Since then, I've been a freelancer specialized in augmented reality projects, with clients including Microsoft, Airbus and Verizon. I founded Infiniverse one and a half years ago.
Could you present the vision of Infiniverse?
Infiniverse is an augmented reality platform and virtual world on top of the real world. I've been working in augmented reality for my entire career, I absolutely love AR, and there's undoubtedly going to be so many great AR apps and games coming out in the next few years. Pokemon GO showed the potential, and continues to have millions of daily active users. But the problem is, you can only use one of these AR apps or games at a time.
So, with Infiniverse, we're creating a platform that allows us to combine all this diverse digital content, into one persistent virtual world on top of the real world, where they can all co-exist and even interact.
Instead of just playing Pokemon, or just playing Harry Potter, I want Pikachu fighting Hermione and Batman dancing with Homer Simpson. In Infiniverse, the world has no theme and all content is user created. We can experience all kinds of different themes and diverse content co-existing and interacting.
It doesn't have to be just gaming and entertainment either, but anything you can imagine. It could be interactive ads, digital art, educational use cases, AR concerts. It's all about creating a persistent digital layer on top of the real world full of weird and wonderful things, all co-existing. We're extending the whole world and hope some day people will be just as excited to go out and check out what's going on in the digital layer just as much as they are about the real world.
Using blockchain technologies has a number of benefits for us. It gives users real ownership of their digital assets. They are not just stored on a central server by a single company that can vanish at any time.
Decentralization gives users a sense of security that all the work they put into building really cool assets in Infiniverse won't go to waste, that the virtual world will continue to live on, even if our company was to shut down. No one will own or control the digital layer, it will be in the hands of the users. They could potentially even transfer their assets into other blockchain-based games and virtual worlds.
What are the main challenges when developing on a blockchain?
The main challenges with blockchain and EOS, in particular, is data storage and processing. There is a cost to decentralization, as everything needs to be duplicated across 21 nodes, as well as countless backup nodes. As a result, the cost is significantly higher than, for example, using a cloud service like AWS.
We're already hitting CPU limits in some cases when we're trying to ensure that a newly registered land does not intersect with any previously registered lands. Trade-offs need to be made in deciding what exactly should and shouldn't be on-chain, while ensuring that the blockchain can still be used to verify the state.
However, some great solutions are coming out, including LiquidApps' vRAM, which is an off-chain, but still decentralized, IPFS-based storage solution.
Will it be obvious to a user that they are on a blockchain?
At the moment, users need an EOS account, make sure they have enough RAM and CPU, etc. So it is indeed obvious. But we are confident that in the future we will be able to build an experience in which the user won't even need to know that they are using a blockchain, as Dan Larimer envisioned.
We are particularly excited about Scatter Bridge, which will allow users to create an EOS account using their email or social media accounts. With this, combined with cheaper data-storage with vRAM, as well as EOS updates that allow the dapp creator to pay for CPU costs, we expect users won't need to know a thing about EOS or blockchain if they don't want to. Oh, and of course, dfuse to make the UX as smooth as a regular app 😉.
What advice would you give to a developer who wants to build a project on blockchain?
Firstly, I would like to say that the EOS community is super collaborative and helpful. You will learn so much just by hanging around telegram and talking to people. Definitely go to EOS hackathons (assuming they host some again in 2019), awesome energy and you'll make great connections at those events.
And really, EOS development isn't that hard. If you're already a programmer, you'll have no trouble getting up-to-speed within a few weeks. My best shortcut tip is, for your MVP, you likely don't even need a backend.
Up until now, Infiniverse still has no backend. It's purely smart contracts, plus, thanks to dfuse, an interactive and constantly up-to-date frontend. If you're considering building on EOS, stop considering and start building!
If you are a developer and want to share your experience of building on the blockchain, please feel free to contact us. We would be happy to integrate your interview in to our series "In the Eyes of a Blockchain Developer".