"Software Sources" design (Re: An update repository for a custom distro?)

Sebastian Heinlein glatzor at ubuntu.com
Wed Jan 10 09:41:00 UTC 2007


On Mi, 2007-01-10 at 19:48 +1300, Matthew Paul Thomas wrote:

> On Jan 7, 2007, at 2:22 AM, Sebastian Heinlein wrote:
> >
> > Am Mittwoch, den 03.01.2007, 13:22 +1300 schrieb Matthew Paul Thomas:
> > ...
> >> 1.  It is a shame that this window needs a "System" > "Administration"
> >>      menu item of its own. (This seems to be a symptom of Synaptic,
> >>      Add/Remove Applications, and Update Manager being three separate
> >>      programs, which is bizarre and confusing.)
> >
> > It is quite hard to respond without having a rationale as a basis. All
> > three named applications have got a special purpose and they fulfill it
> > quite well. Synaptic aims at the advanced user who wants complete
> > control of the packages installed. But gnome-app-install wants to
> > abstract the whole under laying package handling and wants to provide 
> > an easy to use and simple way of installing graphical applications.
> 
> But then it goes crying to Synaptic if anything goes even slightly 
> wrong, or if you want to install a program that happens not to have a 
> .desktop entry yet. That's part of the rationale -- there's no point in 
> having separate simple and advanced programs if people end up having to 
> use the advanced one anyway (and if you're not charging money for the 
> advanced one). Meanwhile design, development, and QA effort is spread 
> across three programs instead of one.

g-a-i and u-m are written in Python, Synaptic not. So there is
definitely a benefit of having these separate apps.

Gnome-app-install improved a lot. There is work going on to remove the
hard dependencies of meta packages. So you could remove default software
without removing ubuntu-desktop. 

Recently Michael added support for removing unneeded dependencies when
an app gets removed.

You would need to switch to an advanced mode too in some corner cases.
So still crying ...

People who need software that is not available in gnome-app-install
perhaps are either familiar with the command line and know apt-get or
already use Synaptic.

> > Both update-manager and gnome-app-install are both context driven. So 
> > you will find Add/remove applications in the applications menu and 
> > will normally only access update-manager when there are updates 
> > available.
> 
> That would be quite easy to implement in a single program -- different 
> default views depending on whether the application was launched 
> automatically because updates were available, or launched manually 
> because you wanted to install/uninstall some software.

What is the difference between different views and different
applications?

Synaptic provides a lot of functionality. How do you want to hide these
in the other views? If you also plan to exchange the menus in the
different views, using a single app is simply no benefit. It would only
confuse the user.

You should use the term easy more carefully. I haven't yet seen any
mockups nor good other solutions. Red-Carpet was a mess. The new
interfaces of Novell and Fedora still have got a long way to go.

> > I haven't yet seen a concept that could satisfy all user groups.
> 
> I haven't designed it only because no-one has been interested in 
> implementing it. ;-) Are you interested?

I still think that there is not any, since it is simply not possible.
But prove me wrong!

> Since the recommended method of software installation is very different 
> in Ubuntu than in Windows or Mac OS, I think it is important to make it 
> really really easy. It should be for software like iTunes is for music.

iTunes is a quite complex application and also has got some questionable
issues. You could compare Synapitc to iTunes. Gnome-app-install does a
better job in providing a nice and simple interface.

> > Perhaps you are right and we should remove s-p from the menu. Instead 
> > we could add a preferences button to update-manager that would only 
> > show the updates tab or switch to the updates tab by default. And show 
> > the full dialog only in Synaptic.
> 
> That would be a sensible initial step.

I will add this issue to the Universe+Multiverse spec.

> >> 4.  The window gives no indication of what it's actually for. I see
> >>     many checkboxes, but their labels are almost all noun phrases, and
> >>     there is no verb phrase introducing them.
> >
> > Mainly the dialog allows you to choose where to install software from.
> >
> > I changed the headings:
> >
> > Internet -> Download from the Internet
> > CD-ROM/DVD -> Install from CD-ROM/DVD
> 
> Am I correct in guessing that it's not about downloading from the 
> Internet, it's about which packages to display in the list of available 
> software?
> 
> If so, try: "When browsing available software, include:"

