I am a hacker in the sense that I hack together systems and code to do things for me using economy of effort. ("Economy of effort" is not to be confused with laziness. They can look similar.)
I have maximized my mobile phone (Google Pixel 6a) to do lots of things.
Ex.
- Shake phone to turn on the flashlight
- Long press to open music controls for all the streaming devices in the house
- Start a timer for breaks or lunches at work
- Send texts based on time or location
- Flash the light and say "HERE I AM!" until I tap a button being displayed
Last Christmas Susan gifted me a bangle.js 2 watch.
It uses Javascript to do all the smart things.
And it can send messages to a phone.
So I built an app (Lyrion Player) that could do things with with my music player by sending commands from the watch to a bridging app on my phone and then to an app that can do more things.
Watch>>Gadgetbridge>>Tasker>>some other thing
Swipe up and down for volume. Swipe right for next song. Tap the middle to pause/play. Tap in the lower right to open a menu of different stations.
I like it. It does what I want.
It's effective but only works for me in my home.
And, because it was hard-coded for what I wanted it to do at the time, changing it was a pain in the ass.
I wanted more and better.
So I hacked something together.
The watch app looks much like the Favorites above. It's just a menu.
But..... It now has a companion web site that lets a user add commands to the watch.
And there was much rejoicing.
But... The list of commands grew long and crowded.
So I added a way to insert separators between types of commands!
(Rejoice!)
But.... Do I really want to see all the commands related to each other all the time? No, I do not.
Now there are "Folders" and sub-folders.
(rejoice again)
But..... How can you re-arrange things.
Added drag handles to the configuration so things can be moved around!
And.... there was that one time I wanted to launch Lyrion Player... So I added the ability to launch native app.s.. And show a list of all the installed apps to chose from (because typing it in is hard).
Also.... Saving and loading a configuration should be a thing too. I made it happen.
Now, the thing to remember is that I don't write code. I hack at things. You have never seen someone copy and paste other people's code like this guy. Write, test, re-write. Recognize that I broke something and spend HOURS trying to figure out what it was.
I did it though.
Intentional is now in the watch "app store"
https://espruino.github.io/BangleApps/?id=intentional
The in-app description : https://espruino.github.io/BangleApps/?id=intentional&readme