Monday, September 24, 2018

Software Disenchantment

Nikita Prokopov (Hacker News):

Look around: our portable computers are thousands of times more powerful than the ones that brought man to the moon. Yet every other webpage struggles to maintain a smooth 60fps scroll on the latest top-of-the-line MacBook Pro. I can comfortably play games, watch 4K videos but not scroll web pages? How is it ok?

[…]

Every device I own fails regularly one way or another. My Dell monitor needs a hard reboot from time to time because there’s software in it. Airdrop? You’re lucky if it’ll detect your device, otherwise, what do I do? Bluetooth? Spec is so complex that devices won’t talk to each other and periodic resets are the best way to go.

[…]

We put virtual machines inside Linux, and then we put Docker inside virtual machines, simply because nobody was able to clean up the mess that most programs, languages and their environment produce.

Previously: Most of the Web Really Sucks If You Have a Slow Connection, Continued Mac Bluetooth Problems.

Update (2019-01-29): Pierre Lebeaupin:

But later on I started seeing things differently. It is clear that browser developers have been for the last few years engaged in a competition for performance, features, etc., even if they don’t all favor the same benchmarks. In that fast-paced environment, it would be a hard dilemma between going for features and performance at the risk of bugs, especially security vulnerabilities, slipping through the cracks, and instead moving at a more careful pace, at the risk of being left behind by more innovative browsers and being marginalized; and even if your competitor’s vulnerabilities end up catching up with him in the long term, that still leaves enough time for your browser to be so marginalized that it cannot recover. We’re not far from a variant of the prisoner’s dilemma. Chrome resolved that dilemma by going for performance and features, and at the same time investing up front in an architecture that provides a safety net so that a single vulnerability doesn’t mean the attacker can escape the jail yet, and bugs of other kinds are mitigated. This frees the developers working on most of the browser code, in particular on the JavaScript engine, from excessively needing to worry about security and bugs, with the few people having the most expertise on that instead working on the sandbox architecture of the browser.

Update (2023-10-25): See also: Hacker News.

2 Comments RSS · Twitter

Thanks for linking this, I could not agree more with that entire post.

I'm not a programmer so I can't really speak to the last point, but the first two points are beyond true, and beyond frustrating. I have a 100mbit connection at home, and while my jealousy boils over at times about those lucky people who have literally ten times the speed that I do, I also know there are lots that have less. I can't even imagine what the web is like at slower speeds than mine, considering the sheer number of pages that run like a tired dog on my connection and my devices. I firmly believe that the so called "fat pipes" and huge bandwidth we have available today has made us complacent when it comes to web design and programming. Just because you have more bandwidth shouldn't require it be filled. Team that up with the useless bloated crap like heavy scripts, trackers, advertisements, unoptimized code and images, and third-party cross-site connections, and you have the perfect reason why we can't have nice things online anymore. And each time the bandwidth increases, so does the bloat, because "why not, it's no good if you don't use it?". I fear there will come a time when my 100mbit connection will feel like dialup, and that is both ludicrous, and sad.

All of this is exacerbated by your second highlight about poor and buggy software. Between deteriorating performance, bugs, security flaws, and even lack of focus (*cough* Apple *cough*), it just seems like all operating systems, and many applications, are just suffering right now. I haven't even used airdrop once, and while I don't have bluetooth disconnects for the most part, I can never get continuity and handoff features to work half the time, sometimes requiring signing out and back in and/or restarting bluetooth. I am also having regular issues with my MacBook not waking up properly from sleep, or waking it up to find it has restarted. This only started happening recently with High Sierra, and reading numerous forums has shown I'm not alone. Proper sleep/wake is something that should just work in 2018, but it doesn't. It seems iOS is not immune either, the biggest issue I have being iCloud backup not working automatically, or working for a time and then failing again for no apparent reason except to give me an aneurism.

I think it's time we step back, take a deep breath, and start asking ourselves what's really necessary when it comes to software and web design. Put the focus back on the content first, and how it's presented second. Now if you'll excuse me, I have to go lament about the day when my router starts making noises of a 2400 baud modem connecting to the online bbs, because not only will it feel that slow some day (soon?), but that is probably the only site that will load decently.

Leave a Comment