21w.789 field evaluation lecture notes

http://web.mit.edu/21w.789/www/syllabus12.html

quick feedback — get mvp out within weeks of idea, can see things not see in lab — fit into daily life, creative uses of app

mvp should address specific question or test experience

social groups — if it’s social app, make sure alpha users are friends
public betas — can have feedback button
but this mvp proto — usu friends sending emails
people do not accurately report how often they do things — instrumentation is important –VCs look for number engagements, number of mins of engagements per day. and for our own understanding.

can have voicemail daily or weekly depending on length of study.

talk to them as quickly after use as possible

for story finding, call researchers right after find story, and parents call after get comms with children

if creating content, use content analysis

processing data — affinity analysis, statistical analysis if lots of data

good example: civic content — about cities and governments: what was style of story telling,  how long ago story occurred.

instrumentation and app analytics – features used or not (if not exposed to user) — see problem and then use qualitative method to understand why problem exists

power of combining = what and why people use system

facebook analytics team blog is very interesting. google is famous for this a/b testing.

this is a whole career. sifting patterns out of data.

einmann (sp?) elctures are very interesting.

contextual inquiry — h&r may be most relevant to this, where they watched people do taxes — improved online tax system to be more helpful. think aloud = can learn what people are thinking at the moment.

Experience Sampling Methods
how does all of britain spend their time? ?__? and how it changes over time (watch tv, read books). used to call people so have data for 50s, 60s (time on domestic acctivities has completely plummeted thanks to dishwashers etc). also studied location privacy / location fidelity –> learned likely no algorithm will solve this (e.g. buying a surprise gift etc.)

would people lie about locat? no usu. just say busy.

regardless should prolly always do semi-structured interviews
to understand where data comes from. vs structured have set list of questions
use specifics, not generalities

robust
multicast for new updates — sent repeatedly
wifi access points –> drilling stadium walls to run wires
enterprise class phone — okay to drop on floor etc.
researchesr were the ones producing the updates
controlled access area — so can get phones back
initially thinking rental where people can rent phones during game
other researchers watch people using it
after goal, during midtime, after game = spikes in use
final cut pro -> cannot handle four goals in last ten minutes (fans expect <30sec latency)
^– focus on that. want different angles, commentary

created app now 5 secs to edit, <30 secs to user.
===
2005-06 data plans not common
made sure people recruited had unlimited texting
reading contact dbase hard back then
big battery vs. writing algorithm to optimize energy use
to users mental model -> wrong, locations versus large locations
get broad group as possible (altho may be difficult for this class) but for hci paper publishing
corporate research lab -> if paying them, they may be very positive to you, and talk about it to friends is much more telling
===
hours-long prototype
send text messages when people play song – init and artist/song
recruited close friends with diverse music tastes
(they primarily play music on desktop at time) yep primary devices

depend on country whether require payment as a corporation — can just be pizza
tell them –> getting paid no matter what, use it like any other app you downloada

spacehold,
the plan: daily email manual log, vs instrumentation of android (tech accuracy)
location sharing experience — prefrosh at CPW (ask them to email us / survey those who come to build party)

hacknyc intro / api intro stream of thought / liveblogging

 Saturday, March 24, 2:10 PM Hackny
http://hackerleague.org/hackathons/spring-2012-hackny-student-hackathon/wikipages/4f6e1d1e0e3c4d0001000045
http://hackerleague.org/hackathons/spring-2012-hackny-student-hackathon/wikipages/4f6e2fda74a9980001000010

office hours: node, js, api 101, python, ?__?

judged by awesomeness and nothing else

selected apis by vote and not sponsorship

Longtail — jwplayer (flash/html) — js api.
longtailvideo.com/demo
–embedded geodata. updates vwidgets on the side. -> api working better on ipad than on the desktop. O__o

jsfiddle.net/979bS

JSON. events: { onPlan: …} –> vs popcorn ?__?
bitsontherun -> iphone on th erun video integrat w/ longtail video
===
parse.ly, zach and emmitt
Dash for publishers (semantic content) –> google analytics + higher level for online publishers

