(The site is for UX portfolio only and is not being maintained any more. If you want to see my recent personal updates, please visit my blog.)
Alarmen
After the 10th time that I set up an alarm on PM whereas it was supposed to be AM on Apple default alarm, and the 20th time I stopped the alarm whereas I was supposed to snooze, I decided to design my own alarm that is error-free. Although the functionality is simple, I applied user-centered design to make it stand out from many competitors. This is a project that spanned for 2 months from competitor analysis to usability test.
Role: UX/UI Designer
Problem
1
Active alarms are not standing out
AM and PM are not differentiated obviously
The turned-on alarms in the later hours are buried and hard to be discovered as all alarms are ordered by the time
![IMG_0752 2.PNG](https://static.wixstatic.com/media/55e91f_742c60114ec240d1ab8b6947c11404f3~mv2.png/v1/fill/w_153,h_272,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/IMG_0752%202_PNG.png)
10:00 PM
ON
The turned-off alarms are distracting
2
Too much mental effort to add a new alarm
Users don't know how long the snooze will be. Also, the length of the snooze is not adjustable.
![IMG_0753 2.PNG](https://static.wixstatic.com/media/55e91f_6d3f495c23e0411b9ec4e830f759d7be~mv2.png/v1/fill/w_154,h_274,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/IMG_0753%202_PNG.png)
Too many scrolls to set up the time
Label is confusing
3
Unnecessary clicks to edit an existing alarm
To edit an existing alarm, users have to click twice - 1) click on the "Edit" CTA
![IMG_0752 2.PNG](https://static.wixstatic.com/media/55e91f_742c60114ec240d1ab8b6947c11404f3~mv2.png/v1/fill/w_153,h_272,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/IMG_0752%202_PNG.png)
![IMG_0754 2.PNG](https://static.wixstatic.com/media/55e91f_b5684aa6281e4d2082e07ad53cbb8eb3~mv2.png/v1/fill/w_151,h_269,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/IMG_0754%202_PNG.png)
2) click on the alarm to open it
There's no obvious CTA to indicate how to do edit
4
Error to snooze / stop
We can minimize errors by directing the users towards the right way to snooze and stop.
"Stop" is confusing - it could mean disable this ring only and keep the rest of the rings.
Also, it's not clear on how long the snooze duration be.
![IMG_0757 2.PNG](https://static.wixstatic.com/media/55e91f_089cd907b5484e628164f2824bb6ddc4~mv2.png/v1/fill/w_151,h_269,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/IMG_0757%202_PNG.png)
![IMG_0756 2.PNG](https://static.wixstatic.com/media/55e91f_2f9f0b4d7e2c4647a3d68e0c5226366b~mv2.png/v1/fill/w_151,h_269,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/IMG_0756%202_PNG.png)
No CTA upfront to indicate where to click on.
Competitor Analysis
1
Home screen
2
Add an alarm
3
Edit an alarm
4
Snooze or Stop
Apple
IOS
List all alarms;
Mix active alarm with inactive alarm
Time scroller widget;
Snooze is not adjustable
2 clicks (Click on "Edit" and the alarm to edit it)
"Stop" and "Snooze"
Alarmy
Similar to Apple
Similar to Apple;
Snooze duration is adjustable;
Micro-interactions
1 click (Click on the alarm to edit it)
Can still turn off the alarm when mistakenly “snooze”
Alarm Clock
Similar to Apple;
Showing the remaining time for the next alarm
Similar to Apple;
Snooze duration is adjustable
1 click (Click on the alarm to edit it)
Can still turn off the alarm when mistakenly “snooze”
Sleep Cycle
Focus on sleep analysis
Similar to Apple;
Can book a wake up window
N/A
"Stop" and "Snooze"
Google Calendar
Calendar view with time cards
Click on the time card or "+" CTA
Click on the time card
N/A
* Features marked in blue would be integrated into my design
Ideation & Stretegy
Affinity
Diagram
We did an affinity diagram activity and listed out everything related to the alarm, such as possible ideas / product features / user needs on each post-it.
![Affinity Diagram (2).jpg](https://static.wixstatic.com/media/55e91f_ec3bc024eebe4de88d7df4cc7e64d4ec~mv2_d_2045_1955_s_2.jpg/v1/fill/w_403,h_385,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/Affinity%20Diagram%20(2).jpg)
![WechatIMG22.jpeg](https://static.wixstatic.com/media/55e91f_30ddc49f2bef4636aca2616bb323c845~mv2.jpeg/v1/crop/x_6,y_0,w_1058,h_1174/fill/w_220,h_244,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/WechatIMG22.jpeg)
We grouped all the post-it into 4 categories. The categories are aligned with the CUJs. We marked them as P0 and P1:
P0: Basic goals (MVP, e.g., visualize date and time, differentiate stop with snooze)
P1: Advanced goals (e.g. recommendation system)
We decided to focus on basic goals to design an MVP, featured in visualizing the information and minimizing the learning curve.
Persona
Age: 24 yrs
Location: Bay area
Occupation: Software Engineer
Hobby: Coding, Reading, Playing Go
Sleep time: 2 am - 9 am
Julie usually goes to bed late because she has to fix bugs in the evening so she relies on the alarm to wake her up.
Pain point: She usually misses meetings in the morning by mistakenly stopping the alarm and keeping asleep.
Tiffany Foster
![SouhaHassine_ROHMSemiconductor.jpg](https://static.wixstatic.com/media/55e91f_a772c54c22f04614939663c26016d73a~mv2_d_3062_2042_s_2.jpg/v1/fill/w_351,h_234,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/SouhaHassine_ROHMSemiconductor.jpg)
"I'm a night owl"
Age: 32 yrs
Location: Chicago
Occupation: Therapist
Hobby: Gym, Cycling, Hiking
Sleep time: 10 pm - 6 am
John is a morning person. He believes it is important to have a healthy schedule. He usually goes to bed before 11 pm.
Pain point: He can't track his schedule on a weekly basis to form a routine
Production Timeline
![Screen Shot 2019-08-21 at 10.35.54 PM.pn](https://static.wixstatic.com/media/55e91f_4051750012ff446583aed56e76504b8c~mv2.png/v1/fill/w_562,h_238,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Screen%20Shot%202019-08-21%20at%2010_35_54%20PM_pn.png)
Design
1
Calendar View
![calendar.jpg](https://static.wixstatic.com/media/55e91f_55c7a4e59494459dbc2b7a4eed88aa19~mv2_d_6918_4648_s_4_2.jpg/v1/fill/w_708,h_476,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/calendar.jpg)
Alarmen provides a calendar view home screen so users can:
-
View alarms on a weekly basis
-
Add/edit an alarm by pressing on a certain time box on calendar
-
Differentiate AM and PM
-
See inactive alarms separated with active alarms
2
Config Settings
Frequency
![frequency.jpg](https://static.wixstatic.com/media/55e91f_fb101cee2e484295b01eeb70e11513f6~mv2_d_5759_3555_s_4_2.jpg/v1/fill/w_938,h_579,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/frequency.jpg)
When setting up a new alarm, users can modify the frequency by click on one of the radio buttons.
The time banner will change accordingly
3
![snooze duration.jpg](https://static.wixstatic.com/media/55e91f_f2de92a7f04c4a35ba29fb81e103d07f~mv2_d_3388_2894_s_4_2.jpg/v1/fill/w_651,h_556,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/snooze%20duration.jpg)
Snooze and Sound
-
Snooze duration: click on the scale to select any time from 1 min-20 mins. After they selected a certain duration, the time axis will change accordingly.
-
Sound: click on the drop-down menu to change different songs
-
Must wake up mode: check the checkbox or click on the information icon to learn more
![Time scroll.gif](https://static.wixstatic.com/media/55e91f_ebaaa0bd0933464d9673e0d34b287ea1~mv2.gif/v1/crop/x_0,y_17,w_326,h_683/fill/w_192,h_403,al_c,usm_0.66_1.00_0.01,pstr/Time%20scroll_gif.gif)
3
Edit Time or Duration
-
Change start time: swipe the time axis to change the start and end time
-
Change duration: zoom in and out the time axis to shorten/increase the time duration, or drag up/down the bottom of the card.
-
Change the date: swipe/click on the date
![change date.gif](https://static.wixstatic.com/media/55e91f_9d67cba09c654853b0805f3e93f63d4f~mv2.gif/v1/fill/w_188,h_403,al_c,usm_0.66_1.00_0.01,pstr/change%20date_gif.gif)
3
Snooze and stop naturally
-
Disable future rings: swipe left to disable all future rings
-
Snooze: swipe right to activate the next ring
-
Mute: hold the button to mute the current ring temporarily when undecided
![Group 4.png](https://static.wixstatic.com/media/55e91f_2ca8aa93e22f45eb87845c4e2c710fc1~mv2_d_2904_1956_s_2.png/v1/fill/w_757,h_510,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/Group%204.png)
-
Change between "no more ring" and the next ring if there's an error
-
Change between "no more ring" and the next ring if there's an error
Prototype
![Sum2.gif](https://static.wixstatic.com/media/55e91f_53b479ebecb345ec950dfe1a5b25feed~mv2.gif/v1/fill/w_189,h_403,al_c,usm_0.66_1.00_0.01,pstr/Sum2_gif.gif)
Add a new alarm (edit frequency/snooze duration)
![Sum1.gif](https://static.wixstatic.com/media/55e91f_a297408579b54ea28b48c82c6ef9a04c~mv2.gif/v1/fill/w_187,h_398,al_c,usm_0.66_1.00_0.01,pstr/Sum1_gif.gif)
Add a new alarm (change date or time)
![Sum3.gif](https://static.wixstatic.com/media/55e91f_25b8d4ff4a1a4733ae03c39da57adb10~mv2.gif/v1/fill/w_187,h_398,al_c,usm_0.66_1.00_0.01,pstr/Sum3_gif.gif)
Snooze and Stop
Sketches & Drafts
1
The change of the snooze / stop feature
I learned to not be afraid of jotting down any early-stage wireframes because design questions will follow only when the design being specific (e.g., specific CTA, copy, navigation, etc.).
For example, when I was designing snooze and stop CTAs, the first 10 sketches didn't get me too close to the final design. However, it brought me 2 questions.
Question 1. When users are being alarmed, is it a need to disable some of the future rings in the same series? (e.g., the next coming rings = 8:05, 8:10, 8:15, 8:20, there may be some needs to turn off the 8:15 one and keep the rest turned-on?)
After a self-experiment, I realized that users cared more about the next coming ring than the other ones. Providing too many options would make the screen distracting and hard to follow. So I decided to focus on providing a CTA to disable the next coming ring and get rid of unnecessary CTAs for the future rings.
![Screen Shot 2019-08-30 at 7.49.16 AM.png](https://static.wixstatic.com/media/55e91f_855ea3d4789043f3a247574ad3d61b5c~mv2.png/v1/fill/w_279,h_372,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Screen%20Shot%202019-08-30%20at%207_49_16%20AM.png)
Sketch to get the inspiration (even if ugly!)
Question 2. How to minimize the confusion and errors to snooze and stop?
After narrowing down and focus on the next ring only, here came the second question which was how to visualize the snooze and stop CTAs to minimize errors that users could make.
The initial thought was to clarify the outcome of clicking on each CTA by rewording the copy. However, it requires too much mental effort for users to read. How to provide more HINTS on the connection between two CTAs to minimize the confusion and error?
![Alarm 4.png](https://static.wixstatic.com/media/55e91f_fa8f56313f024a00abea50eaf0bfed8c~mv2.png/v1/fill/w_171,h_371,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Alarm%204.png)
![Alarm 2.png](https://static.wixstatic.com/media/55e91f_1d92e6b3e6d646f5beea054c56a1b124~mv2.png/v1/fill/w_171,h_371,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Alarm%202.png)
The second design was to provide some hints on moving the current ring from NOW to 8:05. I designed a slider to change the current ring from 8:00 to 8:05, indicating the current ring is disabled and the next coming ring is activated.
In addition, I designed another option on the other side of the slider to disable the current ring. In this way, snooze and stop CTAs are connected by the timeline slider which is easier for users to learn.
In the third design, I changed the orientation of the vertical slider to be horizontal to adapt to the user's reading habits.
In addition, I added new functionality - hold to mute the current ring before making any choice to provide users more time to make decision.
![Alarm 3.png](https://static.wixstatic.com/media/55e91f_2d10f67e4b224e02be8dad7966f3b735~mv2.png/v1/fill/w_171,h_371,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Alarm%203.png)
![Alarm 9.png](https://static.wixstatic.com/media/55e91f_d6ae6c80ca7f42acbd09e2f7c868a82b~mv2.png/v1/fill/w_171,h_371,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Alarm%209.png)
In the final design, I integrated the instruction inside of the slider and added additional explanations to make it learnable for first-time users
2
The change of the alarm setting
In terms of the way to set up the alarm, I focused on to solve the following question.
Question 3. How to minimize the efforts to set up the alarm?
To reduce unnecessary clicks/scrolls, a good way is to present all options upfront and provide proper ways to choose. I then broke down it into 2 sub-questions.
![IMG_1031.jpg](https://static.wixstatic.com/media/55e91f_7d4dfd596d7b4a0cbf69fdd4cc393e69~mv2_d_3924_2798_s_4_2.jpg/v1/crop/x_230,y_40,w_3463,h_2464/fill/w_357,h_254,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/IMG_1031.jpg)
Question 3.1 How to minimize the clicks/scrolls to set up the time and date?
Originally users have to use the time scrollers to set up the time. However, scrolling up and down or zoom in and out maybe an easier way because it is a simple app and we have a lot of space to afford.
-
Instead of using time scrollers to set up the start/end time, it's much easier to present the timeline upfront and allowing users to scroll up and down to find nearby time slots because users usually need to find a nearby time only.
-
Another challenge is how to edit the time duration (e.g. to extend from 20 mins to 30 mins) because the length of the timeline is fixed. I finally decided to add a feature for users to zoom in/out the timeline to extend/reduce the duration because it is learnable to make all time-related gestures in the same place.
Question 3.2 How to minimize the clicks to set up the frequency, snooze duration, and the sound?
For all other configs, I listed out the range and options first and then applied certain selection controls based on the usage context.
-
Provided radio buttons for 4 frequency options to limit the user’s choice to just one option from the range provided.
-
Provided a slider for editing snooze duration to allow users to set a specific value without typing.
-
Provided a dropdown menu to select music or sound from the database.
-
Provided a checkbox to initiate the must-wake-up mode with an information icon for first-time users to click and learn about it.
![Card change3.png](https://static.wixstatic.com/media/55e91f_95712fb1a5cb4b59914d150459220335~mv2.png/v1/fill/w_910,h_405,al_c,q_90,usm_0.66_1.00_0.01,enc_avif,quality_auto/Card%20change3.png)
3
Wireframes
![WechatIMG27.jpeg](https://static.wixstatic.com/media/55e91f_c52324cfccdd4d73855384d2fd39dd30~mv2.jpeg/v1/fill/w_350,h_466,al_c,q_80,usm_0.66_1.00_0.01,enc_avif,quality_auto/WechatIMG27.jpeg)
![Screen Shot 2019-08-22 at 11.13.11 PM.pn](https://static.wixstatic.com/media/55e91f_4dc47d43b1b24cb1add471c0c1baead2~mv2.png/v1/fill/w_349,h_466,al_c,q_85,usm_0.66_1.00_0.01,enc_avif,quality_auto/Screen%20Shot%202019-08-22%20at%2011_13_11%20PM_pn.png)