Call for volunteers - improved installation experience on OS X, Windows, Linux/Unix

Ian Clatworthy ian.clatworthy at internode.on.net
Thu Dec 6 13:37:41 GMT 2007


With 1.0 just around the corner, we want to ensure that anyone who wants
to try out Bazaar can do so with the absolute minimum of pain. We have
lots of amazing technology in the Bazaar world but that means little if
users can't easily get to it. The core product is one thing but being
able to install commonly used plugins is *equally* important.

This email is a bit long, sorry. Headings have been added in case you
wish to skip bits of limited interest to you.

What pieces need to be bundled?
-------------------------------

Here are the pieces I think we ought to be thinking about in terms of a
"batteries included" VCS package:

* core product
* core productivity plugins
* easy migration from Subversion
* web server to browse branches
* GUI tool
* OS-specific shell integration.

How should we bundle those?
---------------------------

I'm not suggesting we want a single installer for all of that on each OS
(for 1.0 at least). However, I would like to see us explicit make an
effort to select and package the above pieces into installers for
Windows and OS X. The important ingredient to me is dependency
management rather than installer count. For example, it's ok to have
several installers but the one including bzr-gtk needs to bundle the
right py-gtk library for example, the one bundling bzr-svn needs to
bundle the right pieces for it, etc.

Call for volunteers
-------------------

Thanks to the work of Olexandr and Adam, we have maintained Windows
installers and a MacPort already. Earlier today, I put my thoughts on
how we could do better on OS X here:
https://bugs.launchpad.net/bzr/+bug/174275. In a nutshell, I'd love to
see MacPorts of numerous plugins and a user-friendly installer.
Szilvester has offered to do an installer. Hooray! Can anyone else help
either in the packaging or the testing thereof?

Likewise, we're off to a good start already in the Windows world thanks
to the amazing Olexandr. He's also on the right track IMO. For example,
he was asking a few days ago about how important a bzr-svn Windows
installer was. I think the answer is "very", particularly if that's our
preferred way of getting svn repositories converted to Bazaar. See below
re that.

The Linux/Unix world needs attention as well w.r.t. packaging. Once
again, deb/rpm/Freshport packages for the core is one thing: plugins
with messy dependencies need packaging love as well and a "meta" package
covering "batteries included" has value. Re-branding baz packages to
remove confusion is necessary for the MacPort. Perhaps it is elsewhere
as well?

The new user plug-in selection debate
-------------------------------------

Beyond my above call for more/better installers/packaging, I'd like to
have a debate about which plug-ins we ought to be packaging/recommending
(out of the many, many plugins) to brand new, shiny users.

Help!!!! Which migration tool from Subversion should new users start
with? We currently give them two branches of svn2bzr to choose from as
well as bzr-svn. That's *too many options* to begin with! Right now,
which is the best, most reliable option? Users want to switch from
Subversion to Bazaar. Let's make it as easy to do that as we can so
users can try out Bazaar on their branches. (Having tried it and fallen
in love, we might recommend one of the other choices which has different
risks/rewards. That's ok IMHO.)

*Which* GUI tool is recommended for new users on different platforms?
They can always install another one later but which one should they
start with to get the best initial experience? I'm yet to evaluate them
in depth on any OS so I can't say. I'm guessing QBzr is looking a good
starting point on Windows, bzr-gtk on Linux, and not-a-clue on OS X?

Which web app would we bundle if we had to pick one? webserve?
loggerhead? Which is easiest to install and maintain for a user on their
desktop? To put some context around this question, Git comes bundled
with GitWeb. I've also heard of some users selecting Mercurial primarily
because hgweb was much loved over alternatives for other tools. It's
cool we offer as much choice as we do. But let's get our users moving
and productive by picking one for them initially.

What core plugins should we be bundling? bzrtools, difftools and
extmerge stand out to me. Is rebase wanted enough to be bundled as well?
Others? I'm sure there are. As a rule, if a plugin is useful enough to
be talked about in some depth in the User Guide, then it ought to be
considered for bundling. (BTW, the User Guide ought to cover the bundled
plugins much more than it does. It's not complete yet, though close to
acceptable now for 1.0 IMHO.)

Summary
-------

If anyone is looking for a way to contribute, improving packaging and
testing it for 1.0 has a high value-to-effort ratio. Another way to help
is to simply voice your opinions given what you've learnt using Bazaar
on your platform? What plugins should we recommend to new users to make
them productive quickly?

1.0 is fast approaching. One of the positives out of taking that leap of
faith is that it tends to focus attention on reducing the barriers to
entry: installation, documentation, etc. I hope the above email triggers
some useful discussion on these fronts. And action!

Ian C.



More information about the bazaar mailing list