Giter VIP home page Giter VIP logo

oms-inside's People

Contributors

a-laughlin avatar iluminite avatar maurycyp avatar tfmorris avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

oms-inside's Issues

Implement Plugin Architecture in Front-End

Adding insights/holons/challenges as plugins requires a very different file structure and some build process adjustments.

This part only addresses the front-end part of the architecture. Getting the plugin system functioning correctly involves more back-end work. See #28.

Add Android alert generation to Happathon Engine

The happathon engine is a standalone black-box form and alert generator that will eventually be ported to other platforms so that other apps can include it to trigger actions in their own app based on well-being states. This issue only addresses the alert generator.

For specs, check out the scenarios in the specs doc

The engine should be encapsulated in its own directory ([here](Directory at:
https://github.com/IDCubed/oms-happathon/tree/master/src/common/happathon-engine)).

Related to:
#22

Make Happathon Engine a black-box form generator.

The happathon engine is a standalone black-box form and alert generator that will eventually be ported to other platforms so that other apps can include it to trigger actions in their own app based on well-being states. This issue only addresses the form generator. The alert generator will be separate. For now, the plan is to make it angular-based and encapsulate it in its own directory. It should have a simple API that allows it to:

  • Generate consistent forms upon request
  • Add to existing forms.
  • Not remove or change its existing internal forms (to keep measurement consistent)
  • Generate the base forms out of the box through sensible defaults.

For more details on how it can work, check out the forms scenario. Improvements on those scenarios are always welcome.

Directory is located at:
https://github.com/IDCubed/oms-happathon/tree/master/src/common/happathon-engine

Fix eslint causing build fail.

There was an issue with some invisible characters in the eslint.json config file. I upgraded grunt-eslint while fixing it.

Find a good form design to use.

Let's find a good example of mobile form design to model how forms in the app look and function. If you have any examples of excellent mobile form design, linking those here is a great place to start.

Update Readme

Sections (or links)

About
Specs
Usage Scenarios
Contributing

Integrate platform-specific presentation customizations with the build process.

Architecture:
The build process should know nothing about the presentation. That way we can eventually shift to a native Android UI by switching which presentation parts we use, without having to change the plugins themselves.

Utils folders:
Each type of plugin (e.g., forms) will get its own utils folder specific to each presentation platform. So there is an Angular form utils folder for displaying the form as HTML. It contains html partials, css, and js files. Eventually there will be an Android form utils folder for displaying the form in Android.

Plugin folders:
Each form plugin itself should only contain a happathon.json file which which references the form parts in the form-utils folder. (I need to finish changing all the references from "happathon" to "inside". This ticket needs to be updated also afterward).

How to integrate:
How to get the css and js to run without the build process knowing about them... placing it in the utils plugin's json config would work. I don't have a config json specced for utils plugins yet though. Need to create that.

Automate JavaScript coding style checks.

We currently have a style guide at https://github.com/IDCubed/oms-happathon/blob/master/CONTRIBUTING.md. Okay. Well. I thought we did. Looks like I left those sections TBD.

Check out http://flippinawesome.org/2013/12/02/eliminating-code-smell-with-grunt/

We're using jshint right now, but not jsbeautify. Implementing jsBeautify with grunt would allow us to mostly eliminate style differences in how we write our js without needing to learn complex style guides.

Manually get VMs for devs to learn OMS, so we can start implementing the back-end

The instructions for downloading a VM are located at http://docs.openmustardseed.org/get_started/tab_dev_environment/

The VMs require an ID3-provided key to decrypt. Soon there will be a UI to automatically download the VM and get the key emailed to us. I'm getting one manually for @sDurgam and I so we can get started. It should be coming via email this evening or tomorrow.

@sDurgam The last line of the VM instructions says that phone interaction isn't yet supported. We'd have to do some DNS configuration and port forwarding to get it working on the VM.

@illumin-us-r3v0lution I pasted the updated sequence diagram in #9. Does that help for what we're trying to do?

Define Personas

5 personas. Use specific census data for New Beford and Somerville.

Develop Communication Guidelines

Getting this in place to start iterating on these since there is some tension over what should be public vs. private. Helpful links:

Current communication channels:

  • Github
  • Basecamp
  • Meetup
  • IRC
  • Email
  • Google Hangouts
  • In person at Code for Boston

Types of communication:

  • App development
  • Engine development
  • App customization for cities
  • City marketing campaigns - for positive public response
  • Presentation Decks - for org funding opportunities, speaking publicly about the project, stakeholder updates, etc.
  • Bug reports
  • Feature requests
  • Developer Chat
  • Beta Tester Feedback
  • UX Feedback

Risks:

  • Sensitivity from those of us contributing personal data - to how it is used. We need to understand that super clearly.

Stakeholders:

  • Psychologists
  • Happathon staff
  • City staff
  • Programming volunteers
  • Design volunteers
  • Data Science
  • UX volunteers

Considerations.

Revisit UI design

After recent discussions and architecture changes, the UI needs improvement. For example, as people add holons, the current horizontally scrolling design will get cumbersome. A vertical list is easier to navigate and more scannable. The large buttons and menus were also an inefficient use of screen space.

I completely rethought the UI this evening and drew up some thoughts on paper. Stay tuned for photo attachment.

20131209_215841

Create initial visualizations

Hey @MarioCarloni

Initial form thoughts:

  • Slider: Life satisfaction, 0-10.
  • + button to journal an event that increased my satisfaction today.
  • + button to journal an event that decreased my satisfaction today.

The + buttons each add textareas when you click them, so some initial data would be:

  • of well-being increasing events

  • of well-being decreasing events

  • Words chosen
  • Typing speed is possible
  • Common words (word cloud?)
  • Word relation to life satisfaction

We can pull lots from just those as a start.

I'll work on building the form. Any thoughts on ways to visualize the data for self or city that would be interesting to you?

It'll be easy to create other forms, so we can branch out from the initial one. For example, another form might involve relationships. So we can see how various aspects of our internal lives vary according to the people we interact with.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.