How a Gitcoin bounty opened the doors for MetaMask’s internationalization
If you haven’t noticed, MetaMask has been busy as of late. Congratulations to the whole team on reaching 1MM users (!) and their beautiful UI upgrade. Along with their day job of serving as a conduit to the Ethereum blockchain, the ecosystem owes the team a debt of gratitude for protecting us from phishers through their site blacklist.
Doing it all open source brings a flutter to our hearts at Gitcoin.
Our users read from the blockchain over 6 billion times per day. We're backed by ConsenSys, the largest Ethereum blockchain venture studio. We have extensions on Chrome, Firefox, Opera, and are included as an automatically suggested feature in Brave.
— MetaMask (@metamask_io) February 11, 2018
However, with so many competing priorities, internationalization of MetaMask kept falling through the cracks.
We’ve wanted to make MetaMask available to an international audience for a long time, but the adoption rate in Ethereum got to a point where we were really forced to spend much more of our time doing essential maintenance, like bug fixes, and getting the application working more smoothly. The translation initiative always seemed like something we weren’t going to get around to until the project was either much more mature, or we had a much bigger team.
We’ve been trying to hire, as I think everyone in this space has been, and it’s been really challenging to get people with the skill set to fully contribute to our project. Meanwhile, we’d been gradually learning to post bounties to Gitcoin on outstanding issues, and had some pretty great early results with that strategy.
— Dan Finlay, Lead Developer on MetaMask
It was around that time that Dan reached out to Kevin Owocki at Gitcoin about a bounty specifically for unblocking internationalization.
The Beginning: From ‘Funded Issue’ To ‘Started Work’
First, on January 22nd, 2018, a bounty of 0.4ETH was posted (then, $393).
Nick Doiron (@mapmeld) came across the MetaMask Internationalization Bounty the same day on Gitcoin.
Nick: I downloaded and started following MetaMask last year after I read about CryptoKitties and got interested in web3/Ethereum-based web apps. I saw a tweet from Gitcoin/RT from MetaMask that this would be available.
⚡️Task of the Day: @metamask_io 🦊 now has 750K+ users and is looking to internationalize their platform. Contribute to their leading web3 repo while making .4ETH ($393.09 💰). Details below 👇🏼https://t.co/jmpb57Piwn
— Gitcoin (@gitcoin) January 22, 2018
Nick: I have some experience with internationalization. In 2015 I wrote a multilingual Chrome app which was a finalist in a contest for USAID/All Children Reading. So I figured I had the unique relevant experience to solve this.
Working The Issue Alongside MetaMask / ConsenSys
Nick went on to complete the largest chunk of the pull request later that day, with intermittent thoughts from the MetaMask team.
Nick: [The MetaMask team] gave clear instructions, such as which branch to work from (since MetaMask was in the middle of a UI redesign). I’m also happy they believed I could do it and let me run with it. I came back partway through for some feedback and got thumbs ups, though I didn’t know if it was going alright and how it would get merged.
Dan: It’s a little sad, but we were so wrapped up with launching the beta for our new user interface, that we didn’t even get to properly validate his contribution for another month after that, and after a few small tweaks to make sure it was working well, we merged it.
Psyched to see i18n, including some of my code, in MetaMask (Ethereum browser extension)
Devs are now reaching out to ppl who had volunteered to translate pic.twitter.com/VAWkxeBzWK
— Nick Doiron (@mapmeld) March 13, 2018
Nick: There was sort of a long time where no one was working on it and I was starting my new job. Probably a big factor in this was finishing up the new UI. Just recently, people were asking about translations again, and the Consensys guys got this merged in. I was glad my work got into the project!
From Bounty to Epic
Nick’s contribution to MetaMask opened up the floodgates to translations into a plethora of languages.
We are now able to add translations to MetaMask! What languages would you like to see supported?https://t.co/MFrwTXgZyC
— MetaMask (@metamask_io) March 13, 2018
Dan: Once we had merged in multiple language support from a bounty, it unblocked the path to all other translations, and what better way to get lots of different translations than with bounties from our community? A single tweet of publicity and we had something like 20 language requests, and 10 language pull requests. It’s been total magic.
MetaMask’s recently opened epic aims to translate the product into Korean, Hindi, Tamil, Italian, Turkish, Thai, Portuguese, Cantonese, Vietnamese, Tagalog, Japanese, Russian, Spanish, Dutch, Arabic, German, and Mandarin.
We’re excited that each one of these translations will be incentivized with a Gitcoin bounty of .1 ETH ($58 USD). Interested in helping?
Gitcoin is committed to the mission of growing open source. Seeing the snowball effect of one open source contribution through Gitcoin serves as a small validation towards our vision.
We are appreciative of each baby step on the journey and are thankful to the MetaMask team and Nick for his contribution.
We’re most excited about the future this might bring, and will continue to share our vision on how that might look. For now, a final thought from Dan sums up our thinking:
Dan: Translating has easily been the easiest, and most community-involving bounty program we’ve run so far, and I think the experience just has us asking more and more: What other issues could be bountied?
To contribute to the mission or learn more about Gitcoin, find us around the interwebs on Slack, Twitter, or Github! Interested in posting a bounty? Let us know and we’ll consider funding your first issue.