On 9/26/07, <b class="gmail_sendername">Robin Norwood</b> &lt;<a href="mailto:rnorwood@redhat.com">rnorwood@redhat.com</a>&gt; wrote:<div><span class="gmail_quote"></span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Richard Hughes &lt;<a href="mailto:hughsient@gmail.com">hughsient@gmail.com</a>&gt; writes:<br><br>&gt; On Tue, 2007-09-25 at 17:07 -0400, Robin Norwood wrote:<br>&gt;&gt; Richard Hughes &lt;<a href="mailto:hughsient@gmail.com">
hughsient@gmail.com</a>&gt; writes:<br>&gt;&gt; &gt; Does that make sense?<br>&gt;&gt; So that was my thinking in having two separate, independent checkboxes.<br>&gt;<br>&gt; I&#39;m just thinking from a &quot;sliding scale of automation&quot; point of view.
<br>&gt; Those that just want it to work, those that want the security installed<br>&gt; but want to review others, and those that want to do it all themselves.<br>&gt;<br>&gt; Sane?<br><br>Hrm.&nbsp;&nbsp;Definitely sane.&nbsp;&nbsp;It leaves out one of the use cases I&#39;d dreamed
<br>up, but that might be fine.</blockquote><div><br>Hello!<br><br>I had made some notes on package update policy a while back and now have been reprimanded for not promptly sharing :)<br><br>So here they are:<br><br>
Defaults<br>
&nbsp; - Daily updates on idle usage if possible ( somewhat complicated if() statement )<br>
&nbsp; - Silently download updates in the background<br>
&nbsp; - Does not ask to perform updates ( alerts of this default at first update )<br><br>Daily updates are probably an ideal default, but it should try to be done when system is idle, i.e. the user is away from the computer.&nbsp; I&#39;m not sure if checking for updates is a resource intensive project, I suppose that&#39;s a back-end independent issue really but for the most part updating is somewhat resource intensive and should be done when the computer isn&#39;t being actively used.&nbsp; That said there are lots of gotchas with this in terms of security updates or systems that are used and then suspended or shutdown without much idle time; each of which I believe can have a simple solution.
<br><br>Downloading the updates (and dependencies) in the background allows for a UI that is a simple question of &quot;Do you want these installed?&quot; with no secondary response of &quot;Now wait while I get those things you asked for&quot;.&nbsp; For people who are paying for bandwidth by the byte or something this is a tricky situation, we could try to be smart and detect if you&#39;re on a connection like this, however those smarts are bound to fail often and be somewhat confusing.&nbsp; Instead if the Package Update simply always shows it&#39;s icon in the system tray when it&#39;s downloading, it should be good enough combined with a preference for never automatically downloading updates.
<br><br>Automatic updates are a smart idea, however some people like to have control over their computer being smart.&nbsp; So there is a first time usage scenario that covers the automatic nature of the system update allow for a point at which people can configure the application or let it do what it does automatically.
<br><br>First Time Use Scenario<br>&nbsp; - Wait until ideal time to update <br>&nbsp; - If updates are available show Package Update icon and begin download [ tooltip: Downloading New Updates Available]<br>&nbsp; - Wait until Person has returned to computer ( not idle )
<br>&nbsp; - Advertise that the Package Updater has downloaded updates via a notification icon<br>&nbsp;&nbsp;&nbsp; &quot;Updates are ready to be installed but will wait until your system is idle again.&nbsp; All future updates will be performed automatically&quot;
<br>&nbsp;&nbsp;&nbsp; [[Install Updates Now]] [Install Updates Later] [Configure...]<br><br><br>The whole reason behind this scenario is so a minority of people can prevent the updater from being automatic when they want it to be manual without asking too many question up front which we assume would confuse or annoy the majority of users who don&#39;t understand or don&#39;t care.&nbsp; 
<br><br>Normal Run Scenario ( started once daily while the system is idle )<br>&nbsp; - Show systray icon while checking for available updates<br>&nbsp; - Keep systray icon around if there are update and begin downloading them<br>&nbsp; - Begin update once all packages and their dependencies are downloaded
<br><br>I wanted to do the first step completely under the radar, especially if it&#39;s happening while the person is using the computer.&nbsp; Having a little icon appear in your systray everyday and then disappear rather quickly (because there were no updates) could be a little disconcerting to your average user.&nbsp; But if we&#39;re able to do it on idle for the most part then it just won&#39;t matter.
<br><br>I saw you have a couple different icons for the different states that occur, it&#39;s probably good to keep the first one innocuous looking and then a &quot;downlading&quot; style icon, followed by an &quot;updating&quot; style icon... defining those iconic meanings is going to be like a trip in the park :)
<br><br>Interrupted During Update Scenario (person comes back to the idle system while it&#39;s being updated)<br>&nbsp; - Systray icon shows updater in progress<br>&nbsp; - Display notification bubble<br>&nbsp;&nbsp;&nbsp; &quot;Update in Progress\n
<br>&nbsp;&nbsp;&nbsp;&nbsp; 10 of 100 packages updated&quot;<br>&nbsp;&nbsp;&nbsp; [Watch Update Progress] [Configure...]<br><br>I don&#39;t think we need a close bubble or ignore action here because there should be a close icon, also I don&#39;t really know that you have a UI for watching the updates happen but I&#39;m assuming you do :)
<br><br>===<br><br>As for the System Update Preferences UI I&#39;d go with something like this.<br><br>-----------------------------------------------------------------------<br>System Update Preferences<br><br>&nbsp; [x] Automatically Check for Updates When Idle
<br><br>&nbsp;&nbsp;&nbsp; [Every Day \/] Check for new updates<br><br>&nbsp;&nbsp;&nbsp; [x] Download updates automatically<br><br>&nbsp;&nbsp;&nbsp; (o) Never ask for confirmation, perform all updates automatically<br>&nbsp;&nbsp;&nbsp; ( ) Always perform security updates, but ask otherwise
<br>&nbsp;&nbsp;&nbsp; ( ) Always ask before updating anything<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; [ x Close ]<br>-----------------------------------------------------------------------<br>&nbsp;</div>Hope I&#39;m not coming into the game too late.&nbsp; Thoughts?
<br>~ Bryan<br></div>