summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrederick Yin <fkfd@fkfd.me>2022-05-04 17:14:57 +0800
committerFrederick Yin <fkfd@fkfd.me>2022-05-04 17:14:57 +0800
commitdfa5e8d7d8b64a22929698e5e3b743db4b8451e2 (patch)
treee941f5ad18b1214db2331c117badbbf010093225
parentdceebe9890076eb827520023c4a092b811351533 (diff)
New post: random/smartphone_os
-rw-r--r--docs/random/img/miui_open_app_popup.pngbin0 -> 97184 bytes
-rw-r--r--docs/random/img/o2os11_power_menu.pngbin0 -> 78684 bytes
-rw-r--r--docs/random/img/o2os12_power_menu.pngbin0 -> 65736 bytes
-rw-r--r--docs/random/index.md1
-rw-r--r--docs/random/smartphone_os.md230
5 files changed, 231 insertions, 0 deletions
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
--- /dev/null
+++ b/docs/random/img/miui_open_app_popup.png
Binary files 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
--- /dev/null
+++ b/docs/random/img/o2os11_power_menu.png
Binary files 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
--- /dev/null
+++ b/docs/random/img/o2os12_power_menu.png
Binary files 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.