Archive for April 29, 2016

Friday, April 29, 2016

Apple’s Earnings and the iPhone Upgrade Cycle

John Gruber:

I think Dr. Drang nails it. We might be seeing “peak iPhone”. But it could just be a statistical blip, caused in large part by the iPhone 6’s exceptional popularity, along with other factors like the economy in China and currency exchange rates.

[…]

In chart form, you can see what an anomaly last year was with the iPhone 6. But given that you can almost draw a straight line connecting the other four points in the chart, I’m not willing to call it a peak yet. But even if we see a return to growth, it might take several years before we see another Q2 with over 60 million units sold.

Ben Thompson:

To that end I stand by my takeaway last quarter that the iPhone is likely to return to growth with the iPhone 7, but I must admit Cook’s focus on slow upgrades is worrisome: a big reason why I argued last fall that the iPhone will be fine was Cook’s insistence that iPhone 6 upgrades were not out of the ordinary, but given that Cook now says the opposite leads to the question of just how long people will now hold onto their good-enough iPhones with their big-enough screens.

Tim Cook:

“We’re thrilled with the response that we’ve seen on [iPhone SE]. It is clear that there is a demand there even much beyond what we thought. That is really why we have the constraint that we have.”

John Gruber:

I find it a little alarming that Apple was taken by surprise on this.

Jason Snell:

Apple’s Services revenue line increased 20 percent over the year-ago quarter, showing the power of Apple’s installed base of a billion devices to generate money for the company outside of hardware sales.

Dan Moren:

As I was typing up the many statements of Tim Cook during yesterday’s quarterly financial call, one in particular—about Apple Music—caught my attention […] Even at the time it stood out to me—hence the added emphasis. It seemed like an odd thing for the usually cautious Cook to say.

Benjamin Mayo:

Apple is pushing the services category as a burgeoning part of its business with current and future growth potential. Focusing on and expanding services is a fascinating proposition as generally I’ve considered Apple as a company that sells hardware and bundles services for free. To me, these comments on the earnings call indicate Cook wants to develop services further in a serious way.

[…]

There’s nothing wrong with diversification per se but it is a change to how the company used to operate. Around the launch of iPad mini, there’s an obvious breakpoint in company strategy where they expanded from a couple of flagships to a myriad of variants in each category. The days of Apple’s products ‘all fitting on one table’ are long gone. If services do grow significantly, the metaphor really breaks down as its products would be intangibles.

See also: Paid App Store Search.

Tim Cook:

Creating value for shareholders by developing great products and services that enrich people’s lives will always be our top priority and the key factor driving our investment and capital allocation decisions.

Nick Heer:

I get that it’s an earnings call and extremely fragile shareholders want reassurance, but I wish this was phrased differently. What I hope Cook means by this is that Apple’s top priority is to create really great stuff and provide exemplary services that they hope people will buy and love, thereby assuaging trepidatious hedge fund billionaires.

But the way it’s phrased here is that shareholders come first, and Apple’s entire R&D strategy revolves around them. I sincerely hope this is just poorly articulated, because if it’s taken at face value, it’s deeply concerning.

Update (2016-05-03): Jean-Louis Gassée:

I read Apple as a personal computing company. It wins or loses through the experience it delivers to its customers. Once upon a time, revenue came mostly from its personal computers, small, medium and large. Software and services had one and only one purpose: pushing up personal computers’ volumes and margins. Hardware, software, and services coalesced into what we now call an ecosystem. Over time, as a result of the size of the installed base of Apple devices, Services became substantial, the number 2 revenue category — but, for reasons just discussed, it shouldn’t be run as a separate division.

[…]

There’s no way out of the dilemma. There is no way to get the sharp focus of divisional organizations and the cooperation and malleability of a functional structure. We can only hope that the toxic waste of success wont let mediocrity and obesity to set in.

John Gruber:

Here’s an interesting fact: the iPod never generated more than $4 billion in revenue in a quarter, including holiday quarters. The iPad generated more revenue for Apple last quarter than the iPod ever did, even in its heyday.

Update (2016-05-04): Shira Ovide (via John Gruber):

