Friday, April 20, 2018

A Better Bixby Button

I recently traded my LG G6 for a Galaxy S9 Plus. I didn't do heaps of research before the switch because: (a) the device gets high marks in reviews, and (b) I owned and enjoyed a Samsung Galaxy Note 5 for years.

So it was a bit of a surprise to find the Galaxy S9 Plus comes with a dedicated Bixby Button. That is, a button who's only purpose is to launch a virtual assistant I'd never heard of.

With in a few minutes of using the phone I'd turned off the button, as the last thing I needed was to be nagged by a program I knew nothing about.

But surely Samsung offered a way to re-purpose the button. Nope.

By default you have two choices: a button that launches Bixby or a button that does nothing.

Fortunately, this is a common issue and there are apps on the Play store to address it. The app I ended up going with was bxActions.

It took a few iterations to get fully setup. At first, I had the Bixby button disabled so bxActions was never invoked. Then I re-enabled Bixby and the button started working again. However, now pressing the button launched Bixby followed by my preferred action. I suppose that worked, but showing Bixby first was clunky. I then purchased the Pro version of bxActions and went through the full setup. When I was done, I was able to use the button and have Bixby disabled.

Now that I had a new hardware button I had to decided what to do with it. Obviously, I was going to hook it into Tasker. But Tasker doing what?

For now, I'm using this simple Task:

The conditionals in this Task make the button do the Right Thing depending on the state of the phone.

I use AutoNotification to test to see if Run Keeper is recording a track. If it is, then pressing the Bixby button launches Run Keeper. This gives me one button access to my running app, which is handy when I need to refer to the app while in motion.

During the day, when I'm working from home, I find that I use quite a few timers (mostly to know when to eat again!). Therefore, if Run Keeper isn't running, but I'm connected to my local WiFi access point, pressing the Bixby button launches my timer app.

And finally, if none of the conditions are met, the Bixby button captures one minute of audio. The S9 provides a quick way to launch the camera and capture photos, I've now added a quick way to do something similar with audio.

The Bixby button is a great example of why it's worth letting a new phone burn in before you render judgement. For the first few days of S9 ownership I was quite certain the Bixby button was a terrible design flaw. And now I see it as a hacker friendly addition to the device. But c'mon Samsung, you really think it's OK to have a hardware button exclusively tied to one app? There's not a programmer alive who will tell you that's a good idea.