← Back to context

Comment by yalok

10 months ago

This has been going on for years. I used to do a lot of iOS development, and have an eye for bugs. Almost every Apple app/service has been regressing in quality.

Take basic functionality - a phone app (calling). After certain audio sessions use (calling via WhatsApp) I can’t make regular calls over cellular - the UI app immediately cancels the call. Only reboot helps.

Or notes - for many years/iOS versions, they lived with a bug where a text note may just become blank - and only restarting Notes app makes it visible again.

Or AppStore - if an app has to be updated (I have auto updates off) - and I press Update - it gets downloaded, installed - and then AppStore is back to showing “Update” button! If you just go to the app, it’s a new version. But if you press that “Update”, it will redo update from scratch.

Sometimes I’m so frustrated, and thinking of my options - it’s either move to Android, or go get hired at Apple with a mandate to fix bugs in various products… but knowing Apple secrecy culture/silos, it’s not going to work, and requires change in their hiring process/perf review/QA.

> can’t make regular calls over cellular

That's extremely serious because the call you're trying to make could be an emergency call. A bug like that would have top priority in the org I used to work in. If I'd had to guess it cancels the call because there's a crash in a process somewhere. Possibly because of audio handover between apps.

  • I did a MS in Telecoms Engineering. Our Telephony teacher Claude Rigault drummed it into us that when people can't make emergency calls, pople die, thus the importance of reliability.

>phone app

I'm triggered. How many times have you reached for the 'end call' button, but the other person ended the call a moment earlier than you, and as you press down the screen immediately flips to your "recent calls" screen and you call a random person straight away?

This is such a common and terrifying experience for me, and yet it's been the default UX on the Phone app since probably day 1.

  • the ipad skype apps puts the call button where the hangup button is, so if someone hangs up right when you are going to click it, you call them again.

    and this is such an easy fix, just don't make components touchable for X milliseconds after they are visible, some value below average human reaction time.

    this could of course get in the way of people quickly navigating via muscle memory, but there's a probably a threshold where it can prevent one without affecting the other.

  • This happened so often for me. But lo and behold, they fixed it. I recently installed iOS 18, and the phone app now prevents accidental touch input after the other person has ended the call. This took almost 18 years!

  • This is a symptom of a more general problem that I named (clumsily... "Rerender/Reflow/Repopulation Delayed Interaction Timeout Missing") in a 2017 blog post!

    https://medium.com/p/31773fe6bbd5

    I consider it by far the most annoying bug in touch UI's today.

    Solution: There must be a small interaction-ignoring delay instituted when any control has just moved to its final rendered location.

The article makes some great points about how iOS software is regressing, but it still feels so much better than almost any other software I use on a daily basis.

I’ve only ever noticed maybe like a few actually bothersome bugs in the however many years I’ve been using iPhones which is pretty impressive.

