Comment by bondolo

10 months ago

While I worked at Apple in 2021-22 their issues seemed about the same as nearly every other company producing consumer apps and devices; bloated slow garbage with very mediocre quality. Their engineering culture is terrible, especially as it relates to transfer of the “Apple ethos” to the next generation of devs. Apple is going to be indistinguishable from the rest of the pack within the next decade.

But most of all it seems like it was designed by people who don’t even know what it is for. That combined with the superficial “implement my Figma masterpiece in code” development approach that includes little to no user testing. Tog weeps. Don Norman weeps. Observe how much breaks when you do something as trivial as bump the default font size by one notch. I am sure it is pixel perfect at default size though.

Enter a birth date in a contact entry without a year. Watch as it jumps to the next day when you save because you are editing the date after 0000 of the next day in utc time. That bug has now been in MacOS/iOS for at least 17 years.

Sorry, got in to rant mode. I really want “less but better” from things in my life. We as consumers aren’t rewarding companies that take this approach apparently.

You can really see this when trying to build apps with Swift & SwiftUI. The language and the framework seem to be optimized for nice terse WWDC demos but both fall apart pretty quickly when you start to do any heavy UI lifting with them. And I think that's starting to bleed into their own native UI now too. The lousy macOS settings app is a good example.

Unfortunately there don't seem to be any good alternatives to Apple. Windows is even worse.

  • Yes, I was a fairly early SwiftUI guinea pig, when I'd mistakenly assumed it was solid because of how Apple was pushing it, and your "WWDC demo" is spot-on.

    The DSL could've been better (while still syncing between code and direct-manipulation GUI painter). And the interaction model seemed like it wasn't to be trusted, and was probably buggy (and others confirmed bugs). The lack of documentation on some entitlements APIs being demoed as launched left me shouting very bad words on multiple days (which is not something I normally do) before I made everything work.

    I could feel this, and ended up wrapping all my UI with a carefully hand-implemented hierarchical statechart, so that the app would work in the field for our needs, the first time, and every time. Normally, for consumer-grade work, I would just use the abstractions of the interface toolkit, and not have to formally model it separately.

    Don't get me started on what a transparently incompetent load of poo some of the Apple developer Web sites were, for complying with the additional burdens that Apple places on developers, just because it can. Obvious rampant data consistency problems, poor HCI design, and just plain unreliable behavior. I think I heard that at least some of that had been outsourced, to one of those consulting firms that everyone knows isn't up to doing anything competently, but that somehow gets contracts anyway.

  • All of these modern "declarative" frameworks seem to be optimized for hello world kinds of apps. Jetpack Compose, too.

    And SwiftUI is just being too smart sometimes: https://tonsky.me/blog/swiftui/

    Not sure about other people, but for me, my UI framework making its own heuristic decisions about how to lay out and style my views is the last thing I want. It robs me of the certainty that my UI will look and work the way I intend. And this is why, as an Android developer, I still build my apps with decade-old tried and true technologies.

    • Yeah that view builder syntax is a perfect example of optimizing for the wrong thing. It makes for nice short examples but in real apps your compile times explode trying to untangle these crazy generics and the compiler very often just throws up its hands and tells you to figure it out. This means you just start commenting out bits of code until you find by trial and error what it doesn't like.

      That this is shipping in the native UI framework for a trillion dollar tech company is astonishing.

    • Except those technologies are now deprecated and you don't know when they might be removed. Jetpack Compose is now the vendor-favored way to build apps, so best practice is to use that.

      1 reply →

  • Their new wifi network selector is laggy as fuck. The old one was perfectly fine. This is just like windows reimplementing basic UIs in their UI-framework-of-the-year.

  • Windows is only worse if you don't consider the freedom of choosing the hardware it runs on and its ability to be modified to run as you see fit.

    Apple is really losing the plot because they really need their software to be good to sell their hardware. Microsoft doesn't even have to care that much because there is not a relevant alternative coming out any time soon (as the various Linux failures have shown), but at least you don't have to give them a lot of money (in fact as close to zero as possible if you really want to).

  • Ironically Linux with KDE is very good for being both pixel perfect, responsive and enjoyable to work with.

    What a time to be alive.

