[Wear OS Software and Hacking General] Desmanto:
Maximizing Wear OS with Automagic​

Wear OS has been so underrated. This xda Subforum is not as active as other. I think it is partially because most Wear OS powered watch have bad battery life and typically much more expensive than the proprietary OS powered watch.

I bought Ticwatch E in April 2019, and it has been 4 months when I typed this. I initially regret that the battery life is way worse than I thought. I have to charge every day. My previous Mi Band 2 can last for 3 weeks before charging, but of course that is not on the same level as Wear OS. But I don't regret it anymore after the first week, once I discovered many things I can do with it when paired with Automagic. I have reached the point of no return to any non-Wear OS watch.

During the next several months after I bought it, I have built several flows to extend the functionality. Below are the list of things I have done with the watch. Most of the usages use Automagic and the companion app installed on the watch. Hopes these help other to see the potential of Wear OS and at least give some reasons so Google don't kill it one day.

1. Extend Automagic Shortcut

Automagic has shortcut on the watch to execute flows on the phone. I immediately see the extension of Widget to increase menu count of Automagic shortcut. So I use Shortcut to show widget with 3x3 buttons. Each button press corresspond to execute another flow/command. This immediately extend the number of shortcuts available dramatically. I can still add long press, double click, and swipe in all 4 directions. But for now click is enough. The widget shown is my first widget design, so still quite ugly.

[IMG="1. Wear Widget 9"]https://s.kaskus.id/images/2019/08/10/521121_20190810062130.png[/IMG]

2. Camera Control

