Changes between Version 7 and Version 8 of PrefsUnification


Ignore:
Timestamp:
Dec 9, 2014, 10:20:23 AM (10 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • PrefsUnification

    v7 v8  
    2020Negative:
    2121
    22 '''Compute all the time, except when the computer is in use, OR the CPU load is > .25, OR the time is  between 9:00 and 17:00.
     22'''Compute all the time, except when the computer is in use, OR the CPU load is > .25,
     23OR the time is  between 9:00 and 17:00.
    2324
    2425Positive:
    2526
    26 '''Compute whenever the computer is not in use AND the CPU load is < .25 AND the time is between 17:00 and 9:00.
     27'''Compute whenever the computer is not in use AND the CPU load is < .25
     28AND the time is between 17:00 and 9:00.
    2729
    2830Which is clearer and more intuitive?
     
    3133That's how it's stored in the DB,
    3234and it would be a pain to invert it in the UI.
    33 So I lean slightly toward positive.
    3435
    3536Whichever way we choose, we need to say things precisely.
     
    6162 * "In use" means mouse or keyboard input in last X minutes
    6263
    63 To be most precise, Jacob has suggested using a negative approach, with checkboxes
    64 to indicate when to apply a limit that the user may wish to ignore entirely.
     64== Jacob's proposal ==
    6565
    66 His approach, including regroupings and subtle (but important/precise) verbiage changes,
    67 is as follows:
     66Jacob proposed the following (edited a bit by David).
     67It uses the negative approach.
     68It uses a 2-level hierarchy,
     69which could be implemented with tabs in the GUI.
     70It uses checkboxes (rather than "0 means no constraint")
     71to indicate when a pref should be ignored.
     72All numeric fields are floating point unless otherwise specified.
    6873
    69 {{{
    70 Note: Let's get rid of the term "computer". It's a device.
     74 * Computing
     75  * Usage limits
     76   * Use at most X% of the CPUs [default 100%, do not allow 0.]
     77   * Use at most X% of CPU time [default 100%, do not allow 0.]
     78  * When to suspend
     79   * Checkbox: Suspend when computer is on battery
     80   * Checkbox: Suspend when computer is in use [which unlocks/requires the X minutes setting]
     81   * Checkbox: Suspend GPU computing when computer is in use [which unlocks/requires the X minutes setting]
     82   * Consider the computer "in use" if mouse/keyboard input in last X minutes
     83   * Checkbox: Suspend when non-BOINC CPU usage is X% or higher [the checkbox enables/requires X]
     84   * Checkbox: Suspend when computer is idle for X minutes [the checkbox enables/requires X]
     85   * Checkbox: Suspend when the time is not between X and Y [the checkbox enables/requires the 2 text inputs]
     86   * Specify day-of-week schedule: [the texts for each should be 2 textboxes per day, not 1]
     87  * Other
     88   * Switch between tasks about every X minutes [Do not allow 0]
     89 * Memory and Disk
     90  * Memory usage limits
     91   * Use at most X% when computer is in use [required]
     92   * Use at most X% when computer is not in use [required]
     93   * Checkbox: Leave non-GPU applications in memory while suspended
     94   * Use at most X% of page/swap file [required]
     95  * Disk usage limits
     96   * Checkbox: Use no more than X GB [the checkbox enables/requires the value]
     97   * Checkbox: Leave at least X GB free [the checkbox enables/requires the value]
     98   * Checkbox: Use no more than X% of total disk space [the checkbox enables/requires the value]
     99  * Other
     100   * Request tasks to checkpoint at most every X seconds [required]
     101 * Networking
     102  * Work cache
     103   * Maintain at least X days of work [no need to show the maximum text; instead, show it on validation when user clicks OK]
     104   * Allow an additional X days of work to be cached [no need to show the maximum text again]
     105  * Usage limits
     106   * Checkbox: Limit download rate to X KB/s [the checkbox enables/requires the value]
     107   * Checkbox: Limit upload rate to X KB/s [the checkbox enables/requires the value]
     108   * Checkbox: Limit network usage to X MB every Y days [the checkbox enables/requires the values]
     109  * When to suspend
     110   * Checkbox: Suspend network when the time is not between X and Y [the checkbox enables/requires the 2 text inputs]
     111   * Specify day-of-week schedule: [the texts for each should be 2 textboxes per day, not 1]
     112  * Other
     113   * Checkbox: Skip data verification for image files
     114   * Checkbox: Confirm before connecting to the Internet
     115   * Checkbox: Disconnect connection when done
    71116
    72 Tools -> Preferences (not "Computing Preferences")
     117== Discussion ==
     118=== Terminology: "Computer" ===
    73119
    74 ============================================
    75 Tab 1: Computing
     120Jacob: Let's get rid of the term "computer". It's a device.
     121When I think "computer", I think PC or Mac.
     122We work on phones and tablets now, and maybe will even work on watches
     123and toasters in the future!
     124Perhaps "computational device" is most clear, not sure.
    76125
    77 Group 1: Usage limits
    78 Use at most X% of the CPUs [default 100%, do not allow 0.]
    79 Use at most X% of CPU time [default 100%, do not allow 0.]
     126David: I'd consider this, but am not convinced.
     127"Device" is a very general term, which
     128could refer to can openers or nuclear warheads.
     129"Computer" means something that computes, so it's a more accurate term
     130even if it has associations with desktop PCs.
    80131
    81 Group 2: When to suspend
    82 Checkbox: Suspend when device is on battery
    83 Checkbox: Suspend when device is being used [which unlocks/requires the X minutes setting]
    84 Checkbox: Suspend GPU computing when device is being used [which unlocks/requires the X minutes setting]
    85 Consider the device in use, unless idle for X minutes
    86 Checkbox: Suspend when non-BOINC CPU usage is X percent or higher [the checkbox enables/requires the percentage; integer]
    87 Checkbox: Suspend when device is idle for X minutes [the checkbox enables/requires the percentage]
    88 Checkbox: Suspend when the time is not between X and Y [the checkbox enables/requires the 2 text inputs]
    89 Specify day-of-week schedule: [the texts for each should be 2 textboxes per day, not 1]
     132=== Terminology: "Idle" ===
     133Jacob: You probably should, as David suggests, mention "keyboard/mouse" somewhere in the UI,
     134to further describe "in use".
     135Though, in your example, you mention playing a movie makes it not idle.
     136Is that true? If so, then maybe we need to
     137mention something more than just "keyboard/mouse".
    90138
    91 Group 3: Other options
    92 Switch between applications around every X minutes [Do not allow 0, save/store as integer]
    93 ============================================
     139David: "Idle" currently means no recent mouse/keyboard input.
     140It should also mean not watching a movie, but we haven't figured out
     141how to detect that.
    94142
    95 Tab 2: Memory and Disk
     143=== Terminology: "Preferences" ===
     144Jacob: I mentioned changing "Computing Preferences" to be just "Preferences", and Charlie disagreed with that.
     145Now I'm torn.
     146Perhaps the best description would be "Device Usage Preferences", but that's pretty wordy. I'm okay with
     147"Computing Preferences", but feel it is a little insufficient.
     148And then we have "Options".
     149How about, for the 2 sets,
     150we go with "BOINC Usage Preferences" and "BOINC Manager Options", for clarity?
    96151
    97 Group 1: Memory usage limits
    98 Use at most X% when device is being used [required, integer]
    99 Use at most X% when device is idle [required, integer]
    100 Checkbox: Leave non-GPU applications in memory while suspended
    101 Use at most X% of page/swap file [required, integer]
    102 
    103 Group 2: Disk usage limits
    104 Checkbox: Limit to use no more than X GB [the checkbox enables/requires the value]
    105 Checkbox: Limit to leave at least X GB free [the checkbox enables/requires the value]
    106 Checkbox: Limit to use no more than X% of total disk space [the checkbox enables/requires the value; integer]
    107 
    108 Group 3: Other options
    109 Request tasks to checkpoint at most every X seconds [required; integer]
    110 ============================================
    111 
    112 Tab 3: Networking
    113 
    114 Group 1: Work cache
    115 Maintain at least X days of work [no need to show the maximum text; instead, show it on validation when user clicks OK]
    116 Allow an additional X days of work to be cached [no need to show the maximum text again]
    117 
    118 Group 2: Usage limits
    119 Checkbox: Limit download rate to X KB/s [the checkbox enables/requires the value]
    120 Checkbox: Limit upload rate to X KB/s [the checkbox enables/requires the value]
    121 Checkbox: Limit data usage to X MB every Y days [the checkbox enables/requires the values]
    122 
    123 Group 3: When to suspend
    124 Checkbox: Suspend network when the time is not between X and Y [the checkbox enables/requires the 2 text inputs]
    125 Specify day-of-week schedule: [the texts for each should be 2 textboxes per day, not 1]
    126 
    127 Group 4: Other options
    128 Checkbox: Skip data verification for image files
    129 Checkbox: Confirm before connecting to the internet
    130 Checkbox: Disconnect connection when done
    131 }}}
    132 
    133 After brief discussion with David and Charlie, Jacob's amendments to his proposal have been:
    134 
    135 {{{
    136 - When I think "computer", I think PC or Mac. We work on phones and tablets now, and maybe will even work on watches
    137   and toasters in the future! Perhaps "computational device" is most clear, not sure.
    138 - You probably should, as David suggests, mention "keyboard/mouse" somewhere in the UI, to further describe "in use".
    139   Though, in your example, you mention playing a movie makes it not idle. Is that true? If so, then maybe we need to
    140   mention something more than just "keyboard/mouse".
    141 - I intentionally did not mention the web prefs, as "making that look/feel/work the same as the UI" is the job of
    142   whoever will develop this. Though, I would recommend using the same "tab groupings" and the same "group groupings"
    143   in both, and even the same tooltips/descriptions, for complete consistency.
    144 - I mentioned changing "Computing Preferences" to be just "Preferences", and Charlie disagreed with that. Now I'm torn.
    145   Perhaps the best description would be "Device Usage Preferences", but that's pretty wordy. I'm okay with
    146   "Computing Preferences", but feel it is a little insufficient. And then we have "Options". How about, for the 2 sets,
    147   we go with "BOINC Usage Preferences" and "BOINC Manager Options", for clarity?
    148 }}}
     152David: on the web we also have "project preferences", so let's stick with "computing preferences".