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.
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.
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.
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.
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.
> 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.
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'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).
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.
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
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.
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.
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.
>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.
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.
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.