Wake me up 7 is now available!

David
6 min readMay 24, 2018

--

Hi!

As usual, this version brings its shares of new features, and this time, even more!

Let’s start with the sad news: I’m working alone on the application. With all its features, testing it is becoming more and more time-consuming. So, I’ve decided to drop support for Android 4.3.

It was not an easy decision to make.

As of now, Android 4.4 up to Android 8.1 are supported, which means 7 versions. Android 9 should be supported for the next version.

Brand new User Interface

In the past four months, I’ve received multiple emails about users having difficulties finding one option or another, some options being as trivial as changing the ringtone or giving an alarm a new label.

With an application providing as many options as Wake me up, it’s difficult to maintain a good balance. Also, since a long time, I thought that some icons or texts where out of place.

I was clearly time for a new UI!

Obviously, this new UI is not a revolution. But, it’s a step in the right direction.

List of alarms

The new list of alarms
The new “Create Alarm” screen

The list of alarms is the first screen the user sees. It used to be a Floating Action Button, used to create new alarms or quick naps, and the list of all alarms created by the user, should they be time-based, calendar-based, tasker-based, enabled or not, synchronised to a calendar without event or not.

With potential new alarm types coming in the future, this list of alarms would become way too cluttered.

So I decided to put a newly fashionable bottom navigation, that gives a direct access to all types of alarms and to a new “Create alarm” screen.

The new “Create alarm” screen permits to select the type of alarm that the user wants to create and gives a direct access to the option to set default parameters for new alarms.

Previously, this option was well hidden inside the application settings.

Improvements to the screen used to edit alarms

I’ve received some reports from users that had difficulties to find one option or another.

It’s not possible to give a direct access to all options as it would create a huge and not user-friendly screen.

Here comes again the bottom navigation

By changing the layout of the screen , it is now easier to understand how to change the label of an alarm.

Also, the bottom navigation gives access to all sections that provides basics options, like schedule options, ringtone and volume options, missed and snooze options and appearance options.

Like before, all advances options are located in the navigation drawer.

Improvements to the cards representing alarms

I was not satisfied by the way some cards were displayed. So I decided to improve their look.

Here are the new cards. There’s no revolution here, but it’s a step in the right direction!

Icons are better aligned, texts overflows better, and so on.

New card. It’s the same for the new full width card.
New “List” card
New “Small list” card
New “Compact list” card
New “Colorful” layout

New options for ringtones

Two new options complete all already available options that permits to customise the sound that an alarm makes when it goes off.

Specific option for the Gentle wake up

It is now possible to give a specific ringtone to the Gentle wake up. By doing so, it is possible to use a gentle ringtone (not a music file) for the gentle wake up part, and an hardrock music for the ringtone.

Random music

It is now possible to specify, as a new type of ringtone, a directory that contains at least one music file. Then, each time the alarm will go off, one music file will be randomly chosen and played as a ringtone.

New options for calendar-based alarms

Two new options permits to customise even further the way calendar-based alarms will react to calendar events.

Ignore an event that starts before the end of the previous event

By checking this option, it is now possible to make an alarm ignore an event if its starting time occurs before the ending time of the previous event for which the alarm went off.

Set an alarm to ring only for the first event of the day

By checking this option, it is now possible to set a calendar-based alarm to ring only for the first event that occurs in a day.

About

I’ve created a new About screen to give more visibility to the detailed changelog, as well as to the list of persons that helped translate the application and to my thanks to them. It also gives access to the list of libraries that I use and to their licences.

This new About screen also gives a better access to the Google+ community and to my email. By doing so, I hope to receive less “5 star ransom” reviews, where user would say that they would give a better review if one of their feature request is granted.

The new About screen

Miscellaneous options

I’ve created some new options to satisfy user feedback.

  • Disable the haptic feedback when choosing a time or a date (available in the General Preferences -> Other)
  • For the users who really dislike to new application icon, it is now possible to switch to the old one.
  • Up to 18 quick naps can now be set.
  • The automatic switch between the Dark mode and the Light mode is now based on the sunrise and sunset times.
  • Set default parameters for alarms created by the Tasker plugin.

Technical stuff

As usual, I’ve changed lots of technical stuff, under-the-hood.

Kotlin

I’ve migrating all the code to Kotlin. I love Kotlin. It took me two months, easily, as there’s a lot of code for this kind of application and for one person(nearly 500 classes).

RxJava2

Chris Lacy from ActionLauncher made me curious about it with a tweet. He was right. RxJava2 is great. I won’t detail why as other persons already did.

Android architecture components

By going on with the migration of the application to Android Architecture Components, I was able to simplify some parts of the application, mainly all the code revolving around the list of alarms. For version 6, I migrated to Android Room.

For version 7, I’ve migrated all layouts (well, all important layouts) to ConstraintLayout. And I’ve migrated the list of alarms to LiveData.

Feedback

As usual, any feedback is welcomed!

Thanks for reading!

--

--