AntiAlexa - Solving Amazon's digital assistants problem
What's the problem? 🤔
After one of the many automatic updates of my Amazon digital assistant (in my case Amazon Echo Dot) which I also use as a speaker for my PC, I noticed that if my PC doesn't play any sound for a certain number of minutes and then try to play some sound, the digital assistant, before playing the sound, notifies me (vocally) that it has successfully connected via bluetooth.
This is really boring, also because often the notification is longer than the sound itself... 😒
Surfing the net I found out that I'm not the only one with this problem; many other people have the same problem and don't know how to fix it.
Many users have turned to the Amazon Help Center for help and to resolve the issue but the support responses were unsatisfactory and, to date, Amazon hasn't released any updates that fix the problem yet.
It's funny to read how some people wake up during the night because the digital assistant notifies that it has successfully connected via bluetooth when the smartphone (associated with the digital assistant) has to play some notification sound 🔊😴😭
Below you can find several forums where many users (rightfully) complain and desperately seek a solution to fix the problem.
Let's investigate the cause of the problem 🔍
The digital assistant behavior is due to its automatic standby mechanism which is triggered after a certain period of inactivity.
By doing some tests with my Echo Dot I found out that this period of inactivity must be greater than or equal to 10 minutes (also in this forum an user proposes the same period of time).
The idea of automatic standby after a certain period of device inactivity is intelligent because it saves energy (it perfectly implements the idea of energy saving). Unfortunately, less intelligent it's the algorithm implemented by Amazon, which doesn't consider that the digital assistant had previously announced that he was connected via bluetooth, and doesn't even give the possibility to disable this particular type of notification 🤦
Some possible solutions to solve the problem 💡
Since we can't disable the notification related to the bluetooth connection, we'll probably have to give up the automatic standby mechanism (therefore also energy saving). In fact, by avoiding standby, the digital assistant will always remain connected via bluetooth, avoiding to play the boring notification.
Below there're some ideas to disable automatic standby mechanism:
- Prevent the automatic standby of the bluetooth device using Windows Device Manager (I didn't find this entry for my Echo Dot).
- Implement a Skill for Alexa which plays a sound every n minutes (with n less than 10).
But... What if I want to activate other skills? I should vocally reactivate it every time. 🤔
- Make the PC play some sound every 10 minutes... Boring 🥱
- Don't use the digital assistant as PC speaker? No! We don't want to give up ⛔🏳️
- Run an application that automatically plays an empty audio every n minutes (with n less than 10) and doesn't bother us. It sounds interesting... It's AntiAlexa! ✔️
Using AntiAlexa to solve the problem 🔇
Since the different options described above didn't work with my Echo Dot or seemed inconvenient, I decided to develop a Windows application on my own, capable of doing what I described in the last point of the previous list.
In particular AntiAlexa (I chose this name because at that moment I was particularly irritated by the fact that the Amazon Alexa app didn't allow to disable the bluetooth notification 😡) is a Windows console application written in C♯ (here its source code) which has the following features:
- Only at the first start it installs itself on the system (it copies itself in the Windows StartUp folder so that it can be started automatically at every system start, without requiring user interactions), executes its newly installed copy, notifies the user of successful installation and, before ending, launches an independent process (cmd), that waits for its termination and deletes it.
- During its execution the application play an empty sound (which lasts one second and doesn't bother the user because it can't be heard) every 5 minutes, preventing the digital assistant standby.
- It's a console application but, in the project properties, I set it as a Windows application. In this way the console window isn't visible, the application doesn't appear in the Task Manager's active applications list but in that of background processes and, last but not least (especially for those who, like me, often use the Alt+Tab shortcut to switch from one application to another), it doesn't appear between the windows which show up by pressing Alt+Tab, avoiding to interfere in switching from one application to another.
- It's free and open source (MIT License) and you can easily download it from my GitHub repository by clicking here.
- Once installed it will no longer require any interaction because it will work completely automatically at every system startup (you won't even have to delete the "installation file" because it's programmed to automatically delete itself after the installation 😎).
- It solves the annoying notification problem avoiding the automatic standby mechanism of the digital assistant (and therefore energy saving). 🔇
How to install AntiAlexa? 🆘
When I developed AntiAlexa I set, in the project properties, the .NET Framework 4.5 as the target framework, therefore, in order to run the application correctly, the .NET Framework 4.5 (or a later version) must already be installed on your PC.
As you can read here from Windows 10 (version 1507) the .NET Framework should already be installed on the system by default. If it isn't, before installing AntiAlexa, download and install the latest version of the .NET Framework from here (Microsoft official website).
If you don't know if the .NET Framework is installed on your system, you can follow this procedure to figure it out.
Perfect! Now all you have to do is to install AntiAlexa by following the steps below:
- Access to my GitHub repository by clicking here.
- Download my project by clicking on the "Code" button at the top right and then click "Download ZIP".
- Extract the contents of the ZIP archive (the folder "AntiAlexa-main" should appear) and delete the archive.
- Browse the folder following this path: "...\AntiAlexa-main\AntiAlexa\AntiAlexa\bin\Debug\"
- Run AntiAlexa.exe
- A MessageBox indicating that the application has been successfully installed should appear.
- AntiAlexa should self-eliminate within three seconds.
- Now you can delete the "AntiAlexa-main" folder.
- Antialexa is now running properly and will be executed automatically at every Windows startup. You can easily check this by using the Windows Task Manager and checking the content of the Windows StartUp folder.
If you have any difficulty following the above steps, I've recorded the following video to help you 😇
Don't worry about any possible antivirus warning (e.g. Windows Defender or any other antivirus system)! AntiAlexa isn't a malware and you can easily verify that it's safe by analyzing its source code here.
Note ⚠️
Obviously AntiAlexa is developed for PC with Windows OS so, all those who have this problem with a smartphone or a PC with another OS, should either look for a program similar to AntiAlexa for their target OS, or they might write a similar program (probably in another programming language) on their own, taking a cue from (or converting entirely) mine.
The second choice would certainly be more challenging but also more exciting and, if completed successfully, would allow you to learn a lot and share to the whole community your solution to the problem for the target system you've chosen, like I did for Windows OS.
Conclusion
We've seen that, to date, in Amazon's digital assistants (I don't know if in all the lineup, but certainly at least in some of them) there's an annoying voice notification which is played when the digital assistant is used as PC speaker.
We've understood and investigated the cause of the problem by proposing some solutions and, among these, we've seen how an ad hoc application can solve the problem.
We've seen how to download and install this open source application for free, and in this way we've solved the problem. We can consider this solution as 'temporary', and continue to use it until (hopefully as soon as possible) Amazon will decide to release a decent update for its digital assistants, which will eliminate this annoying and repetitive notification.