Smart Watch?

08 August 2020 by Lincoln Ramsay

About a week ago, I bought a Ticwatch E. It’s my first smart watch, something I bought in a fire sale in order to see if this kind of product even makes sense for me. So how is it faring?

I have been watching the “smart watch” space with some interest for a while now. I was tempted by the slick packaging of the EZ-430 Chronos. I was fascinated by many a DIY project that combined parts to make a functional watch. Pebble almost made me take the plunge.

When Google got involved I figured things would get interesting, but instead of homogenizing the market like they did with phones, they managed to fracture the market instead so that there’s maybe half a dozen competing “systems”. I’m not too interested in proprietary, and I love to develop and hack. The second life that Pebble devices were getting had me curious, but Wear OS with its Android base is more familiar to me.

So, the Ticwatch E.

It seems that smart watch hardware hasn’t really progressed in a good few years. Which is handy because this watch was low-end when new. It has half the cores, RAM and storage that newer watches boast. It’s also facing a lack of system updates thanks to poor vendor support from MediaTek (I see the Android fragmentation issue wasn’t solved with watches, despite Google having “more control” over the platform). While current Wear OS devices run Android Pie, this watch is stuck with Oreo. In theory it still runs current Wear OS (which is just the UI shell?), yet I haven’t been offered the current 2.18 version…

Impressions/Review

I’ve only had it for a week, and I have had no prior smart watch experience to set my expectations, but here’s my impressions/review of this device.

  • The early days when people did all kinds of interesting things are clearly over. Despite being an open platform, there’s just no apps (either fun or useful). Even the watch face selection seems pretty terrible.
  • That being said, I can make my own watch face and apps. I’m working on the former and I’ll no doubt get onto the latter at some point too. My music player app (a topic for another blog post) doesn’t show media controls on the watch, while other apps do, so there’s that too.
  • Wear OS is notorious for terrible battery life. This was certainly true for the “always on display” mode (despite the OLED screen) but with the screen spending most of its time off things have improved. I can certainly handle the daily charging this device is going to need.
  • I have been pleasantly surprised by the performance of the device. I read many complaints about performance on this watch and Wear OS in general. Yet the device seems fine to me. My phone is also rocking a low-end chipset and really, everything I have these days is quite old so maybe it’s just a problem for people who are used to high-end devices?
  • The lack of automatic screen brightness is very annoying when I step outside. There isn’t even anything you can easily do blind to increase the brightness of the display.
  • I get that a circular screen looks nice when displaying a “classic watchface” but did anyone actually try to read text on one of these displays before committing to it? I’d rather have a square screen with corners that go unused for the watch face in order to make text display more useful. I don’t think there’s any current wear OS devices with square displays though.

Installing stuff from the play store seems to be incredibly heavy on the system. Trying to use the phone at the same time just makes for frustration. I have a suspicion that the flash wear leveling logic is running on the CPU or something. Not only is it slow, it chews battery like crazy to install apps. And you’ve got to force wifi to come on or the downloads go via the phone and are glacial. Maybe they figured you’d always do app installs while connected to the charger? I wish I could select apps to install from the phone, yet that’s apparently not how it works.

Ultimately, despite a bunch of hardware and relatively powerful/flexible software, I’m finding it hard to figure out what, exactly, this watch is really for. Apart from fitness. It’s obviously good at that, but so are all the cheap fitness bands. And that’s the one thing I’m not sure I care about.

I’ve heard people rave about the ability to look at/act on notifications from their wrist. I guess maybe that’s kind of cool but I’m not sure I get enough notifications to make that a worthwhile benefit.

I guess the biggest draw of Wear OS specifically is the “Google Factor” but I don’t use the Google Assistant and I’m not fully invested in Google’s ecosystem.

I disabled cloud sync, where the watch and phone can synchronize over wifi or (if you have it) cellular data in the event that the bluetooth connection is down. Stupidly, doing this means you have to hard reset the watch?! I think this would really only be useful if you had cellular on your watch and wanted to know when a phone app put up a notification while you’re out on a run (without the phone).

That revealed a bit of a hole… Clearly the idea is to throw everything into the cloud because there’s no backup and restore for Wear OS. I may have to come up with my own solution to that problem…

The one thing I don’t really get with smart watches is paying lots of money for what is essentially a toy. If I’m going to pay more than I would for a non-smart watch, I expect the same kind of longevity. So far, it seems that longevity is not something anyone cares about in this segment.

Fitness

For some time now, I have really only worn a watch while commuting. While I’m at home, my watch sits beside my bed. I put it on when I leave the house but take it off when I get to work. I do not find it comfortable to wear a watch while using a keyboard, and that’s what I do all day at work, and much of the time at home. Since this watch wants to track my movements, I’ve been literally putting it on when I get up and then taking it off again when I sit down. I expect to be sick of it soon.

