Hacker News new | ask | show | jobs
by BoxOfRain 1777 days ago
One of my real pet hates is software developers who assume everyone's running their software on an excellent internet connection. Badly written SPAs are the worst offenders but I also pretty much gave up on any sort of regular gaming because pushing these enormous 10-20 GB updates over a sluggish connection just became insufferable. Add that to the constant and shameless fleecing of customers that's apparently the norm now and the enjoyment to effort ratio is just too low to bother with.
5 comments

> One of my real pet hates is software developers who assume everyone's running their software on an excellent internet connection.

That could be said for a lot of assumptions developers make. Everyone has 32GB of ram, everyone has an SSD, everyone has an i7...

It is an old problem, but like almost everything else in computing for some reason it seems to have become much worse since about 2010.

The spread of capabilities is bigger now.

In 2000 a developer might have been developing on a Pentium 3 with 128 MB of RAM, but they could reasonably expect their audience to be using at least a 486 with 16 MB of RAM because that was the minimum spec for IE4.

Now you're stuck with trying to impress people with a Ryzen Threadripper and 64GB of DDR5, but your webapp still has to support everyone's iPhone 7 (with 2GB to share with iOS and everything else they have running) for as long as Apple does.

What I think is even more different is that someone with the 486 in 2000 was used to the idea that they wouldn't be able to run some software, but unable to run a website? Unheard of, it's just broken.
Apple still supports the older iPhones. For example, the iPhone 6 that doesn't get the latest iOS version anymore (stuck with iOS 12) is still supported by regular security updates (the last iOS 12 update was 54 days ago).

Apple supports (at least security wise) probably more devices than you think.

I was working on a proposal for a client who wanted to build a marketplace, but most of the vendors had low-end tech equipment, and he went with someone who had a lower quote. My biggest caution was that a limited number of developers actually understood what to do with slow internet connections and old tech. Marketplace failed... ignorance sometimes is the worst thing in people who believe that it works on my machine and will work on everyone else's.
> One of my real pet hates is software developers who assume everyone's running their software on an excellent internet connection

Maybe it's a process problem, not a developer problem. Like management prioritizes a dozen analytics trackers and ad partners without any tooling for performance testing on a range of devices.

I guess my language was a bit imprecise, by "software developers" I meant "people involved in the software development process" rather than the specific role of the person writing the code. I guess I should have said "software companies" or "companies developing software". Managers definitely deserve their share of the blame for demanding user-hostile bloat too, likely more blame than the developers.

On the developer end (as a developer myself) we definitely deserve some of the blame for embracing things like Electron with such zeal in my opinion. I don't care how much memory a developer's workstation has, there's still a lot of hardware in use that can't take the bloat. I'm not saying everything has to be a native app written in vi against an original print of The C Programming Language as Brian Kernighan and Dennis Ritchie wrote it in 1978 or it's automatically shit, but something like React Native for the desktop would be far less horrible in terms of resource usage I reckon.

It could be that the customers most likely to pay are on more recent hardware. So why bother catering to everyone else if there is no return on investment.

Or for free software, chances are it is add supported. So push as many ads and trackers until the churn rate gets too high or competitors take market share.

Or more generally, maybe the design just follows the money.

Could also be reverse: why pay for software that won't run on your computer anyway?
Absolutely, that's a calculated decision that companies make. It is fully expected that a certain market segment is not interested in being a customer at a given price point. Market segmentation is often done by OS version or device hardware profile.
An SPA requiring a backend connection is quite simply a distributed computer and all the usual caveats about those including network availability apply.
Counter point: Often I am faced with doing it right or doing it within budget for an activation that is designed to live for a few weeks only. I aim for 100% compatibility with different hardware, OS, browser, user experience, client expectation and non suicidal business practices.
> One of my real pet hates is software developers who assume everyone's running their software on an excellent internet connection.

It's not the developers' job to assume anything about users. It's the project managers'.