Hacker News new | ask | show | jobs
by TeMPOraL 1700 days ago
I see your point, but I have some half-formed doubts. I apologize for a possibly incoherent reply.

> The independent dev community could change this, but it seems permanently attached to the wrong end of the telescope, looking at computing from the comfort of its tool- and toy-making treadmill.

In defense of the tool makers: the reason corporate IT can cater to regular users so well is because they can throw a lot of warm bodies at the problem. The tools we use in this industry are shit, but it doesn't matter when you can use hordes of developers as a protein substitute for better tooling.

I believe the road for "independent dev" software usable by masses starts with better tools, and better tools for making tools.

Additionally, I think "most of the biggest innovations in computing" actually happened because of toy-making treadmill. Even in the startup world, a common advice is to scratch your own itch - it often leads to something that's widely useful.

> "Why should an ordinary user care about this?" isn't asked nearly as often as it should be. And "Don't you understand the tech is fun to play with?" is not the right answer.

In defense of the "independent dev community": perhaps we care a little bit too much about ordinary users? The way I see it, most modern software is dumbed down, lowest-common-denominator toys, whose sole purpose is to sell well and/or sell their users out. Tech-savvy people, and even less savvy users who care about getting things done, are now considered a niche too small to care for. While there are some businesses still working on "power user" tools, the platforms themselves - operating systems - are being optimized for unsophisticated users, dumbed down and locked down.

Again, I believe most of the biggest innovations, the ones helping everyone, start with engineers scratching their own itch. To the extent it's becoming harder, all users lose out.

1 comments

> Again, I believe most of the biggest innovations, the ones helping everyone, start with engineers scratching their own itch. To the extent it's becoming harder, all users lose out.

I really disagree. I think engineers scratching their own itch leading down to trickle-down tooling is what a lot of independent devs _like to believe_, but that it's motivated mostly by self-importance. I think the utter failure of the FOSS desktop is proof that devs are motivated to work on things they find fun and that these things do _not_ necessarily translate to things that general users want to use.

> Even in the startup world, a common advice is to scratch your own itch - it often leads to something that's widely useful.

I think that's bad advice. That's the _kind_ of advice that leads to things like the hundreds of now-dead clothes washing startups or valet parking startups. And while endless VC rounds blunt this, at least startups have some form of market pressure to have people use their software.

> In defense of the "independent dev community": perhaps we care a little bit too much about ordinary users?

Not really. Software devs are the last set of STEM-engineers that still insist on understanding _everything_ and holding entire systems in their heads. Civil Engineers don't start by considering the subatomic forces that hold their materials together; automotive engineers don't understand every aspect of the software and combustion reaction that goes into their designs. Most engineers accept abstraction as a cost for building useful things.

> The way I see it, most modern software is dumbed down, lowest-common-denominator toys, whose sole purpose is to sell well and/or sell their users out.

"Sell well" is just a euphemism for "software that others use". Money is just the easiest metric to calculate for software being bought and sold, but metrics like "downloads per month" are just as impactful.

Just like you didn't buy a new car and then spend days learning about how it works, most users of software don't want to either. That's not to say that there isn't a robust scene of modifying cars or building hobby cars, but that most people who drive cars for utility purposes don't care to pierce the abstraction veil of an automatic transmission, a brake pedal, and power steering. Most software users just want software that gets out of their way or enables to connect with others in novel ways. They don't care about how much energy their software uses (as long as it's affordable) or how "simple" it is or whether it uses Unix sockets or DBus or something.

> I really disagree. I think engineers scratching their own itch leading down to trickle-down tooling is what a lot of independent devs _like to believe_, but that it's motivated mostly by self-importance. I think the utter failure of the FOSS desktop is proof that devs are motivated to work on things they find fun and that these things do _not_ necessarily translate to things that general users want to use.

I'm not a desktop environment developer, but I can't imagine it's especially fun compared to other projects. The bigger projects (Gnome, KDE, etc) are definitely being run for instrumentalist reasons, and are supported to quite a degree by companies with a business interest in having them.

Thinking about this reminded me of a highly insightful comment by user Floegipoky[0]:

> By mimicking the Apple and Microsoft tactic of constructing vast monolithic environments and applications, you have all unwittingly been playing to their strengths, not yours. Such enormous proprietary companies can afford such brute-force strategies because they have vast financial and manpower resources to draw on.

> Projects like Gnome and Open Office become like our banking industries: vast, baroque, impossible to regulate effectively, and cripplingly expensive to maintain.

Doesn't exactly sound fun — and whose itch is being scratched by working on these?

> the Linux desktop world (and even the kernel world beneath it) has completely and utterly forgotten its roots. Unix Philosophy isn't merely a neat marketing phrase: it describes a very specific way to construct large, complex systems. Not by erecting vast imposing monoliths, ego-gratifying as that may be, but by assembling a rich ecosystem of small, simple, plug-n-play components that can be linked together in whatever arrangement best suits a given problem.

[0]: https://news.ycombinator.com/item?id=13573373