I have been doing a daily walk for some time now. I can use the watch to see, well, stuff I could easily have asked my phone to track, since my phone is always with me. My phone does not do heart rate monitoring, so I guess there’s that. Significantly though, I never actually installed any of those apps on my phone, yet I’ve been tracking my walks with the watch. After the first day, I turned on GPS. I now know how long my walking paths are. Do I care though? Not really, since I could use elapsed time to figure out approximate lengths before.

The default daily goals seemed quite high to me. I guess the point is to set goals and then work to reach them. But I didn’t get this watch because I wanted to walk more, exercise longer and be more active.

I am currently using the Mobvoi (Ticwatch) apps for tracking health/fitness stuff. Unlike Google’s apps, they did not insist on having all the permissions to even start and they let me keep my data private. It’s on the watch and it syncs to my phone but it goes no further. I appreciate not being forced to submit my health data to “the cloud”.

I think that part of the promise for Wear OS, and these more phone-like watches in general, was to allow for phone-less operation. My watch has wifi, GPS and bluetooth. If I had bluetooth headphones, I should be able to have the watch well away from my phone, yet still track my exercise, sync data and play music. If I was into actual running, I could see this being desirable but for walking, I’ll have my phone with me anyway, connected to my wired earphones.

Hacking

Naturally, I also got this watch with an aim to hack it. Developer mode was unlocked almost immediately and I have 3 ways to get adb connected (USB, Wifi, Bluetooth). I haven’t bothered figuring the Bluetooth one out yet, since I’m used to using USB and Wifi with my phone.

I don’t know how common it is for Wear OS devices, but it was trivial to unlock my bootloader, so of course I did that.

adb reboot bootloader
fastboot oem unlock
fastboot reboot
Setup watch again

However, the things you can do with an unlocked bootloader are … limited? The whole custom ROM thing (that is kinda dying even for phones) is virtually non-existent here.

I installed an AsteroidOS build. It was even more limited than Wear OS and my device’s Bluetooth isn’t working, which made it practically useless. I may just have the ability to do something about that though…

After cobbling some old + new guides together, I got root.

The all important “stock firmware” image (put together by some nice person to flash via fastboot). https://forum.xda-developers.com/smartwatch/other-smartwatches/android-o-super-easy-ticwatch-e-s-t3789835

There have been exactly 3 builds of TWRP for this watch. And the latest one doesn’t even talk ADB like the phone builds do, which is kinda annoying. https://forum.xda-developers.com/smartwatch/other-smartwatches/twrp-ticwatch-e-likely-s-t3744752

I was pointed to this DM-Verity disabler, though I’m not entirely sure it’s necessary (apparently Magisk may do this when it installs). https://forum.xda-developers.com/smartwatch/zenwatch-3/guide-reboot-recovery-fastboot-unlock-t3546743

I grabbed the latest Magisk and Magisk Manager (which runs on the watch but is very much not designed for it). https://github.com/topjohnwu/Magisk

adb install -r magisk.apk
adb push dm-verity.zip /sdcard
adb push magisk.zip /sdcard
adb reboot bootloader
fastboot flash recovery twrp.img
fastboot oem reboot-recovery

Install dm-verity.zip
Install magisk.zip
Reboot (do not install the TWRP app)

The OS tries to install the most recent system update due to checksum mismatch. When it reboots, it’ll hit a TWRP bootloop. The phone needs to run the stock recovery at this point. Run fastboot boot recovery.img to make it happy. Then go to Settings -> Apps -> Notifications -> All -> Google Play Services -> System update (disable this or you’ll have a persistent notification about the failed update) and remove /data/ota_package/*.zip.

Magisk Manager has a hamburger (top-left) that can only just be reached on the round screen. Magisk Manager must be set to allow or deny by default. The app can be used to change prefs for an app after the first time it checks but the prompt does not work (buttons off screen).
I was unable to make Magisk Manager install modules. I found this process that worked for busybox, though it may not work for other modules…

Download the Magisk busybox zip. Unzip the file.
Copy the zip and unzipped contents to /sdcard.
cd META-INF/com/google/android
sh update-binary 1 2 /sdcard/Busybox.zip

Summary

At the end of the day, I have a device that works as a watch. I’m currently making an effort to wear it during the day, but I don’t know how long that’ll last. Tracking my walks seems cool but I don’t know how long that’ll last. My device is seemingly abandoned, yet it’s currently usable and unless some killer apps come along that need a newer system, it’ll presumably keep running for a while yet.