← Back to context

Comment by Retric

3 days ago

> If a slow program has the features I need and a fast program doesn't, the slow program is going to be "higher quality" in my mind.

That’s irrelevant here, the fully featured product can also be fast. The overwhelming majority of software is slow because the company simply doesn’t care about efficiency. Google actively penalized slow websites and many companies still didn’t make it a priority.

> That’s irrelevant here, the fully featured product can also be fast.

So why is it so rarely the case? If it's so simple, why hasn't anyone recognized that Teams, Zoom, etc are all bloated and slow and made a hyper-optimized, feature-complete competitor, dominating the market?

Software costs money to build, and performance optimization doesn't come for free.

> The overwhelming majority of software is slow because the company simply doesn’t care about efficiency.

Don't care about efficiency at all, or don't consider it as important as other features and functionality?

  • > Software costs money to build, and performance optimization doesn't come for free.

    Neither do caching, operational/architectural overhead, slow builds and all the hoops we jump through in order to satisfy stylistic choices. All of this stuff introduces complexity and often demands specialized expertise on top.

    And it's typically not about optimization, but about not doing things that you don't necessarily have to do. A little bit of frugality goes a long way. Often leading to simpler code and fewer dependencies.

    The hardware people are (actually) optimizing, trying hard to make computers fast, to a degree that it introduces vulnerabilities (like the apple CPU cache prefetching memory from arrays of pointers, which opened it up for timing attacks, or the branch prediction vulnerability on intel chips). Meanwhile we software people are piling more and more stuff into programs that aren't needed, from software patterns/paradigms to unnecessary dependencies etc.

    There's also the issue of programs feeling entitled to resources. When I'm running a video game or a data migration, I obviously want to give it as many resources as possible. But it shouldn't be necessary to provide gigabytes of memory for utility programs and operative applications.

  • Not being free upfront isn’t the same thing as expensive.

    Zoom’s got 7,412 employees a small team of say 7 employees could make a noticeable difference here and the investment wouldn’t disappear, it would help drive further profits.

    > Don't care about efficiency at all

    Doesn’t care beyond basic functionality. Obviously they care if something takes an hour to load, but rarely do you see considerations for people running on lower hardware than the kind of machines you see at a major software company etc.

    • > Zoom’s got 7,412 employees a small team of say 7 employees could make a noticeable difference here

      What would those 7 engineers specifically be working on? How did you pick 7? What part of the infrastructure would they be working on, and what kind of performance gains, in which part of the system, would be the result of their work?

      1 reply →