Changes between Version 3 and Version 4 of SimpleAttach


Ignore:
Timestamp:
Jan 6, 2015, 10:33:35 AM (9 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • SimpleAttach

    v3 v4  
    11[[PageOutline]]
    2 = Improved attach process =
     2= Simplified registration/download process =
    33
    4 This document proposes changes to the process by which volunteers attach to projects.
     4This document proposes changes to the process by which volunteers
     5download BOINC and attach to projects.
    56
    67== Current attach process ==
     
    3738Problems with this design:
    3839
    39  * In each case there are a lot of steps, and we lose a fraction of volunteers at each step.
     40 * In each case there are many steps, and we lose a fraction of volunteers at each step.
    4041 * If the computer is of a type for which the project has no apps,
    4142   the user doesn't learn this until BOINC has already been installed.
    4243   Ideally they should learn this immediately.
    43  * It doesn't take into account whether the project uses !VirtualBox.
    44    If it does, the user should be required to download BOINC+VBox.
     44 * If the project requires !VirtualBox,
     45   the user should be required to download BOINC+VBox.
    4546 * The scheme applies to non-Android computers.
    46   For Android users the process is similar, except that BOINC must be downloaded from
    47   the Google or Amazon app store.
     47  For Android users the process is similar,
     48  except that BOINC must be downloaded from the Google or Amazon app store.
    4849  The standard project front page says nothing about Android.
    4950
     
    5253== Project front page ==
    5354
    54 If the user's computer is of a type for which the project has no apps,
    55 they see a message like
    56 
    57 '''This project doesn't currently support Mac OS X computers.
    58 A list of supported computer types is [here].'''
     55The project front page has a "Join" button, linked to a page described below.
    5956
    6057=== Android case ===
    6158
    62 For Android devices, the front page says
     59On the Join page:
     60if project has no Android apps, show a message like
     61
     62'''This project doesn't currently support Android devices
     63A list of supported computer types is [here].'''
     64
     65Otherwise show:
    6366
    6467 * '''[Download BOINC]''' (link to Google or Amazon app store)
    6568 * '''Open BOINC, select Add Project, and choose (project name)'''
    6669
     70Note: we can probably improve this.
     71
    6772=== Non-Android case ===
    6873
    69 For non-Android computers, the front page says:
     74Join page:
    7075
    71  * '''To participate, the BOINC software must be installed.'''
    72  * (big green button): '''Join (install BOINC)'''
    73  * (smaller text): '''If BOINC is already installed, click [here]'''
     76if the project has no app versions for the platform, show
    7477
    75 If the project has VBox apps for this platform, the above is replaced with
     78'''This project doesn't currently X computers.
     79The supported computer types are: xxx"
    7680
    77  * '''To participate, the BOINC and !VirtualBox software must be installed.'''
    78  * (big green button): '''Join (install BOINC and !VirtualBox)'''
    79  * (smaller text): '''If BOINC and !VirtualBox are already installed, click [here]'''
     81Otherwise show a create account / login page:
    8082
    81 For new volunteers, the process is:
     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.)
    8285
    83  1. Visit project web site, click on '''Join (install BOINC)'''.
    84    Download happens, browser remains on project web site (see below).
    85    Possibly (depending on OS/browser) goes to a page describing how to
    86    run the installer after download is done.
    87  1. When download is done, click on installer.
    88  1. Click on Defaults in installer
    89  1. Manager runs and brings up Attach wizard at the "enter email/password" page;
    90    no need to select project etc.
    91    This page also has name/info of project.
    92    Enter email/password.
     86On completion, show a "download page":
    9387
    94 Existing volunteers click on the "already installed" link,
    95 and see a page telling them to open the BOINC Manager and select Add Project.
     88 * 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
     94So for new volunteers, the process is:
     95
     96 1. Visit project web site, click on '''Join".
     97 1. Enter email/passwd
     98 1. Click Download
     99 1. Click on installer, choose defaults
     100 1. Manager runs, brings up dialog showing project and account info,
     101     asks for confirmation.
    96102
    97103=== What projects must do ===
     
    103109In the home page:
    104110
    105  * Call '''browser_platform_supported()'''.
    106    If this returns false, show the "platform not supported" text,
    107    and link to '''supported_platforms.php'''.
    108  * Call '''join_button()''' as:
    109 {{{
    110 list($url, $text) = join_button();
    111 }}}
    112    and display a button linking to the returned URL.
    113    '''$text''' is either "BOINC" or "BOINC and !VirtualBox".
    114  * Show the "already installed" link, pointing to '''attach.php'''.
     111 * put a button linking to join.php
    115112
    116113== Implementation ==
    117114
    118 === '''browser_platform_supported()''' ===
    119 
    120 This gets the platform from the user agent string,
     115Join page:
     116get the platform from the user agent string,
    121117then finds the supported platforms by enumerating
    122118the app_version and platform tables.
    123119
    124 === join_button() ===
    125 
    126 This extracts from config.xml:
     120Download page: extract from config.xml:
    127121 * the master URL
    128122 * the project name
     
    130124 * the project institution
    131125
    132 It sees whether VBox is used by enumerating the app_version table.
     126See whether VBox is used by enumerating the app_version table.
    133127
    134128These data are passed as URL args to a URL on the BOINC web server (concierge.php).
     
    169163If this is present, it puts up the Attach Wizard,
    170164at the email/password page.
    171 
    172 == Comments ==
    173 
    174 There are actually four scenarios, corresponding to:
    175 
    176  1. Whether the user has installed BOINC on the computer.
    177  1. Whether the user has an account on this project.
    178 
    179 This design is geared to the cases where 2 is false.
    180 We should handle the other cases as well.
    181