These need reshaping by what kind of Androidy component they are, and how they group together.
For now it is just a list of things that may want to get done:
- compile list of files and metadata
- declare on the local subnet that we're running mmm (using zeroconf, ideally)
- listen for others' declarations & keep a list of local devices
- set user preferences for media to gather
- add new 'friend' (and store credentials somewhere, preferably the address book)
- using bluetooth, negotiate setting up an ad-hoc wireless network
- send query representing user 'desires' to device X
- respond to a query with a list of paths (and any other metadata we know)
- show current progress/activity
- show historic or summary of past activity
- request a particular path from a device (likely HTTP)
- serve a particular path to a device (likely HTTP)
- manage free space (inc. delete speculative downloads)
- Set keep/delete on downloads (possibly part of the general UI, not necc our bit)
- Throttle bandwidth
The next immediate task is to rough out the components we're planning to have sorted before the component weekend, and make very basic versions (which might lie) for them.