-
Notifications
You must be signed in to change notification settings - Fork 0
/
slides.pug
105 lines (105 loc) · 4.49 KB
/
slides.pug
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
section
h1= title
h2.author= author
img.logo(src='img/logo.png')
section
h2 Problems to overcome
ul
li.fragment Getting the info early enough
li.fragment Which direction the cyclist wants to turn
li.fragment Limit of 100 geofences on Android
li.fragment Knowing user is a cyclist and not a driver
li.fragment User experience
li.fragment Users without Android phones
section
section
h2 An app design
img.featured.less(src='img/app.jpg')
p (Press space to advance, and type 's' to read notes)
section
h2 User registration
img.mockup(src='img/mockup-signup.jpg')
aside.notes
| Users will need to register to use the app. This ensures that we can
| identify users who are using the app in a problematic way (e.g. as
| drivers) and potentially ban them from the platform.
section
h2 Pre-drawn routes
img.mockup(src='img/mockup-routes.jpg')
aside.notes
| In order to understand the direction that users are approaching from
| and which way they want to turn, the app requires users to follow a
| pre-entered route in a specific direction. The app should come with
| several popular commuter routes pre-entered by the council. Although it
| would be possible to automate the process of working out which direction
| a person is approaching a signal, there's no way to know which way they
| want to turn without knowing their route in advance (as we do for buses).
section
h2 Initiating a journey
img.mockup(src='img/mockup-route.jpg')
aside.notes
| Once a user has picked a route, they can hit the start button to get
| going. The app can confirm their GPS is working and that they are near
| the start location.
section
h2 On approach to a signal
img.mockup(src='img/mockup-signal.jpg')
aside.notes
| When a user approaches a signal, it activates the geofence and sends
| the appropriate data to the SmartCycling server, which in turn converts
| it to UTMC and sends it on to the signal priority system. Information we
| have will include the rider's location, their speed and which direction
| they intend to turn (based on the current route). The app should look
| for every signal on the route, not just the next one, and assume that
| each signal will only be passed once.
section
h2 Feedback in the app
img.mockup(src='img/mockup-feedback.jpg')
aside.notes
| The app can tell people which signals it detected in time to send the
| prioritization signal. This information should be generated and stored
| server-side so that it can be used for analytics and fixes to broken
| routes.
section
h2 Auto-ending journey
img.mockup(src='img/mockup-done.jpg')
aside.notes
| If the user passes the last signal, or doesn't pass a signal for a set
| time (e.g. 1 hour) then it could mark the route as complete. Users
| could also have a stop button.
section
h2 Record mode
img.mockup(src='img/mockup-record.jpg')
aside.notes
| Adding new routes should be possible with a "record mode". This could
| record which signals a user passes while cycling a new route, and then
| present them with a list of all signals. Maybe it could assume
| "straight ahead" for all of them as auto-detecting the direction would
| be hard for a small-scale app.
section
h2 Manually editing journeys
img.mockup(src='img/mockup-edit.jpg')
aside.notes
| Then users can go in and remove inaccurately detected signals, and
| change the direction at signals where they are actually going left or
| right. There would need to be a UI that is aware of all the signal and
| movement codes.
section
h2 Technical details
ul
li.fragment Set up Android geofences when journey begins
li.fragment Send message to SmartCycling server when entering geofence
li.fragment Message converted to RTIG-UTMC format including "movement"
li.fragment App needs to be aware of signal IDs and movement IDs
li.fragment App can use ActivityRecognitionClient to identify drivers looking to abuse priority
section
h2 Smallest first step
ul
li.fragment Identify popular route
li.fragment Hardcode that route in both directions
li.fragment Need signal / movement IDs and geofence radius
li.fragment Build app with just start/stop and route choice
li.fragment No feedback / editing
section
h2 Thanks!
img.featured(src='img/bike.jpg')