Archive for May 5, 2023

Friday, May 5, 2023

Apple’s Q2 2023 Results

Apple (transcript, Hacker News, MacRumors):

The Company posted quarterly revenue of $94.8 billion, down 3 percent year over year, and quarterly earnings per diluted share of $1.52, unchanged year over year.

“We are pleased to report an all-time record in Services and a March quarter record for iPhone despite the challenging macroeconomic environment, and to have our installed base of active devices reach an all-time high,” said Tim Cook, Apple’s CEO.

Jason Snell:

Mac revenue was, as expected, down 31 percent to $7.2 billion—the lowest quarter of Mac revenue since 2020. iPad was down 13 percent to $6.7 billion, the lowest iPad revenue quarter since 2020. iPhone was up 2 percent to $51.3 billion, which given the downward trend elsewhere was pretty impressive—it was a Q2 record for iPhone revenue.

Services revenue soared to an all-time record of $20.9 billion, up 5 percent. Wearables was down by one percent, to $8.8 billion.

John Gruber:

Two weeks ago IDC projected Mac sales as being down 40 percent year-over-year, which shows how large IDC’s margin of error is.

No Mac Pro, no larger screen or M2 iMac, and lots of people bought M1 Macs that are still running great.

John Voorhees:

The lack of new hardware announcements has undoubtedly been another drag on Apple’s earnings. For several years, Apple held a spring press event to debut device updates but not in 2023.

Michael E. Cohen and Adam Engst:

In their conference call with financial analysts, Apple CEO Tim Cook and CFO Luca Maestri said the results were in line with expectations, laying the blame for the slight year-over-year revenue decline on “headwinds” created by foreign exchange and “macroeconomic conditions,” a vague term that covers productivity, interest rates, inflation, employment, and global events.


Even still, Mac sales were well above any year prior to 2021, which was boosted by the introduction of the M1 chip and people working and learning from home during the pandemic


Scaling Up the Prime Video Audio/Video Monitoring

Marcin Kolny (via Hacker News):

We designed our initial solution as a distributed system using serverless components (for example, AWS Step Functions or AWS Lambda), which was a good choice for building the service quickly. In theory, this would allow us to scale each service component independently. However, the way we used some components caused us to hit a hard scaling limit at around 5% of the expected load. Also, the overall cost of all the building blocks was too high to accept the solution at a large scale.


To address the bottlenecks, we initially considered fixing problems separately to reduce cost and increase scaling capabilities. We experimented and took a bold decision: we decided to rearchitect our infrastructure.

We realized that distributed approach wasn’t bringing a lot of benefits in our specific use case, so we packed all of the components into a single process. This eliminated the need for the S3 bucket as the intermediate storage for video frames because our data transfer now happened in the memory.


Moving our service to a monolith reduced our infrastructure cost by over 90%. It also increased our scaling capabilities.

David Heinemeier Hansson:

That really sums up so much of the microservices craze that was tearing through the tech industry for a while: IN THEORY. Now the real-world results of all this theory are finally in, and it’s clear that in practice, microservices pose perhaps the biggest siren song for needlessly complicating your system. And serverless only makes it worse.

David Heinemeier Hansson:

I won’t deny there may well be cases where a microservices-first architecture makes sense, but I think they’re few and far in between. The vast majority of systems are much better served by starting and staying with a majestic monolith.

Update (2023-05-08): Adrian Cockcroft (via Hacker News):

They state in the blog that this was quick to build, which is the point. When you are exploring how to construct something, building a prototype in a few days or weeks is a good approach. Then they tried to scale it to cope with high traffic and discovered that some of the state transitions in their step functions were too frequent, and they had some overly chatty calls between AWS lambda functions and S3. They were able to re-use most of their working code by combining it into a single long running microservice that is horizontally scaled using ECS, and which is invoked via a lambda function. This is only one of many microservices that make up the Prime Video application. The problem is that they called this refactoring a microservice to monolith transition, when it’s clearly a microservice refactoring step, and is exactly what I recommend people do in my talks about Serverless First.


In contrast to commentary along the lines that Amazon got it wrong, the team followed what I consider to be the best practice. The result isn’t a monolith, but there seems to be a popular trigger meme nowadays about microservices being over-sold, and a return to monoliths. There is some truth to that, as I do think microservices were over sold as the answer to everything, and I think this may have arisen from vendors who wanted to sell Kubernetes with a simple marketing message that enterprises needed to modernize by using Kubernetes to do cloud native microservices for everything. What we are seeing is a backlash to that messaging, and a realization that the complexity of Kubernetes has a cost, which you don’t need unless you are running at scale with a large team.

Instapaper 8.3


This release features a new CarPlay app for playing articles, a number of text-to-speech improvements including access to more voices, the ability to edit article metadata, and other improvements.

Listening to articles is a cool idea, but I found that even the high-quality Alex voice just isn’t that pleasant. The post says to download additional voices using Settings ‣ Accessibility ‣ Speech ‣ Voices, but, oddly, that screen no longer seems to exist. Instead, the list of voices is duplicated within Settings ‣ Accessibility ‣ VoiceOver ‣ Speech ‣ Voice, Settings ‣ Accessibility ‣ Switch Control ‣ Speech ‣ Voices, etc. Instapaper does not provide access to the newer, numbered Siri voices.

Speech aside, I have been enjoying using Instapaper more lately. The loss of Twitter clients forced me to change my workflow, and I found that I don’t need Twitter or Mastodon on my iOS home screen. Now I reach for Instapaper or Flickr when I have a couple free minutes.


Browser and OS Marketshare in 2023

John Gruber (Mastodon):

Looking at the global chart, Chrome seems to be holding steady in the desktop market over the last year, but Safari does show an uptick from about 9.5 to just under 11 percent. As Benton points out, the most striking thing in Statcounter’s report is the decline in Windows’s desktop OS share over the last year, both globally and in the U.S. I suspect Windows is losing share to mobile browsing just as much or more so than it is to MacOS and ChromeOS.


Globally, Windows was surpassed by Android back in 2017. The decline in Windows’s dominance has been precipitous: in 2009 Statcounter pegged its share at 95 percent; today it’s 28 percent. In the U.S., Windows is effectively neck-and-neck with iOS, each hovering around 30 percent for the last few years. It doesn’t seem outlandish to project that Mac and iOS, combined, might soon surpass Windows and Android combined in Statcounter’s share numbers for the U.S.

According to these numbers, Safari is the #2 desktop browser with 11.9% usage share globally (20% in the US), even though Safari no longer runs on Windows, Macs are regularly reported as less than 10% of desktop sales, and many Mac users prefer Chrome. I guess this is consistent with their stat that Macs have 30% usage share, with about 2/3 of all users preferring Chrome.

Firefox is apparently down to 5.7% on the desktop, with far less on mobile, but my experience is that it works with more of the Web than Safari.


Update (2023-05-23): See also: MacRumors.