Silencer

Phone goes off in class or a meeting?

It takes an eternity to retrieve the phone and press “reject”?

Next time, just slap your phone — with the Silencer for Android

Usage examples

Starting the Silencer’s background service via the Silencer app

Silencer screenshot main

In order to activate the Silencer, just download and start the app, and hit the button until it shows “on”. Then, the Silencer service is activated. This is indicated by an icon in the notification bar.

If you like your status bar clean, the notification icon can be disabled, too.

Muting calls by shaking the phone

Silencer screenshot silencing
Once you receive a call, make sure that the phone is accelerated, e.g. by shaking the bag it is stowed in. A short “toast” text will confirm that the phone has been muted.

Once the call ended, the phone will be set back to its previous state. That is, if the phone’s ringer was on vibrate before the call, it will be on vibrate afterwards.

Avoid accidental muting through auto calibration

You have guessed it, the phone uses the accelerometers to recognise your shakes and slaps.

However, different situations create different levels of acceleration. For example, when you are running your movement automatically accelerates the phone a lot. Yet, you probably do not want to silence calls in such moments by accident.

Therefore, on each call, the Silencer first analysis how active you are. In the first two seconds, it measures the current acceleration. The higher the measured acceleration, the more difficult it becomes to mute the incoming call. You will have to exceed the amount of shaking that has been created by your current activity.

This also means that the phone cannot be silenced in the first two seconds. That probably won’t be a problem, as you will need some time to react to a call.

Silencer screenshot sensitiveness
NEW: because some comments on Google Play indicated that the shake detection was to sensitive, the app now allows to specify a minimum shake intensity required to silence the phone.

Battery saving – sleeps when there is no call

For many users it is very important to know about the battery consumption of an app. No one likes standing in the middle of nowhere with the battery running low. The Silencer is designed as a listener. This means, it does not execute any code while there is no phone call. A phone call wakes the application up and starts the acceleration measurements.

Thus, as long as there is no incoming call the battery consumption is close to zero. Therefore, the Silencer will have little to no effect on the battery life of the phone.

Auto re-start when re-booting phone

It might also be annoying if you start relying on the Silencer, but forget to launch it after you restarted the phone. Thus, the Silencer will automatically be launched on start-up if it has been running before the phone was turned off.

NEW – Notification muting

Silencer Screenshot 04
You like to use custom notification sounds that are more than a short alert? Register the Silencer for notification access and mute those, too.

Important – please read

Because it turned out to be very difficult to get the sensitiveness right, I am adding a feedback module. It will log how often calls where first silenced and then picked up, which indicates that the sensitiveness is still too low. Similarly, it will log when extreme shakes where necessary to silence the phone, which indicates that Silencer was not enough sensitive to shakes. These activities will require new permissions, such as internet or writing temporary files to the SD card. The module will generate telemetry, which allow me to get the balance right.

Please, keep sending me feedback, as this helps me to get the Silencer working like it should in this brief moment when you need it.

Thoughts on HCI, Mobile Computing, Science, & co.