My incessant ramblings
Today’s commits for my dissertation project:
Stop timer when remaining drive time runs out
When the drive timer reaches zero, the timer should stop instead of carrying on through to negative time for the remaining drive timer section.
Added vibrate alerts
To warn user when one hour, thirty minutes and no driving time remains by vibrating watch once, twice and a long pulse respectively.
Vibrate alerts to warn the driver that the rest period should taken soon. The Pebble doesn’t support audio alerts, but driving a HGV can sometimes be quite noisy so I feel that vibrate alerts are better suited to the environment. I also like the physical integration with the Driver Timer to the user, as the user receives haptic feedback as an alert.
Added rest time place holders and separation line
To get an idea of how the final UI will look, I have added a place holder timer for the rest period.
My latest commits to my dissertation project added a countdown timer to show the user how much driving time they have remaining.
This took me a while to show remaining time correctly. The Driver Timer counts up in seconds, I then use modulo operation (http://en.wikipedia.org/wiki/Modulo_operation) in order to display this counter correctly for time, for example, when the seconds reach 60, they should then return to 0 and not 61. I originally displayed the maximum amount for each driving time, 4 hours, 30 minutes and 0 seconds and then removed the current driving time from it. While this does work initially, testing revealed that it would beging to show negative numbers after a 30 minutes and seconds would need to start at 60 on the remaining timer, which did not look intuitive. The technique I finally used was to do something similar, earlier on in the code. After working out how many seconds were in 4 and a half hours, I was able to subtract the current amount of seconds from that and then apply a modulo operator in the same way as the driving time to display the remaining time correctly.
As well as using my GitHub commits as a data collection tool, I am going to use this blog alongside personally (and hopefully others too) using my Driver Timer in a working environment.
This cycle of creating, testing and then making amendments is known as iterative design and action research.
No theory can tell us every- thing—or, in a sense, anything—we need to know to participate in a practical activity. Practical knowledge comes only with the accumulation of direct experience.
(Robert Craig, 2006)
A big advocate of this approach is Donald Schon (http://en.wikipedia.org/wiki/Donald_Sch%C3%B6n). Some quotes from Schon, along with many others can be read at this very interesting document (https://www.google.co.uk/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0CCEQFjAA&url=http%3A%2F%2Fwww.gaje.org%2Fwp-content%2Fuploads%2F2011%2F09%2FCollection-of-Quotes-about-Reflection-and-RP-July-2011.doc&ei=yGaAVOqEJM7karfNgkA&usg=AFQjCNEAjpBOfy8fIRDiq-q-hgTCPZjAyQ&sig2=QTMQ2AuFWQWRSlSrgyth3g).
Another prominent figure to consider would be German philosopher Martin Heidegger (http://en.wikipedia.org/wiki/Martin_Heidegger) who takes a slightly different point of view to Schon.
Heidegger emphasizes that interpretation is a matter of working out what is implicit in the tacit preunderstanding that provides the necessary preconditions for interpretation. Schön, in contrast, emphasizes the role of discovery, through which designers creatively discover surprising consequences of their design moves. These two components of interpretation must be integrated in a comprehensive theory.
Iterative design is the key part of action research. Here are some example diagrams of generic iterative design cycles which I should base my person design cycle on.
For my dissertation I decided to create a timer application for HGV drivers adhering to EU driving laws. To coincide with my final project, which will be home automation controlled via Google Glass, I wanted my dissertation to involve wearable computing. The Pebble smartwatch (https://getpebble.com) is a relatively inexpensive piece of hardware that is developer friendly and has an active developer community.
My project is fully open source and available at my GitHub repository (https://github.com/sephallen/DriverTimer). I plan to use my GitHub commits as a method for data collection, and I will describe my commits in detail on my blog starting from today.
Data collection is the process of gathering and measuring information on variables of interest, in an established systematic fashion that enables one to answer stated research questions, test hypotheses, and evaluate outcomes. The data collection component of research is common to all fields of study including physical and social sciences, humanities, business, etc. While methods vary by discipline, the emphasis on ensuring accurate and honest collection remains the same. The goal for all data collection is to capture quality evidence that then translates to rich data analysis and allows the building of a convincing and credible answer to questions that have been posed.
My project is based on an open source stopwatch project created by one of the developers at Pebble which is also available on GitHub (https://github.com/Katharine/pebble-stopwatch).
Unfortunately the original project was based on an earlier version of the Pebble SDK and would not compile due to some build errors. After fixing the errors I was presented with this:
I then made some minor UI tweaks to suit the application better for recording driving time:
Made timer units more relevant to driving, H:MM:SS instead of MM:SS:MM. Increased timer font size. Removed line separator.
From my GitHub commit (https://github.com/sephallen/DriverTimer/commit/afaf3f2e8b95366a67f8ece93bcceb354ffa5b1c).
Before creating my Driver Timer application, I have conducted a lot of research into existing products that share similarities. By far the closest product, which I have personally been using for a few years now, is the Trucker Timer app (http://www.truckertimer.com), available on Android, iOS and Blackberry. This application is great and very full featured. It follows EU laws precisely and keeps a logs of every working day which can be accessed at any point. For a Pebble, this is far too much for its limited hardware, for example manually entering data would be painstakingly difficult. My main concern with this application is that you need to install in on a mobile phone, and in the UK even being caught touching a mobile phone while driving can lead to a huge fine and points on your licence, HGV drivers are even penalised more than regular car drivers.
The Trucker Timer is a paid app (currently £3.32) that has been downloaded between 10,000 – 50,00o times on the Google Play store. It also has a good rating of 4.6/5 and has a lot of positive feedback.
With my Driver Timer, I will make the user experience much more integrated because it is on a watch, not a phone, and eliminate the risk of operating a smartphone while driving.