Started work on the interface displayed when the webapp is started with no existing git-annex repository. All this needs to do is walk the user through setting up a repository, as simply as possible.
A tricky part of this is that most of git-annex runs in the Annex monad, which requires a git-annex repository. Luckily, much of the webapp does not run in Annex, and it was pretty easy to work around the parts that do. Dodged a bullet there.
There will, however, be a tricky transition from this first run webapp, to a normally fully running git-annex assistant and webapp. I think the first webapp will have to start up all the normal threads once it makes the repository, and then redirect the user's web browser to the full webapp.
Anyway, the UI I've made is very simple: A single prompt, for the directory where the repository should go. With, eventually, tab completion, sanity checking (putting the repository in "/" is not good, and making it all of "$HOME" is probably unwise).
Ideally most users will accept the default, which will be something
like /home/username/Desktop/Annex
, and be through this step in seconds.
Suggestions for a good default directory name appreciated.. Putting it on a folder that will appear on the desktop seems like a good idea, when there's a Desktop directory. I'm unsure if I should name it something specific like "GitAnnex", or something generic like "Synced".
Time for the first of probably many polls!
What should the default directory name used by the git-annex assistant be?
Annex (38%)
GitAnnex (14%)
~/git-annex/ (2%)
Synced (20%)
AutoSynced (0%)
Shared (2%)
something lowercase! (20%)
CowboyNeal (2%)
Annexbox (2%)
Total votes: 50
(Note: This is a wiki. You can edit this page to add your own poll options!)
Hmm, my thought on putting it under Desktop is that'll let me install git-annex and tell my mom (really!) that files dragged to there are shared. Don't the other xdg directories get used as default save/open locations for things like word processors, so not need to be on the desktop?
Although that may not be necessary. I've realized I can, at least on linux, easily make a button on the webapp that pops open the directory in the desktop's file manager.
I guess another way of looking at the question is: Where does dropbox put its folder?
I'm of two minds about where the Annex folder should be.
For beginners, the desktop is ideal. No doubt about it. And more experienced users can override the default path during the install.
On the other hand, many of the other 'synced folder' services place their folder in the user's home. Both Dropbox and Skydrive do this. It's where I'd put it for consistency, and to keep my desktop free of clutter.
It's a close call, but if push came to shove, I'd probably go with the user home folder.
You've already decided to accommodate mom by choosing ~/Desktop as the default location, so you should be consistent: choose a name that means something to people. "Annex" and "GitAnnex" are good branding, but not very user-friendly. (Contrast with "Dropbox", the default folder name for Dropbox -- good branding and reasonably meaningful.)
"Shared" is friendly, but implies that you're sharing with other people, which isn't necessarily the case. (You should reserve the name "Shared" for a sub-directory of the default directory, anyway, if/when the time comes to implement sharing URLs to your g-a-a objects with other users.)
I think that "Synced" is fine. Most English-speakers will know what it means, and it's a good description of what g-a-a does.
Don't worry whether we like it or not. Nobody who comments here, nor, likely, anyone who votes, will use the default name anyway