Copied from the 3x3 widget menu, I use it for Camera control. Coupled with Control UI, I can control the camera menu for any camera app. In my case, of course I prefer GCam (Google Camera). GCam companion app is not working here, maybe because I am using GCam Mod (since I don't use pixel phone). Hence I have to recreate it, and extend the function beyond simple shutter button. I can use my watch to capture (shutter button), zoom in/out, exposure inc/dec or 0, toggling timer, switch to night mode and view last photo. I can also create a custom timer, but it is not necessary in my case. I also can use it to start my other flow, to capture 4 images of GCam comparison. (HDR off, HDR+ on, HDR+ enhanced on and Night Sight)

[IMG="2. Wear Camera Shutter"]https://s.kaskus.id/images/2019/08/10/521121_20190810062136.png[/IMG]

3. Photo Viewer

Using the same widget concept, I can show any photo at any time. This can be use to view photo in certain folder, with the widget action to navigate to next/prev photos. It can be used to show your love one, for misdirection (showing fake clock time), or just a simple photo viewer.

[IMG="3. Wear Image"]https://s.kaskus.id/images/2019/08/10/521121_20190810062142.png[/IMG]

4. Remote Photo Surveillance

Widget as photo viewer can be extended further. In another flow, I create a flow with looped camera capture and then set the captured photo to the widget. This create a timelapse photo from the phone. Constant action turn on screen will keep the watch screen awake. I can place my phone somewhere nearby and create an instant surveillance device. Unfortunately, the speed of the capture and set image to the widget is limited by the communication speed between phone to watch. It only shows new photo every 2-3 seconds, which is very choppy.

5. Remote Video Stream Surveillance

Extending the looped camera capture idea, I found out that I can stream the camera directly using IP Webcam for android (using Android Camera as IPCam). Then use the companion app of TinyCam Monitor at the watch to view the stream. All can be controlled directly from the watch, since IP Webcam support automation too, so I can start the stream using Automagic. This mode of streaming is much better for surveillance as it can reach about 15 fps, which is way better than 1/2 to 1/3 fps using the widget mode.

6. Secret Camera Capture / Audio recording

Implementing the same idea from the camera control, I combine it with my secret camera capture. Now I have widget to secretly take front/back photo from the phone. I also add another button to start/stop recording audio. This all happen without touching the phone, without any interface/unlock the phone. The widget itself is transparent, making it perfect secret buttons.

7. Remote input/typing

Since there is limited method to type from the watch, I create notification to input the text. The default google keyboard is so small, but at least can be used to type 1 or 2 words when noting down some code or label, and I can't reach for the phone easily.

8. Note Viewer

At times, I need to have notes to view. Under certain circumstances, it is not convenient/safe to pull out the phone. I can risk dropping the phone, left it unattended or maybe get wet during rain. I create several small notes holder at the widget. So at any time, I can simply tap the shortcut widget 3x3 and it will show me the notes. I can long press and it will popup into notification which I can scroll (in case the note is too long). I can even add action at the end of the notification to do certain things, example : copy the note and send it to certain number/email, mark it as done (so deleted from place holder), or to create reminder for it in another 1-2 hour.

[IMG="4. Wear Note"]https://s.kaskus.id/images/2019/08/10/521121_20190810062148.png[/IMG]

9. Speech Input Trigger

Automagic companion app support input speech dialog. But it requires to press the mic icon again to start recognition and another confirm button to send the recognized words to the phone. I have already speech project flows at my phone, so I just use the similar widget menu to trigger multiple mode on my phone. I have multiple language mode, one time/continous mode, visual feedback option, hotword mode and many others. The recognition still happen on the phone, but I can control the mode directly from the watch. Example, I can press 1 button to trigger recognition in Indonesian and continuous mode (repeating recognition until I stop it), or maybe another button to trigger recognition in English, one time, with feedback and can be retriggered again using hotword.

[IMG="5. Wear 3x3 Speech"]https://s.kaskus.id/images/2019/08/10/521121_20190810062152.png[/IMG]

10. Charging Notification Sound

My Watch sometimes don't get charge properly. And I have also uninstalled the default ticsystem which provide charging animation. So I simply replace it with notification sound when my watch is charged and another sound when disconnected. I then save the battery level when disconnected and create notification to calculate the average %/hour used when I charge it again later. This helps me to track the average battery usage per charge.

11. Language Learning

I keep learning new language, even english. I have been watching movie, playing games, read ebook/news and note down those unusual vocabulary. Although I already have a time logger flow to track my learning time (at least 30 minutes/day), I thought of more immersive learning all day long, not just during my learning session.

I create a flow to parse the vocabulary csv exported from the dictionary favourites note. From other source, I also extract the data from google translate per translation. Then separate the keyword and translation, marking them with each frequency tag. All words start at 0. At certain interval (1 hour during work hour, and 1/2 hour after work hour), it will take 3 of the lowest frequency words, set the word and meaning at the widget and show it at my watch. Pressing the button to denote I am OK, increase the frequency tag (to make it show less frequently), or pressing review to repeat the word again next time (without increasing the frequency tag). I can also tap next to continue learning next words, or I can suspend it for several hours if I am in a meeting.

[IMG="6. Aedict show"]https://s.kaskus.id/images/2019/08/10/521121_20190810062200.png[/IMG] [IMG="7. GT show"]https://s.kaskus.id/images/2019/08/10/521121_20190810062227.png[/IMG]

This helps me to stick the vocabulary in more frequent interval. I can spare 10-15 seconds per hour (or half hour) to keep learning rather than just a long learning session at the end of the day. I can also learn while waiting something, without having to pull out my phone (when the condition is not appropriate/risky).

12. Reminder to Speed up

I ride motorcycle to work, sometimes I drive fast, sometimes slow. At times, because of thinking something while driving slowly, I can be almost late to the office. I have to look the watch to know if I am late or not, which sometimes can be risky. To minimize the risk, I create several checkpoint between home and office, mark the coordinate and approximate time needed to get to the office. Once I leave home, Automagic will start to check my location periodically. It will calculate the distance to the nearest checkpoint. Add current time with the time needed to find if I will be late at current speed. If It will be late, it will vibrate my watch twice long pattern. So I know I have to speed up to catch the time.

13. Home Automation

The 3x3 menu I have can be used to control Home Automation device. Yeelight have companion app, but it can only turn on/off the bulb. Using widget, I can create extra button, coupled with the color or brightness or colorflow. I can have much more option to control the light. I can hook it up with sonoff switch later, after I have flashed tasmota.

[IMG="8. Wear 3x3 Yeelight"]https://s.kaskus.id/images/2019/08/10/521121_20190810062233.png[/IMG]

14. Extension to other flows

There are still a lot of other wonderful things I can do with the shortcut. Most of them extended from the widget 3x3 menu I have created. Some thoughts and examples :

a. Send certain message when on the way already, or share location via Whatsapp.

b. Save current location with timestamp to log

c. Play songs, or certain sound loudly. Can be for prank, finding the device when hidden by friends or certain situation

d. fake a call/sms to escape from awkward/uncomfortable situation.

e. Controlling PC through eventghost.

f. showing various widgets at the watch

[IMG="9. Wear Shortcut"]https://s.kaskus.id/images/2019/08/10/521121_20190810062237.png[/IMG]

I don't use all the function above daily, only some are more frequently/routinely used. For example, the speech input trigger is very good for showoff, but not so practical for my daily usage case. Some of them are still Work in Progress. But at least those function are there when I need it.

For some who might be interested on how I can do above things, of course the answer is mostly Automagic. Automagic is Automation app just like tasker. It uses flow style to design the flow (similar to task in tasker). I have switched to Automagic 2 years ago and never look back anymore. Those above maybe can be replicated in tasker, but of course don't ask me how to do it using tasker. But if you are using Automagic too, I can show how I create the flows. Unfortunately I can't simply share the flow without any explanation. As each flows are designed to my own need and may linked to each other. Sharing all of them at once will just create confusion and possibly leak out some of my private data.

Hopes this inspire you to maximize your Smartwatch. :) Long live Wear OS!!!