We are overall satisfied with our progress this term, particularly with the current UI and functionality of the app. Some of our more significant technical accomplishments include figuring out how to save dictionaries holding user and region data to the phone, syncing contacts with the app in order to import friends into a group directly from contacts, using a tab view to load dynamic information, adding custom functionality to the map such as the ability to edit the overlay radius of the annotations, and adapting asynchronous Alamofire requests to our synchronous data flow.
We are at most a week behind our proposed timeline, as there were some unexpected challenges that we had to address. Since we found out that Apple only allows us to monitor 20 locations at a time, most of our implementation of the database and location services had to be restructured as we describe above, which took up a lot of our time in the second half of the term. Additionally, our personal developer certifications were revoked by Apple, which means we can’t currently test the app on our phones and have to rely on the simulator until we set up the Dartmouth-provided keys.
We hope to solve this issue, and finish up connecting the front end to the back end, within the first week of spring term. After that, the month of April will be devoted to finalizing any remaining functionality and testing with multiple mobile phones and live location data. From there we plan to split into two streams, one focused on iterating the app prototype and the other devoted to the companion hardware. The physical clock will require a Raspberry Pi connected to a digital screen and a clock hand controlled by a Servos motor, housed in a wooden enclosure. The remainder of the term will focus on integrating the hardware with the software and improving the application based on user testing.
Pitch: Have you ever wanted to verify the location or safety of a loved one or friend? The options currently available for you are to call or text them and wait for a response, track their location on Find My Friends, or follow them everywhere they go. Burrowed Time seeks to provide a mobile application AND clock, to provide that peace at mind within preset locations. This way, you do not have to rely on a response from a text or phone call, and you do not have to be constantly tracked on Find My Friends. Locations within which you can be verified at (or not) are predetermined by each particular group.
Back-end front-end overview, challenges faced, current status
GUI Design: Each group you are a part of is on a different page which you horizontally scroll through. On each of the group pages, you then see the location of each member as long as it is a part of your preset locations. If they are not “on the clock” (they are outside of a preset location), they will be registered as “Travelling”.
Data Sources: Our data comes from two places, user input through the settings and group setup, and the location data being updated and checked at certain intervals. User data concerns user name, phone number, and visibility for now. But they also input names for people to add to their groups and their phone numbers which is creates a Person object stored on the phone, and each of these Person objects are put into Group objects. A Group object has a GroupName and a list of Persons. Each user, subsequently has a GroupList object attributed to their account, and each Group in their GroupList will make up the pages on the UI. Our group lists are stored on the phone for quick access, and every time we load the view we check that the lists stored on the phone are the same as those on Amazon Web Services, our database for all information.
Demo: Live or recorded
Goals for end of the term: App finished. Map, friends, and back-end implemented. Fully functional on a phone. Have transfer of data from AWS accessed by the Raspberry Pi for the start of the clock development. By the March 8th final presentation have a full phone demo of our app. We will proceed in the spring term, to build a beautiful clock which is connected to the Amazon Web Services and will display each member of that clock, with their location as it pertains to the clock locations. In essence, it will embody the spirit of the Weasley’s clock from the Harry Potter books and movies (See below). Unlike their traditional clock, ours will be dynamic to the locations set within that group.