Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Apple Delays Work on Next Year's iPhone, Mac Software to Fix Bugs (bloomberg.com)
56 points by colesantiago on Nov 7, 2023 | hide | past | favorite | 74 comments


Great! Let's have a year of no new developer features and everyone sits down and documents the existing code. And not just "Peter the intern no one wants" typing in "This sets the density." as a comment for a function parameter named "density".


Documenting code is, for the most part, useless. It takes way too much time to keep it up to date. it's easier to just get in there and READ the code. Sure, document the larger, overall, architecture and how all the pieces fit together, but don't try and document all the details. It really isn't worth it.


While understandable for code bases where you have access to the underlying code, with iOS and macOS development, you have no such luxury. Good documentation is a must. I’d argue it’s a huge time saver even for open source libraries.


In the case of understanding a system you’re contributing to, you’re only half-right. Often code includes decisions, assumptions and designs which aren’t onvious from the code itself. It’s pretty common to understand how it works by reading it, but not to know why it was made to work THAT way; not to learn about the problem the code attempted to solve. It’s very hard to capture even when you’re rigorous with naming conventions and don’t abuse patterns and idiom.

So relying on reading code also relies on having the people who wrote the code available to explain the “why”. Or documentation.


Comments are for telling the reader why something is the way it is. The code doesn't do that.

It's also a lot more effort to dive into the code to understand what a method does (again, this typically includes background information related to things outside of the method itself) than to read an ideally well-formed sentence that precisely answers the main questions about the method's usage.


Unfortunately, reading the code would be a felony for me. I sort of feel that if Apple makes it a felony for me to do the obvious and fully sufficient thing, then maybe they need to pick up the slack they created.


I've noticed a steady uptick in bugginess with iMessage on Mac, which is a shame. I'm happy they're addressing it!

That said, I also feel like this, mixed with them not really shipping much new UX/device innovation, signals a distinct chapter away from Jobs. I really want to see the vision Apple has taken with the M-series chips applied to new devices. I don't know what that looks like. I don't have the vision. Maybe it's their VR headset? Maybe it's humanoid robotics? I need Apple to tell me.

Don't know if anyone else can relate to this feeling.


Actually some of what I'm feeling seems to be thought through in this piece (quite elegantly):

https://news.ycombinator.com/item?id=38177409


Time for a Snow Leopard style "0 new features" release?


I wish more companies would do that. Just grind down the backlog and stabilize the code base. "Move fast and ... then go back and fix things."


Still my favorite OS X release.


And I say this completely unironically: That's because it's everyone's favourite Mac OSX release.

If somebody has a preference for a release of Windows, it can range. Some love XP, some 7, some even might say "Screw the pushiness - I can make it shut the hell up, and 10 was better under the hood". Hell, I think I've seen comments to the effect of "95 was the best ever".

But having a favourite release of Mac OSX means it's Snow Leopard. I've seen comparisons between $current and $current_minus_one, but never in regards to "That was my favourite" - likely because anyone invested enough in Mac OS releases to have a favourite, favours Snow Leopard.


I kind of feel like I've missed out on the Snow Leopard upgrade since it was my first ever macOS. I had nothing to compare to. It just felt much better than Windows, but I don't know how much better than Leopard it was.


It was faster than Leopard but still Leopard. As an end-user who ran Tiger and Leopard back in the day (and System 6 and 7 before that), I didn't feel that either were bad or slow. Both were good releases that I was happy to use. Leopard was actually my last personal Mac OS because the MacBook logic board suddenly gave up the ghost while plugging in a cable. I also have a dead MacBook Pro that a former coworker gave me that has a dead logic board (due to the video chip).

It's a shame because I really liked my white MacBook. It was a nice machine.


It was kind of the sunset for PowerPC, so for many it was the end of an era, and most likely what any preserved Powerbooks are running. I have a 12 inch Powerbook G4 on my bookshelf with Snow Leopard.

edit: I must have misremembered as I've been corrected below. Leopard was the last PowerPC version.


That would be 10.5 Leopard. 10.6 Snow Leopard dropped PPC entirely.

10.4 Tiger - Classic (on PPC) and x86

10.5 Leopard - no Classic, PPC and x86

10.6 SL - x86 only

There are some early developer previews of 10.6 on PPC that have leaked and are being played with, but 10.5.8 is the last PPC release.


I have a Mac Mini running Snow Leopard as well that I boot up maybe once a year. Should use it a little bit more often just so the user agent surprises whomever is tracking my browser activity.


