From fa62ae823b2ee8f0438f695e4043806fa9f8f3d7 Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Mon, 27 Sep 2021 08:44:00 -0400 Subject: [PATCH 01/11] Revised interoperability principle for LN --- guide/designing-products/principles.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/guide/designing-products/principles.md b/guide/designing-products/principles.md index 9bcba3c72..ffc67a24e 100644 --- a/guide/designing-products/principles.md +++ b/guide/designing-products/principles.md @@ -179,16 +179,18 @@ height = 150 layout="float-left" %} -### Enable import and export of wallets, maximise backwards compatibility and use of open standards +### Enable import and export of wallet data, maximize backwards compatibility, and use open standards Bitcoin is an open-source protocol, operating in a decentralized manner. This has led to a number of standards being developed to ensure compatibility between products. It should be easy to switch and move your Bitcoin wallet to a different application, should you wish. Ensuring that your product supports as many of these standards as possible is best practice and builds trust. More on [wallet interoperability]({{ '/guide/designing-products/wallet-interoperability/' | relative_url }}). **Do** -- Support import and export of wallets -- Support as many relevant BIPs as possible -- Be transparent with which ones you do and don’t support +- Support import and export of wallet data + - For on-chain wallets, allow users to export and import wallets directly + - For Lightning wallets, make a clear path for the user to move their Lightning funds to another wallet should they choose +- Support as many relevant BIPs and BOLTs as possible + - Be transparent with which ones you do and don’t support - Maximize backwards compatibility **Don't** From a2b9354b4533845f13b945fbd10ab985a5affe00 Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Mon, 27 Sep 2021 09:38:08 -0400 Subject: [PATCH 02/11] Revised privacy principle for LN --- guide/designing-products/principles.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guide/designing-products/principles.md b/guide/designing-products/principles.md index ffc67a24e..bcb701776 100644 --- a/guide/designing-products/principles.md +++ b/guide/designing-products/principles.md @@ -253,8 +253,9 @@ The Bitcoin network doesn’t need to know your name for you to use it. Strive t **Do** - Minimize the personal information you collect +- Encourage usage of the Lightning network for improved privacy - Avoid address reuse -- Embrace privacy-preserving options when relevant (running a full node, compact block filters, Tor, Lightning Network, coin selection, schnorr signatures, payjoin, coinswap, etc.) +- Embrace privacy-preserving options when relevant (running a full node, compact block filters, Tor, coin selection, schnorr signatures, payjoin, coinswap, etc.) **Don't** - Collect and store personal information not required for the functionality of your product From 584e225373529fa17eb9f58755067a66d7820e37 Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Mon, 27 Sep 2021 10:04:17 -0400 Subject: [PATCH 03/11] Security principle - grammar and typographical changes --- guide/designing-products/principles.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guide/designing-products/principles.md b/guide/designing-products/principles.md index bcb701776..c350e7695 100644 --- a/guide/designing-products/principles.md +++ b/guide/designing-products/principles.md @@ -102,11 +102,11 @@ layout="float-left" Self-custody often leaves the end-user responsible for the security of their private keys. They can only do a good job of that if we provide them with appropriate tools and awareness of best practices. -Security is especially important when onboarding people new to Bitcoin. For example, new users are likely to start by only storing small amounts. After a while, however, they may get more comfortable with the idea of self-custody. The concept of progressive security is a good idea here, starting with automatic cloud backups. This would let a user upgrade their security and private key management scheme as their savings grow. Although common, recovery phrases that require manual backup might backfire for new users not yet familiar with safe backup practices. +Security is especially important when onboarding people who are new to Bitcoin. For example, new users are likely to start by only storing small amounts. After a while, they may become more comfortable with the idea of self-custody and begin to store larger amounts. The concept of progressive security is a good idea here, starting with [automatic cloud backups]({{'/guide/onboarding/backing-up-a-recovery-phrase/automatic-cloud-backup/' | relative_url}}). This would let a user upgrade their security and private key management scheme as their savings grow. Although common, recovery phrases that require [manual backup]({{'/guide/onboarding/backing-up-a-recovery-phrase/manual-backup/' | relative_url}}) might backfire for new users not yet familiar with safe backup practices. Education and awareness are a big part of security, as they can protect users from bad actors and potentially their own security mistakes. It is unrealistic to expect beginners to take in all the knowledge acquired by advanced users in one go, for example, while [onboarding]({{ '/guide/onboarding/introduction/' | relative_url }}) to a Bitcoin product. We should therefore consider how to continuously educate and level up user awareness of best practices and risks. -Security can also be a feeling. A polished, good-looking, easy-to-use product that transparently communicates how it works can help users feel more secure– especially when compared to another product with the same security measures - but lacks these qualities. +Security can also be a feeling. A polished, good-looking, easy-to-use product that transparently communicates how it works can help users feel more secure, especially when compared to another product that lacks these qualities but has the same security measures. **Do** From 2b7c869130d2ed44be08229c9165af1ba47b66d6 Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Mon, 27 Sep 2021 10:06:44 -0400 Subject: [PATCH 04/11] Transparency principle - grammar and typographical changes --- guide/designing-products/principles.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/designing-products/principles.md b/guide/designing-products/principles.md index c350e7695..f2915264d 100644 --- a/guide/designing-products/principles.md +++ b/guide/designing-products/principles.md @@ -218,7 +218,7 @@ layout="float-left" -While an open and decentralized financial system that users can connect with directly is great, it puts a burden on them to choose a product that they trust and like to use. We can make this easier by freely sharing information about how our products work and what technologies they use/rely on. By open-sourcing your code, you can let people verify that your claims are true, ultimately building more trust with your users. It is important to be transparent with users about the risks that come with self-custodying funds. Be sure to educate about scenarios where they may risk losing access to their funds along with best practices for avoiding this. +While an open and decentralized financial system that users can connect with directly is great, it puts a burden on them to choose a product that they trust and like to use. We can make this easier by freely sharing information about how our products work and what technologies they use/rely on. By open-sourcing your code, you can let people verify that your claims are true, ultimately building more trust with your users. It is important to be transparent with users about the risks that come with self-custodying funds. Be sure to educate them about scenarios where they may risk losing access to their funds along with best practices for avoiding this. **Do** - Be open and transparent with how your product works From 4c5b6aaf27007b15230b5e0934d4aa56acf4114a Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Mon, 27 Sep 2021 10:09:14 -0400 Subject: [PATCH 05/11] Privacy principle - grammar and typographical changes --- guide/designing-products/principles.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/designing-products/principles.md b/guide/designing-products/principles.md index f2915264d..6a4c45c4a 100644 --- a/guide/designing-products/principles.md +++ b/guide/designing-products/principles.md @@ -247,7 +247,7 @@ layout="float-left" -A common misconception of Bitcoin is that it provides complete anonymity and privacy of transactions. Since the blockchain is an unchangeable ledger of all transactions ever made, it is very hard not to have your complete transaction history visible once even a single one of your addresses is connected to you. If Bitcoin is to become viable for a wider audience and daily use, we should take privacy seriously. This is certainly not to enable or encourage illicit activity but to protect individual financial privacy. We would not accept our bank to publish our financial transactions to our Twitter or Facebook feeds, so we should avoid that scenario with Bitcoin. +A common misconception of Bitcoin is that it provides complete anonymity and privacy of transactions. Since the blockchain is an unchangeable ledger of all transactions ever made, your complete transaction history could become visible once even a single one of your addresses is connected to you. If Bitcoin is to become viable for a wider audience and daily use, we should take privacy seriously. This is certainly not to enable or encourage illicit activity but to protect individual financial privacy. We would not accept it if our bank published our financial transactions to our Twitter or Facebook feeds, so we should avoid a similar scenario with Bitcoin. The Bitcoin network doesn’t need to know your name for you to use it. Strive to collect as little personal information as possible about your users. When absolutely required to provide the product services, collect only the bare minimum and consider if and when this can be discarded when no longer necessary. If you collect personal information, be transparent about why and how you will use and store it. From 342f74ae2dbe31be7e4f0e2e3c2cbc58116983fe Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Mon, 27 Sep 2021 10:10:32 -0400 Subject: [PATCH 06/11] Removing external code dependencies line --- guide/designing-products/principles.md | 1 - 1 file changed, 1 deletion(-) diff --git a/guide/designing-products/principles.md b/guide/designing-products/principles.md index 6a4c45c4a..8a2b96aa5 100644 --- a/guide/designing-products/principles.md +++ b/guide/designing-products/principles.md @@ -117,7 +117,6 @@ Security can also be a feeling. A polished, good-looking, easy-to-use product th - Build with bad actors in mind - Minimize risk of self-inflicted loss from user negligence - Continuously educate users on best practice and risks -- Reduce attack surfaces by minimizing use of external code dependencies **Don't** - Blame the user for losing funds From 19b84374dc6aa11155eff8c15d9ea99d53f8aea3 Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Mon, 27 Sep 2021 10:11:43 -0400 Subject: [PATCH 07/11] Adjusted access to Bitcoin line --- guide/designing-products/principles.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/designing-products/principles.md b/guide/designing-products/principles.md index 8a2b96aa5..00d580430 100644 --- a/guide/designing-products/principles.md +++ b/guide/designing-products/principles.md @@ -144,7 +144,7 @@ layout="float-left" -There are no background checks, credit checks, or gatekeepers to Bitcoin. A Kenyan farmer has the same access to Bitcoin as a Wall Street trader. +There are no background checks, credit checks, or gatekeepers to Bitcoin. A Kenyan farmer should have the same access to Bitcoin as a Wall Street trader. While Bitcoin is already used by a large number of people, it pales in comparison with the many more that are likely to use it in the future. We need to design products that are prepared for people unfamiliar with Bitcoin. This means using plain and familiar language, explaining things in the context where they are needed, not overwhelming people with technical detail, and more. From 2bd3300335d5aca6b563a6d21482e447033a6e98 Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Wed, 29 Sep 2021 09:01:39 -0400 Subject: [PATCH 08/11] Removed top margin from nested lists --- _sass/minima/_base.scss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/_sass/minima/_base.scss b/_sass/minima/_base.scss index c63c5e253..b6fa392f3 100644 --- a/_sass/minima/_base.scss +++ b/_sass/minima/_base.scss @@ -130,6 +130,9 @@ li { } } +li ul, li ol { + margin-top: 0; +} /** From c57a7884e6b67d7acdf6b763e08d54a4967820d0 Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Wed, 29 Sep 2021 09:46:57 -0400 Subject: [PATCH 09/11] Update guide/designing-products/principles.md Co-authored-by: Christoph Ono --- guide/designing-products/principles.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/designing-products/principles.md b/guide/designing-products/principles.md index 00d580430..5f8eac038 100644 --- a/guide/designing-products/principles.md +++ b/guide/designing-products/principles.md @@ -187,7 +187,7 @@ Bitcoin is an open-source protocol, operating in a decentralized manner. This ha **Do** - Support import and export of wallet data - For on-chain wallets, allow users to export and import wallets directly - - For Lightning wallets, make a clear path for the user to move their Lightning funds to another wallet should they choose + - For Lightning wallets, offer a clear path for the user to move their Lightning funds to another wallet - Support as many relevant BIPs and BOLTs as possible - Be transparent with which ones you do and don’t support - Maximize backwards compatibility From 2f179314e0f9ba07588357f35f53d1b283c803a4 Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Wed, 29 Sep 2021 09:53:29 -0400 Subject: [PATCH 10/11] Added BIP glossary link to principles --- guide/designing-products/principles.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/designing-products/principles.md b/guide/designing-products/principles.md index 5f8eac038..0a700ce8b 100644 --- a/guide/designing-products/principles.md +++ b/guide/designing-products/principles.md @@ -188,7 +188,7 @@ Bitcoin is an open-source protocol, operating in a decentralized manner. This ha - Support import and export of wallet data - For on-chain wallets, allow users to export and import wallets directly - For Lightning wallets, offer a clear path for the user to move their Lightning funds to another wallet -- Support as many relevant BIPs and BOLTs as possible +- Support as many relevant [BIPs]({{'/guide/glossary/#bip---bitcoin-improvement-proposal' | relative_url}}) and BOLTs as possible - Be transparent with which ones you do and don’t support - Maximize backwards compatibility From 229b7690997ac80da567ba6181cd5b84ed331388 Mon Sep 17 00:00:00 2001 From: Stephen DeLorme Date: Thu, 30 Sep 2021 10:38:53 -0400 Subject: [PATCH 11/11] Added glossary BOLTs link to Principles --- guide/designing-products/principles.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guide/designing-products/principles.md b/guide/designing-products/principles.md index 0a700ce8b..b8f95781e 100644 --- a/guide/designing-products/principles.md +++ b/guide/designing-products/principles.md @@ -188,7 +188,7 @@ Bitcoin is an open-source protocol, operating in a decentralized manner. This ha - Support import and export of wallet data - For on-chain wallets, allow users to export and import wallets directly - For Lightning wallets, offer a clear path for the user to move their Lightning funds to another wallet -- Support as many relevant [BIPs]({{'/guide/glossary/#bip---bitcoin-improvement-proposal' | relative_url}}) and BOLTs as possible +- Support as many relevant [BIPs]({{'/guide/glossary/#bip---bitcoin-improvement-proposal' | relative_url}}) and [BOLTs]({{'/guide/glossary/#bolt---basis-of-lightning-technology' | relative_url}}) as possible - Be transparent with which ones you do and don’t support - Maximize backwards compatibility