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

Matthew Paul Thomas mpt at canonical.com
Wed Jan 10 06:48:08 UTC 2007


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

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.

> 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.

> 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?

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.

> ...
> 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.

> ...
>> 3.  In Synaptic, the item that opens this window should be labelled
>>      "Software Sources...", not "Repositories".
>
> I missed the string freeze deadline for edgy providing a patch. But it
> is good that you remember me :)

Actually this is already reported. <https://launchpad.net/bugs/34361>

>> 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:"

>> 5.  The organization of tabs is awkward. Three of the five appear to
>>     be for listing sources of software, and two of the five aren't.
>>     And the first is labelled "Ubuntu 6.10", which (probably wrongly)
>>     suggests that the other four are about some other system. I'll be
>>     more able to make a suggestion about improving this once #4 is
>>     fixed.
>
> The forth one is also related to software sources since it is about
> authentication of software origins. The fifth one was not there in the
> original design, see later.
>
> 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.

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".)

>> 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.

sources.list contains some lines that refer to area X of repository Y. 
For each checkbox, you can remember what those lines were, and what 
order they were in, and restore them (even if not in the same part of 
the file) when the checkbox is returned to its indeterminate state.

> The edgy version has got two bugs that set the inconsistent state
> wrongly. I committed patches.

Excellent.

> ...
>> 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.

> ...
>> 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?

>> 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?

>> 13. There is no explanation of what "Proposed updates" and "Backported
>>      updates" mean.
>
> Yes, perhaps it is a good idea to add a tooltip. I will add the
> corresponding changes in the under laying infrastructure soon.

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.

> ...
>>      -   If I check both "Download updates automatically, but do not
>>          install them" and "Install security updates without
>>          confirmation", security updates apparently both will and
>>          won't be installed automatically. This can be fixed by
>>          replacing the checkboxes with an "Install them
>>          automatically:" menu containing three options: "Never",
>>          "Security updates only", and "Always".
>
> The radio buttons are a good idea. I will add them to my long term
> branch :) Since I maintain a stable branch for the forthcoming release
> of the source code separation (update-manager will break up into
> python-aptsources, update-manager and software-properties).

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

>> In the "Third Party" tab:
>>
>> 15. "Third Party" is an adjective phrase, and there is no further
>>      explanation of what this list is for. Tell me what it's for, and
>>      I'll turn it into a label or a caption. :-)
>
> This tab holds third party software sources - from so called 
> independent software vendors (ISV). In this tab you will find 
> repositories that are not related to the Ubuntu project, e.g. the 
> repositories of Penguin Liberation Front or wine. Actually in German 
> it is a noun: "Drittanbieter". Never trust a dictionary :)

Well, I was slightly wrong -- "Third Party" *is* a noun in English, but 
since it refers to a person or organization, rather than to software, 
people would interpret it as an adjective phrase missing a noun. As I 
said above, this should be "Third-Party Software".

> ...
>> In the "Authentication" tab:
>>
>> 19. There is no explanation of what this list is for.
>
> I added a tooltip:
>
> "Keys are used to authenticate the correct source of software and so
> protect your computer from malicious software"

Tooltips are for toolbars. And the larger something is, the less 
pleasant giving it a tooltip is, because you're more likely to trigger 
it by mistake.

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

> ...
>> In the "Statistics" tab:
> ...
>> 22. The description shouldn't be above the checkbox and in italics. It
>>      should be under the checkbox, and indented the same amount as the
>>      label.
>
> I am also no fan of in user interface documentation.

I'm not sure what you mean there. Did you omit a word or two?

> If we find a better place and a shorter description we could use a 
> tooltip instead.

Tooltips are for toolbars. There is plenty of room here for an 
explanation that appears all of the time, not just some of the time.

>> 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.

Cheers
- --
Matthew Paul Thomas
http://mpt.net.nz/
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (Darwin)

iD8DBQFFpIwt6PUxNfU6ecoRAp/pAKCZNoDW0H8tcApho2c4dGP9eMqNZgCff3xL
bYhT5VU2xtwEYeL0yHg5FAo=
=YZxt
-----END PGP SIGNATURE-----





More information about the Ubuntu-devel-discuss mailing list