Back then I was still excited about new OS X releases. I remember walking to Best Buy to purchase the physical copy on release day.


I was working for Apple (retail) at the time Snow Leopard was released. I regret getting rid of all of my physical boxed copies... I had them all!


I never understood those annual release cycles anyway. Too artificial, too forced. Great for marketing hype, accumulating bugs, and missing out on documentation. Bad for quality.


You legit don't understand the need to placate Wall Street and institutional investors??


That's a want, not a need.


Until they start pulling investments.


A company's value, as assessed by the market, declining is not always, or even often, bad. Healthy biology demands regular cellular death through apoptosis. The corporate landscape should not riddled with cancers of companies refusing to die when it's due.

With "share price over all" mentality, instead of clearing up funding toward declining companies like GameStop and AMC, you get a sudden resurgence of investment toward them via weird things like gaming passive index investing as scammers and hopeful suckers encourage and fall victim to the efforts of C-level grifters who have decided to spend their allegedly exceptionally valuable expertise perpetuating the scam instead of cutting it short.

They do this all while attacking the immune system (short sellers) that is trying to accelerate us toward being rid of their sludge. It's a meta-human autoimmune disease.

I realize I'm taking this to the extreme, but there are small steps that echo this tendency to live or grow at any cost. Forcing out annual products with exuberant marketing campaigns as a substitute for substance is an indicator of weakness or outright lack of understanding that sometimes to go forward you have to take some steps backward.


The stock market is a secondary market, there's no "pulling investments", it's just selling stock back on that secondary market. Unless an investor bailing on a stock is so large as to impact the share price or they have influence/seat on the board of directors companies don't tend to give a shit. Even if a big investor sells stocks that doesn't necessarily mean there will be meaningful impacts on share price, the market is irrational.


Predictable cash flows are good for more-or-less everyone. Luckily Apple has a massive cash reserve and can easily take the short term hit. I suppose you can take advantage of that knowledge and buy when the reactionary investors sell on, perhaps, lower revenues if and when the time comes.


Sounds like you do understanding it


They made a lot more sense when Windows/MacOS were neck and neck, when Apple sold MacOS.

They made sense when iOS/Android were feature-leap-frogging.

They make little sense anymore but to support new hardware features.


You don't have to put every new feature in on the annual cycle. I'm pretty sure they were working on APFS for a lot longer than a year.


Yeah that launched as an unadvertised feature in iOS 10.3.


> I never understood those annual release cycles anyway. Too artificial, too forced. Great for marketing hype, accumulating bugs, and missing out on documentation. Bad for quality.

False! A foundational concept in Constraint Theory is that "Large Batch Sizes Increase Lead Time".

Apple should figure out how to release smaller batches more often to improve quality. They should figure out how to release the first day of the quarter, every quarter. And work backward on what needs to happen to make that happen. Then release first of the month, every month. Once again, work backward on how to make that happen.

For example, we release to the iOS App Store and Google Play Store first thing on Monday, every Monday. And we worked backwards to figure out what we needed to do to make that happen.

When something goes wrong, the batch size is small enough that we can quickly figure out what happened. Also, the release train is reliable enough that engineers can push back on PMs. "You are not getting this feature this Monday. You'll get it next Monday".

Large batch sizes and long release cycles are terrible for quality!


I don't have specific bugs, I just want things to be snappier/smoother. Everything just feels sluggish, delays when clicking things, weird UI hiccups, etc.


Most of my issues with this on the Mac seem to be SwiftUI related. For example, the passwords panel in the new settings app scrolls at roughly 15 fps and the notification center opening gesture (two fingers from right edge to left) is about the same. See also the Font Book app before and after they rewrote it (either Monterey or Ventura, I think). Most of the older features and animations are smoother.


Swift UI is just not that well thought out or efficient compared to Cocoa. And Cocoa was already a bit of a resource hog in comparison to Quartz, etc...


Absolutely. I wonder how much it's planned obsolescence, but my iPhone XS has been feeling extremely flaky lately. Many seconds long lock-ups resulting in crashes of both apps when opening an app while on a call, for example.

I understand their goal of pushing you to buy a new device, but this doesn't really do that. It makes me hesitant to buy a new one in case it will also perform this badly. There's nothing inherent to the hardware that should make it perform this badly and I don't think that it did that when it was new. Ergo I think their software has taken a nose dive into extreme unreliability.


Yeah that. I just started using Windows again recently and macOS feels sluggish and clunky in comparison.


Not on the 15 pro. It uses the 3nm processor to get the snappiness back. Even my 13 pro was losing the snappiness. Crazy stuff.


