DriveLesson App Design Document Overview DriveLesson is an app intended to help new drivers log hours that count towards their learner s permit requirements. Users can customize their requirements in the Settings activity; time and save their hours for a driving excursion in the New Lesson activity; and view their history of lessons and progress in Lessons and Stats, respectively. Transitions Navigation for the DriveLesson app can be seen in the diagram below. Different screens are represented by boxes, and arrows indicate transitions. Display Display options for the Lessons screen can be changed in the Settings activity. Font size can also be changed via Settings. Finally, note that for all lessons-related screens, the year is only displayed if it is different than the current year.
Activities See last page for visual summary. HOME The app opens on the Home screen, which shows the overall progress of the user through a progress bar. The progress text (total hours completed) can be changed from a percentage (see Home 1 ) to a fraction (see Home 2 ) by clicking on the text; when opened, the app will display whichever format was last used. The Home screen also features previews of Lessons (see Home 1 ) and Stats (see Home 2 ) through tabs on the bottom half of the screen. These previews will expand to their full activities upon clicking the View More option at the bottom of the screen. Note that each lesson on the Lessons screen can be viewed in an individual Lesson Record screen and that the Stats preview also contains a Settings icon. Finally, the Home screen has a Floating Action Button (FAB) in the top right corner; this brings the user to the New Lesson activity.
LESSONS Upon clicking the View More option on the Home screen, the DriveLesson app title will compress into an action bar at the top (the FAB will remain) and the lesson records will expand to fill the majority of the screen (see Lesson 1 ). Lessons can be sorted by any of the nine different settings (see Lesson 2 ). When re-opened, the app will display whichever sorting was last used. The user is also able to search for lessons based on notes (see Lesson 3 ). The user can short click on a lesson to transition to the corresponding Lesson Record screen for that particular lesson. The user can also long click on a lesson to delete it; this will prompt a dialog asking the user to confirm the deletion. Note that for the Lessons feed, the user can choose between viewing start time vs. end time and 0h00m format vs. 0.0 hours format by going to Settings. Also, note that the Home screen s preview of Lessons will reflect these changes, as well as any sorting changes made on the Lessons screen.
STATS Upon clicking the View More option on the Home screen, the DriveLesson app title will compress into an action bar at the top (the FAB will remain) and the stats will expand to fill the majority of the screen. Stats can be displayed according to date or any of the nine settings (see Stats 1 ) or according to the three main categories: Time of Day, Lesson Type, and Weather Condition (see Stats 2 ). When re-opened, the Stats screen will display whichever was last used. Note that the Home screen s preview of Stats will also reflect these changes. The progress text (hours completed) can also be changed from a percentage (see Stats 1 ) to a fraction (see Stats 2 ) by clicking on the text; when opened, the app will display whichever format was last used.
NEW LESSON The New Lesson screen automatically sets the date to the current date and allows the user to select the time of day, type of lesson, and weather condition for that lesson. The user can click the Start and Stop buttons to respectively start and stop the timer (which is below these buttons); note that the timer will continue to run (not reset) if the Start button is pressed after the Stop button (i.e. if a user stops to buy groceries and then resumes timing his/her driving hours). Once the user has finished timing his/her hours for the lesson, he/she can save the lesson by clicking Save Lesson at the bottom of the screen. If the user opts to leave the screen without saving, a dialog will pop up asking the user to confirm that he/she would like to exit without saving the lesson. LESSON RECORD The Lesson Record screen for a lesson displays that lesson s date, total hours as a decimal, total hours in both 0h00m and 0.0 hours format, time of day, lesson type, and weather condition, as well as any notes the user might have made regarding the lesson. The user can edit the time of day, lesson type, weather condition, and notes; he/she can subsequently click Save Lesson to save any changes. If the user makes changes but opts to leave the screen without saving, a dialog will pop up asking the user to confirm that he/she would like to exit without saving changes. The user can also delete the lesson record by clicking Delete Lesson. This will prompt a dialog asking the user to confirm the deletion.
SETTINGS The Settings screen, accessible by clicking the Settings icon, allows the user to change the number of hours required for each of the nine settings; when the user clicks on one of these settings, a numerical keyboard will pop up and a cursor will appear at the end of the current number of hours, and the user can then type in a new number. The user can also customize his/her Lessons feed, choosing between viewing start time vs. end time and 0h00m format vs. 0.0 hours format. He/she can additionally adjust the font size for the app. Finally, the Settings screen has a button to clear all lessons from the app, which will prompt a dialog asking the user to confirm the deletion.
Visual Summary