From dfa5e8d7d8b64a22929698e5e3b743db4b8451e2 Mon Sep 17 00:00:00 2001 From: Frederick Yin Date: Wed, 4 May 2022 17:14:57 +0800 Subject: New post: random/smartphone_os --- docs/random/img/miui_open_app_popup.png | Bin 0 -> 97184 bytes docs/random/img/o2os11_power_menu.png | Bin 0 -> 78684 bytes docs/random/img/o2os12_power_menu.png | Bin 0 -> 65736 bytes docs/random/index.md | 1 + docs/random/smartphone_os.md | 230 ++++++++++++++++++++++++++++++++ 5 files changed, 231 insertions(+) create mode 100644 docs/random/img/miui_open_app_popup.png create mode 100644 docs/random/img/o2os11_power_menu.png create mode 100644 docs/random/img/o2os12_power_menu.png create mode 100644 docs/random/smartphone_os.md diff --git a/docs/random/img/miui_open_app_popup.png b/docs/random/img/miui_open_app_popup.png new file mode 100644 index 0000000..50a4589 Binary files /dev/null and b/docs/random/img/miui_open_app_popup.png differ diff --git a/docs/random/img/o2os11_power_menu.png b/docs/random/img/o2os11_power_menu.png new file mode 100644 index 0000000..9dc352c Binary files /dev/null and b/docs/random/img/o2os11_power_menu.png differ diff --git a/docs/random/img/o2os12_power_menu.png b/docs/random/img/o2os12_power_menu.png new file mode 100644 index 0000000..86891d4 Binary files /dev/null and b/docs/random/img/o2os12_power_menu.png differ diff --git a/docs/random/index.md b/docs/random/index.md index dc60a86..97f8a37 100644 --- a/docs/random/index.md +++ b/docs/random/index.md @@ -10,3 +10,4 @@ Nevertheless, occasionally I leave a permanent trace along the way. - [Gemini TL;DR](gemini_tldr) - [How an FKFD Comic is made](how_fkfd_is_made) - [The Real Git](realgit) +- [The most important part of a smartphone is the OS.](smartphone_os) diff --git a/docs/random/smartphone_os.md b/docs/random/smartphone_os.md new file mode 100644 index 0000000..b293ec4 --- /dev/null +++ b/docs/random/smartphone_os.md @@ -0,0 +1,230 @@ +# The most important part of a smartphone is the OS. + +2022-05-04 + +The most important part of a smartphone is the OS, period. There, I said +it: no other part vendors call a "flagship feature" or "cutting edge +technology" is worth as much attention as the operating system does, in my +perspective. + +Although I consider smartphones a mistake, in a world that seems to +*require* them, I would rather live in one that sets its priorities +*right*. + +## What operating systems are we talking about + +There are at least hundreds of models of smartphones on sale, yet two +operating systems dominate the market. They are: + +- A completely locked-in ecosystem by a company who makes its living by + selling overpriced electronics and cutting 30% off the profit of every + app developer that made its OS popular in the first place (market share + ~28% [1]) +- A heavily branded open source project bundled with proprietary shit by + a company whose only true intention is profit, and somehow this one has + dozens of commercial spinoffs, most of which suck (market share ~72% + [1]) + +Since Apple is doing their own thing and Google is famous for not giving +a shit, we'll leave iOS and stock Android alone and talk about the various +Android ROMs out there (whose names usually end in OS or UI). For the time +being, ROMs based on Android are the only viable way for a custom mobile +OS to reach a large audience, as is the approach taken by dozens of +startups. The problem here is these ROMs vary *wildly* in quality. + +Of all ROMs I have used, these are the ones that I have a clear account +of: + +- MIUI, stock ROM on Xiaomi 6, June 2018 +- [Mokee](https://www.mokeedev.com/https://www.mokeedev.com/), + Lineage-based custom ROM on Xiaomi 6, replaced MIUI, July 2018 — June + 2021 +- EMUI, stock ROM on my mom's Huawei phones, 2017 — now +- ColorOS, stock ROM on OnePlus 9R, June 2021 +- OxygenOS, semi-stock ROM on OnePlus 9R (I asked OnePlus staff to flash + it over ColorOS), June 2021 — now + +In my standard, MIUI, EMUI and ColorOS suck for sure. Mokee gave me an +enjoyable experience overall at certain costs, and OxygenOS is a whole +other story. + +Nomenclature: from this point beyond, I will begin to equate a ROM to an +OS. + +## Why operating systems matter + +What set smartphones apart from their ancestors was their ability to +perform a wide array of tasks to your liking. The extensibility comes from +their operating system, in the sense that you can configure it in more +ways than before, and also dynamically install and manage applications. + +You interact with your operating system every day. Every minute your phone +is powered on, it is in charge of your screen, speaker, microphone, +antenna, battery and everything else. If you say the OS doesn't matter +you're lying. If an OTA update made your phone lag on every swipe (true +story) or depleted a full battery in four hours, you would be enraged. Not +every issue can be solved by adding 20 to your Snapdragon model number, or +doubling your milliamp-hour. If your OS is crap, your phone is crap, until +you flash something better onto your crapphone. But this is based on the +assumption that your phone lets you do so. Flashing a ROM is a hassle at +the very least: even on the most customizable phone models you have +a bootloader to break, not to mention adb and TWRP. + +My stance is clear. If you, a smartphone vendor, wish to deter your users +from flashing custom ROMs, you should at least make a better stock ROM. If +your intention is to lock users on your crappy ROM so you can do evil +shit, then I wish you death. + +## What makes a good operating system (and what makes it crap) + +__Short answer: user experience.__ + +User experience is a concept quite difficult to take ahold, but I'd +summarize a good user experience as the following: + +1. system is stable enough to not crash frequently +2. proper privacy management, absolutely no spyware +3. third-party apps run without hassle, and pre-installed apps can be + uninstalled +4. interactions are responsive and predictable +5. user interface is consistent and clutter-free +6. well-documented configurations for everything +7. updates maintain backward compatibility + +Sadly, none of the stock ROMs I've used satisfy all seven. Twice, I got so +annoyed I replaced them. Here's what went wrong. + +### #3 violation: Some apps are more equal than others + +In the Chinese distribution of MIUI 9 or 10 (I forgot which one), a popup +appears whenever a third-party app tries to open another, asking for +consent. A side effect is that custom launchers, whose job is basically +opening third-party apps, are extremely painful to use. + +![Allow "Nova Launcher" to open "VLC Media Player"? +Allow/Deny](img/miui_open_app_popup.png) + +I believe this was out of good intention, but laying too much restriction +on third-party apps is impeding customization. + +### #5 violation: Ads don't belong + +Ads have no place in an OS. I'm talking about you, EMUI and ColorOS. There +must be absolutely no ads in the default browser, or news feed, or +anything system. That's it. What makes it so fucking difficult to +understand? Putting a perfectly clean demo on display in your stores, +charge hundreds of dollars for a piece of "art and craftsmanship", then +smear 3/4 of everyone's home tab with celebrity gossip and promoted sales. +What is *wrong* with you? + +### #7 violation: This update broke my workflow! + +Last month I updated OxygenOS from 11 to 12. Well, I regret that, big +time. It broke 7 things. 7, if you only count the ones introduced by +OnePlus, not Google and all the anti-features in Android 12. The worst +fuckup I've had on Arch Linux couldn't break 7 things at once (another +reason I love rolling release distros). But there has to be reasons why +I consider them broken. I counted them all, and it seems like OnePlus +managed to also violate #4, #5 and #6 all in one update. + +### #4 violation: This shouldn't lag. But it does + +The most irritating broken workflow was that, each time I navigate home +using the swipe-up-from-bottom gesture, the entire phone ceases to respond +for a solid second in which I can't open any app or swipe to another page. +Sometimes a thumbnail of the app I exited from freezes mid-air as +I release my finger. Who could've thought that this gesture, invoked +hundreds of times per day, would lag? Well, certainly not the OnePlus QA +team. + +### #5 violation: Wait… Things didn't work this way + +I don't blame this one on the OnePlus devs. It's a subtle bug, and it was +a consequence of another problem. But considering the time it cost me, I'd +kindly offer a design tip to anyone in the industry: + +__Don't change muscle memory-driven interfaces.__ + +Here's an example. This is a mockup of the power menu on OxygenOS 11: + +![Three buttons: Emergency (in red), Lock down, and Power Off. A menu is +expanded, revealing "Restart"](img/o2os11_power_menu.png) + +And this is what it looks like on OxygenOS 12: + +![Three buttons: Emergency (in red), Power Off, and +Restart](img/o2os12_power_menu.png) + +For an estimated 160 nights, I went to bed, held down the power button, +pressed the righthand rectangle, and listened to the vibration my phone +made on the nightstand as the room went dark. This has been engraved in my +memory. Guess what happened every night right after the update. + +You are right. For at least five times I pressed the button I *thought* +was poweroff, but is actually restart. I had to wait for it to boot, then +promptly shut down by pressing the *right* button. The first time I went +"wait… they moved them?" The second, "oops, better be more careful next +time." By the third I was cursing. How am I supposed to remind myself of +that with a heavy head? This is a small, yet ridiculously tormenting bug. + +The root cause of this is they removed the lock down feature (which +disables biological authentication modes). But it seems like they failed +to consider what the power menu will look like after the removal, and how +a sleepy person will interact with it. + +### #6 violation: Don't take away my options + +The moment I unlocked my phone post-update I noticed something wrong. +Aside from icon layout, the launcher was nothing like before. All the app +icons are wrong. I tried changing them, but it seems the only way is to +delegate an entire iconpack. This means I can't edit the icon of +individual apps like before, which fixed many odd-ones-out. + +Also, I saw app names under icons on my homescreen, which are supposed to +be hidden. There was an option to hide them, but it applied to those in +the app drawer as well. Fumbling around the settings of this new launcher, +I just can't stand the lack of so many options. I switched to a custom +launcher that I used on Mokee. + +Another setting I missed is double-press power button to launch camera. +This used to be the fastest way I could snap a photo of cats in silly +poses, but now I have to wake up the screen and swipe from a corner, or +enable some kind of on-screen gesture I'm sure will backfire. + +## What should smartphone vendors learn to understand? + +They need to understand that the operating system is the part that the +user interacts with more than anything (well, except the chassis. +I wouldn't buy a phone made of lead.) A better operating system makes the +smartphone much more pleasant to use, in the same way that a manager would +hire a more capable secretary. Instead of a collaboration (read: +advertising campaign) with Leica or Zeiss, try giving the devs and QAs +a raise. But don't give product managers any. + +They also need to understand an OS is much more than these "exclusive +features" with fancy names they boast. The fact that a smartphone has +these features onboard does not mean they will function properly along +with everything else. It would be worse if you can't turn them off. + +Even if they know an OS is a big deal, they rarely do it right. A tagline +for OxygenOS 12 is "Designed for comfort"[2]. But I felt no comfort in it. +OxygenOS 11 is, in literally every way, the better version. Perhaps if +I skipped 11 altogether and started from 12, I'd feel kind of comfortable; +but given so many workflows the update broke for me, no way. "Streamlined +and subtly textured visuals" and "accentuating light and space"[2] do not +compensate for laggy navigation in the slightest bit. + +I have learnt to never buy a phone without feeling its OS. Advertisements +lie. There are stores where you can try physical smartphones, but you +can't feel the OS in mere minutes. What would be perfect is a week-long +trial, but I doubt this will ever be true. + +Smartphones were a mistake. + +## References + +- [1] [Mobile Operating System Market Share + Worldwide](https://gs.statcounter.com/os-market-share/mobile/worldwide), + Accessed 2022-05-04. +- [2] [OxygenOS 12](https://www.oneplus.com/oxygenos12). Accessed + 2022-05-04. -- cgit v1.2.3