Weird my 11 Pro still feels snappy


The new watchOS is bad enough that I've delayed buying any new Apple Watches. Some are just bad implementations (the new stack stuff), and others are mind-boggling -- I'll keep complaining about it -- you can't swipe between watch faces anymore.

I literally had a work face, a workout face, and a Tesla watchface. I moved between them frictionless-ly, and now it's a press-hold-swipe-close movement. And yet, there's no swipe feature replacement -- you just can't swipe anymore. The gesture has no associated action.

I know some people hate the swipe, because they accidentally swiped between watch faces (it never happened to me), but if the swipe gesture is dead, why not offer it as a feature flag?

And it's like they don't want you to think your watch has multiple watch faces anymore. They macbook-keyboard-ruined watchOS for me and it's worse because they took something away that had been there this whole time -- a cardinal sin. Bah freakin' humbug.


I'm missing the old "double press crown" action, which toggled between the two most recent apps. Now it brings up the recent apps menu, which got kicked off the side button to make room for control center, which got kicked off of swipe-up to make room for a stack of widgets.

It also takes much more precise scrolling to check whether I've gotten the current Stand hour. Used to be continuous scrolling and you just had to get one small bar somewhere within the screen. Now it's a bunch of fullscreen pages and you need to scroll down to the exact page and no farther.

The new UI is prettier, but it's definitely not as efficient.

EDIT - I'd also like to be able to kick the date/time off of the widget stack so that I could have two useful widgets immediately on screen. I'm not swiping up to look at the date and time, I have both of those on my watch face. This should really be a widget from the Clock app if someone wants to have it there, but otherwise let me delete it.

Trying to tap widgets further down the stack also behaves weirdly. In the iOS app switcher cards you can tap on the background cards near the left side of the screen to open an app from further back in the stack without having to scroll to it first. The one to the left of the current app is a pretty easy target, the second one to the left is a bit of a narrow line along the edge. But it works, you tap either of them and they activate.

Not so with the watchOS 10 widget stack. You can see the next two widgets in the background along the bottom of the screen, but if you try to tap on them they just disappear.

They're past due for an iOS 12 style polish pass on all of their platforms. But now their attention is going to be focused on launching and iterating a whole new one (visionOS) so it's hard to get optimistic.


I really hope this is enabled again through an "advanced" setting.

  Swipe to Change Watch Faces: YES


100%, it's extremely annoying.

I've had to set up focus modes with schedules so that my work and sleep faces are activated automatically at certain times of the day, this has helped a bit with reducing my frustration with this change, but I really hope they revert this in an update (unlikely, I know).


I never knew you could do it without the press-hold-swipe. That's the only way I ever knew how to switch faces.


And we used to be able to board an airplane without taking off our shoes! (US-centric hot take)


GOOD.

Using an iPhone and Apple Watch these last few years has felt like death by a thousand cuts. The number of times I've felt like throwing all of my devices out a window and going back to the olden days of flip phones and writing letters to people have been astronomical this year.

The worst part is the lack of communication when things go wrong. You can't just connect your phone to your computer and run `adb logcat` like you can on Android to at least hope for a glimmer of a clue behind the bugs. If you don't have XCode, you're mostly SOL.


They've been selling off their moat.

I died that death of a thousand cuts on Linux and Android and after being hesitant to spend the money for years, my expectation for Apple was that at least the devices would work very well! But they're increasingly becoming what they were supposed to be better than.


The work days are long and the macOS versions are short.

Is it just me or does Snow Leopard feel like 4-5 years ago? I've been using macOS since the original X (10.0.0) was released. This is what getting old (40) feels like... Paired with a pandemic, Catalina feels like yesterday.

  Sonoma    14.1    2023
  Ventura   13.6    2022
  Monterey  12.7    2021
  Big Sur   11.7    2020
  Catalina  10.15   2019
  Mojave    10.14   2018
  H. Sierra 10.13   2017
  Sierra    10.12   2016
  El Cap    10.11   2015
  Yosemite  10.10   2014
  Mavericks 10.9    2013
  Mtn Lion  10.8    2012
  Lion      10.7    2011
  Snow Leo  10.6    2009
  Leopard   10.5    2007
  Tiger     10.4    2005
  Panther   10.3    2003
  Jaguar    10.2    2002
  Puma      10.1    2001
  Cheetah   10.0    2001
Edit: Years... like they mean anything, heh!