This is a quite long sentence for a heading.

Many users don't want to install software from the Internet. Furthermore
you have to handle different media somehow.

> > We have to make a difference between Ubuntu software and third party
> > software. That is why the first one is named by the distribution.
> 
> Fair enough, but that doesn't mean they should be in separate tabs. 
> Probably they should be separate expandable items in the same listbox. 
> But that's the sort of thing that would be in the single application I 
> was talking about.

I don't understand this. Why would the all-in-one app handle
repositories differently?

Oh, by the way in gnome-app-install we even abstract the repository
handling. There is a show combobox that provides common use cases.

The list does not work. We tried to find a solution using a list/tree at
first. But the list got too complex. So I decided to move the checkboxes
from the sub trees outside of the list. Finally we had the notebook
idea.

We've received a lot of positive feedback about the new layout from
users and in press reviews. So the current approach seems to be ok.

> Meanwhile, I suggest renaming the first and third tabs "Ubuntu 
> Software" and "Third-Party Software", and putting them right next to 
> each other. (This would take more room, but some of it can be regained 
> by renaming "Internet Updates" to "Updates".)

Good idea. Perhaps the information about the current distro version
isn't so important. Ubuntu Software should be shorter than "Ubuntu 6.10
Edgy Edge" too :)

> >> 6.  Some of the checkboxes are in indeterminate [-] state, but no
> >>     reason for this is provided. Further, clicking such a checkbox
> >>     three times should return it to the indeterminate state (->
> >>     checked -> unchecked -> indeterminate) , but it doesn't. (The only
> >>     way to do this seems to be clicking "Revert", which presumably
> >>     forgets all the other changes I wanted to make too.)
> >
> > The indeterminate state is used if we cannot find a graphical way to
> > represent the sources.list layout. This is mostly the case if the user
> > did some modifications in the sources.list file.
> >
> > I think that it would be too hard to implement a way to return to the
> > inconsistent state for each comp/repository.
> 
> It's already possible by clicking "Revert"! :-) So it should be 
> possible with the checkbox as well.

Revert was an easy one, since I only have to save the state at the start
of s-p. Keeping a history of every change would add a lot of complexity
and would require to do a redesign of the internal structure. So it is
simply not worth it.

> > ...
> >> 9.  The "Download from:" menu contains two items: "Main server" and
> >>     "Server for Zimbabwe". I don't even live in Africa, let alone
> >>     Zimbabwe, so I don't know why the second option is there nor how
> >>     to fix it.
> >
> > The second mirror is created from your locale settings. It is meant as
> > an easy way to choose the mirror for your country. Could it be that 
> > your locale is set to en_ZW instead of en_NZ?
> 
> After Googling how to find out what my locale is, I discovered it is 
> indeed "en_ZW". Bizarre. (And I still don't know how to fix it.) Sorry 
> for the false alarm.

Choose System > Admin > Language or select another language at the login
screen.

> >> 11. The "CDROM/DVD" section is disabled with no explanation. Maybe the
> >>     box could, when disabled, contain a short sentence describing
> >>     what to do to make it enabled.
> >
> > It is disabled if there are no CD-ROM available. But to be honest I am
> > not very happy about the way we deal with CD-ROMs currently in the user
> > interface. Changed the wording.
> 
> Okay, so let's fix this. Perhaps you can tell me why the CD/DVD section 
> isn't just one more checkbox? What kind of CD/DVD do you need to 
> insert, and what happens to this tab when you insert it?

If you insert e.g. the alternate CD a dialog pops up that asks you if
you want to install the packages from the CD. If you then start
software-properties, it will appear in the list. There is a checkbox in
front of every CD.

You have to think of users that use more than one CD.

> >> In the "Internet Updates" tab:
> >>
> >> 12. There is no explanation of the difference between "Important" and
> >>     "Recommended" updates. Why is it possible, for example, to have
> >>     the former turned off and the latter turned on?
> >
> > This is a problem with the structure of the Ubuntu archive:
> >
> > edgy-security (important)
> > edgy-updates (recommended)
> > edgy-proposed
> > edgy-backports
> >
> > Any idea how describe them differently?
> 
> No, that still doesn't tell me what they're for. :-) Do you know the 
> difference between them? If not, who does?

