Users' choice of using custodial or self-managed wallets depends on their assessment of the risk of human error (making a mistake themselves) and risk of betrayal (risk of being betrayed by the custodial service).
Cryptocurrency users fundamentally balance three types of risks that might result in coin loss: (1) Risk of Human Error, (2) Risk of Betrayal, (3) Risk of Malicious Attacks.
The authors note how the accounting of transactions, a trust in immutable code and algorithms, and the leveraging of distributed crowds and publics around vast interoperable databases all relate to longstanding issues of importance for the field.
This paper constructs a typology of emerging blockchain applications, consider the domains in which they are applied, and identify distinguishing features of this new technology.
WorkingWiki is a software extension for the popular MediaWiki platform that
makes a wiki into a powerful environment for collaborating on
publication-quality manuscripts and software projects. Developed in Jonathan
Dushoff's theoretical biology lab at McMaster University and available as free
software, it allows wiki users to work together on anything that can be done by
using UNIX commands to transform textual "source code" into output. Researchers
can use it to collaborate on programs written in R, python, C, or any other
language, and there are special features to support easy work on LaTeX
documents. It develops the potential of the wiki medium to serve as a
combination collaborative text editor, development environment, revision
control system, and publishing platform. Its potential uses are open-ended -
its processing is controlled by makefiles that are straightforward to customize
- and its modular design is intended to allow parts of it to be adapted to
Programming language design requires making many usability-related design
decisions. We explored using user-centered methods to make languages more
effective for programmers. However, existing HCI methods expect iteration with
appropriate users, who must learn to use the language to be evaluated. These
methods were impractical to apply to programming languages: they have high
iteration costs, programmers require significant learning time, and user
performance has high variance. To address these problems, we adapted HCI
methods to reduce iteration and training costs and designed tasks and analyses
that mitigated the high variance. We evaluated the methods by using them to
design two languages for professional developers. Glacier extends Java to
enable programmers to express immutability properties effectively and easily.
Obsidian is a language for blockchains that includes verification of critical
safety properties. Summative usability studies showed that programmers were
able to program effectively in both languages after short training periods.