Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 72dad9c3dd
Fetching contributors…

Cannot retrieve contributors at this time

84 lines (82 sloc) 2.431 kb

Client

use resources for strings

about screen

Android 2.0 compatibility

stability

HTTP Helper

unify calls across components

consistent error handling/messages

use futures where appropriate

Start Activity

start button

show link

cancel invitation

wait for response (poll)

move on to navigate when confirmed

launch Locate when confirmed

make it fit for horizontal orientation, low-res

Navigate Activity

show compass

point compass north

point to fixed location

get target from Locate

implement cancel

prevent multiple navigation activities from running

menu icons

distance indicator

stop when other user is done

Locate Service

get location from device

send location to server

get target from server

do this periodically

show notification

better notification icon

class-level setters: best way to communicate between components?

Follow Activity

confirm

cancel

Server

POST /start

response: {“link”: “http://ferrante-della-griva.appspot.com/follow?id=8024802”}

GET /$ID

  • Triggers Follow activity
  • May confirm, which goes to POST
  • May cancel, which goes to DELETE

POST /$ID

  • sets followed_at

PUT /$ID?latitude=44.2424&longitude=133.9014&name=follower

  • sets your lat, lng, ping_at
  • returns other’s lat, lng

DELETE /$ID?name=leader

  • sets ended_at, ended_by

share code for error cases

all links should fall back to splash for browser

use JSON lib

resolve string equality in follow controller

Data Model

id

started_at

leader_name

followed_at

follower_name

leader_location_id

follower_location_id

ended_at

ended_by

Mirah Bugs?

CONSTANTS = “foo”

@@class_variables.nil?

futures

loop => while true =\

can’t override finish

can’t infer double => float

can’t refer to nested constants

can’t access R resource classes

question marks in class method names cause dex failures

appengine_tasks is in mirah instead of dubious; huh?

–address=localhost hardcoded into appengine_tasks.

Ugly things to clean up

Auto-generate resources from yaml, etc.

all the this=self stuff

json from an inputstream

Jump to Line
Something went wrong with that request. Please try again.