introductory docs are confusing and off-putting #1024
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#1024
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Glyph offered a lot of detailed criticism of "the introductory docs" -- install.html, running.html, and using.html.
My general take-away from this is:
By the way: I'm concerned about InstallDetails. It seems that some users move from install.html to InstallDetails and then have troubles which they would not have if they followed install.html. I've already put a note in install.html claiming (more or less justifiably) that install.html works on Windows, Mac, Linux, etc. I think we should also put a note at the top of InstallDetails urging people to try install.html first and not to look at InstallDetails unless install.html doesn't work for them. (And to report a bug if that is the case.)
An open issue in my mind is what to do about the firewall/NAT issue. We used to not-mention it in running.html, but enough people had problems with it that we added a paragraph about it to running.html. However, every sentence added to running.html hurts. Brevity is paramount. I think I'll move those instructions to a different wiki page (not InstallDetails because I'm trying to steer people away from InstallDetails) and put one sentence in using.html that says "If the welcome page shows that some of your servers are not connected to your gateway, like this SCREENSHOT, then perhaps you have a problem with firewalls or NAT -- see FirewallsAndNat for how to fix that."
Excerpts from IRC:
Consider renaming InstallDetails to InstallOptions
It could dissuade the early leapers from install.html as it does not suggest the 'real' way to do things, but rather, a few alternate ways of doing things.
The instructions in install.html are not sufficient on Windows, where you also need to install pywin32.
Hm, currently install.html says:
"(If installing on Windows, you now need to manually install the pywin32 package -- see "More Details" below.)"
"More Details" below says:
"For more details, including platform-specific hints for Debian, Windows, and Mac systems, please see the InstallDetails wiki page. If you are running on Windows, you need to manually install "pywin32", as described on that page."
InstallDetails says:
"In addition to these, if you are installing on Microsoft Windows, then you need to manually install pywin32 before installing Tahoe-LAFS."
and later it says
"2. Download and install pywin32 from http://sourceforge.net/projects/pywin32/files/pywin32/Build%20214/pywin32-214.win32-py2.6.exe/download."
and then
"If you prefer to use Python 2.5, you must install a 2.5 build of pywin32 and also install OpenSSL or Tahoe-LAFS will fail to run with an error about being unable to find ssl.dll."
That last is probably somewhat confused -- if you don't have a Python 2.5 build of pywin32 this will probably not result in an error about being unable to find ssl.dll.
But anyway, we don't need to explain that part on install.html, so the only detail that InstallDetails seems to add is the URL which is for a specific version of Python (2.6), a specific version of pywin32 (build 214) and anyway doesn't seem all that important to include since "pywin32" is easy to find with a search engine. If we do what to include a URL, then we should probably just change install.html to say:
"(If installing on Windows, you now need to manually install the pywin32 package from the pywin32 site.)"
By the way, the only reason we have to mention pywin32 explicitly, out of all fifteen (!) Python package dependencies, is because pywin32 can't be automatically installed by setuptools. I'm investigating if this is still the case in distribute (the successor to setuptools).
That pywin32 can't be installed by setuptools/distribute is issue #142.
Replying to zooko:
Sounds good to me.
s/you now need/you first need/
I made some changes to the start docs:
http://tahoe-lafs.org/trac/tahoe-lafs/wiki/AdvancedInstall?action=diff&version=2
http://tahoe-lafs.org/trac/tahoe-lafs/wiki/AdvancedInstall?action=diff&version=3
http://tahoe-lafs.org/trac/tahoe-lafs/wiki/InstallDetails?action=diff&version=24http://tahoe-lafs.org/trac/tahoe-lafs/changeset/4269
There are broken links to images on about.html.
running.html seems like the worst part of the introductory docs as far as telling you about flux capacitors (it starts by defining three different types of "nodes")...
Replying to zooko:
changeset:e8636ee4bec52af4 simplifies that.
I also think that the section on firewalls and NATs should be removed from running.html. You really need to read source:docs/configuration.txt anyway to see how and whether to set
tub.location
.Attachment running-html-remove-firewall-section.dpatch (52321 bytes) added
Remove firewall section from running.html and say to read configuration.txt instead.
Attachment merge-using-into-running-html.dpatch (60301 bytes) added
This patch merges using.html into running.html, replaces the FUSE section with a section on SFTP and FTP, and changes the 'Socialize' section to reference the #tahoe IRC channel and tahoe-dev list. It is dependent on the previous patch.
#tahoe should be #tahoe-lafs, I think.
There are several instances of Tahoe in what was using.html that should be changed to Tahoe-LAFS for consistency with the text that was already in running.html.
Looks good otherwise.
Applied in changeset:1c7e71ee52caaf00, changeset:965f0dcfc32343ec, changeset:6d669029bdf29136, changeset:8784e4a596cccf87 (which addresses kevan's comments).
Glyph has intoned the following words of wisdom:
close! But there are two jargon terms in the first sentence :)
Hm, I actually don't know what he means, but here are words that I think are jargony:
the [PubGrid](wiki/PubGrid)
...And, um, maybe
pubgrid is updated
-- perhaps people don't know what that means, and anyway I guess it is sufficient to say something like "It isn't intended to be reliable.".As for "is not a free backup service", let's say something like "It isn't intended to be used for backup — files stored on the pubgrid are not guaranteed to remain there forever."
Maybe call it "the public demo grid" instead of "the pubgrid".
Attachment live-grid.rst (1556 bytes) added
Updated description of pubgrid and hopefully removed all jargony terms.
This is being reviewed my marlowe's wife.
Reassigning this ticket from "marlowe's wife" to marlowe. It would be great to have the introductory docs all polished up in time for the 1.9 release. That way all the new users who will try it out when they hear about 1.9 will get a better start.
I was just searching the internet for mention of Tahoe-LAFS and I found this discussion on a bulletin board where apparently this windows user was scared off by the fact that [quickstart.rst]source:trunk/docs/quickstart.rst?rev=5069 appeared to be instructing them to type things into their computer!
http://forum.i2p2.de/viewtopic.php?p=32165#32165
I'm not sure what we can do about this, except possibly to add text to quickstart.rst reassuring Windows users that this is actually not a Linux-only thing even though it involves typing words and maybe even explaining, as the responder did on that forum, how to open
cmd.exe
.There was a discussion of distributed data stores and of Tahoe-LAFS on the p2p-hackers mailing list, and I asked people there to give us feedback on the [quickstart]source:docs/quickstart.rst. Serguei Osokine posted this reply:
On Thursday, September 01, 2011 Zooko O'Whielacronx wrote:
Okay, let's see:
"Check if you already have an adequate version of Python installed...
Unpack the zip file and cd into the top-level directory...
Run python setup.py build...
On Windows, the build step might tell you to open a new Command Prompt..
If the Tahoe-LAFS bin directory is not on your PATH, then in all the
command lines below, specify the full path to bin/tahoe...
To construct a client node, run "tahoe create-client", which will create
~/.tahoe to be the node's base directory. Acquire the introducer.furl
(see below if you are running your own introducer, or use the one from
the TestGrid page), and paste it after introducer.furl = in the client
section of ~/.tahoe/tahoe.cfg. Then use "tahoe run ~/.tahoe". After
that, the node should be off and running...
By default, "tahoe create-client" creates a client-only node, that does
not offer its disk space to other nodes. To configure other behavior,
use "tahoe create-node"...
To construct an introducer, create a new base directory for it (the name
of the directory is up to you), cd into it, and run
"tahoe create-introducer .". Now run the introducer using
"tahoe start ."."
Zooko, man... I love what you're doing, but you gotta be kidding. You
want to use it with a few friends, or you want normal people to use it,
too? This whole web site should say just this:
"Run setup.exe. Use the drive Z: that will appear on your machine."
The way it looks to me, only after you get installation down to this
procedure (or something of comparable complexity - say, 19 words or
less - you can start asking any other questions about why people are
not using globally distributed P2P data archive. Of course, this stuff
won't be sufficient for success - but it seems to be a necessary
condition for one.
Best wishes -
S.Osokine.
2 Sep 2011.
Replying to zooko:
This is what people think they want, but I'm really not sure that if we gave them it they would be happy. The
setup.exe
part maybe (most of the work to support that was done in #585) -- but wanting to just use a drive letter, especially on Windows, is not taking into account all the broken performance and semantic assumptions that apps make about filesystems that look local actually being local.From the #cryptodotis channel:
im not sure i understand this, if one uses tahoe-lafs, files are stored on random tahoe-lafs servers? who owns the servers?
I'm not sure, but from reading the intro page, i get the idea that it would depend on how you set it up. you could setup 10 of your own servers, or form a group with some friends who each owns one server, or you could pay for SaaS
Attachment update-doc-about.rst.darcs.patch (72061 bytes) added
marlowe: would you please review update-doc-about.rst.darcs.patch ? Just read it and post here if there are any errors added. :-)
Reviewed the patch, looks good to me.
It looks like everything (formatting changes, minor wording change about mutable files) in update-doc-about.rst.darcs.patch is already in trunk, except for the em-dash change. I don't personally care for the em-dash (without having spaces on either side, it reads badly in the original plain-text, although I imagine an HTML rendering might do better), so I'm happy to leave that out. So I consider that patch landed and done.
Is there anything left to this ticket?
Agreed that update-doc-about.rst.darcs.patch was committed in changeset:4a29642623196b4b ≈ [20111206171908-92b7f-1c2623b8ac7dd9afb339a4f9f90d4b76088fbf1b/trunk].
However, the ticket is far from fixed. The introductory docs are (I suspect) still confusing and off-putting to newcomers. The suggestions by Glyph, Serguei Osokine, Brian Warner, and others that have been noted in the comments on this ticket still deserve more work.
Is there a way that we can break this ticket into smaller tickets or otherwise define a smaller unit of work on which we can make definite progress?
How about: take the current introductory docs as they now exist, find an innocent, untainted user who has never tried to use Tahoe-LAFS before, and watch carefully while they try to figure it out, and take notes. That could be a separate ticket which someone could complete in a finite amount of work.
#1882 is a duplicate of this ticket that includes useful information. Please read it!
Here's another data point that [the current running.rst]source:trunk/docs/running.rst@bb13bba2a5092c6cf224cb58a4808f2aa1cb2a61 is too complicated for people — even technical computer programmers — to wade through in order to launch the client:
https://twitter.com/sanjay/status/595602503275798528
I have some ideas about this.
First one is get a UX expert like Gus to brainstorm what the user experience should ideally be, starting from the install process.
My second idea is to look at
running.rst
and see what are the steps that it is instructing the user to do and not Wizardify those steps but remove those steps. We can in some cases remove the steps entirely so that the thing Just Works without that step, and in other cases we can move those steps from the basic introductory docs to advanced docs, because those steps are optional.The first such step that we might be able to optimize out of
running.rst
is passing the introducer furl from the introducer to the client. This is potentially optimize-outable because of #403 grid identifiers. I think that basically means stuffing the introducer furl into the file/dir caps, but with some optimizations so it doesn't bloat the caps as much. Brian: what do you think? Could gridids optimize out one of the steps fromrunning.rst
?The next such step is to set the default
K
,M
, andH
to 1 and remove mention ofK
,M
, andH
from the introductory doc. Running more than one server, or using erasure coding will be advanced features that people can level-up to after the understand the basicK=M=H=1
deployment. (This is ticket [#1082 default servers-of-happiness=7 prevents single-server use case from working "out of the box"]ticket:1082.)Milestone renamed
Here's other documentation that has been written:
https://www.linode.com/docs/guides/tahoe-lafs-on-debian-9/