Introducing BlockArcade

For the past couple of weeks my colleague Joey and I have been working on our first blockchain-based game, StackWave (name not final), which will be launched on BlockArcade.

I’m extremely excited about this! Blockchain technology has been a passion and hobby of mine since someone donated Bitcoin to a project I maintained back in 2014. Since then I’ve been obsessed with everything blockchain.

The problem with web apps

For me as an open source first developer, web apps have never made the most sense. You have to pay, everyday, for someone else to host the app and own your data. This is so much trust you have to put in a person or company and it’s not nesseasry most of the time. It’s just easier for users. I get it.

The problem in my eyes really comes from sustainability. I’ve personally attempted to launch multiple open source web apps, but they always suffer the same fate.

Let me see if I can demonstrate the issue:

  1. To launch an open source web app I put up the initial hosting costs assuming I can figure out how to shift those costs to the community later. I only build projects I want to use so I don’t mind this part.
  2. After launch, the hosting costs start to grow.
  3. I start accepting donations to cover the costs.
  4. A year after launch donations aren’t covering it, and as I lose interest in the project (or the users do), I lose interest in supporting it financially.
  5. I shut the app down or it dies, with active users or not.

I haven’t attempted this in a long time but I assume it would go the same way today. Sites like Open Collective and Patreon provide alternative funding models, but it still involves a ton of trust and work on both sides.

So what’s the solution?

One obvious solution for some applications is to go native. Old, dependable, installable desktop applications! I’ve always focused my efforts on the desktop because it gives users ownership of their data and the application itself.

The best part? Users don’t have to worry about what I’m doing. I can’t take down the desktop application, they own it. I can’t forget to update a credit card at AWS and users lose access to their data, it’s on their hard drive.

I, Jason Stallings, am 100% out of the equation… and this is the way I like it.

Desktop applications I released in 2007 (and earlier) are still in-use to this day, and to me that’s incredible! For comparison I think my Tumblr is probably the oldest web property I maintain, and I don’t even host it. My native apps live on in binary form long after I’ve stopped working on them.

Native apps aren’t a silver bullet!

This all sounds great, but native apps don’t solve everything. The first and largest issue is security. Again, users need to trust the developer up front. You’re downloading a binary application from the internet that can do almost anything to your computer, and most users have no clue how to tell the difference between malicious and good intentioned applications. I’ve even had my safe applications get flagged by virus scanners as malicious and then had to prove to the company that my open source desktop application isn’t malicious. More technical users can download the source code and compile the app themselves, but hardly anyone does this. Even when I’m selling the binary I’ve noticed most technical users will still pay for the binary to avoid needing to compile the application manually.

Other big issues with native apps:

  • Needing to download and install an app before doing anything is a bad UX.
  • Multi-user applications are insanely more difficult on the desktop vs the web. A shared database has to be hosted somewhere, and puts me in the same situation as a web app. I have to maintain the infrastructure.

Blockchain to the rescue!

In theory a blockchain solves a big section of issues I have with traditional web apps. In a blockchain, users put up their own computers to host the app and users pay per interaction. This model in my opinion has way more potential to be sustainable.

Over the years I’ve built several blockchain-based applications to help me evaluate the tech, and to gain experience. Most recently I built a blogging platform on Ethereum.

I originally built StackWave for the Bitcoin blockchain back in 2014. For the first time ever, I had a distributed database that I didn’t have to maintain, and cost effective micro-transactions under $1. Unfortunately before I could get the project out Bitcoin transaction fees and times sky rocketed. StackWave no longer worked on Bitcoin, so I shelved the project. This is a problem Bitcoin still struggles with today.

With the introduction of the Lightning Network Bitcoin is a potential option again, but I think there are better options out there. We’ve come a very long way since Bitcoin was originally released and I want to explore some of the other options out there.

Enter Internet of Services (the real MVP)

https://coinswitch.co/info/iostoken/what-is-iostoken

IOST (Internet of Services token) is a newer blockchain that solves many of the problems with the last 3 generations of blockchains. From the start of the project they’ve focused on the user experience, and it shows! Starting with the string account names. Want to send me IOST? Send it to “octalmage”, it’s that easy!

Additionally, and probably the most important point:

We were able to get our app up and running on the IOST blockchain in a weekend, and it is fast!

This says it all. We evaluated Bitcoin Lightning, EOS, and Tron for BlockArcade. After building a couple of prototypes and interacting with the different communities, IOST was the clear winner. With JavaScript as the smart contract language, great documentation, and Docker based local development tools, IOST won over my robotic developer heart.

IOST also has very quick and cheap transactions, it’s transactions per second (TPS) is already better than Bitcoin and Ethereum combined, and IOST surpassed Ethereum in daily transaction volume a few weeks ago. All of this makes IOST a very attractive blockchain.

The IOST team also gets bonus points for hopping on a call with me almost instantly. The second they heard we were working on an IOST app, they wanted to help, and they have! Big thanks to Bing from the IOST team! I haven’t experienced this level of support in any other community, especially not a blockchain community! Bitcoin devs were anonymous (in the early days), Ethereum devs were unreachable celebrities (in my eyes), and I couldn’t find a good developer community for Tron.

Let’s talk BlockArcade

Our goal with BlockArcade is to emulate the traditional arcade experience, just on the decentralized web! This vision includes arcade tokens using IOST, tickets for prizes using a custom token called TIX, and a prize counter to spend your tickets!

Currently our ideas for prizes are:

StackWave is the first game we plan to launch on BlockArcade with more games planned in the future.

We’ve got a private testnet version of StackWave running now at:

https://blockarca.de

The idea is simple: Tap or click the grid to place the row of blocks. Any blocks that aren’t aligned with the previous row’s blocks are lost and removed. The goal is to reach the top row with at least one block!

Once the game is live on the mainnet there will be prizes for reaching the minor prize line at row 8, and the major prize line at row 12.

Please try the game and let us know how far you get in our Telegram room! According to our data, no one has managed to hit the jackpot yet.

Wrapping up

We hope to launch on the mainnet with the IOST team’s cooperation in a month or so! Stay tuned for a roadmap once we nail down some of the details.

And there’s so much more in the works:

Please join our Telegram to stay up to date:


The Team

Jason Stallings (me) | Software Developer

GitHub | Telegram | Twitter | Keybase |Website

Joey Bacon | Product and UX Designer

Telegram | Twitter | Website

Final (random?) thoughts on the subject

  • Want to order a Lyft? You can use their web app hosted at ride.lyft.com, or use their native app. Some users will prefer to use the web app, but if the website is down you’re out of luck! Now if the databae is down, the native app won’t work either. Arcade City in Austin based company that is trying to solve this problem using smart contracts on Ethereum, and I love their service.
  • IOST and most blockchains only solve half of the problem, the distributed database. Hosting the HTML files is another challenge with making a 100% distributed and sustainable web app. IPFS and Ethereum’s Swarm are attempting to solve this.
  • The last piece that web apps need is DNS. Web browsers need to know how to direct incoming requests to the correct server. Ethereum is attempting to solve this with ENS, and IPFS also has a solution for pointing a domain to files hosted on IPFS.

I’ll be paying close attention to IOST to see if they’ll attempt to solve these problems. To have a fully distributed web we’ll need figure out storage and DNS. That said, integration with IPFS or a blockchain based solution might be smarter in the long run. I’ll be evaluating different options for hosting an immutable, distributed copy BlockArcade in the near future.

References