Here's the concept video. I was rushing to get it filmed and uploaded by the deadline, so it's nowhere near as good as the video for my other THP entry.
Project Phases
Phase 1
Phase 1 will be the phone app. It will implement the promptness prediction algorithm and provide all of the basic functions. The MVP is an app for one phone OS (either iOS or Android) that takes a schedule and current location and, in real time, produces a number and displays it onscreen that shows how early or late the user is to the next event, along with the event details, and allow for cycling through the rest of the day's events. Further goals are to provide a homescreen widget, a lockscreen widget and/or lockscreen replacement, and notifications.
Phase 2
Phase 2 will be the physical pocketwatch. It will connect to the phone app via Bluetooth (maybe BLE) and serve as an external display device and notifier for the data the app produces. The MVP is a device that connects wirelessly to the app created in Phase 1 and displays the data it produces (the same data the app itself displays), as well as allowing cycling through the rest of the day's events. Further goals are to illuminate the face for night use, automatically display the current status upon being pulled out (without having to press any buttons), and maybe display notifications from the phone like a smartwatch does.
Phase 3+
Further phases may encompass such things as a wristwatch or smartwatch app development. This is very open-ended right now; suggestions are welcome.
System Block Diagrams
Overview:
Software side (phone service/app mainly):
Hardware side (physical pocketwatch):
These features will not necessarily all be included; they're in the diagram to give an idea of what would be possible. User input, Bluetooth, needle, and screen will all be included for sure because they're the vital features.
Code
I've written no code yet. Once I do it will be in the GitHub repository linked on the left.
Libraries
I intend to use the Switec motor library linked on the left. It looks like it will work pretty well. I like how it's asynchronous non-blocking (as it says in large text in the readme). It's under the 2-clause BSD license (aka the simplified BSD license, or the FreeBSD license), so I'm free to use it as long as I give credit to its author.
Connectedness/Openness
Connectedness is pretty obvious with this project: it gets data from the user's (probably cloud-based) calendar, and there's a connection between the phone app and physical watch. Beyond that, it aims to improve users' connection with time and schedule. As for openness, this project will be under the ISC License, which is very similar to the MIT and new BSD licenses, just without all of the fancy terminology. Basically, anyone is free to use it in whole or in part for any purpose as long as they give me credit for the parts I made. (Though, as I understand it, because they're free to use whatever license they want for their own projects, people who build on those projects will not be required to credit me.) That also covers the algorithm for predicting the user's punctuality; I hope that in particular, or its components or principles, will be useful in other projects.
Wow, so much goes into figuring out how late/early one will be, all that predictiveness and past-travel-history! Looks like quite an undertaking!
I dig the design with the OLED at the bottom, subtle, but informative. And your drawings are great!