← Back to context

Comment by teddyh

6 years ago

For some reason, every hardware company, without exception, it terrible at software development. They just can’t do it right. It’s probably a cultural difference, somehow, with the developent style and/or NDA requirements possibly having their impact.

I'm not really a hardware guy (just a hobbyist), but I've worked with a few. As far as I can tell it's typically a mix of things, largely related to managing unique difficulties of hardware bringup and treating software development as part of the hardware product development cycle instead of really having its own planning/management authority. For example:

- Doing a hard fork of the software stack for every product family/generation/platform, because it's assumed up front that hardware differences/bugs and changes in product definition will require non-portable changes throughout the stack (e.g. things like GUI element sizes and line lengths are often hardcoded to fit the layout to a particular screen, various GPIO pins/buttons/LEDs/connectors change identity/significance, hardware gains/loses capabilities needed for a feature so UI elements related to that feature need to be added/removed/altered)

- Expecting the vast majority of development effort to be on shipping new products because already-shipping products are "in the can" and the big deals have already been closed

- Management belief that hardware is hard and software is easy (which is arguably sometimes rational from the perspective of managing product-dooming risks)

- Upstream vendors wasting developers' time with shenanigans around stuff like documentation (oh, you wanted the real manual that actually says what the registers do?) and firmware (some vendors apparently forget to mention that there is firmware until you ask your SE/FAE why something isn't working)

- Uncertainty around whether a given problem ought to be fixed in hardware or software

Apple too?

  • Lately, Apple does kinda suck at software development.

    I spent days hunting down issues in the launch iOS 13 simulator that turned out not to happen on real hardware (and had never happened worth the iOS 13 launch).

    Their UX is on a downward trend for several years now, IMO.

    Historically I've heard Apple described as a software company that uses hardware to achieve competitive advantage.

    Apple sucking is relative, obviously - their stuff is still better than most other products, but it's not add good as it used to be, IMO.

    I wonder if the iPhone's success has transformed them into more of a hardware company?

    • > Historically I've heard Apple described as a software company that uses hardware to achieve competitive advantage.

      I’ve always heard it as the exact opposite, hardware company that uses software to achieve competitive advantage. If you look at what they actually “sell”, the version I’ve heard makes much more sense.

    • Yes, Apple Music UX consistently worsens, and new multitasking gestures on the iPad (that are modeled after the iPhone X) are much less convenient than before. The amazing part though is the overall UI smoothness (except on app startup) that is unheard of in the desktop world.

  • Isn’t Apple more of a product design company than hardware company?

    But yes, they do seem to straddle the divide somewhat, and they have wavered to one side or the other in the past. But is does seem that even Apple can’t go against the stream; they either seem to do bad hardware and good software or vice versa at any given time.