Archive for November 30, 2020

Monday, November 30, 2020

Retiring Growl

Chris Forsythe (tweet, Hacker News, Slashdot):

Growl is being retired after surviving for 17 years. With the announcement of Apple’s new hardware platform, a general shift of developers to Apple’s notification system, and a lack of obvious ways to improve Growl beyond what it is and has been, we’re announcing the retirement of Growl as of today.

It’s been a long time coming. Growl is the project I worked on for the longest period of my open source career. However at WWDC in 2012 everyone on the team saw the writing on the wall. This was my only WWDC. This is the WWDC where Notification Center was announced. Ironically Growl was called Global Notifications Center, before I renamed it to Growl because I thought the name was too geeky.

Thanks to Forsythe and the other contributors for all their work over the years.


There’s one issue, which is that of “Sherlocking” a third-party solution with a first-party implementation. Then there’s another, which is having an open enough system to support such innovations in the first place.

Something like Growl, or f.lux (mentioned down-thread) could never have come about if macOS had been as restrictive as iOS. I have little doubt that we’ve missed at least a few such innovations over past decade, especially on the iPad, due to this.


Update (2020-12-04): John Gruber:

What a great open source project Growl was. It proved itself as a feature that should have been built into MacOS — and then it was. Growl arguably defined “notifications” as we know them, not just on Mac, but iOS and Android as well.


Growl was famously hard to explain succinctly to people in my experience, but I think it speaks a lot to the community that before Mac OS X contained an infrastructure for this, people banded together and built something that was widely adopted. In this way it’s not dissimilar from Internet Config by Quinn! the Eskimo et al or the External Editor protocol implemented by many FTP-like applications.

Tony Hsieh, RIP

Katie Abel (via Hacker News):

Tony Hsieh, the brilliant and big-hearted luminary who revolutionized the shoe business and built one of the most innovative companies in modern history, has died. He was 46.


After Zappos co-founder Nick Swinmurn latched onto the idea of selling shoes online, he left a voicemail with Hsieh’s San Francisco venture capital fund, Venture Frogs, hooking him with one factoid: “It was the fact that 5 percent of a $40 billion shoe business was already being done through mail order,” Swinmurn told FN during a 2009 interview. “That was my big statistic. People were already buying shoes without trying them on.”

Om Malik:

Tony’s passing has taken me down a memory lane to the earliest days of the Internet when we were all very young and innocent. Tony, then, only 23, had started work on LinkExchange, an early banner ad-exchange network that launched in early 1996.


With Tony’s passing, I feel something special has ended. I can’t put my finger on it. Maybe a certain innocent aspect of the early possibilities of the Internet. Maybe I feel the contrast of those days to a now that is more mercenary, less friendly, and more polarized. Whatever, without knowing Tony as well as I should, I mourn him deeply.


Tony and Zappos’ biggest achievement was that it showed long before everyone else: you can build an Internet company anywhere. Unlike so many pundits and Twitterati, it didn’t take a pandemic for Tony to have that insight. Zappos was also an example of how tech companies could care about their customers and not treat them as data.

John Gruber:

The outpouring of love and admiration for Hsieh from those who knew him is just remarkable.

What Is Not So Great About SwiftUI

Thomas Clement (tweet):

What seems to still be missing from SwiftUI is the notion of the intrinsic content size: the natural size that a view really wants to be unless it is forced to be something else. This is the size that views should adopt by default. Working in-hand with this would be the ability to define compression resistance priorities and content hugging priorities, something that SwiftUI also lacks. These are important features to describe how views should behave relative to each others when they are forced to deviate from their natural size.


You heard that right: merely looking at the size proposed by the parent will change the layout in unwanted ways.


It is bothering that third-party developers are not able to write the same kind of views that Apple provides in SwiftUI.


But the SwiftUI code only builds a description of the wrapper view, there is no function that can directly be called to talk to the underlying AppKit view. The natural SwiftUI way of doing this would be to add a new state variable such as @State var isAuthorized: Bool and pass it along to the view representable but alas this really doesn’t work well as the SFAuthorizationView owns the state already (the authorization reference). There is no obvious way that I know to address this sort of discrepancies.

I still don’t know what to think about SwiftUI. Much of it seems amazing, but two major releases in there’s this basic stuff that remains broken, and stuff that was easy with Auto Layout is needlessly difficult or impossible. How much is just bugs vs. limitations of the overall system’s design? For the latter, is the long-term plan that some UIs are just not possible? Or that AppKit/UIKit will live forever?

With Auto Layout, you could always opt out certain subtrees if what you were trying to do was too slow or couldn’t be expressed. But, as Clement describes, SwiftUI’s NSViewRepresentable isn’t the same kind of escape hatch.

Steve Streza:

SwiftUI on Mac is a constant struggle of wondering “am I doing this wrong or is this just broken on Mac”


The iPhone 12 Pro Max: Real Pro Photography

Sebastiaan de With:

Since the iPhone 12 has a bit more noise, there’s less detail. Still, the detail isn’t easy to spot in bright daylight. Everything changes between the iPhone 12 and 12 Pro Max the moment sunset begins. As shadows get darker and light gets dimmer, you can start seeing shifts in detail.


It seems Apple’s Camera app applies just as much noise reduction to the 12 Pro Max image as it does for regular iPhone 12. This unfortunately ‘blurs’ superior details out of the iPhone 12 Pro Max.


The iPhone 12 Pro Max’ new sensor-shift technology really shines when you take away that computational magic and focus on traditional, single-shot photography.


With a traditional DSLR, nobody would dare take a one-second photos handheld.

Yet the iPhone 12 Pro Max can take sharp images at ridiculous exposure times.

I’m excited to see what becomes possible with ProRAW. Too bad there’s still no way to change the default iOS camera app.