Solve&Snooze is an alarm with puzzles you have to solve in order to snooze!
The goal of this application is to improve productivity by helping users wake up when they intend to wake up. This is accomplished by once the alarm goes off, the user has to complete a predetermined type and number of puzzles to snooze the alarm. The user can choose the type of puzzles and quantity when they are enabling the alarm.
The app features a menu and multiple screens. Screens include a main screen, a screen for editing an alarm, and screens for the puzzles.
The alarms set by the user are saved to a database.
There are graphics and animation for some of the puzzles implemented.
The application uses sound for the alarm.
The user can optionally use voice recognition to edit an alarm, which they can review before saving.
The use of GPS allows a user to set an alarm with location enabled, so it won't go off outside of a one block radius from where you set it.
One of the puzzles uses sensor-based data collection to be solved.
We analyzed eight applications [References 1-8] as a part of the preliminary research before developing this application. From our analysis we found the reviews from users often reflected poorly on the quality of the application. For example users voiced issues with the alarms being inconsistent, alarms need to be reliable. Additionally, some of the puzzles could be solved without significant user interaction with the device. We did not think this was a good approach because it didn't seem to achieve the advertised goal of forcing the user to wake up by solving a puzzle or completing a task.
Implementation of basic screens.
View only for the main alarm screen, view for editing an alarm, view for the memory puzzle screen, and math puzzle screen.
Implementation of navigation between screens. Below are screenshots of implementation at Checkpoint 1.
Main Activity, view of created alarm. Challenge button is for testing purposes to navigate to puzzles.
Edit Alarm Activity, no logic behind buttons, only visual.
Memory Puzzle Activity, a puzzle to solve to snooze the alarm. Current implementation "SOLVE!" is a button, navigates to Math Puzzle Activity.
Math Puzzle Activity, "SUBMIT" button navigates to Main Activity, hard coded math problems.
Implementation of editing and enabling alarm. Implementation only allows a single alarm.
Alarm sound goes off based on time but no other attributes of the alarm are working.
Math Puzzle randomizes math problems and verifies answers provided by user.
Memory Puzzle chooses 6 random images from image set and randomizes position.
Edit Alarm choices change the alarm that is saved.
Main Activity reflects saved data from Edit Alarm. "CHALLENGE!" remains for testing purposes.
Memory Puzzle Activity has a memory game that can be played. Once solved, navigates to Math Puzzle Activity.
Math Puzzle Activity implemented, unchanged from Checkpoint 2.
Implementation of snoozing the alarm based on solving of the puzzles.
Alarm goes off based on the day of the week that is set for the alarm.
Implementation of receiving sensor-based data based on orientation of device.
Main Activity - Alarm is enabled and will go off at 3:01PM on Thursday. Challenges are not enabled. "CHALLENGE!" and "SENSOR" button are for testing purposes.
Edit Alarm Activity is unchanged from previous checkpoint.
Memory Puzzle Activity - when the puzzle is solved it snoozes the alarm.
Sensor Based Activity is the basic structure of a sensor-based puzzle. The dinosaur moves left to right based on tilting the device.
Implemented ability to enable location based alarm.
Implemented a sensor-based puzzle.
Implemented a database, alarms save to database and can create multiple alarms.
Edit Alarm Activity - enabling location will mean that when the alarm is enabled, the alarm will be disabled if the user goes outside of a 100m radius.
Sensor Based Puzzle Activity - the fox bounces up and down, the user controls left and right motion by tilting the device. To solve the puzzle the user must get the fox to make contact with each of the mice.
Memory Puzzle Activity, the puzzle resizes based on the screen.
Math Puzzle Activity is unchanged.
Implemented voice enabled commands,
The number of challenges chosen associate with challenges presented when the alarm is triggered.
Added menu to the Main Activity for adding an alarm.
Added a Help Activity, Help is navigated to from the menu on the Main Activity
Implemented automatically setting the volume to 80% when alarm sounds, locking the volume, home, and back buttons until snoozed.
Added basic activity, if no challenges are requested, alarm functions as a normal alarm, without puzzles.
Implemented multiple alarm sounds to choose.
Main Activity - scroll view is entire screen, remove add alarm button and replace with menu. Menu also has a help button.
Hep Activity - explains basic usage of the app for a user who needs help navigating.
Edit Alarm Activity - added ability to change sound of alarm, updated puzzles to reflect implemented puzzles, and challenge number associates with challenges when alarm goes off.
Edit Alarm Activity feat. Voice Recognition Activity - voice recognition adds settings to alarm being edited based on voice commands.
Solve and Snooze was implemented using MVC architecture. The Model consists of the database and alarm manager, as well as the logic of the puzzles. These components can be used in another Java program, they will not need to be adjusted because they are tools to drive the functionality of the views. The View consists of the alarm, edit alarm, help, and puzzles. These components are what the user sees and interacts with. The Controller components consist of handling user interactions, and calling the model implementation for action of the user. Therefore, there is a controller component for each view.
The app features a menu and multiple screens. Screens include a main screen, information screen, a screen for editing an alarm, and screens for the puzzles.
The alarms set by the user are saved to a database.
There are graphics and animation for some of the puzzles implemented.
The application uses sound for the alarm.
The user can optionally use voice recognition to edit an alarm, which they can review before saving.
The use of GPS allows a user to set an alarm with location enabled, so it won't go off outside of a one block radius from where you set it.
One of the puzzles uses sensor-based data collection to be solved.
The work could be extended with user testing, as well as creating more puzzles for the user to choose from. User testing would provide feedback on the success of the application and areas for improvement. Creating more puzzles would allow the application to appeal to a broader audience depending on the puzzles, and likely increase interest in the app with the provided variety.
Alarmy - https://play.google.com/store/apps/details?id=droom.sleepIfUCan
Alarm Clock Puzzle - https://play.google.com/store/apps/details?id=com.wroclawstudio.puzzlealarmclock
I Can’t Wake Up! Alarm Clock - https://play.google.com/store/apps/details?id=com.kog.alarmclock
Shake-it Alarm - https://play.google.com/store/apps/details?id=com.ingyomate.shakeit
SpinMe Alarm - https://play.google.com/store/apps/details?id=com.spinmealarmclock
Challenges Alarm Clock - https://play.google.com/store/apps/details?id=com.garageapp.alarmchallenges
Smart Alarm Clock - https://play.google.com/store/apps/details?id=com.fragileheart.alarmclock
Alarm Clock with Puzzle Game - https://play.google.com/store/apps/details?id=com.yystudio.alarmclock