Software‎ > ‎

Silencer

Silencer is a small tool for Android that allows the user to turn his/her phone ringer to silent by simply moving the phone face down in a flat surface (like a table, for example) and reset it to its previous state when the phone is moved out of this position. This is usefull for those of us that are in constant meetings and are either too forgetful (or too lazy ;) ) to manually set the phone to silent mode so it would not interrupt the meeting.


License.

Silencer is provided as-is and free of charge. use it at your own risk (I use it myself, if that makes you more at ease :) ).

Inner Workings.

Silencer monitors changes reported by the phone orientation sensor and uses that information to figure out what is the current phone position. Silencer is as reliable as the orientation sensor itself so it means that it has erractic behaviour in case the phone starts vibrating for any reason (v1.0.3 and above includes code to fix this) which may include the Phone vibrate setting being enabled in the phone when a incoming call starts or, possibly, an earthquake (please report any earthquake issues ;) ).


Current Version and Download.


Current version is 2.0.0 and can be found in the Android Market. if you are seeing this page on your phone, click the link below:

Silencer in the Android Market (Link only works in an Android phone).

You can also scan the QR Code below:

Usage.

Please check the manual page for usage information.

Source Code.

Source code will be released with a free license as soon as I have time to clean everything up (right now, I am more worried about fixes and features). Whenever it is released, you will find more information here, so keep checking back.

With release 2.0.0, I did a full code rewrite and I am almost satisfied with its state. Release should be soon.

Known Issues.

Issues that may interfere with the software behavior are listed here, together with an explanation about them. Hopefully this section will be empty at some point in time. 
  • Not all phones work as expected when in standby. Some phones disable the orientation sensor so Silencer has no way to figure out the current phone position. This was fixed by Google on Android 2.2 (Froyo), but I already have reports of phones with 2.2 where the problem persists.

Future Features.

Features that I plan to implement at some point are listed here. This is a list of wishes more than anything so bear with me as there is no specific timeline for any of these features to be implemented (not even a guarantee that they will ever be.

  • Differentiate phone vibration from the phone being actually changed from being face down. (done in v1.0.3)
  • Option to switch to vibrate mode instead of silent mode. (done in v1.1.0)
  • Calibration option. The readings from the orientation sensor in different devices may end up giving different values. An option to calibrate this would guarantee that the software would work in all devices.
  • Silencing based on position. This can not use the GPS as most of the time you will be indoors when you want the phone to be silenced (and you do not want the GPS on all the time anyway). Cell tower triangulation may be used and may give good enough results. This is being investigated. 
  • Switch to vibrate mode when the phone is put in your pocket (that would be really cool, wouldn't it? :) ).
  • More? Contact us.

Version History.

Here you find all the relevant changes in each version fo the software.
  • Version 2.0.0 (08/28/2010):
    • Notification bar icon with quick access to the configuration interface.
    • New configuration interface.
    • Better (and smarter) standby mode support.
    • Most of the code rewritten.
    • Even more robust detection code.
    • Stops on-going vibrations (it the phone starts to ring and vibrate and then you turn it face down, both the ringer and vibration will be stopped).
    • Version 1.5.1 (01/07/2010):
      • Position detection code is now more robust. Should fix remaining vibration issues.
    • Version 1.5.0 (01/06/2010):
      • Full Service rewrite.
      • Enable support for getting sensor notifications even when in standby mode.
      • New sensor detection code.
      • Small design improvements in configuration app.
    • Version 1.1.2 (01/05/2010):
    • Version 1.1.1 (01/04/2010):
      • Fixed "Vibrate instead of silencing" checkbox state. it was not being correctly retrieved at startup and so would show a bogus state (it would appear to not have been changed if you did not use the Home key to leave the application).

    • Version 1.1.0 (01/03/2010).
      • New cleaner configuration interface.
      • Added option to vibrate the phone instead of silencing it.
      • More code cleanup and some small bugfixes.
        • Version 1.0.3 (01/03/2010).
          • Added code to filter out phone vibration.
          • As always, some more code clean-up.
          • Version 1.0.2 (01/02/2010).
            • Remove some left-over debug output.
            • Small bug fixes and code clean-up.
          • Version 1.0.1 (01/01/2010).
            • Added information about interactions with phone vibration.
            • Ask the user if the "Phone vibrate" setting should be disabled and do that automatically if the user agrees.
          • Version 1.0.0 (01/01/2010).
            • Initial release.

          Subpages (1): Manual
          Comments