Here’s what Cook didn’t say: 1) Apple has been misjudging its own business, and that makes it tough to believe what executives say; and 2) The company failed to prepare investors for an inevitable slowdown in growth -- even if that slowdown proves temporary. If one duty of public company executives is to underpromise and overdeliver, Apple has flopped in that job.

[…]

At the time, Apple executives had one-third of the quarter under their belt. And yet, Cook was wrong and Sacconaghi was right.

Update (2016-05-09): See also: The Talk Show.

Speeding Up Slow Swift Build Times

Matt Nedrich:

Copy the above code into XCode, press “build,” and go get a coffee. Come back in 12 hours. Yes, the above dictionary literal code takes at least 12 hours to compile.

Nick O’Neill:

If you suspect that something is taking too long to compile in your Swift project, you should turn on the debug-time-function-bodies option for the compiler. In your project in Xcode, go to Build Settings and set Other Swift Flags to -Xfrontend -debug-time-function-bodies.

[…]

Now that we know type inference can be a problem here, we can investigate the problem areas, specify type information and try building again. In this case, simply defining the structure to be a Dictionary<String, AnyObject> brings our compile time for that function down to 21.6ms. Even adding the rest of the employee objects back in doesn’t meaningfully change the compile time. Problem solved! Hit the rest of the potential problem areas in your code and try adding type information to speed up the compile times for the rest of your project.

This particular case has just been improved for an upcoming Swift release.

Max Seelemann:

Good to see these issues getting discovered and also eventually fixed. Maybe Swift 3 will be prime time ready?

Marcel Weiher:

Dunno. Scala is how many years old and the compile times are still shockingly abysmal.

Previously: Swift 1.0 Performance and Compilation Times, Slow Swift Array Type Inference, Swift Type-checking Performance Case Study.

Update (2016-05-11): Tumblr:

To address this, we decided to automate monitoring of compilation performance. The goal was to create a weekly job that would compile our project with specific debug flags, process the results, and email out the slowest compilation paths.

Bill Atkinson Interview

Leo Laporte has a great two-part, three-hour interview with Bill Atkinson that covers a wide range of subjects.

Update (2016-05-03): Tinrocket (via Buzz Andersen):

In the early 1980s, while developing the graphics technology for the first Macintosh, Bill Atkinson (HyperCard, QuickDraw, MacPaint) discovered a very elegant filter to convert greyscale image data for display on the Mac's 1-bit black-and-white screen.

[…]

HyperDither is an OS X app that uses an elegant color reduction (dithering) routine to turn color or grayscale images into 1-bit black and white. The visual effect produced by this technique creates rich, velvety tones, and is higher-quality than the “Diffusion Dither” method used by Photoshop.

Tanner Helland (via Cabel Sasser):

Atkinson’s formula is a bit different from others in this list, because it only propagates a fraction of the error instead of the full amount. This technique is sometimes offered by modern graphics applications as a “reduced color bleed” option. By only propagating part of the error, speckling is reduced, but contiguous dark or bright sections of an image may become washed out.

Wil Shipley:

I just talked with Atkinson yesterday and told him his dithering is in the Accelerate framework.

kvImageConvert_DitherAtkinson

Sorry, You Don’t Understand

App Review:

Your app does not comply with:

11.13: Apps that link to external mechanisms for purchases or subscriptions to be used in the app, such as a “buy” button that goes to a web site to purchase a digital book, will be rejected

Piet Brauer (via Benjamin Mayo):

Apple dismissed my appeal because GitHub page has a sign up link. Am I stupid, because I don’t see it.

Phil Schiller:

Sorry, you don’t understand. Your app was rejected 3X for the same thing, and a call was made on 3/21. They will call you again.

Piet Brauer:

Yes, I then removed the sign up link (according to the calls that were made) and submitted again without the sign up link.

It was then rejected again for the same reason with no detailed explanation and a screenshot that’s not showing anything.

Here’s how he removed the links.

Nick Lockwood:

This kind of masterclass in PR is why Apple execs make the big $

Previously: Phil Schiller Takes Over the App Stores.

Update (2016-04-29): Piet Brauer:

Terms -> Return to GitHub -> Sign up but that’s ridiculous

Update (2016-04-30): Piet Brauer:

Had a phone call with someone I could talk but I am still rejected.

She said she understands and its ridiculous but those are the rules.

See also: We Love This Stuff Too, and Honor What You Do.