This review of the BitShares UI worker is part of a series of articles delving into major BitShares workers. For a more in-depth understanding of what it means when we say ‘worker’, please see the separate article ‘How workers work’ … (Coming Soon) – Until then, you can also read the overview BTS Holder Approved Funding page on BitShares.org.
Previous articles about the BitShares UI have covered both an interview and a review of newest features. Today we’re going top to bottom on this worker’s original proposal, budgets and funding, providing you a complete overview. As the scope of the UI worker is vast, this review is on a higher meta level with pointers to detail. Take a little time on the included GitHub links, and you can find details on literally every task. Another way is to review the frequent reports published on each release by Stefan Schießl on behalf of the UI team.
Some history of the UI worker
You can read the full proposal here. The escrow for this proposal is the BitShares Blockchain Foundation (BBF). How the BBF conducts workers is described in the section ‘Background’ on this page. We will also dive into budget statistics, and for that purpose we will be stating values denominated in USD, and by this we mean equivalent USD value. The actual worker pays out through the escrow in bitCNY, one of the crypto-collaterized BitAssets of the BitShares Blockchain.
The BitShares UI worker maintains the bitshares-ui repository, used to build the so-called ‘Reference UI’ or ‘Reference Wallet’. The intention of it, as the nickname suggests, is to showcase the vast features and possibilities of the BitShares Blockchain. As it must consolidate all of that into a single interface it always had a rather complex user experience. A long period of feedback determined the community demanded more focus on a better user experience. The current UI worker intends to improve things by removing what was an ‘anything goes’ development process, to enforcing a tighter schedule to achieve key aspects of the development and serve the users with a more reliable and robust UI.
As an ongoing processes, maintenance of the code base and keeping up with core developments is part of the tasks for the UI team. (Likewise, the bitshares-core repository is constantly expanding and refined via its own worker.) The idea of the reference wallet is that anyone can browse the vast features and experience the benefits of running on-top, or simply using, the BitShares Blockchain, and to invite them to either build upon the reference code base, or create their own targeted user interface while being able to have the reference code base as a quick lookup of how to implement certain features.
Current BitShares UI Worker Budget
The budget asked to run the UI team development for 46 weeks / ~1 year amounts to ~437,000 USD, as a MAXIMUM / up-to budget. This includes up to ~5,000 USD weekly for bug and developer bounties, and up to ~3,625 USD per week for the project team. The project team budget is assigned to specific roles, however the bounties are open for any interested developer to tackle and get the reward.
This current round of the UI worker has been active since February. One of the first reports published from this time already introduced a major usability upgrade to the assets explorer functionality, along with the new ‘Spotlight’ section.
What’s new in the past 30 weeks?
Let’s put it in a more simple way, from the authors personal experience. The interface was so messy you couldn’t scroll some parts without positioning the mouse cursor carefully. It’s admitted in the past, features were haphazardly redone or tweaked, instead of managed as a whole experience. This is no longer the case since new management of the worker began in February. Users are noticing a more reliable layout and improved look and feel to the overall interface. It’s not only the exchange section, tidy up and polish is across all the functional areas. A lot more emphasis on User eXperience (UX) sees it continue improving with each release.
Total payout to date? For 34 weeks it is around ~167,000 USD or just 38% of the original maximum. This worker has at minimum 3 developer/engineers and a manager. The team only bill for specific task hours, yet are ever present to the community, publicly maintaining many pro-bono hours around BitShares Blockchain. Perhaps you recognize their call-signs if you’re around the Telegram groups or (even better) the BitShares Talk forum – @clockwork, @gibbsfromncis, @startail, @sschiessl.
There are currently 16 weeks remaining for this worker, most notable is they have managed on a tight budget.
Just for comparison, looking at average salaries in the USA of having just 1 skilled full-time software engineer:
Glassdoor stats show average costs of skilled developers. This makes for an interesting comparison, when compared with just ~167,000 USD spent since February on this entire worker.
Hundreds of closed issues on GitHub
We have to go back 11 pages of closed issues on GitHub to reach the start of this worker! That is before we delve into some of the release tags which contain full lists of added features and improvements. Too much to list here! However, thanks to a report provided by the team manager we can visualize the data in a couple of charts. The following images illustrate workflow efficiency in the past 6 months.
First of these, is ‘cumulative flow’. The below graph is the amount of issues by issue pipeline. The number of issues has increased, a consequence of increased community involvement. However at the same time, the closure rate has increased more, and kept the volume of New issues under control. Overall a net positive result with approximately 370 issues closed since the worker began.
The next image is the ‘control chart’. This chart visualizes the time statistics for issues opening to closing. The green line signals the rolling average, the dots the issues, and an arrow indicates issues closed that go beyond the 360 day timeline.
Frequent Detailed Releases
For example the below is just a portion of a recent release in July, see Release 2.0.190618 for the full list. Really why this is more of an overview, than a review: it would be an impossible list to make here, however for anyone willing (or simply curious enough) to enter GitHub and start digging through such examples, you will find an enormous amount of effort that has been shaping the BitShares UI into a much improved user experience since February 2019.
What are some of the major improvements?
UI team has become highly responsive to fixing bugs and threats. One event that highlighted this was the warnings and defaults implemented in response to the ‘Proposed Transaction’ phishing scams, helping users to more safely navigate the UI. (Example below)
The differences are not obvious at first, ‘before and after’ screens don’t do justice as it is only when we start clicking around the interface will you find it more noticeable. In the below for example, it is now easy to expand the charting view full width and still have all components laid out neatly below:
Experimenting with the latest web wallet demonstrates work underway on greater mobile responsiveness. Please note the intention is NOT that the UI can be fully experienced on a smart phone, however you may have more luck than ever with tablets or other mobile yet large screen devices. This is more a side effect of pure layout enhancements, that improve the user experience across different device screen sizes – i.e. more flexibility now exists.
So far we gave you some links to get a feel for all of the efforts the UI team has put in with highlight details from the worker reports. Further, we touched on real-world data anticipating how much highly specialized developers and engineers might cost a corporate entity. We want to restate and make you aware that the reference wallet must also keep in sync with changes of the blockchain back-end (bitshares-core). Those changes frequently need accompanying UI updates, or the result can be an unresponsive application. Overall, it should then be obvious that after core development, the UI worker is one of the most critical to the BitShares Blockchain.
As a final remark, we want to note that the BTS token holders decided to cut the funding for the BitShares UI worker recently, which immediately halted the progress and next release due to the tight budget. This was a result of the controversial and ongoing campaign to vote for the ‘refund400k’ worker, which essentially seeks to cut the funding for all workers with the intent to reduce BTS sell pressure. At the time of writing the remaining budget will likely be enough to finalize the current release, although considering upcoming bitshares-core releases and the changes they bring (e.g. Custom Active Authorities), the usability of the BitShares Reference UI will quickly degrade without continuous development.
Below is a statement from the UI team, that was also pinned in the repository:
Vote for the BitShares UI Worker
If you like what the UI team has been doing, you can vote for the BitShares UI worker as follows:
- Reference UI https://wallet.bitshares.org/#/voting:
Select Workers > Find the worker in the Proposed section > Toggle to vote for it > Save
Enter Wallet Page > Vote > Find the worker > Confirm
- BTS++ Wallet:
Select Services in the bottom row > Voting > Select Workers in the top row > Find worker and Submit