There’s an article in TidBITS I really enjoyed: Six Reasons Why iOS 13 and Catalina Are So Buggy. Unfortunately, while the actual points in the article are great, both the headline and introduction are… sensationalist. It’s a list with a headline designed to grab your intention.Continue reading “No, it’s not worse”
This year I worked on a Core Data application. All of the parts of its sync were in a single file, which as a result had too much state tracking. The result wasn’t just complicated, it was dangerous. Should a state change be missed, the operation would never complete.Continue reading “Multithreaded Core Data”
Recently, CBC posted Still don’t own a smartwatch? You’re not alone. First, let me say I agree with the author that not everyone needs or wants a smartwatch. I certainly don’t need one, but did want one. I got an Apple Watch as an early birthday present last September or October. And I really do enjoy it.Continue reading “15 months with my Apple Watch”
Recently, a number of reporters have put on their very best nostalgic glasses to look at the history of Apple software.
In the last couple of years, however, I’ve noticed a gradual degradation in the quality and reliability of Apple’s core apps, on both the mobile iOS operating system and its Mac OS X platform. It’s almost as if the tech giant has taken its eye off the ball when it comes to these core software products, while it pursues big new dreams, like smartwatches and cars.
It’s just not like Apple to release software that is so broken.
Although the headline is “apps,” both articles actually talk about a wide variety of Apple software including the core OS.
Look, I’m not here to argue that Apple’s software is perfect. I think it’s pretty good and it’s getting better, but that’s beside the point. What I find ridiculous is the assertion that “this used to be great.” Frankly, it’s setting the bar way too low.
Don’t believe me? Let’s look over some quotes about Apple’s software quality. See if you can guess for what Apple release it was written. Most of these are quotes from the time, but some are in retrospect.
Note: Although I’m presenting these as quotes, I’ve stripped the version number, keywords, old application names and technologies. Further, I’ve been bad and have not marked those edits in the text, so please check the original story for the real quote. This is all done to make the game more entertaining. I hope the original authors understand this comes from the very best place.
Our first quote is about a broken installer:
The release was pulled due to a mistake at Apple, in which some components were not included in the installer.
This was said about 1996’s System 7.5.4 (Source: Wikipedia’s System 7 article).
Next is about Wi-Fi problems introduced in an OS update:
The Mac OS X update installed fine but I lost networking including ability to talk to my Apple Airport Extreme.
This was said about 2003’s Jaguar 10.2.8 (Source: CNET’s “Troubleshooting (pulled) Mac OS X 10.2.8″)
Now let’s talk lack of polish:
But that’s not to say that this initial release is all sunshine and daisies. I ran across quite a few bugs and flaws in the software as I tested it, and while none are significant enough to recommend against upgrading, this strikes me as the least polished major iOS update in quite some time.
This was 2011’s release of iOS 5. (Source: iOS 5 Review: Ambitious update rings in the changes)
Next, we’ve got a quote about data corruption:
Just connecting a drive using this technology to a Mac running OS X can ruin the data on the drive. The problem does not occur with earlier versions of Mac OS X, however.
This was said about 2003’s Panther 10.3 (Source: Macintouch’s “Panther FireWire Bug“)
On inconsistent UI:
Such basic design flaws demonstrate a lack of unity among Apple’s development team and a lack of overall coordination and user design standards.
This was said about 2005’s Tiger 10.4 (Source: “Macintoch’s Tiger Review“)
On security problems:
Apple has significantly lowered the bar for malicious entities to install and execute damaging code in OS X.
This was said about 2005’s Tiger 10.4 (Source: blueprint for a widget of mass destruction)
On updates that don’t work:
Apple support drones are getting an earful from Mac users who are experiencing frozen Macs while trying to update to the latest and greatest version of OS X.
This was said about 2007’s Leopard 10.5 (Source: Dreaded Blue Screen of Death mars some Leopard installs)
On applications being broken:
Users are reporting a significant number of applications being affected by the issue, including Microsoft Office, older versions of Adobe Photoshop, and various other applications…
This was said about a 2012 security update to Snow Leopard (Source: Snow Leopard Security Update Kills PowerPC Apps Using Rosetta)
On sideways motion:
It has gotten mixed reviews from customers, so far (like other recent versions of Mac OS X, come to think of it). There are real technical and usability improvements, but these are obscured by interface changes and special effects.
This was said about the 2011 release of Lion (Source: Macintouch’s Mac OS X 10.7 Lion Review)
It’s absolutely true Apple’s shipped some stinkers like
discoveryd, but that’s nothing new. If we want better, the most important thing is to start from reality. A narrative shared by the blogosphere is different from fact.
So let’s start from reality: We don’t need a return to the “golden era” (which may not even have been any better). We need better.
Note: I reserve the right to add new examples if I feel like it. I’m not a reporter, and this isn’t a news story.
In the past if you wanted to include data in your command line app, you could either include it in a separate file or do some linker trickery to embed it. Personally, I never really got into the linker trickery (though it’s probably the better solution of the two).
For a while, though, Xcode has supported a build option Create Info.plist Section In Binary, also known as
CREATE_INFOPLIST_SECTION_IN_BINARY. If on, this will embed the target’s Info.plist into the executable as a data segment.
I couldn’t find any documentation on how to get it out, though. After a lot of searching, I came up with
getsectbyname. This is defined in mach-o/getsect.h like so:
Continue reading “Info.plist for command line tools”
Do you have an app where the row heights in a table view shift, especially when navigating away from a view controller?
This seems to be an iOS bug and is caused by using autolayout within a table cell without a
You know what I really hate? Defending Facebook.
CBC has a story right now on how Facebook Messanger captures more data than you think. And thanks to how inaccurate that story is, now I have to defend Facebook. Way to make my day, CBC.
Jon Friskics suggets Swift is great, but you should still know Objective-C first. Dave Mark agrees.
Let me give you a different opinion:
No, newbie, you don’t need to learn Objective-C first. You’ll miss it from time to time and you might want to pick it up later, but it won’t help you much now. And it will color your thinking in a way that might hurt your understanding.
I’ve had some recent troubles trying to upload a build in Xcode. These involved getting a really unhelpful error from Xcode: “No identities were available.” Unfortunately, I was stuck there for two days.
It turns out that you can get Xcode to log more information on the handshake with the portal. Quit Xcode, then run these two commands.
NSIndexPath is easier to use than you might think.
If you read the documentation for the class, you’ll see this: