Re: User Experience improvements for Anaconda

To: Discussion of Development and Customization of the Red Hat Linux Installer <anaconda-devel-list redhat com>

Subject: Re: User Experience improvements for Anaconda

Date: Tue, 16 Nov 2010 14:45:04 +0100

On 11/15/2010 10:46 PM, Máirín Duffy wrote:

Hi Radek,
On Mon, 2010-11-15 at 14:11 +0100, Radek Vykydal wrote:

On 11/12/2010 05:19 AM, Máirín Duffy wrote:

Is there any room to change how this works in Anaconda? I have a few
usability concerns regarding the way it appears in the screencast; I
have some ideas on how to improve the workflow but I don't know how
invasive they may be. If you're willing though, we could hash it back
and forth a bit to see if we can improve it.

Sure, I'll be glad to. On IRC, by email...
Thanks for your feedback!

To explain the usability concerns I have, let me walk through one of the
screencasts you provided on the newer mailing list post:
Case:
User wants to complete an install using a network repository.

Now I see that this example was a bad choice from me.
It is a particular case of repository UI concerning base repository
(base repository setup is happening before user is presented
with repo setup screen) which has its problems - and you described
them exactly in your points *1 - *4). I'd like to discuss them separately
from the question of NM Applet/panel using for which I'd like to refer
to the iscsi use case (the second one I posted) and this, more typical
repo UI case:
http://rvykydal.fedorapeople.org/repo-network-enablement2.ogg

* 1 - The messaging regarding the network connection requirement occurs
on the installation target device screen.
I think this could be a bit misleading, as it makes it seem that either
(a) a network connection is required to choose an install target in this
case or (b) a network connection is required to move forward in the
installer, but we don't know what the next step is and we don't appear
to be given a choice to opt-out of it to continue without network.
* 2 - Doesn't appear to have a way to opt-out.
I may just be missing something (maybe outside of the context of the
screencast this is clearer) but it seems as if install cannot continue
without that network connection. I think there should be a way to move
forward without the network connection.

As I said, I'd like to discuss the oddities (including *1, *2)
of the base repo UI case separately, in context of my point
2) "proposition of repository UI change" which attempts to fix them in a way
(and I'll use your remarks as an additional ammo to push the changes :)

* 3 - The icon to turn on the network connection is unlabeled, maybe
22x22 px... it doesn't stand out very much.
I think having a panel in the installer is weird, and in this case it's
also fairly inconspicuous because the installer is the same color as the
panel. The pop-up dialog doesn't explain to the user where on the screen
to go or what to do in order to configure the network. The icon also
isn't really clear - the artwork is posed as more of a status icon than
an action icon.

The problem is that the only sane way to use NM Applet
in anaconda is to use it as it is used in desktop (GNOME) environment
- as a status icon in systray (with the same icon, balloon, etc...),
that means - in the panel (BTW, in desktop it is used for network
enablement - action - too). It can even be looked at as a plus point
- being consistent with the desktop, though not for new users probably.
Having said that, my crucial question is: is it acceptable to use panel
in installer from your point of view? I imagine its use brings limits
and restrictions for UI design, but on the other hand it can give us
also some new options (persistent space for displaying status of
installation / steps / whatever crazy stuff).
I configured the color of the panel to be as little
distinguishable as possible on purpose, but it was just my feeling,
I have no problem to configure it according to your advice. Hopefully
we'll be able to configure the panel to fit into anaconda UI design.

* 4 - Little metadata is provided to the user
Which feature requires the network connection? What repos will I gain
access to if I go to the trouble of configuring the network? It's not
really clear in the messaging.

I'll comment it in context of my point 2)

When (in the workflow of anaconda) do you think it makes the most sense
to turn on the network? What selection in the UI caused the network
requirement message to pop up? I think perhaps the ideal time to prompt
the user to configure the network is when they opt-in to use a feature
that requires the network, but I don't know when they are doing that in
this screencast.

Again it is the particularity of this case, please see iscsi example,
and the new repo example above, where the context should be clearer.

If you still think it is not clear enough, I see no problem in having
specific

message for each network enablement pop-up dialog (iscsi, repo,..)

I think rather than asking the user to go off and do it
via the icon, it might be better to offer right inside the alert dialog
to pop open the configuration dialog for the user. Something like,
"You need a network connection to enable the installation of updated
packages via a network.
[ Skip ] [ Configure Network ]"

Unfortunately, this is almost impossible to do for technical
reasons - as I said above, we have to use the applet as it is.
The applet brings (in its popup menus) a bunch of functionality
we need to have in anaconda additionaly to n-m-ce (Connection Editor,
which is invoked from applet with right click -> Edit Connections...),
and which I attempted to bring in before using NM Applet (there
were links to pre-NM Applet approach) ending up by duplicating
its functionality in anaconda in inevitably hacky ways.
What we can do is to give some hint to use the icon/applet
for the configuration in the pop-up dialog. And maybe also in
the hostname screen which would be the place where we'd
suggest the possibility/option of network configuration.

Edit is the right choice to fix it although it seems a circuitous route.
Why not have a button, "Disable repo" or "Skip repo" so the user can
move forward without going back to the repo config screen again?

Yes, good idea, I was thinking about having this option additionally
to 'Edit' (with 'Edit' - user can not only disable the repo, but he can
also for example correct bad URL)
Sorry for not being concrete, by fundamental changes I meant
for example use of add-on repos (repos dependent on a base repo),
or completely removing package selection.
If you don't mind, I'd like to discuss the point 2) separately and later.
Unfortunately, I am not able to merge my 2 patches (NM Applet introduction
and repo UI change) to bring screencast of both changes now.
Also I noticed that some links ([3]) in this email:
https://www.redhat.com/archives/anaconda-devel-list/2010-September/msg00181.html
were wrong, here are the right links:
http://www.redhat.com/archives/anaconda-devel-list/2010-November/msg00164.html
Sorry for the confusion.

Great point. I did add network configuration as a row towards the top of
the Current_Install_Process_Analysis wiki page table, and I noted it's
done through the live environment on LiveCD, and done via the
NetworkManager panel in Anaconda for the DVD column.

Thanks for doing that, for your ideas and comments.
I hope I am not too developer-blinded in my comments,
ask for clarifications!
Radek