BitShares UI - Worker Review

in #bitshares5 years ago (edited)


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?

BitShares UI spotlight
BitShares UI Spotlight section can be reached from the main menu.

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.

BitShares UI trading view
BitShares UI main trade area, with part of the charting view visible at the top.

Spending

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.com shows the real costs of employing resources in a corporate environment. Note the role 'Principal Software Engineer; 136,000 USD on the right of the image.

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.

Cumulative flow of BitShares UI team issues
Cumulative flow of issues open/closed by the team since the beginning of the current worker

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.

Control flow of issues on the BitShares UI GitHub.
Control flow demonstrates a continual improvement in the team efficiency (days to complete falling) to close issues.

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.

A screenshot from GitHub listing features, fixes and improvements to the BitShares UI worker.
The full list goes on - this was just what would fit in a single screenshot

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)

Proposed transaction on BitShares UI
Proposed transaction scam attempt warnings.

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:

BitShares UI with TradingView integration
BitShares UI top half of the page showing the latest TradingView integration.

BitShares UI main trading view
Scrolling down from the previous image, to see our main trade entry input area

Enhanced responsiveness

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.

BitShares UI in a responsive mode
A view of the wallet from responsive mode. Users may have more luck than ever using the app on tablets such as an iPad.

Conclusions

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:

GitHub pinned issue from BitShares UI team

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
  • MagicWallet:
    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
  • VOTE WITH BEET


Posted from BitShares News using SteemPress, see: https://news.bitshares.org/bitshares-ui-worker-review/
Sort:  

This is one of the most valuable worker proposals for the Bitshares network. Everyone should be supporting this! 👍