Having joined a large established FAANG, it's become quite apparent that in any large established entity with so much management and meta work, with strong incentives driving more energy towards the meta work than where the rubber meets the road, it's inevitable for product quality to deteriorate.

Internally the prioritized output becomes the meta work, not what reaches customers. What reaches customers is almost some kind of accidental byproduct of what the vast majority of people in the org spend their time on day-to-day.

My past experience is dominated by startups. The fake work I'm incentivized to spend time on would have been fire-able levels of misplaced priorities / waste everywhere else I've worked as an IC developer.

I've never worked for Apple, I'm assuming this pattern plays out everywhere at this scale.

  • Matches my brief FAANG experience well: the vast amount of time devoted to performance reviews and the gaming of them versus actual productive work was… something I’d never encountered in my previous 15 years of work.

    Well compensated hoop jumping at least!

  • Interesting observation. I suppose most startups haven't existed for long enough for the meta-optimizing employees to be promoted over work-optimizing employees, yet.

    • Meta optimizing employees have issues hiding at smaller companies where one person has a vision of what needs to happen and quickly identify someone not pulling in one direction.

      Once you get big enough, upper management has tough time figure out who is meta optimizing over work-optimizing. Not to mention there might be multiple meta optimizing employees.

      IME, it's around 100-150 employees which lines up with Dunbar's Number. https://en.wikipedia.org/wiki/Dunbar%27s_number

      2 replies →

    • There is no budget for this kind of stupidity, if a start up employs to many people like this they won’t succeed.

  • Same. The compensation is substantially better at FAANG, but in terms of actual on the ground work being rewarded, almost never the case.

    Meta-work (lots of "cross functional" documents, alignment meetings, sync ups with senior tech leads to brown nose, deliberately creating low quality output to justify hiring more people/growing one's "scope") is 90% of it.

    Any actual output is largely accidental, coming from the 20% still naive, or idealistic enough to actually care about what they produce.

> It was designed by people who don’t even know what it is for.

This rings especially true with Windows.

There was a not-so-serious rumor that the whole MS design department uses Macs.

This may or may not be true, but recent UX changes make it clear that the designers don’t really use Windows beyond a superficial level. Many common interactions have become increasingly tedious and visually sluggish, both due to excessive animations and performance issues. Explorer in particular has become barely usable for anyone who frequently manages files.

  • Apple can stay far ahead simply by not falling even faster than Windows. Finder and Spotlight have gotten worse, but they remain light-years ahead of their Windows counterparts.

    • Ummmm, what? Spotlight I'll grant you, but Finder is hands down the worst file browser on any operating system.

      There's no up button, no split screen, you can't copy a path easily, you can't show hidden files easily, you can't customize the columns in list mode, the column mode won't let you go up, there's no cut and paste.

      Windows Explorer sucks, but not nearly as bad as finder. Dolphin, thunar, and Nautilus on Linux have all those features and more. I have to drop to terminal or install mucommander just to do basic things in the macOS filesystem.

      9 replies →

    • Spotlight has been broken on both of my Macs since Sequoia. It doesn't find anything under Downloads dir even though it should be indexed. Or any non-Apple apps under Applications. Re-indexing did nothing.

  • TBF a ton of windows users aren't primarily from the platform, and have either a second machine or more experience on other OSes.

    The dev community might be an outlier, but people choosing a windows machine to get WSL on a mainstream and well-supported hardware is not uncommon.

    Same for those with a macos work laptop but a windows gaming machine, or artists using a mac for personal stuff and windows for 3D/2D creation.

    Having Windows designers making platform transitions easier kinda makes sense, though I agree it shouldn't penalize existing users as much as it does now.

  • > It was designed by people who don’t even know what it is for.

    > This rings especially true with Windows.

    Just take a look at the Windows 11 "Control Panel" or whatever is called and how that looks like just another UI on top of the main system, that does not make sense

  • I don't disagree, but the average business user is someone who uses the M365 suite and a handful of webapps. We are getting ready to roll it out and our test users haven't had many complaints. IT is a different story, however, for the reasons you stated. It's like they just shuffled all the system and config menus for fun.

  • As far I remember, Microsoft design team used Sketch, which is... mac only.

    Now they are using Figma, but as far I know, yeah, they all use macs lol

  • Can you upload a video showing exactly what you mean by explorer is sluggish?

    • Context menu alone takes a few hundreds milliseconds to load every time. And then you have the infamous "show more options" to click if you want to do most of things (in my use case).

      Open a folder isn't much faster either, there is visible delay. with the current-day hardware there is no reason why this isn't instant.

      Compare it with Windows XP or Windows 7, the difference is night and day.

      Interaction with OneDrive is horrible too, this is particularly bad because it was fine on Win10. When a folder is syncing it constantly "refreshes" itself which causes you to lose the focus if you're renaming files. This is the single most annoying thing because I do close a doc -> immediately rename it all the time.

      8 replies →

    • (not OP) I open the “videos” folder and it takes 10 seconds to show the files list (there’s only like 50 files). I tried various forum solutions (whose existence proves it’s a bug) and nothing worked. Only happens on the videos folder.

    • Have you tried searching with Explorer? Or opening the start menu or a folder? I'm currently 100% a Windows shop, and it's embarrassingly slow on my silly fast computer.

      2 replies →

> Enter a birth date in a contact entry without a year.

I’m glad I’m not the only one. It’s mind boggling. I’ve had to start putting in my best guess just to have it save…

  • For exclusively Apple ecosystem users, how do you handle these feature gaps? Just get used to working around them and ignore?

    I feel like every time I swap to the Mac ecosystem it's a litany of "Hunh, that weird tiny thing doesn't work" issues.

    PS: USB-C DisplayPort MST (display daisy-chaining) support that's been missing for... a decade and counting?

    • > Just get used to working around them and ignore?

      Pretty much. It's not like the other operating systems are better in this regard. In general there's a lot more software that's buggy like this than software that's reliable

    • I accept them as I do in windows and Linux because I have built workflows around the things I do want on each of them respectively. I’ve long since given up the dream of any one platform or technology choice meeting all my needs, for me at least, it’s a fools errand.

      This bug I can’t even replicate so :shrug:

    • I don't even understand this bug description. It's an edge case I guess I never ran into, so pretty easy to handle.

      That said, it's not like everything is perfect, just 100% better than my drive-by experiences trying to have a gaming PC (dead, again), and an Android phone for testing purposes.

      3 replies →

  • FWIW, I've had the expiry month of credit cards stored in Safari increment on occasion (leading to failed online payments, trouble getting a flight, etc.) several times, to the extent that I now always include the expiry month in the card nickname. Mind boggling.

Agreed I was there at that time. I was in two different “orgs” in my 5 years, SWE and AI/ML

I saw poor management (lots of ex Amazon) running new grads/jr engineers into the ground (features features)

It’s all about new features. If anyone with experience expresses an idea to address technical debt they are literally put on PIP

  • I will point out I was at Google for a similar length of time and saw nothing but amazing code, yet the problem was is building anything but the ads money maker.

    If there was a way to combine Apples magic marketing brainwashing with Google’s engineering it would be an amazing thing to watch

This saddens me, as I learned the lessons of less but better through Apple over 20 years ago through Steve and Jony, which ultimately led to Rams. It was a pretty transformative lesson in my life, and extended far beyond tech or products.

I hope they are able to course correct with the right leadership. A culture that cares deeply about the little things is hard to build and has to be supported at the highest levels.

> Sorry, got in to rant mode. I really want “less but better” from things in my life. We as consumers aren’t rewarding companies that take this approach apparently.

If *becoming the most valuable company in the world* isn't being "rewarded", then what possibly is?

No, it's the hypercapitalist endless drive for ultra short-term, next quarter profits at the cost of anything else that causes this. Obvious irony being that Apple would've never become this big if Jobs had followed this approach.

This of course is the #1 reason of the downfall of the West, above all else - pure short-termism.

Thanks for sharing. Which teams are better and which are worse? I guess all the system software teams are better?