For sure. edgy-security should be clear. 

Edgy-updates mainly contains bug fix releases or e.g. GNOME minor
version updates. The dapper-updates have been merged to the 6.06.1 point
release.

Proposed updates is a staging repository. Before updates go to
$VERSION-updates they need to be tested. That happens in proposed
updates.

If updates is about bug fixes, backports would be about new features. It
contains packages from later distro releases, e.g. seahorse from feisty
was released as a backport to edgy. The backports are sometimes nice to
have, but not supported.

> Tooltips are for toolbars. If a checkbox's label needs more 
> explanation, this should be in smaller text under the main label, not 
> in a tooltip.

I see this different. Tooltips are a context based help system for
general use. If you put documentation inside the user interface, it
would tend to blow up and get a mess. All users - even the advanced ones
- would be forced to scan the in-line documentation every time. That
slows down the use of the user interface.

Certainly the best way would be to not be in need for them at all.

> I was confused about what you meant by "the radio buttons" (I didn't 
> mention any), until I saw your later message where you showed a 
> screenshot <http://files.glatzor.de/updates.jpg>:
> 
>      (*) Download all updates but only install security updates
>          automatically
>      ( ) Download updates automatically (but do not install anyone)
>      ( ) Notify about available updates
> 
> This has a few problems:
> *   "All updates" in the first option wrongly suggests that the second
>      option downloads only a subset of updates.
> *   "Automatically" in the second option wrongly suggests that the first
>      option does not download them automatically.
> *   In English, "anyone" means any person.
> *   "Do not install anyone" (or, once corrected, "do not install any")
>      wrongly suggests that the updates are downloaded and then discarded.
> *   "Notify about available updates" in the third option wrongly (I
>      think) suggests that the other two do not notify you.
> *   It uses 2.3 times as many words as my suggestion. :-P

We don't provide an "install all updates" option, since we cannot make
sure that all packages meet our quality requirements.

[x] Check for updates automatically
  [x] Download updates automatically
    [0] Install security updates automatically
    [0] Do not install any updates

There is a difference between downloading and installing. Many users
don't want to wait for the download after they get notified about
available updates. So this a completely different use case.

From the implementation point of view the radio buttons would be easier
to handle:

[x] Check for updates: [daily]
  [0] Install security updates without confirmation
  [0] Download all updates in the background 
  [0] Only notify about updates

What is the wording in Windows?

> >> In the "Authentication" tab:
> >>
> >> 19. There is no explanation of what this list is for.

> Instead, the listbox should have a label. Would this be an accurate 
> label? "Accept only software signed with one of these keys:"

Not really. If you want to install unauthenticated software you will get
a warning message or a warning dialog. It depends on the package manager
frontend.

Furthermore the heading is quite long.

Perhaps "trusted software vendors" would be a better description.

It would be nice to abstract the key/signing terminology at all.

> >> 23. "To improve the user experience of Ubuntu"? Really? Has that ever
> >>      happened? If so, be more specific. If not, remove the checkbox.
> >
> > For sure! The data is used to calculate the popularity ranking in
> > gnome-app-install.
> 
> Ah, I see, the "Popularity" column in Add/Remove Applications, ranking 
> programs by how often they crash. ;-) It would make more sense to rank 
> programs by how often they're installed. Then the software management 
> program could handle it, there'd be no privacy problem, and the 
> checkbox wouldn't be necessary.

I cannot agree. A lot of software is installed but perhaps only used
once and than forgotten to uninstall. Furthermore we don't only want to
know what kind of software gets installed but also which software is
really useful for the user and so used often! Finally we get an idea if
the default software is used or not.

Cheers,

Sebastian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <https://lists.ubuntu.com/archives/ubuntu-devel-discuss/attachments/20070110/17de434c/attachment.sig>


More information about the Ubuntu-devel-discuss mailing list