google / paco Goto Github PK
View Code? Open in Web Editor NEWThe Paco behavioral science mobile research platform
Home Page: http://www.pacoapp.com/
License: Apache License 2.0
The Paco behavioral science mobile research platform
Home Page: http://www.pacoapp.com/
License: Apache License 2.0
Administer experiments view -- hide the experiment list (or make it draggable/clickable) when a user clicks on an experiment
Experiment content panel should be scrollable and fixed size so its buttons don't keep moving.
Better positioning for the Create Experiment and Cancel buttons, which are now just fixed at the bottom.
Change wording/constants where necessary.
EDIT:
EDIT (2):
User can:
Statement should be reflected in panel on the input as well as by the arrows
Challenges/things to watch out for:
Master Ticket:
#51
Schedule field is for backward compatibility usage, which doesn't apply to iOS.
See if adding Paco-Server/war/pacoserver to .gitignore affects the server build.
Currently, the json generator for /events does not add the experimentId.
Currently, each text box and check box in experiment creation has its own anonymous value change handler. This could become a performance issue once there are multiple input groups. So, for classes with multiple ValueChangeHandlers (e.g. InputsPanel), let the containing class be the ValueChangeHandler.
Master Ticket:
#51
After user clicks on submit, and the answer is submitted successfully, we should show a success alert.
When the user clicks on Participate and the survey page is shown, we shouldn't set default answers for them, especially considering that the questions may be conditional.
Both in menu bar and in normal flow.
As of the new light loading scheme implementation, Find experiments does not update Running Experiment definitions. It should.
In the meantime, user should use the Refresh button on the Running Experiments screen.
Minor bug.
Validation for:
Master issue: #63
An input group is a list of schedules and a list of inputs. Each experiment will have a list of input groups.
Involves:
Assumptions:
Master Ticket:
#51
&& || ()
No negative number support for now
q2 contains 1
Give user the ability to reorder input tiles by dragging.
If user types in a conditional logic expression, make sure it is logical (fits our grammar and uses variable names that exist).
Master issue: #63
This is best done after the data model is updated.
This way, the user knows what is wrong immediately.
Master issue: #63
Currently default timeout values aren't stuffed into the JSON generated by the server.
Use case:
Take the user through the input group flow in experiment creation and make sure the underlying data model gets updated.
This will allow us to quit sending -1 for the inputId on join and stop events.
Code from branch experimentValidation (commits 7349eb4 to fe074a3) (7 commits) already merged into newCreationFlow via develop.
Now, restructure this validation to be dynamic (where possible, done as the user passes through the field).
Includes from before: experiment title, input variable names, start date must not be after end date, list inputs must have at least one list option, email address field validation (admins and published).
New: validation of likert steps (should be a valid nonnegative number)
EDIT: New: validation of timeout (should be a valid nonnegative number)
Master Issue: #63
blah blah blah
When the user clicks "submit" or "verify," perhaps they could get a page that contains all the errored widgets, so they can fix all their errors on one page.
Master issue: #63
Crash reason:
Requirement: 1M
Android Code:
InputLayout.java : getPhotoValue()
Add validation to experiment creation flow.
The payload is different means we may not post the correct event payload to server.
Payload Sample:
{
appId = Android;
emptyResponse = 0;
experimentName = Compliment;
experimentVersion = 1;
idFromTimes = 1373679703000;
joinEvent = 1;
missedSignal = 0;
pacoVersion = "2.0.79";
responseTime = 1373679703000;
shared = 0;
timezone = "-07:00";
what = {
joined = true;
schedule = "type = esm,frequency = 1,esmPeriod = day,startHour = 11:00,endHour = 21:00,weekends = true,times = [16:00],repeatRate = 1,daysOfWeek = ,nthOfMonth = 1,byDayOfMonth = true,dayOfMonth = 1";
};
whatString = "schedule=type = esm,frequency = 1,esmPeriod = day,startHour = 11:00,endHour = 21:00,weekends = true,times = [16:00],repeatRate = 1,daysOfWeek = ,nthOfMonth = 1,byDayOfMonth = true,dayOfMonth = 1, joined=true";
when = 1373690451535;
who = "[email protected]";
},
{
appId = "ios_paco";
emptyResponse = 0;
experimentName = "Compliment_1372870251.119019";
idFromTimes = 1372870251000;
joinEvent = 1;
missedSignal = 0;
pacoVersion = 1;
responseTime = 1372870251000;
shared = 0;
timezone = UTC;
what = {
joined = true;
};
whatString = "joined=true";
when = 1372870251386;
who = "[email protected]";
},
Also add testing for "previous" and "next" logic buttons.
Add "verify" vs. "submit" options, or perhaps verify each panel as it is passed through in the flow.
Allow user to continue anyway even if there are errors.
Difficulty: some of the dynamic validation of fields will now need to be done at the beginning, as the user may re-enter the experiment creation view with invalid fields.
Master issue: #63
EDIT: This feature is two-pronged:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.