Changes between Version 5 and Version 6 of SimpleAttach


Ignore:
Timestamp:
Jan 14, 2015, 4:00:15 PM (9 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SimpleAttach

    v5 v6  
    3939
    4040 * In each case there are many steps, and we lose a fraction of volunteers at each step.
    41  * If the computer is of a type for which the project has no apps,
    42    the user doesn't learn this until BOINC has already been installed.
    43    Ideally they should learn this immediately.
    44  * If the project requires !VirtualBox,
    45    the user should be required to download BOINC+VBox.
     41 * For non-listed projects, users have to type or copy/paste a URL.  Bad.
     42 * If the project requires !VirtualBox, the user should be required to download BOINC+VBox.
    4643 * The scheme applies to non-Android computers.
    4744  For Android users the process is similar,
     
    5148This document describes a new scheme that addresses these problems.
    5249
    53 == Project front page ==
    54 
    55 The project front page has a "Join" button, linked to a page described below.
    56 
    57 === Android case ===
    58 
    59 On the Join page:
    60 if project has no Android apps, show a message like
    61 
    62 '''This project doesn't currently support Android devices
    63 A list of supported computer types is [here].'''
    64 
    65 Otherwise show:
    66 
     50== Project web site ==
     51
     52=== Front page ===
     53
     54The project front page has a "Join" button, linked to a "registration" page.
     55
     56=== Registration page ===
     57
     58The registration page shows two forms side by side:
     59 * Create account (for users new to this project)
     60 * Log in (for existing users)
     61Submission of either form goes to the Download page (below).
     62
     63If the user is already logged in on this project,
     64the page redirects to Download page.
     65
     66=== Download page ===
     67
     68This page tells the user what software they need to install,
     69and lets them either download it or confirm that it's already installed.
     70
     71==== Android case ====
     72
     73Show:
    6774 * '''[Download BOINC]''' (link to Google or Amazon app store)
    6875 * '''Open BOINC, select Add Project, and choose (project name)'''
    6976
    70 Note: we can probably improve this.
    71 
    72 === Non-Android case ===
    73 
    74 Join page:
    75 
    76 if the project has no app versions for the platform, show
    77 
    78 '''This project doesn't currently X computers.
    79 The supported computer types are: xxx"
    80 
    81 Otherwise show a create account / login page:
    82 
    83  * Create account: please enter your email address and a password.
    84  * If you already have an account, please log in (links for forgot passwd etc.)
    85 
    86 On completion, show a "download page":
     77Note: we can improve this, but it will take changes to the Android GUI.
     78
     79==== Non-Android case ====
     80
     81A project's config file can specify whether it needs VBox,
     82and whether it has a min client version.
     83The Download page says something like:
    8784
    8885 * To participate in X, your computer must have BOINC (and VBox) installed.
    89  * [Download BOINC (and VBox)] (link to concierge.php).
    90     This goes to a page explaining how to install after download.
    91  * [BOINC (and VBox) are already installed].
    92     This goes to a page saying to open the Manager and select Add Project.
    93 
    94 So for new volunteers, the process is:
     86 * If these are already installed, [click here]
     87 * [Download BOINC (and VBox)].
     88
     89The "click here" link goes to a page that:
     90
     91 * Sends some cookies (see below)
     92 * Tells the user to open the Manager and choose Add Project.
     93
     94The Download link does to a page that
     95 * Sends some cookies (see below)
     96 * Initiates a download
     97 * Tells the user to double-click on the installer when download is done
     98
     99=== User experience ===
     100
     101In summary, the new-user process is:
    95102
    96103 1. Visit project web site, click on '''Join".
    97  1. Enter email/passwd
     104 1. Enter email/passwd, click OK
    98105 1. Click Download
    99106 1. Click on installer, choose defaults
    100  1. Manager runs, brings up dialog showing project and account info,
    101      asks for confirmation.
     107 1. Manager runs, brings up confirmation/welcome dialog
     108
     109Note the following improvements:
     110 1. User doesn't leave the project web site (e.g. doesn't land on BOINC web site)
     111 1. User doesn't see list of all projects
    102112
    103113=== What projects must do ===
    104114
    105 Add the following to config.xml:
     115Add to config.xml:
    106116 * <project_desc>: a few-sentence description of the project.
    107117 * <project_inst>: the host institution (optional).
    108118
     119Add to config.xml if needed:
     120 * <min_core_client_version_announced>
     121 * <need_vbox>
     122
    109123In the home page:
    110124
    111  * put a button linking to join.php
     125 * put a button linking to register.php
    112126
    113127== Implementation ==
    114128
    115 Join page:
    116 get the platform from the user agent string,
    117 then finds the supported platforms by enumerating
    118 the app_version and platform tables.
     129Register page: use existing code for forms
    119130
    120131Download page: extract from config.xml:
     
    123134 * the project description
    124135 * the project institution
    125 
    126 See whether VBox is used by enumerating the app_version table.
    127 
    128 These data are passed as URL args to a URL on the BOINC web server (concierge.php).
    129 If the user is logged in on the project site, it also passes
     136 * software requirements
     137
     138These first 4 items are passed as URL args to a script on the BOINC web server (concierge.php).
     139Also passed:
    130140 * the user name
    131141 * the user authenticator
     142 * whether a download is required
     143 * whether VBox is needed
    132144
    133145=== The concierte.php script ===
     
    135147The concierge.php script looks at the master URL to see if the project is in BOINC's list.
    136148
    137 It looks at the user agent string to find the computer's platform,
    138 and gets the URL of the current BOINC installer for that platform.
    139 (If vbox_required is present, it uses the BOINC+Vbox installer).
    140 
    141 It then sends the following cookies (from the boinc.berkeley.edu domain):
     149It sends the following cookies (from the boinc.berkeley.edu domain):
    142150
    143151 '''attach_known''':: 1 if the project is known to BOINC
     
    151159These cookies are sent with a 24-hour expiration time.
    152160
    153 The script then redirects to the URL of the installer file.
     161If the "download" arg is set,
     162the script looks at the user agent string to find the computer's platform,
     163and gets the URL of the current BOINC installer for that platform.
     164(If VBox is needed, it uses the BOINC+Vbox installer).
     165It then redirects to the URL of the installer file.
    154166On current browsers this doesn't change the web page
    155167(which is still the project's main page);
     
    159171=== Manager ===
    160172
    161 When the manager starts up, it looks for the '''attach_master_url''' cookie from
     173When the manager starts up, or the Add Project command is given,
     174it looks for the '''attach_master_url''' cookie from
    162175the boinc.berkeley.edu domain.
    163176If this is present, it puts up the Attach Wizard,
    164 at the email/password page.
     177at a confirmation page that shows
     178 * the project name, description, and institution
     179 * the user name
     180 * whether the project is known to BOINC
    165181
    166182== Anonymous registration ==
     
    168184The join process can be further simplified if we eliminate the
    169185email address and password associated with accounts.
    170 This might be selected by the project
    171 (using a config flag)
    172 or by the volunteer
    173 (by a "anonymous account" checkbox in the registration page).
    174 
    175 In each case, the links on the Download page would create an account
     186This might be selected by the project (using a config flag)
     187or by the volunteer (by an "anonymous" checkbox in the Register page).
     188
     189In each case, the Register page would create an account
    176190with random strings for email address and password.
    177191
     
    181195 * Let anonymous accounts be made non-anonymous (i.e. given an
    182196   email address, name, and password).
     197
     198== Unsupported platforms ==
     199
     200One issue not addressed by this proposal:
     201what if the computer is of a type for which the project has no apps?
     202The user should learn this immediately.
     203E.g. viewed from an Android device,
     204the front page could say something like:
     205
     206'''This project is not able to use Android devices.
     207Please visit this site from a Windows, Mac, or Linux computer.'''