Your Majesty
Dec 20, 2017 · 3 min read
A gorgeous online screensaver that generates money for charity while you go for lunch or take a nap.

MineTogether: A collaborative coin-mining screensaver.

For the last couple of weeks our office has been going through nothing but a rollercoaster of emotions. Rather than a technology firm it felt like sitting at the stockbrokers, being alerted about every single drop or rise of the Bitcoin share price. Cryptocurrencies are hotter than ever and we saw an opportunity to use this mega-hype for a good cause.

Concept — Social Mining for Charity

Mine Together is an experiment born out of the itch for creating something that looks great and contributes to the betterment of the world. It is based on the public Coin-Hive API and the concept of metaballs, which organically change shape depending on how much cryptocurrency your team is mining. At Mine Together, all teams mine towards a shared account which will be donated to the Red Cross after the holidays (minus 30% cut towards the Coin-Hive API). Up to 1.000 Euros, Your Majesty will double the donation amount.

Challenges — A Most Mesmerising Contest

Having seen some great (and some bad) examples of browser mining, we wanted to take a fresh angle. We wanted our mining platform to be both about competition and reaching a common goal. In order to make the project successful, users should spend as much time on our page as possible, so something beautiful had to mesmerise them. As we wanted the user’s CPU capacity to be free for mining cryptocurrency, we however had to be cautious for the data-visualisation to not be too costly. And lastly, being part of of our 4:1 work week, the team was only available 1 day a week which meant the scope had to be kept minimal to reach the deadline.

Process — The 4:1 Week at Your Majesty

At Your Majesty we dedicate one day a week to personal development. Each Friday, we work in a group or by ourselves on a project which helps us learn a new discipline, technology or even sharpen an existing skill. With a fixed deadline in mind, we started treating our 4:1 project like a client project. After we built a technical proof-of-concept, our producer Florian set up a Scrum-Board and we discussed the project scope, balancing between necessary and ‘nice-to-have’ features. Each Friday morning we had a Stand-up to refresh our minds and to decide on the next steps. Having started with 3 people, the team grew up to 5 people throughout the project, covering Development, Branding, Design and UX.

Technical Execution — Coin-Hive API & HTML Custom Elements is built on top of Node.JS & Koa in the backend and HTML Custom Elements in the frontend. We are making use of two different Coin-Hive API endpoints, requesting general account information client-side (JavaScript API) and more specific user-information server-side (Http API). All data received from Coin-Hive is fed into the data visualisation, which is being rendered by a GLSL Shader to push heavy graphic calculations to the user’s local GPU. The background graphic visualises all top 50 teams, adjusting the metaballs size proportionally to mined team hashes. Can you spot your own team?

What we learnt

  • Working on a project only 1 day a week creates some challenges in terms of team focus. It was important to have a fixed routine to every Friday, starting with a Stand-Up and getting everybody back on board.
  • Despite being popular buzzwords, we still found some people being confused about vocabulary like ‘mining’ and ‘hashes’. We therefore adjusted our copy to explain the concepts of cryptocurrencies for an audience that is less familiar with it.
  • For those who are familiar with browser-mining, the concept has had some negative connotations because of platforms which mined bitcoins in the background without asking users for permission. That’s why we decided to implement a miner version which requests permission in a pop-up before starting to mine.

🌟☄️Stop whining, get mining at⛏🎄

Happy holidays,

Your Majesty

Your Majesty

Written by

A design and technology firm. Publisher of Founders and directors of #may1reboot