API:
1. Extract: e.g. columbia professors -> identifies all the “entities” (topic or idea) -> marks it with tags
[REDACTED], POST w/ test and returns (5-10sec) url to check status (query for working/done). Returns text with
1. -> any page
[url REDACTED]

2. ~rich structured article data API?
json, jsonp (call directly from js/ajax), and xml outputs
2 -> for articles already indexed in parsely database

ideas:
entity swapping (rep vs dem), mad libs, historical reader

=> nyc startup ecosystem, full time student

===
nytimes api, Brad
developer.nytimes.com
17 APIs

throough documentation with preview w/ api request tool.
Facets: >40 facets (complex and robust APIs)
complex in general

~does not yet support jsonp
http://www.mashape.com/apis/NY%20Times
===
aviary.com erin and ari -> web api
photo editing toosl for you as the developer to integrate.
aviary.com/ios (sdk) -> very simple to use. crop, rotation, effects … want us to build next instapaper etc. Not intrusive (blended into app)

very quick integration, cross platform (web, ios , android)
www.aviary.com/webwww.aviary.com/code-generator (including a js w/ editor)
they will post to our app (and we decide how implement security)
www.aviary.com/ios
android: has sample app in ADK download
www.aviary.com/android-documentation
you choose tools available in app
api@aviary.com

===
movable ink.com
=> #hackny irc.freenode.net
put dynamic content into email (generate content that goes into email when opened). (crop tool to pull from website).
e.g. bottom of email: shows progress of selected donorchoose project. donorsig.com/capture
htrml5 support, streaming from site into email o___O (beta)

rest api prolly not needed. movableink.com/api/docs

===
4sq, aditya
very powerful, used even for own web client internally so you have almost as much power
very easy to setup and get going quickly = good choice for beginners

users, venues, tips
developer.foursquare.com/apishowcase or something
-> timehop ^__^
oauth, restful
also many libraries for almost any language ^__^ yay wrappers
===
ordr.in, felix (sp?), david
stupdendously easy way to add food ordering to hack (rich structured data to menu and can submit food delivery orders)
e.g. ordr.in/devleopers/restaurant
there are also utility apis around restaurant (saved user profiles, restaurant taxes, etc.)
restful, jsonrific
yep libraries

===
tumblr. dereck, john? bunting
blog.johnbunting.me/api

json console to mess with

ruby client

client.posts(“onetinyhand.com”, false. {:limit => 1})
“give me the first post on here”
client.posts(“onetinyhand.com”, false. {:tag => “kim jong il”})

will be open sourcing ruby client (not tested)

===
10gen, francescapasha, barriesegal
prezi ~
mongodb, nosql, document orientd, open source, schemaless DB
relational databases mostly in DB class.
docs nested in collections, great for working things out on the fly. eg hackathon.

rdbms (tradtl) vs mongo
table -> collection, row > document, column > field, index>index, join (takes a long time)>embed** (relations between difft collections, amke documents fster), can add as go.

create relationships between data

use mydb
var hackathon = “authoer”:”fra”, “title”: “hack”};
db.blog.save(hackathon);
db.blog.find();

