The past few weeks have been quite busy, The Shadow Project has been steadily growing and so has the influx of people that want to contribute. This caused us to ask ourselves questions we haven't had to do before. Growth inevitably begs for more attention to organization, which is often a struggle for open source projects. Luckily we have a manageable size which makes this a lot easier. We believe this was the right moment to spend time and resources thinking about how we can cultivate an environment that motivates outside contributors and improve its coordination.
We have had many discussions with the conclusion that we want to pay more attention to following three key points:
- Lowering the barrier of entry
- A more engaging approach
- Bounties for contributions
Lowering the barriers of entry
We've come to the conclusion that our current contributing model does not provide the lowest barrier of entry possible for non-programmers. Most people are not comfortable with using git. All of our website and documentation files are open source and available on GitHub but editing them is not very practical.
That's why we have and still are dedicating time to discuss and launch initiatives that make this a lot easier. We currently have three running contribution platforms.
- Umbra Academy
- Digging in the source code!
We have launched a new wikipedia website, allowing an easier way for external contributors to help out. We will bootstrap with our previous content to make it useful but it is still a work in progress and mostly blank.
The main reasoning behind this is that our current documentation that works through git is too technical. We wanted to harness the power of all possible contributors and decided that this is the way forward.
Transifex Core Translations
Another way to help out is to sign up on Transifex and help translating our GUI. We've used this platform for translating our website, it's really easy to use and doesn't take that much time. Every contribution counts. It is often forgotten that a major part of the world can not read or write English. That's why we need you to help us out. We want to make privacy accessible for everyone, supporting multiple languages is the corner stone of making that happen.
Those that need privacy the most, are often not native English speakers.
Editing the GUI source for translations
Our Transifex does not yet contain all the strings "to be translated", we're still in the process of extruding them from the GUI. We've partially automated this process but are left with one tedious task. We need to mark every HTML element containing strings with class="translate", all the rest is done by our translation engine. We currently have about 10% of the GUI, it's just copy-pasting but our GUI is large so we decided to ask others to help us a hand. We are outsourcing some of the repetitive work to external contributors.
If you know even the slightest bit of HTML you can definitely help us out with this. Send Kewde a PM on Slack and he will add you to a channel where everything is explained in more detail.
A more engaging approach
In open source, we feel strongly that to really do something well, you have to get a lot of people involved.
Every open source project needs a vibrant community to sustain, but you don't get that without spending time engaging with potential new contributors. I have decided to take every possible opportunity to welcome potential contributors when they present themselves and actively help them get started. People in general are open to helping a project, you just need to ask them. One small spark can light a fire!
Bounties for contributions
We've set up an easy to use bounty fund on bounty source which allows YOU to increase the likelihood an issue gets solved by donating an amount of bitcoin to whomever solves an issue.
Currently there are two bounties available for two issues.
If you want to support the development than add a few bucks to the bounties, depending on the activity we may extend this further and promote bounties for issues where a skill set is required that is not easily found among our current community.
Consider creating GitHub issues and/or add a bounty to an issue one you'd like to see fixed. These can also be feature requests!
We completed the work on the translations engine, it is now capable of pulling strings out of the GUI and into Transifex and then pulling the translated files out. It was a good idea doing it now because as we code we can insert the right classes in our HTML GUI such that it feeds Transifex with new strings as we code. Spreading the translation work over a period of time so we can have a few dedicated translation maintainers who translate a few strings each week.
We've also created an easy environment to work with, so that translators can view the client translations in real time. Some languages like Mandarin have no strict translation and are hugely influenced by what environment they are in.
Adding username support to the chat
As previously mentioned we wanted to get rid of the ugly addresses because they are often not very readable and manually adding labels to address is just not the user experience we strive to achieve.
The label you gave the address on creation will be transmitted together with the message as a username. This means that everyone will now see that username above the message instead of the meaningless address.
Adding their address to the address book will lock that username to that address and anyone trying to use the same username under a different address will be tagged 'untrusted'.
Addresses in the address book will show 'verified' on their messages.
Coverity and several security improvements
We have ran our codebase through Coverity, which is tool that performs static code analysis and it found several areas which are in need of code improvements.
It's a long process where you have to check all the possible bugs for false positives and fix the ones that are real.
Our current bug density is at 0.29 which well below the average of other open source projects as well as other altcoins.
You can view our coverity analysis here and as a measure of comparison you can view the coverity analysis of Monero here.
Anonimal, a developer for Monero's Kovri brough my eye to this superb tool when he recently used it for Kovri.
- updated the QtWebKit
Our community is still actively growing internally as the days pass by. Our Twitter followers have increased by another 500 followers, and over 100 new members have also joined us in Slack.
Our community is also slowly growing outward organically. CryptoChat.io (Ex-Dash community slack) has kindly opened a separate channel for ShadowProject, allowing other cryptocurrency enthusiasts to discover / discuss other altcoin projects in the same space. (Million thanks to CryptoChat administrators. Head over to CryptoChat.io check them out!) We have also bridged a slack channel with theirs, if you're already in the ShadowCash channel then you should join #cryptochat.
There are also some very notable figures who have joined our slack chat room. Daniel Castagnoli co-founder of the Exodus wallet. Our community has kindly reached out and made contact with the Exodus team. Currently, there are no official announcement of Exodus implementation of ShadowCash, but there is a strong interest among the community to see the project to expand beyond the current landscape.
Twitter - 3,640 followers.
Reddit/r/ShadowCash - 562 subscribers.
Slack (ShadowCash) - 851 members.
Slack (CryptoChat - ShadowCash channel) - 906 members.
Network - 39.8% coins being staked among 312 nodes.
Recent Articles on ShadowCash
DeepDotWeb - UMBRA: The Ultimate Privacy Coin: https://www.deepdotweb.com/2016/10/13/umbra-ultimate-privacy-platform/
The Huffington Post - Cryptocurrencies - A Time To Invest? http://www.huffingtonpost.com/entry/crypto-currencies-a-time-to-investus57ed855ae4b0972364deaedc?
DecentralizedToday - An Investor’s Guide To Cryptocurrencies: Picking The Winners & Avoiding The Losers: https://decentralize.today/an-investors-guide-to-cryptocurrencies-picking-the-winners-avoiding-the-losers-2b56fc0d1ab0#.6rlzpbjo7
Within the community, there is a growing interest in running a Raspberry Pi. Many of our community members want to have Umbra on these small but powerful devices. If you are also interested in Raspberry Pi, but worried that its too technical for you? Don't worry, our community is also getting together a 101 video tutorial that will teach you how to put this tiny computer up and running.
Many video tutorials of Umbra were posted on YouTube in various different languages.
Shadow Project - Umbra: Fast sync method tutorial: https://youtu.be/tJhLoPSumbg
Shadow Project - Umbra: How to create HD Wallet https://youtu.be/pwANbfgBvf8
Shadow Project - Umbra: How to restore HD Wallet: https://youtu.be/e851sS_wu1k
Massive progress in translation of Shadow/Umbra core, expect to see Umbra in your native language soon!
Speaking of different languages, articles about privacy and Umbra have slowly surfaced from Chinese website and forum.
终极隐私（匿名）货币比较：http://www.wanbizu.com/xinbi/201609287515.html 开发者的更新·贰: 迈步向前 [九月]：http://8btc.com/thread-40061-1-1.html 娱乐场所级匿名于零知识大奖：http://8btc.com/thread-39876-1-1.html 隐私和控制需回归到个人手中：http://8btc.com/thread-39970-1-1.html
- As well as Chinese content, other languages such as Korean, German and Greek have also started to appear too! We are truly becoming a global community!
Special thanks to AutomaticMonkey for proofreading and submitting corrections.