Projects/YourTopia

This is the wiki page for the YourTopia project of the Open Knowledge Foundation Working Group in Economics.


 * What it is: an easy-to-use app for creating 'Indexes' of human progress by combining and weighting existing time series of data.
 * For example: create Joe Bloggs Index of Human Development by combining with equal weightings GDP, Inequality, CO2 emissions.
 * Code repo: https://github.com/okfn/yourtopia
 * User stories: see below

= Implementation =


 * Store data in the DataHub and use the Webstore to access it over the web
 * 2 types of data
 * App data: datahub + webstore (single dataset).
 * Accounts
 * Indexes
 * General data: data series - metadata in datahub catalog, data in datahub webstore. One datahub dataset for each series
 * Frontend in pure JS (Backbone)

Questions:
 * Could create a new datasets for each series

Architecture and Domain Model
https://docs.google.com/drawings/pub?id=1L92dO8knOXZkCaQCnrG21vKJnbd81Bk8dM1rHsGhT4U&w=704&h=579&.png

Source: https://docs.google.com/drawings/d/1L92dO8knOXZkCaQCnrG21vKJnbd81Bk8dM1rHsGhT4U/edit?hl=en_GB

Domain Objects
Old: http://yourtopia.net/api/

See https://github.com/okfn/yourtopia/issues/12 - authoratative version

Home Page
Info about the project

Create Index View
https://github.com/okfn/yourtopia/issues/10

Edit Index
??

View Index
https://github.com/okfn/yourtopia/issues/13

Visualizations

 * Visualization: index over time for different countries or regions
 * Ranking of regions or countries as they are right now
 * Geographic heat-map showing status of different regions right now

I may also want to see underlying series plotted along with the series.

View 'Top' Indexes
TODO

= User Stories =

See also http://econ.okfnpad.org/yourtopia-userstories

What is a user story? See http://www.agilemodeling.com/artifacts/userStory.htm

Personas

 * Administrator
 * User = logged or non-logged in user of site who is actively interacting
 * Visitor = just viewing and visiting

User stories
Value = 1-5 with 5 being the most. Please add values with your initials after it.

Create Progress Measure
As a User I want to create a progress measure by selecting metrics (series) from a set of possible metrics and assign weightings to those metrics so that I can view my new progress measure and share with others


 * Value: 5
 * Interface for users to select metrics
 * Preview result: ?
 * Edit later?
 * Require login?

Qus:
 * Previews

View Progresss Measure over Time
As a Visitor (or User) I want to view a progress measure for one or more entity (e.g. country or region) both statically (today) and over time so that I can see how entities compare and how they have evolved over time

Share My Progress Measure with Others
As a User I want to share the Progress Measure

Add Series (Metrics) to Database
As an Administrator I want to add a series (metadata plus set of values) to the database so that it is available for selection and use

As an Administrator I want to have each user's choices stored with his IP address, so that I can later see if people in different countries (or in rural / urban areas) choose different indicators to measure progress and if they weight them differently.


 * Value: 3

As an Administrator I want to have the data cleaned of votes by users that just clicked themselves through the app without thinking. To have an indicator for such random votes I want to have data on which votes where cast by voters that visited the page below a certain minumum amount of time or that only opened a minimum number of visualisations.


 * Value: 2

Qus:
 * Normalization ...
 * Every measure should have form: measure_raw, measure_real, measure_ppp, measure_normalized

= Events =


 * Hackday January 2012
 * Hackday January 2011