| 1 | = Android GUI discussion = |
| 2 | |
| 3 | (note from June 17 2014 conf call) |
| 4 | |
| 5 | == Goals == |
| 6 | |
| 7 | We'd like the GUI to |
| 8 | |
| 9 | * convey the feeling that the device is actively making a contribution; |
| 10 | i.e. it should show change in some way. |
| 11 | * convey the feeling of community and power in numbers; |
| 12 | this device is part of a large set of device, |
| 13 | and the volunteer is part of a large group of people. |
| 14 | * encourage the user to run BOINC more on this device |
| 15 | (i.e. leave it plugged in more). |
| 16 | * encourage the user to run BOINC on their PCs as well. |
| 17 | |
| 18 | And |
| 19 | |
| 20 | * we should show information graphically rather than textually |
| 21 | as much as possible. |
| 22 | * when we show numbers, |
| 23 | they should be in units that are easily understandable to the volunteer, |
| 24 | e.g. hours of computing rather than credits. |
| 25 | |
| 26 | == GUI structure == |
| 27 | |
| 28 | The GUI currently has a set of pages, or "tabs": |
| 29 | projects, tasks, prefs, notices. |
| 30 | The projects and tasks tabs show lists; |
| 31 | each list item can be expanded into a page showing its details. |
| 32 | |
| 33 | Currently there's no top-level page, |
| 34 | so there's no place to show info for this device as a whole. |
| 35 | Maybe we need to add this. |
| 36 | |
| 37 | I think the Tasks tab is good more or less as is, |
| 38 | except that it should always show a progress bar for each task. |
| 39 | |
| 40 | Most of the following idea apply to the Projects tab |
| 41 | and the project detail page. |
| 42 | |
| 43 | == Ideas == |
| 44 | |
| 45 | === Computing time === |
| 46 | |
| 47 | (By "computing time" I mean the time that BOINC is allowed to compute; |
| 48 | this is not the same as CPU time). |
| 49 | |
| 50 | We could show |
| 51 | |
| 52 | * Computing time in last 24 hours |
| 53 | * Computing time in last week |
| 54 | |
| 55 | We could show these graphically as pie charts or bars. |
| 56 | We could also show them as "time lines" showing the |
| 57 | specific times when computing happened. |
| 58 | This would show, e.g., if computing was toggled because of |
| 59 | battery charge or heat. |
| 60 | |
| 61 | We could show total computing time, |
| 62 | either textually or as a graph showing its increase |
| 63 | over long time scales (weeks, months, or since the beginning). |
| 64 | |
| 65 | === Task completion === |
| 66 | |
| 67 | We could show the # of tasks completed |
| 68 | * per project, or summed over projects |
| 69 | * in the last week, or since the beginning |
| 70 | * textually, or as a graph |
| 71 | |
| 72 | We could show a time line with horizontal lines |
| 73 | (color coded by project) |
| 74 | showing the lifetime of each task. |
| 75 | |
| 76 | === Contribution as fraction of whole === |
| 77 | |
| 78 | For the various quantities (computing time, credit, tasks) |
| 79 | we could show the device's contribution relative to the project as a whole. |
| 80 | E.g. "Einstein@home processed 1,234,567 jobs this week, |
| 81 | and your device did 2 of them". |
| 82 | |
| 83 | It's not clear whether volunteers would find this discouraging. |
| 84 | |
| 85 | === Contribution relative to average volunteer === |
| 86 | |
| 87 | For the various quantities (time, credit, tasks) |
| 88 | we could show the device's contribution relative to the Android average. |
| 89 | E.g. "Your device computed 7.4 hours per day, and the average is 6.9". |
| 90 | Or we could show the distribution of the quantity, |
| 91 | and where this device lies on the distribution. |
| 92 | |
| 93 | === Badges === |
| 94 | |
| 95 | Projects can grant "badges" for any kind of achievement: |
| 96 | * total credit |
| 97 | * average credit percentile (i.e. top 1% or 5% of volunteers) |
| 98 | * number of message-board posts |
| 99 | Badges have corresponding images and textual descriptions. |
| 100 | |
| 101 | The GUI should show badges, |
| 102 | and it should notify the volunteer when a new badge has been earned. |
| 103 | |
| 104 | === PC suggestion === |
| 105 | |
| 106 | We could say, somewhere in the GUI, something like |
| 107 | "Want to help more? You can also run Einstein@home (and ...) on your |
| 108 | desktop or laptop computer. Click for more info.". |
| 109 | |
| 110 | We should probably make the GUI aware of whether the volunteer |
| 111 | is in fact already running BOINC on other computers, |
| 112 | and if so not show this message. |