Hacker News new | ask | show | jobs
by TeMPOraL 915 days ago
> I think any operating system over complicates and encumbers the idea with un-needed dependices.

The prime problem is latency, which becomes both noticeably larger and unpredictable. Both those aspects cause huge loss of ergonomics. It's quite easy to tell whether a piece of hardware is doing things directly in firmware, or if it's running a full OS with a software stack - the latter has neither instant nor predictable feedback.

A good example would be phones, for anyone who remembers the transition from feature phones to iOS and Android smartphones. That transition is where we lost predictable input latency, and thus ability to develop muscle memory and operate device without looking at it. E.g. texting people while keeping the phone in your pocket was a typical thing teenagers did, that became impossible with modern smartphones.

3 comments

It's gotten worse since the introduction of smartphones. Instead of a button being hit changing into a pressed state instantly, they added animation that looks nice, but they end up making UI feels laggy and unresponsive.
That's because we lost keyboards?
Nah it's all the fault of touchscreens.
It isn't.

Forget texting from pocket. Consider why we can't really operate any of the common touchscreen devices, like phones, tablets and computers, without looking at them. It's because of unpredictable input latency, unpredictable UI timings, and unpredictable UI behavior all across the stack - from the apps with bullshit flashy UX, down to the OS which is not a real-time OS, and will introduce arbitrary latencies for arbitrary reasons.

The touchscreens and their driving hardware is itself fine. It's the introduction of a proper, non-real-time OS, that's the "original sin" here. Everything else is just decades of practice of writing for such OSes, with the fundamental unstated assumption that interactivity means user is looking at the display while operating the device. This assumption bleeds all the way to the very core of *nixes and Windows.