-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathTODO.txt
197 lines (147 loc) · 7.61 KB
/
TODO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
SPRINT 1: Low Hanging Fruit - Refactoring
April 18-30; Completed 14 pts
+ daemonize code and start on install/restart; optify - 3pt
+ https -> http problem with amazon - 1pt
+ rm displayed client/server bits of username check-in - 1pt
+ Very basic client check that clock is > some current date - 1pt
+ Better server polling for changes in signature files: use
if-modified-since; and we only poll for places that we are actually
using or should be using according to our seen macs (using
touch/untouch) - 3pt
+ Binder clears its scan list as well when movement is detected (so
scans from another place are not included in the bind) - 1pt
+ walk detector experiment - 3pts
+ Do fetch soon after doing a bind - 1pt
SPRINT 1.5:
+ on client when using local server:
map in put in: /opt/var/lib/map/sachusetts/Cambridge/4\ Cambridge\
Center/sig.xml; USA/Ma is truncated - 1pt
+ Eliminate/merge duplicate MACs that are part of the same scan
SPRINT 2: June 13 - July 7 (v0.4)
- major rewrite of internals in order to reduce memory and cpu:
scanQueue and histogram rewrite - 11pt
Still to-do after seven days:
+ act after motion detected
+ stats shown in UI
+ binding: did short (9 scan) and long (60 scan) binds
+ with maxActiveQueueLength
- clean out excess qDebugs
- re-check memory usage
- test vs existing version
+ Device/WiFi name sent properly - 1pt
+ icons: compass in/over a building? over stata- 3pt
+ implement local socket API - 3pt
SPRINT 3: July 11 - July 22 (v0.5)
+ Command line mole-binder: bind (place=, tags=), query, stat - 3pt
+ Apply binds to local database - 3pt
+ Test binding multiple nearby buildings
+ Refactor DBus so that not included with Symbian - 1pt
+ Filter bad client info: add regex filter for bad bssids sent to
server - 1pt
+ Offline mode: sense if no network connection and stop network
activity if so; reactivate when changes - 3pt
RELEASE v0.5 on projects.developer.nokia.com and on github
SPRINT 4:
+ "unbind" to remove spaces - 3pt
+ Add floors to schema - 3pt
+ "validate" to confirm that estimate is correct - 5pt
+ background plotting for demo - 3pt
+ Test applying binds only to local DB (turning network off). There
is a problem setting up the in-memory data structure. Right after a
bind, we are still picking another space, because the new space has
a lower score. - 3pt Fixed: was problem with copying histogram
structure.
+ New vs old sig map: always saying it is new and replacing old map
(perhaps correct stamp of incoming map is not being set) - 1pt
+ Fixes: GUI displays daemon state more accurately: daemon must send
it a msg every 15 seonds or so, regardless. It does so now by
sending the stats every 10 seconds GUI displays network state
correctly. Models only make network requests when when online. GUI
shows change in network status immediately.
+ When we previously have an estimate, and we go to a new place, the
binder continues to show the old estimate. This is because
"eliminated all areas" did not send an estimate.
+ Client should work in different network availability environments
Test binding when wifi turned off and only 3g is available. - 1pt
+ When no estimate is available and the device is shaken, does the
scan count reflect the change - 1pt
+ Install pid in right place in Ubuntu and Maemo - 1pt
+ Upstart working on Ubuntu
+ Show (same) version number, and in mole-binder, and in cli
+ In binder: is requestLocationTimer necessary? (yes, it is)
+ When doing a bind without network connectivity, do we keep trying
to send, or does it get switched off (and then on again). Answer:
yes, we do the right thing.
+ Emit stats whenever emitting a location so that both are reflected in GUI.
+ To lower latency when going to a new place, change getAreas so that
we request more than one area - 1pt
+ Check memory usage in Ubuntu. It is less than 1% and valgrind does
not show any egregious problems.
SPRINT 5: Handling network connectivity changes and longevity
+ Switch to github - 1pt
- Install Dorothy's plugin in browser and have it talk to moled.
- On server, change "fix" to "add" when est_location is null.
- GUI changes (holding off on these until new UI is released):
- In Ubuntu, make UI the right size
- Add icons to Ubuntu package
- UI: more room for room name
- places prefill not working for city and below - 1pt
- Better representation in mole-binder of what the daemon is doing 1pt
- Merge new UI into github
- Reconnecting to network (if you lose connectivity it doesn't come
back), and changing connectivity may cause crashing - 1pt
- Write INSTALL.txt for client - 1pt
- Look into passive scanning - 3pt
- Look at error log for moled problem: when we do a bind and disconnected, local bind can be discarded (really?) - 1pt
SPRINT 6:
- Increase scan queue limit from 12 to 60
- Version number on client: add -v option to moled. See why correct
version number is not showing up with -v on 'mole'
- Use QSignalMapper instead of casting after network functions
- Check in-memory binds. Seemed not to work during presentation in Chicago.
POST-RELEASE
- When a bind is made on another device and our floor is e.g. 0 and
its floor is e.g. 3 (but floor 3 is in our cache), we are not
fetching the updated maps of floor 3.
- Periodic Statistics sent from client and recorded appropriately,
whether or not to send them is part of settings - 3pt
SPRINT -Unassigned
- Algorithm experimentation: When signatures on the same floor have
very different numbers of APs, we seem to be picking the one with
fewer APs, at least when we only have a few scans. The one with few
APs seems to be weighed more heavily. Needs to be tested with long
term scan trace collection - 5pt
- Privacy Policy and Terms of Service
User needs to accept terms when installing software on install.
Might not ever use Binder, so needs to accept when install.
Need to create terms and policy with Legal.
But terms only apply when directing to Nokia servers. - 5pt
- Reliability and Alarms
As a user, the regular system should be available most of the time:
DOD: A server-side alert system is put in place to monitor the two
components - 5pt
- Builder eliminates spaces (happens rarely)
In an INdT exp, after a bind, it appears that the builder only
outputted signatures for a subset of the spaces it should have.
Specifically, the correct space (R20) was transiently ommitted from
the area's set of signatures. When another bind was done and the
signature map was created again, the correct space re-appeared and
the correct space was chosen. The change is to put logging in the
Builder to watch for "forgetting" of a space.
- Better icons, e.g. in control (package installer)
- "fillAreaCache:631 - loop through results" -- we seem to be adding
and then dropping results too frequently - 3pt
- Bind should not occur if we have no scans at all (one bind immediately following another).
- Remove virtual APs / reduce each AP to one real one; see email from Jun-geun on hack for how to do this (May 4 2011) - 3pt
- Screen out mobile/transient MACs as described in UCLA SenSys paper.
Looked briefly at this and mobile/transient MACs did not appear in
scan results, so maybe this doesn't need to happen - 1pt
- User should be able to reset and clean cache
Cache should be placed in correct place in Ubuntu and Maemo
(optification)
Base this on a global configuration file - 1pt
- Enforce clean entry submission
If you set the binder inputs to a value, then start activates, but
then if you delete the entry without hitting enter, you can still
click start and submit a blank entry - 3pt
- Reflect local area coverage to user - 3pt