Archive for October 4, 2016

Tuesday, October 4, 2016

A Declining Trajectory

Matt Gemmell (Hacker News):

We’d jump if we could. Even that statement alone is arresting for me.

Another year, another OS version, and another batch of broken things that had finally reached a stable state just a few months before. Another set of new things that are of passing interest at most, with their own byzantine quirks yet to be ironed out.


Courage is apparently what it takes to remove a headphone port, according to Phil Schiller. I can only imagine which laudable value might lead to slowing down, making the upgrade cycle biennial, and focusing once again on quality and dependability above all.

Update (2016-10-05): Bernd Haug:

It’s really, really sad because it’s really, really true.

Marco Arment:

I don’t agree with @mattgemmell on everything here, but I’d say his big-picture characterization is right.

Matthew Bischoff:

Apple is right that it has a perception problem with its software quality. But it’s the internal perception that’s the problem.

iPhone 6 Plus “Touch Disease”

Jason Koebler:

Because Apple won’t publicly acknowledge the fact that the touchscreens of thousands of iPhone 6 Plus devices are spontaneously breaking due to a known engineering flaw, customers have been left in the dark.


As we’ve detailed in those stories, “touch disease” is an iPhone 6 Plus flaw related to “bendgate” in which the two tiny “Touch IC” connectors, which translate touchscreen presses into a machine input, become unseated from the phone’s logic board. It can be recognized by flickering gray bars along the top of the phone, and is associated with intermittent or total touchscreen failure.


In the last 24 hours, I’ve gotten emails from 27 separate iPhone 6 Plus owners who have encountered this problem and were unaware that Apple internally considers it a known issue. Many of them have been put through lengthy tech support protocols on obviously broken phones only to be told that they would have to pay $329 for a refurbished phone that is still fundamentally flawed.

Via Nick Heer:

When there was an known engineering defect in my mid-2007 MacBook Pro, I took it in for the out-of-warranty repair program. They didn’t have any of my model’s logic boards in stock, so they replaced it with an upgraded version that had a better video card and faster processor, at no charge. That’s the kind of customer service users who are reporting this problem should be getting[…]

Update (2016-10-11): Tim Hardwick:

Three additional law firms have joined a class action lawsuit against Apple over an alleged defect that causes iPhone 6 Plus touchscreens to become unresponsive and fail.

Update (2016-11-18): Josh Centers:

After much consternation from the user community, Apple has finally created a repair program for iPhone 6 Plus phones suffering from what has been dubbed “touch disease.” Symptoms include flickering and erratic multi-touch behavior. Other iPhone models are not covered by the program, but we haven’t heard of problems beyond the iPhone 6 Plus.

Apple claims the problems are associated with “being dropped multiple times on a hard surface and then incurring further stress on the device,” which seems a bit like blaming the victim. Adam Engst’s father’s iPhone 6 Plus succumbed to touch disease recently, despite having been protected by a wraparound case and generally treated well.

Option Sets in Swift

Ole Begemann:

Swift imports this definition not as an enum, but as a struct that conforms to the OptionSet protocol. Why a struct and not an enum? Enums are great when the cases are mutually exclusive, i.e. only one option can be set at a time. But you can’t combine multiple enum cases into a single value in Swift — unlike in C, where an enum is treated like an integer by the compiler and can assume any value.

An option set struct uses the same efficient representation as a bit field in C, but it presents itself externally as a set whose members are the selected options. This allows you to manipulate the bit field with standard set operations, such as testing for membership with contains or combining two bit fields with union. And because OptionSet inherits from ExpressibleByArrayLiteral, you can populate an option set with an array literal[…]

Southtree Follow-up

I ended up converting about a dozen old VHS recordings to digital files. The quality is about as good as I could have hoped for. The processing speed was slower than I would have liked but within the promised range. I sent the tapes to Southtree in a series of batches, which was a lot more expensive because of shipping, but I didn’t want to risk all the tapes being lost.

It turns out that this fear was partially justified because they did, in fact, lose track of one shipment. After weeks of not hearing anything, my USPS tracking information showed that the package had been delivered to Southtree, but entering my order number and zip code would not bring up my order status. It turns out that another customer had been given the same order number as me (so the zip code check was failing), and furthermore they didn’t know where my tapes were.

I got the impression that they had mailed my tapes back to that customer, but the language was vague enough that it was clear they didn’t want to explain how they were “looking” for the tapes. It was a tense few weeks waiting to see whether they would be able to find the tapes or whether the family memories were lost forever.

Finally, they said that they had found the tapes and would start processing them and notify me via e-mail when they shipped back to me. I never did get the shipping notification (as I had for the previous orders), but a few days ago the box arrived on my doorstep, and everything seemed to be in order.

I also had another minor issue where a batch of tapes was sent back to me but the converted MP4 file for one of them was missing. After a bit of difficulty proving this to Southtree, they provided free shipping to send the tape back to them for reprocessing.

Lastly, it’s been my experience that after the first order they send out a ton of 45-50% off coupons. So don’t worry if one offer is expiring; another will probably come along soon.

Previously: Converting Old Videotapes.

Dropbox’s Finder Toolbar

Seth Vargo (via Hacker News):

You would think less than a month after a very popular HackerNews article on how Dropbox Hacks Your Mac, the file sharing company would be careful about the activities they are performing in their software distribution. Nope, not Dropbox. Today they released an update that adds a hacky overlay UI element to finder that cannot be disabled!


Aside from the fact that this banner looks like something free software would install as a toolbar, it has some serious UX issues. I question if Dropbox actually tested this thing.


Hi folks, Ben from Dropbox on the desktop client team --

This is an experiment that is being tested with a fraction of users primarily on beta releases (which Seth is on, as evidenced by the version number in his screenshots). We haven’t shipped it to everyone so that we can continue to iterate and incorporate feedback. I checked with the team about the “Finder Toolbar” drop down and it looks like it requires a restart of the Dropbox client in order to take affect — let us know if that doesn’t work.

Vargo said that didn’t work. (And does “primarily” mean some non-beta users?)


Dropbox still refuses to answer why their client takes up a ton of CPU anytime there is IO on the system. It seems like they are monitoring ALL filesystem activity, not just the Dropbox folder. What they are doing with that data I have no idea.

I have to quit Dropbox before expanding a new Xcode archive because otherwise it overwhelms the CPU monitoring all the new files, which are not in my Dropbox folder.

I just want a folder that syncs, with as little system hacking as possible.

Previously: Dropbox Modifies TCC.db to Give Itself Accessibility Access, Disabling Dropbox’s Haxie.

Update (2016-10-05): Marco Arment:

What the hell is going on at @Dropbox these days? The Mac client developers have lost all respect for the platform.