An alarm clock shouldn't shell-shock you out of your dreams. That's why I created Gentle Alarm which tries to wake you up during light sleep using an optional pre-alarm.

Alarm clocks can't know if you are in light sleep or deep sleep (those movement based alarm clock don't work) but they can play a very quiet pre-alarm which you will only hear if you are in light sleep. If you are in deep sleep, you will simply sleep through the pre-alarm.

The pre-alarm plays 30min before you really want to get up (you can change that). If the pre-alarm wakes you up, you will be more refreshed than if you had slept until the main alarm because at that time you would have fallen back into deep sleep. Give it a try and I am sure you won't want to miss it anymore.

Of course, the app has all the usual features of a great alarm clock:

It can switch to a night display automatically when docking the phone. It can automatically shorten the snooze time with each time you press snooze. It can automatically create playlists of your favorite artist or genre. And it allows you to change colors, fonts, and backgrounds.

PERMISSIONS:

* RECEIVE_BOOT_COMPLETED: So it can activate an alarm after you reboot the phone. After reboot, all alarms of all apps are cancelled by default.

* WAKE_LOCK: So the phone can stay on while playing an alarm or while displaying the night display.

* DISABLE_KEYGUARD: When the alarm rings, you don't have to unlock the phone to be able to turn the alarm off.

* VIBRATE: obvious

* WRITE_SETTINGS: It adjusts some system settings such as airplane mode, silent mode, etc.

* WRITE_EXTERNAL_STORAGE: It logs some data on your SD card.

* READ_PHONE_STATE: So it can turn off the alarm when the phone rings and prevent an alarm from ringing while you are talking on the phone.

* READ_LOGS: So you can send me debug data (if you choose to)

* INTERNET: So that I can display ads (trial version only). Also, if the app crashes, it offers to send me a debug report directly to my servers. The app will politely ask you if you want to send that data or not. If you do, it needs an internet connection. If not, it doesn't but I still need the permission in the app because you may want to send the debug data.

What's New

- several bugs fixed

Lollipop users: For some devices, the new alarm notification system is not working properly and I will bring back the old notification system as an option. More with the next update in a few days.