Anyway, hope they get it together. Performance and optimization are a very difficult and very thankless job that might not get you promoted the same way cool sexy feature work does. Such is corporate life I guess.

  • > The article makes some great points about how iOS software is regressing, but it still feels so much better than almost any other software I use on a daily basis.

    I face none of the issues on my Samsung S23 phone, which the parent commentator describes - no issues in phones calls (I make 4-5 calls daily, mix of WhatsApp & regular calls), no major issues in Google Keep (which I use 2-3 times daily, specially never of a note becoming "blank"), and again no major issues in the Google App Store or updates (which I use on an average once a week).

    So maybe, the software quality varies by user experience rather than one platform being universally better.

    • I use Apple-Silicon MacBook Pro and Mac Mini for software development. I hardly ever use Apple software for business/personal/productivity. Jetbrains IDE tools, Docker, Homebrew work great. I install Chrome browser and use Google services, AWS and GCP consoles, etc. via the browser. YouTube for video, Google Music app.

      As for all Apple software, I might use Preview or Numbers (spreadsheets) on occasion, and I'm forced to use Finder, which I hate. And Terminal works well. I avoid Safari.

      Apple "PC" hardware is solid. I use third party apps though, little Apple software, there are better alternatives. I've used Android since the HTC Dream (I think it was the first Android phone in the USA) and have stuck with Android since, with few problems.

      Edit: I thought the Apple Vision Pro would be interesting (I couldn't justify the expense) but I saw the value supposedly would be greatest for those fully bought into the integrated Apple app ecosystem and iCloud. I'm not the target user.

      8 replies →

  • Hmm every day i notice that the button to open photos and send them via iMessage doesn’t load the photos half the time. I close the widget, open it again, boom it works. This bug was introduced 5 or more years ago and no one has fixed it. It drives me crazy.

Notes is so bad. Often copy and paste just breaks. It will copy some string of characters from a different part of the note than you selected, until you restart.

Reminders too. For at least 5 years, creating multiple reminders in a certain order will not create multiple reminders, and will just append the text to the end of the first one. Surprise — hope you didn’t set any important reminders in that batch!

And the great thing about their standardization between iOS and macOS code means the exact same bugs exist in both versions. Yay.

  • One of the weirdest regressions is basic search on iOS. Just clicking into the search screen takes 1s before I see anything (it's probably booting up internally). And each keypress sometimes seems to take another 1s before it updates the results.

    Sometimes 3s will pass before I even see anything after I've already typed in my search term (I'm always searching for a local app btw - it's how I open apps).

    It's like it waits on an http request for every keystroke.

    Also, you used to be able to search for an app in any of the secondary languages you have in your settings. Which is great because apps have different names in different languages (Settings vs Configuración vs Réglages), so it would be annoying to have to remember which word to search based on which language is primary. For years it would show you multilingual results (e.g. you can search for "Settings" as long as English is one of your secondary iPhone languages yet "Configuración" or "Réglages" would still show up).

    It was the sort of polish I came to expect from Apple. Well, that stopped working a couple years ago.

    • Try disabling everything labeled “suggestion” in settings. This drove me crazy too and pretty much went away after I disabled Siri and safari suggestions.

> Sometimes I’m so frustrated, and thinking of my options - it’s either move to Android, or go get hired at Apple with a mandate to fix bugs in various products…

Those aren’t options, they’re fantasies. Like dreaming of suing out of existence a company that wronged you, or fixing the world by ruling it, or winning the lottery without playing.

Android isn’t perfect either, it’s a different set of frustrations. And why would Apple ever need to hire you for that specific task, do you really believe there aren’t engineers inside just as frustrated as we are?

The way I see it, the yearly release cycle is to blame. No one inside the company has time to do anything properly anymore. Features are announced and rushed every year, and we’re reaching the point where by the time something which was announced at a WWDC is out of beta, we’re preparing for the next one.

What these companies need to do is slow down and stop chasing every shiny thing. You know, like Apple used to do with macOS. Tim Cook needs to go.

  • While I agree that it's Tim Cook's responsibility to set the course and influence the culture, I doubt a new CEO will be able to so.

    I'm not saying nobody can be like Steve Jobs, but Steve Jobs was an anomaly when it comes to C-Levels, and even when it comes to management in general, at least from reading things like www.folkore.org and interviews with people who worked with him.

    And I'm not even talking about talent or vision or whatever, it's just about saying no to pointless features that are there for someone's ego or so that someone can get a promotion.

    • Steve Jobs wasn't an anomaly because he was Steve Jobs; he was the anomaly because he was the founder and CEO. Founder C-suites can foundationally get away with actual innovation in a way that the board refuses to permit for their successors.

    • Back in the 90s, Apple seemed to have a lot of these same problems. Software quality was declining and they had real trouble executing on anything strategic. They aren't there yet, but they certainly seem to be headed down a similar path.

  • I have been saying this for years: consistent deterioration of ACs/DoDs. There is no limit to scrum and especially the constant refinement to ACs/DoDs.

    Yes, you may implement a solution more efficiently by not overengineering it. But at some point constant seek to reduce "complexity" so that more features fit into sprint (funny how story point measure complexity, not time, but sprint is sized in both time and SP capacity) is bound to hit feature completeness. Once you cross over that metaphorical Rubicon it's game over - quality starts to slowly go downhill.

    You will not notice it immediately. That edge case that was ignored may not surface for months or years. It may take several idiosyncrasies to line up for a feature to be declared FUBAR. At some point that technical debt does bite you back, but at that point the process (tm) has already optimized away most if not all opportunities for deep refactorings fixing previous rushes to deliver.

    • First off - it's a sprint forecast, not a sprint commitment. A sprint is timeboxed in the sense of guaranteeing some delivery of incremental functionality for a product on a regular basis. It's aim is not to backdoor the mapping of time to points.

      Furthermore, Sprint Planning/Refinement are just innocuous ceremonies whose only aim is to facilitate productive discussion between a Product Owner/Manager and an Implementation team as regards delivery timelines and priority ordering thereof. Done properly, it allows a pragmatic approach to achieving a predictable software delivery cadence via mutual compromise.

      If the process turns into 'fit as many features into the sprint as possible' at the expense of Performance/Stability/Functionality or Technical Debt accumulation, you're really just doing the 'fast' version of Cheap/Fast/Good Waterfall Project Management.

  • Most consumer electronics companies are like this. It's not only a yearly release cycle but a Christmas release cycle. New Shiny Thing has to be in the stores by late November so all development has to be done in August so the factories can start producing the first trial batches.

    I never buy products when they are first released. I prefer to wait at least 3-4 months so that production has had time to tweak all the settings and weed out the funky first component deliveries. Also the software devs will have fixed the worst bugs by then.

  • > The way I see it, the yearly release cycle is to blame. No one inside the company has time to do anything properly anymore. Features are announced and rushed every year, and we’re reaching the point where by the time something which was announced at a WWDC is out of beta, we’re preparing for the next one.

    At many places where I've worked, the mentality is: "If that bug didn't block last year's release, then why would it block this year's release?" So it survives one release, it never gets fixed.

  • > The way I see it, the yearly release cycle is to blame.

    I don't see a connection between yearly release cycles and a broken notes application. They shouldn't be doing anything that is particularly affected by such changes and the problem they are trying to solve has been mostly solved for 40+ years now.

    While it certainly applies to some things, there's a different, bigger issue happening as well.

    My understanding is that Apple outsources loads of software not seen as "critical". I think that's the first place for them to look.

    • The release cycles seem to lead to an annual reshuffling of teams to meet deadlines causing quality issues for anything that is not an advertised feature.

      Some of this could be resolved by open sourcing their less important apps like Files, Notes or Home which barely ever get touched, yet are full of quirks and bugs. Those apps should be public examples of good SwiftUI coding.

  • > What these companies need to do is slow down and stop chasing every shiny thing

    Who is dealing in fantasies now, friend? :)

    Apple's software really isn't in crisis. It's just very low quality relative to what people who've written software for a living know to be possible.

    But it doesn't matter - Apple is a prestigious jobs guarantee program for rich kids first, entity that delivers value to consumers second.

    It's not that they're chasing shiny things. They're cosplaying competence and they genuinely don't know it. They think they're actually competent, elite really, because they attend 'elite' schools, get good grades and go work at the 'best' places.

    They have it ingrained in them that anything a poor person says can be disregarded because poor people are losers, because they're poor. They're an unintentional suicide cult. They genuinely don't know it. You can't convince them of anything because they are rich. If you complain - go see a therapist, there's something wrong with you.

    You can youtube search Garys Economics. It's a poor kid who slipped into the rich kids club and defected. It's quite eye opening.

    • > Who is dealing in fantasies now, friend?

      I said they need to, not that I think they will. But they have in the past. There is a reason Snow Leopard is still lauded today.

      > It's just very low quality relative to what people who've written software for a living know to be possible.

      No, it’s low quality relative to what Apple users came to expect. There was a time when “it just works” was an aspirational goal which permeated their decisions and you could see the results.

      > Apple is a prestigious jobs guarantee program for rich kids first, entity that delivers value to consumers second.

      What a bizarre conspiracy theory. No company gets to that stratospheric level of success by making hiring incompetent rich kids their primary goal.

      4 replies →

Here's my favorite UI/UX bug which has been there for years:

In Calendar (macOS) create a new event.

In the start or end time, type in the Minutes field, but type slowly.

For example, type "2" pause a bit, then type "1"

If there's more than ~300msec pause between the two keypresses, the 2 changes into "02" and then the 1 overrides it, so you end up with "01" instead of 21.

Works with any two kepresses. Same problem in the date fields.

Completely wrong, and super bad for accessibility.

I moved out of iPhone because of one such thing: the call log can only be 100 items long, like what? The most powerful processor ever, hundreds of GB and i can't see who I called last month?? I was done at that moment.

  • That doesn’t seem to be correct (any more?) I just spent a while scrolling back through the call log.

    It goes back to 2019 - certainly more than 100 calls

    • Indeed, this restriction was eased in a recent iOS version. Prior to this update, it was true that only the most recent 100 records could be displayed. Moreover, it is amusing to note that after deleting the first most recent record, one can still view the 100th record. This effectively displays 101 records. It is perplexing why this decision was made, as it deliberately limits the user interface to display only 100 records.

    • God damn lol. I'm interestingly not regretting the shift though. It truly is useful more often than I thought to request desktop sites and actually see desktop sites, or open two apps side by side.

I have run into these same issues, it's particularly frustrating once you see a Reddit thread from a couple years ago outlining the exact issue. For a large consumer-focused company like Apple this can only be explained by ignorance.

From a developer perspective many of these inconsistencies are rooting from inconsistent access patterns - operating system (ABI?), applications (ICP?), remote (TCP, HTTP, LDAP, FTP, ...?). All of these are "execution" or "information" but have to be programmed against differently.

On Notes:

1. If you copy some text

2. Select other text

3. Paste the text you copied to replace the selected text

Notes will crash. This has been known for years.

Also if you turn off all suggestions in Spotlight on iOS and just use it as an app launcher, it will still take seconds for Spotlight to show you the results. For something that's supposed to be an indexed look up.

  • I keep annual journals in Notes and I’ve noticed (on iOS) that the keyboard becomes increasingly laggy as the year drags on / as the note length increases. I can only assume they are synchronously flushing the file to disk on the main thread during the keyboard callback handler.

    I don’t mean to be rude, but that’s how an iOS intern would implement it.

    • > I don’t mean to be rude, but that’s how an iOS intern would implement it.

      A bad one maybe

  • Select/Copy/Paste has been bad from the start on iOS, another I can’t get over is how the backspace behavior has the absolute worst timings for jumping to words and paragraphs.

    • >I can’t get over is how the backspace behavior has the absolute worst timings for jumping to words and paragraphs.

      I wish they implemented backspace like they do with fine scrubbing on seekbars. i.e. you could move your finger up & down while holding the backspace key to select the granularity of deletion between letters, words and paragraphs.

    • Never used an iPhone, but TBF these functionalities are equally hard on Android phones I used (but I never used any "higher end" phones such as Pixel). I came to the conclusion that human fingers are not exactly the best tools for them.

      Not sure about iOS, but Android has sort of magnifier when users start to select so they can clearly see what characters they are selecting. It definitely helps. However, what I should want is some sort of arrow keys that I can press to select characters instead of relying on my fingers.

    • And the auto complete on proper nouns. I'm typing someone's name and it'll often get corrected and will take more than one attempt for what you actually intended to stick.

      No, Ellie isn't a typo and I didn't actually mean Emma.

      1 reply →

  • I wonder why they don't bother fixing it. Clearly it hasnt hurt their bottom line much, but you'd think they'd sell more phones if they were still the kings of "it just works" (and they aren't).

  • On Mail:

    Cannot get notifications for new mail on iOS.

    On Languages:

    Cannot swipe-to-type and dictate in less spoken languages even though this has been possible on Android for over a decade.

  • Notes on my laptop would take minutes to load, it was only fixed in the latest macOS release, after more than a year.

Current head of Apple hardware is in the line of CEO succession. If he becomes CEO at some point in the future, could he have a positive influence on software culture within Apple?

  • In my experience, hardware people in the top decision making roles are the cause of degradation of software quality, not the solution. They often don't understand the nature of software and software product management.

    • Depends on the person. The CEO position is about setting a vision and hiring the right people to execute.

Same feeling about Mac OS. What am I going to do? Move to Windows? I suppose I could install Gentoo or read the entire Arch wiki. However, I am no longer an unemployed 23-year-old. Don't have the time or care to bother with recreational sysadminning.

There are also a bunch little of usability bugs related to selecting, copying and pasting text. The auto-complete has become more adversarial then helpful. There are bugs related to search in pdf documents in safari. There are (or at least were until recently) bugs when searching for settings in the settings app.

Can't think of any more at the top of my head ... it feels a lot like Windows, where there are a bunch of eternal bugs one just sort of knows and works around, even though it's a kind of shitty and occasionally very frustrating experience.