_id –> autogenerated
db.blog.find({author: asf})
.fin().sort(….)
db.blog.update(P_id: post.id{ …….

query operators and update modifiers

db.blog.remove() (remove all objects)
db.blog.drop() (drop entire collection)

there is shell embedded in try.mongodb.org
tutroail, next, …. ….
api.mongodb.org (drivers for different langs. python on of the strongest) -> python OH knows some mongoDB

===
etsy API, christopher
800k active users / 13 mill active listeners
100+ countries
14k+ people to make living

cando:
search by color, listing info, put up listing, anything can do by web
can access own sales data (metricly!)

etsy.com/developers
-> create new app on the left, or documentation -> api ref

openapi.etsy.com/v2/listing/active?keywords-bike_valet&apikey=…….
&includes=Mainimage

etsyonsale
etsy-tv.heroku.com
wangsandneeds.me (twitter crawl)
scrollsy.com
codeascraft.etsy.com (blog)
@etsyapi
===
nodejitsu, charlie, paolo
(10+ people on irc often)
@indexzero, @hij
loves open source, node.js
anything community -> os
company/corporation -> our ip, proprietary

js low barrier to entry, sophisticated network

nodjitsu, public cloud ~__~ “jitsu” is public command line for deploying
develop.nodejitsu.com (deploy from web)

mongo or couch, … can choose database

smart snapshots (git tags -> tarballs) (yay rolling back producting bugs)
do not need git (do all version management for you)

github.com/nodejitsu
github.com/flatiron (after ny building) –> decoupled tools for logging, routing, … very convenient for getting started with

~node-chat, MIT license

clone, cd it.
node server/server.js (uses socket.io, allows realtime web porgramming)
localhost:3000
yay~~ talk to self on localhost…..

npm install jitsuyou should be donig it right now (npm = package manager for node

in that dir, jitsu deploy (reads package manifest) & need extra properties, which prompted for. (0.6.x) = latest version of js
hackny-chat.nodejitsu.com

gimmesomebeta.nodejitsu.com
hackny-chat.jit.su (soviet union)
===
ambassador’s email: s2012ambassadors hrm at hackNY.org
===
donorschoose NYC, oliver, cto
nonprofit, website where public school teachers push best ideas for schools they can’t afford, founded by public school teacher in teh bronx, does actually work (35 mill donations, delivered over 120 mill since inception, 6 mill students). yep, microfinance (real people donating small amounts)

garage developers on their own time will build things and make it moar awesome

~> naive about reaching out. at beginning, no one used it @__@
but now strategic asset

25 mill projects ~ yay long tail properties (topical and geographic diversity of proposals)

can query by location, zipcode, radiate out, or by latlong, point radius / boudning box,
classroom subject, e.g health and wellness
teachforamerica corps members
keyword search

returns:
subject area in
amount needed, teachers name, locale info, photo, short essay by teacher, can support transactions (talk offline), campaign level donations (impact statistics in real time)

~starbucks: w/ wifi: show nearest classroom project to where they are
~sonic: ask customers to pick projects they donate to
~chevron: based on where pumped gas, fund projects nearby
~amazon?: willing to buy one give one, classroom project which requst same thing
~ email sig: based on sender, choose which projects by sender’s whims (music, bronx)
~ running commitments for donations
~ 4sq mashup, recs by places visited in the past

and don’t care if we are the main focus or not, just build things awesome 🙂

donorschoose.com -> play around w/ frontend search
api is essentially programmatic access to frontend
demo api key is full featured (no need to wait)

and has “prepaid” gift cards if we want to testdrive the donation process
===
samir yay at nextbigsound.com for api key
next big sound
analytics and insights for the music industry
premium products: dashboard to understand impact of key events on performance (key metrics)
methods: artist search, profiles, metrics

returns json, can query artist or

bookmarklet ->
api3.nextbigsound.com
===
~kickin?__?~ api not present ^__^

==
hackerleague page for listing!!!
ambassadors:
jared
48hrapps, hacklympics, boxxy?
john, tumblr, python, ruby, php, mysql, redis?, mongo…
rob specter, twilio, python, js, ruby
john 2?, cofounder of hackerolympics, 48hrapps
zach, parsely
aditya, 4sq, data science, not js (python, perl)
john goodwin – social data and analysis, cofounder of a company
dan from something, rby on rails,
===
5pm, oh, nodejs, dan rm201
6pm, api 101, rm102
5:30 rails
7pm python

demo on sunday -> make sure project on hackerleague

“you draw nyquist with d-contour?”

http://memegenerator.net/instance/16289003 

One of my classmates made this last week. ^__^

In 6.302 (Feedback Systems) we’re supposed to have learned nyquist stability criterion (which, by the way, results in some fairly weird-looking plots[1]), and they were on the test today.

Of course, I’m about three weeks behind the class and just learning about root locus XD oops. Spring break = time to catch up on classes ?__?

[1] e.g.

http://teal.gmu.edu/~gbeale/ece_421/hw_421_f00_15.html 

I submitted a doodle of nyancat as one of my quiz answers. Clearly, just as there is a “model a butterfly in solidworks” challenge created due to my ineptness, there should be a “create a feedback plot that looks the most like nyancat” challenge 🙂

projects blog (nouyang)