Snow Leopard was 2009. Didn’t check your other dates. I knew that was wrong as I had a 2008 aluminium unibody MacBook that shipped with Leopard and Snow Leopard came some time after I bought it.


Fixed. I was using "Date announced" instead of "Release date" - https://en.wikipedia.org/wiki/MacOS


Tiger was Spring of 2005, Leopard was Fall of 2007. That one was delayed several months because Apple had to divert resources to ship the first iPhone. Snow Leopard was Fall 2009, then Apple basically moved onto the yearly release cycle in Summer 2011 with Lion and moved it to Fall of every year with Mavericks in 2013.

I believe Mavericks was also when Apple stopped charging for OS upgrades.


It’s not just you — something happened with me where I mentally checked out from the MacOS train after Lion. The versions from Mavericks and up are “those newfangled versions with their silly names”. And Mavericks is 10 years old! Maybe it was the RDF wearing off.


SEA LION


They have all felt the same to me the last decade, I'm not sure what I am using at the moment.


Please do, my iPhone 13 has felt noticeably worse since upgrading to iOS 17


Oh please. They've already nearly completed next year's iPhone. These things don't get designed and built in a month.


You should probably re-read the headline. And maybe even read the article.



Do I misunderstand something or this is not that big of a deal?

> Last month, the company completed the first version of its next iPhone, iPad and Mac operating systems. That iteration is known as M1 since it’s the first major milestone.

> Apple is lifting the pause this week.

So it's a pause for at most one month, most probably not a chance for a release like Snow Leopard.


About time, they should wait a few years between releases


Will Safari get snappier?


I don't see how it could.


You can get the text of the article at https://finance.yahoo.com/news/apple-delays-next-iphone-mac-...

>In 2019, he overhauled the way Apple develops software in a further attempt to stave off problems

>That year, he also adopted what is known within Apple as “The Pact.” The agreement calls for employees to never knowingly allow “regressions” — when software that once worked stops functioning correctly — and quickly fix mistakes. Federighi’s policies have helped: Apple software releases have been less buggy in recent years, and fewer features had to be delayed.

Lmao.


https://archive.ph/kF3iS (Yahoo requires JS for viewing pages)



Sadly this doesn't actually provide any additional data for Bloomberg.


Looks fine now?


Fucking finally. The quality of macOS has been questionable for a while. Especially the new features, but there are also a ton of glitches that have been there for many versions and I experience daily.

It feels like Tim Cook has been selling off the reputation of reliability (their moat!) for a few years now.


If only software projects could have a "completed" state the same way construction ones do.

One can argue that buildings and other structures need regular maintenance to stay safe to use. Yes they do; however, that is because their components are exposed to the elements and wear out. Software isn't like that. Bits don't go bad if you neglect them for too long. And you'll eventually run out of bugs and vulnerabilities if you stop adding new features no user ever asked for.


> Bits don't go bad if you neglect them for too long

They do... Other than in the obvious physical sense (bit rot), your assumptions about the environment that the code runs in might change (y2k), the foundation your software is being built on is being actively and continuously updated in ways that may break your code (ipv6, forward incompatible security fixes), the resources your code uses are finite and the constraints around the resource usage may change... Looking at it from just first principles maintaining a Very Large software system in production is immensely complex.


Somehow, in most other areas of engineering, people know how to reliably make things that last. All mistakes that were ever made are documented and taught so they're never repeated. Yet in software, half of the assumptions consistently turn out to be wrong (yeah, who knew there could be years after 1999) and the quality is severely lacking because "we can always push an update" so everything is in a perpetual beta.

> the resources your code uses are finite and the constraints around the resource usage may change

How? A chat app or a web page has no business using several gigabytes of RAM. About the only thing that I can think of that does push the available resources on modern devices to the limit is AI. Which is very niche and gimmicky, at least right now.

But then yes, it makes sense to update OSes to support new hardware. But only for that. Adding a couple of drivers doesn't warrant a major OS release. Neither does exposing new hardware capabilities via APIs so apps could make use of them. And redesigning UIs just for the sake of it is indefensible, plain and simple.


Re: y2k; Yeah, who knew that year numbers were going to keep increasing? No one could have predicted that. /s


I don't feel like debating the predictability of any individual bug is in the spirit of the argument that I'm making here, which is just that software systems (absent formal verification + running in a completely isolated vacuum) are going to break. Sure, people might have been able to predict it but it still broke systems. Marking the system as 'complete' wouldn't have kept it working.


Programs can be completed. Systems must be maintained.


But an operating system is just a collection of programs in the end.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: