6 ms·
It's not just Apple guys, it's everywhere. Software quality has seriously declined across the board, from Spotify to Slack to core operating systems like Windo
by swat535 2y ago
It's not just Apple guys, it's everywhere.
Software quality has seriously declined across the board, from Spotify to Slack to core operating systems like Windows and macOS. I think a major factor is corporate culture, which largely ignores software quality. Another issue is that many engineers lack a solid understanding of CS fundamentals like performance, security, and reliability (perhaps this is why many are not able to solve basic algorithmic questions like linked lists or binary trees during interviews)..
I've seen code written by so-called "senior" engineers that should never have made it past review; had they simply paid attention in their CS 101 courses, it wouldn't exist.
On top of that, as long as poor software quality doesn’t hurt a company's bottom line, why would executives care if their app takes 20 seconds to load?
Consumers have become desensitized to bloat, and regulators remain asleep at the wheel..
- nicce 2y agoAll of that can be summarized with Electron, web developers and high availability of workworkforce with somewhat low salary…
- rafaelmn 2y agoExcept none of Apple stuff is Electron based, and as far as I am aware of Apple salaries are competitive with top companies - so none of your arguments really hold up.
- nicce 2y agoMy reply was mostly for the parent comment. Apple software is still top tier when you start comparing to Slack, Teams, and all the non-native friends. Apple Music does not take close to 1GB of RAM. There are very few native applications these days because of the cost. And lower cost availability is based on the web stack and lower entry level of skills. MacOS may have bugs but in general they are well engineered. Starting from secure enclave that none of the competitors have, or just raw performance and battery life that is not just hardware. I haven’t seen a single bug in my Watch for over a year. I guess it depends what you use. The most bugs that we see these days are originating from the choices behind the tech stacks. Python and pure JavaScript are still too popular. Every post here with Rust name on it gets attention because of its promise of some level stability reduced resource footprint.
- TheOtherHobbes 2y agoDev at Apple seems immensely political and corporate. From the outside it looks very much as there are points for shipping $new_thing, even if no one out there wants $new_thing. The whole marketing cycle is based on a endless stream of $new_things that give Tim Cook something to talk about during those slick presentations - presumably so he doesn't spend all his time making prayer gestures and talking slowly. There doesn't seem to be anyone in charge of overall user experience who can say "Why does Facetime get so confused by different numbers and devices owned by one person? Why does the shared clipboard only work some of the time? Did the Settings app really need a new UI? Why hasn't Finder been updated since forever?" And so on.
- nicce 2y ago> Why does the shared clipboard only work some of the time? Did the Settings app really need a new UI? Why hasn't Finder been updated since forever?" These are like smallest of the small annoyances. Compare Facetime and Zoom, for example. Issues are on completely new universum. Zoom has new RCE about almost every month. They just don’t give CVEs for them because they can be mitigated on server update.
- deleted 2y ago[deleted]
- moltopoco 2y agoWeb-based apps definitely lose when you compare RAM use, and probably also when you look at the average app installation size. Spotify.app filling half a CD is absolutely bonkers. But these are also the easiest two metrics to measure, and that makes it tempting to look at a huge trend in software quality and reduce it to "Chromium eats RAM". It is much harder to quantify how many bugs or delays one encounters in a single day of macOS/iOS compared to earlier versions, or in native apps vs web apps, and so it never happens.
- laweijfmvo 2y agoThere are plenty of us that would love to just sit and fix things all day, but then you get a poor performance review for not shipping new features and find yourself out of a job :)
- deleted 2y ago[deleted]
- markus_zhang 2y agoI wonder how can I join MSFT or Apple just to fix stuffs? Don't care about salary as long as it's on par with my current one.
- AlotOfReading 2y agoThat's not how Apple works. You'd be given requirements specific to your team and expected to implement them. End of story. You wouldn't be empowered to seek out other teams and fix their stuff (or even necessarily talk to them). It's deliberate and intentional to have very few people with that cross-functional power.
- JKCalhoun 2y agoYou're right and not right. There were the infrequent occasions when an engineer would be tracking down a problem they were having and end up in another teams framework/code. A Radar would be created, a polite code diff attached and, often, the team would take the patch and roll it into the next build. It did not happen often though to be sure.
- saagarjha 2y agoThere are power/perf teams at Apple that have this as their core job responsibilities
- AlotOfReading 2y agoI tried to convey that there are exceptions, but I'm not sure I succeeded.
- crazygringo 2y agoHonestly, I don't think it's a culture thing or a CS fundamentals thing. I think it's the fact that software is 100x, or maybe even 1,000x, more complex that it was just 25 years ago. Apps are built on so many libraries and frameworks and packages that an average application will have 100x the amount of code. And they're all necessary. A typical phone app is 200 MB, when Word 4.0 was less than 1 MB. But it's not just the sheer number of lines of code that can have bugs. It's the conceptual complexity of modern software. An app has to have an interface that works with the mouse and with touch, large screens and small screens, regular resolution and retina, light mode and dark mode, it works offline and online with sync functionality, it works in 20 different languages, it works with accessibility, it works with a physical keyboard and an on-screen keyboard, over mobile data and over WiFi, it works with cloud storage and local storage, it goes on and on. There are so many combinations of states to reason about. When I was building software for Win32 back in 1995, you worried about screen sizes and color depths. That was about it. Software's just gotten incredibly complex and there's more to reason about and software quality is just going to suffer. Like, I love Dark Mode at night, but at the same time I can't help but wonder what bugs would have gotten fixed if engineering resources hadn't gone into, and continue to go into, Dark Mode for each app.
- rchaud 2y agoMacOS had more screen sizes to target in 2011 than the iPad does today; in any case, Apple has always tolerated having iPad apps that are blown-up phone apps. Mouse support for iPad apps has existed as an accessibility feature before it was deemed a core feature. Even that isn't any kind of technological leap, mouse support has been part of Android for at least 15 years now. None of these really explain the sloppiness and unfocused nature of Apple software, which has been best-in-class until recently.
- cguess 2y agoExcept those iPad apps also have to have a Web app now, and if you don't have a custom MacOS app your iPad app has to look good when run in MacOS. You then have to support all iPhone models. But also maybe Windows and probably Android. 25 years ago you could slap "IBM PC Compatible" on software and basically design for like 5 color depths and maybe a few resolutions. Update cycles were on the order of a year, not a week (which also means all new features need to be ported to all the platforms above in that timeframe). Not even mentioning the backend infrastructure and maintenance to run and sync all of these when 25 years ago everything was on your local hard drive and maybe a floppy disk or CD-R.
- greenheadedduck 2y ago[flagged]
- ncr100 2y agoAgile. Sprints. Firing QA departments. I see these trends as negatively impacting app quality. "User pain" as a euphemism for "lowest common denominator" apathetic / fear driven development. Like, playing the Vulcan game of Kal Toh where you remove rods unintelligentlly and still believe your constructed structure (the app) is fully coherent, and instead it dissolves into uselessness.
- habosa 2y agoThis. I’d like to hear from the HN comments. Does anyone here work for a modern and popular software company (something I might have used recently) and think that the software they make is really and truly bulletproof? Like no backlog of hundreds of unfixed bugs and polish items that won’t stop growing? I don’t think I have met anyone who works at one of those places yet. I’d like to.
- saagarjha 2y agoThe SQLite people post here sometimes
- jiehong 2y agoYep, like the new Sonos app a few months ago.