First of all, I'm not sure if this is the right mailing list for this question. If not, I would appreciate anyone telling me so :)


Dear R developers,

a few years ago I developed an online R interface (OnlineR) for a microarray institution in the Netherlands. I am now thinking of extending and publishing this online application, but I would first like to hear your thoughts on whether there would be a demand for such an application, and if it does not already exist. I checking the R-Web-Interfaces page, but I did not find anything as flexible, user-friendly or extended (he said humbly) as my application. Below I will list the features and some thoughts, and I would appreciate any feedback anyone can offer.

1. User management

This application generally has 3 user groups:


- Statisticians writing scripts for users
- End-users (biologists in my case) analysing their data
- Administrators

Each kind of group has specific functionality and permissions available, which a user with administrative rights can assign to them. It is important to note that administrators can give any kind of permission to any kind of group or individual users within any group. Administrators can also create user groups, or give a user administrative rights over a single group for example. I'm just using a lot of words here to say that the user permission module is entirely flexible.


2. File management

User can upload and manage files in a drag-and-drop file manager. Administrative users can assign a quota to other users. When the quote is reached no more files can be uploaded or analyses that output files to the file manager run. Furthermore, and my users found this a very important feature, users can give access to their files to other users or groups, be they raw data or analysis results. Share permissions are either view, edit or delete or any combination of these.

3. Creating analyses


Users with the proper permissions can create analyses (for lack of a better word) for end users. The statistician simply uploads or writes an R script and uses the appropriate syntax to define the required user input and analysis output, and then defines which users or groups can run this script. End-users will have an overview of available analyses (organised in categories, sub-categories, or whatever the administrator defines) and can run them by simply clicking on them. On the next screen they will see an intuitive HTML form asking them for their input. When the input has been received (and validated) the R script is run in the background. Administrators can give end-users a quota of maximum number of analyses they can run simultaneously. The output is either printed on the screen, e-mailed or stored in the file manager (from whence it can be downloaded), whatever the statistician has decided.

The syntax for the statistician to define the required user input will look something like the following:

name <- '{text;Name;Sjoerd;validation:required:true;}';
age <- {select;Age;options:30:31:32};
etc

User input statements are included between brackets and allow the statistician to define the type of input, the required validation and the available and default values.

Input can be any of the available HTML elements, most importantly:

- input text
- input textarea
- upload file
- radio button
- dropdown select
- checkbox

Statisticians can of course include a description and usage descriptions with their script. Also, it will include version management, to allow statisticians to update their scripts while still allowing end-users to reproduce their previous results with older versions of the script.


4. User interface

In my days as a scientific programmer I have noticed that virtually no developers take the time to create an eye-pleasing and intuitive user interface for the users of the software. I have noticed however, that this makes the software look overly complicated and actually frightens the less computer-literate users. I will make sure to make this application as user-friendly and visually attractive as possible.

Tools & requirements (nothing surprising here):
- PHP 5
- MySQL
- R
- HTML, CSS, JavaScript
- Linux server

Once again, any feedback would be appreciated. Most of all I'm interested to know if you think end-users will appreciate and use the above-described web application, and, just as important, if statisticians and developers are willing to put in the effort for their colleagues ;)



Kind regards,

Sjoerd

	[[alternative HTML version deleted]]

