Babel Lecture 2022 with Stephen Fry
In defense of everyone's birthright to have fun with, develop, expand and own their language.
In defense of everyone's birthright to have fun with, develop, expand and own their language.
Pick up a book, read an article, watch a clip from the past 200 years or so, centered on what people find admirable and there they are. "Renaissance men" - people who know a lot about a lot. The Valve employee handbook put it differently: T-shaped people, "people who are both generalists and also experts".
But while the upsides of this broad mind has been extolled and somewhat substantiated over the years, it has been mostly left unsaid how to go about it. "Go to University!" and "Just go learn what you want to do and follow your nose!" is seemingly incompatible advice.
For all of the ills of social media, for all the ways a misleading fact, fake story, damaging, made-up rumor can lap Twitter while the truth is putting its shoes on, the influx of information in our lives means that you can engage with people's experience in a way that didn't use to be possible. And I mean experience, not mere "experiences".
Just this week, I somehow absorbed information about how "stroads" are a mismatched half-way point between streets and roads, leading small areas that should remain human-scale and personable to be torn apart in an effort to look like a big city; and how open shelves should be used for things you want to display and cabinets and other storage used to put stuff away. The first doesn't affect me all that much since I'm not an urban planner (although it seems neither are many of the purported urban planners), but it addresses a vague churning in my stomach I've had when I've been to some locations that just didn't feel right to me. And the second one seems incredulously easy, but it introduced a distinction that I hadn't thought about. I can't find the link, but the architect in question pointed out that with so many naked open cubbies like the IKEA Kallax, it is a distinction that many people do not observe, and live with cluttered furniture exposing incidental objects to dust, instead of storing them safely and showcasing the things you really care about.
Work hard to make money and spend them on objects and you may hear: "you can't take it with you". In a way, the same thing is true for ideas and knowledge outside of your domain and sphere of interest; if you manage a vertical collection of Zippo lighters, at least it will be left for someone when you're gone. Given that, what good is knowing the intricasies of performing Barrier Skip when you don't speedrun Wind Waker, manufacturing Panko bread crumbs when you aren't that one company in Japan, age a flat file cabinet when you haven't negotiated a band saw in more than a decade?
You have to feed the soul too. I'm a programmer, a developer, a problem solver. I like finding out about new domains, expanding my knowledge about them, slowly get a grip on them, realize there's so much here that someone else could, and probably is, living their whole life within this domain and barely gets to call themselves an expert. If you can muscle your way past the worst parts of Dunning-Kruger, you may find an interesting spot where you simultaneously understand that there's a whole lot you don't know, and that you have a better understanding on a small part of it than you thought you ever would. That's invigorating to me.
The reason the T-shaped people are revered isn't because they had read more books than others. It's because often they could see the same thing from multiple angles. As the kids today might put it, they were full-stack - or at least multi-faceted. In a way, they were multiple people at once.
I have never quite gotten in the habit of reading books, which is ironic because of how much we all read now, all day, every day. But putting aside their use as a mechanism for control and indoctrination where it was used to narrow thinking, the traditional promise of books is to widen thinking, to carry the results of someone's research, someone's lived experiences, someone's deep thinking, through the ages, from before sewers to after personal meal delivery apps.
If you can manage to dodge the divisive, conspiratorial, resentful, regressive people who make their living telling people how much of a shame it is that it isn't the fifty years ago it never was, be those people celebrated authors in the before times or producers of sputtering self-centered video podcasts today, there are plenty of good things left.
I don't know about you, but I've been spending a lot of time worrying about the future, being crushed by increasing complexity both privately, professionally and in current world events. There's "sharpening your saw" and become better at exactly what you do. There's "turning off" by vegetating to the cheap, the mass-produced, entry-level "SEO-optimized" or corporate-approved mulch. But aside from also allowing yourself rest and disconnection, how about recognizing that something that activates, engages and challenges you can also avoid feeling instinctually like work, like your responsibility, like something you ought to fix, like details you need to commit to memory or like noise you have to endure but that never means anything.
It can be entertaining because it catches your mind off guard, in a curious, open state where it doesn't have any notion of what's happening next and doesn't feel the urge to check phone notifications. It can be instructive and give you a lesson to tuck away for the future. It can jump into your mesh of neurons and trigger a connection for a problem you've been wrestling with for months. Or it can just be pleasing to listen to or watch in a world where your own mobility is limited.
I'm writing this article leaning against some nameless architectural mistake, and I am not writing the article on a Mac. I would, but my PowerBook is fresh out of power (funny notion, to name the thing after its only major shortcoming it's rather like Greenland in that respect.) [emphasis editor's]
Douglas Adams, The Little Computer that Could, 1998
Linked in popular places today is Marcel Weiher's UIs Are Not Pure Functions of the Model - React.js and Cocoa Side by Side from 2018, which delves into why React's functional state muckery appears useless.
This is a subject that I give a lot of thought from many angles, so there are many things to note:
The post appears snarky, but bases its attitude on the notion that Cocoa is a thought-out, capable, battle-tested, baked user interface framework. For example, for the point where the React side focuses on being able to provide fit-for-purpose lists, the Cocoa side highlights that nothing special needs to be done since, roughly, we know how to use our lists and we know how to design model classes to hook into them.
The major, primordial feature of SwiftUI, as explained by Kyle Macomber in WWDC 2019's Introducing SwiftUI session beginning at around 24:00 is collapsing the number of reasons things can happen to views down to 1. Kyle says "UI programming is hard - like 'lock free concurrency' hard" and refers to an "explosion" of possible ordering of events. These may not be identical arguments, but they are at least parallel arguments within their respective ecosystem.
The notion that Cocoa's views are baked and done and ready has also taken a hit in the last decade or so. As an example, when Mac table views stopped being primarily NSCell-based, they became NSView-based, and responding to selection and picking a contrasting color to the background is now a halfway magical process, when it used to be entirely managed for you. And of course, the desire to go to more custom and higher production value presentation requires even more code to stray from the default. (Even if collection views, for example, are excellent tools to get a grip on this complexity and focus on the behavior you want.)
View models and functional UI look like solutions, and they are indeed effective ways of managing complexity by making all the constituent state visible and enumerated. But in my experience they also encourage a way of programming where you bind as much as possible, and the problem with that is that, as the title of the linked post notes, UIs are not pure functions of the models.
If you go from one place in your UI to another, you may want to be stopped because there are things that don't validate or don't fly. You may have pending changes that should neither automagically apply nor be lost. Both SwiftUI and React have state as a first-class concept and are theoretically well-equipped to handle this; what's worse is that we don't have a handle on it.
We don't know how to think in state. For the edited-but-not-saved text of a text field, sure. For the in-progress-but-not-committed-changes in what is at least partially modal, somewhere in the UI? Hm, well, that sounds like a tree of Redux reducers - and therefore model data - or a bunch of nested view models to me. The SwiftUI talk mentions "sources of truth" a lot. Here, the source of truth for the hitherto unsaved data is nebulous. Living in 107 state variables? Living in provisionally updated properties of an ObservableObject that is kept uncommited from the database or real source of truth?
The key to great user interfaces is that they work the way the person expects. That constantly - not always, but constantly - requires making the mental model of the user interface richer. When an item is dragged around in a list, there should be indications about where the new item would land if you dropped it and you should be able to cancel it. If the list is hierarchial, you should be able to have things open for you in the middle of the drag. When you type blindly into the list, the list should select the next best item depending on what you typed. When you have a list of items and the ability to close one of them, you should also be able to close all others. When you can select one item and edit some of its information, you should be able to select multiple items, see where the information agrees and edit the information en masse, applying it to all of them.
Great user interfaces take time and effort and forethought and respect for the user. Not everyone may wish to always create a great user interface for all things at all times. There's a time and place for all ends of the spectrum and all levels of ambition. But UI frameworks should think about how it can, to quote the most unintuitive thing I know, make simple things simple and hard things possible.
Because no matter how much support the framework provides, hard things remain. Thinking back to the not-yet-committed changes, before anything is saved, hitting Undo should Undo whatever is possible to Undo. After the save operation has happened, Undo should magically switch to either doing nothing or Undoing the entire change. Figuring that out requires thinking through what the model of the user interface needs to be to be closest to the user's mental model. After you have done that, the last thing you need is the framework fighting you because it did not anticipate your need for this type of control.
Frameworks should be built by and for the people who want to create the great user interfaces, the ones that anticipate your needs by assuming that you want to have as much and as expedient control as possible over whatever the user interface is about. Where a list means being able to copy and paste the selected items, drag and drop the items to rearrange them, drag and drop the items holding a key to copy them, hold a key to check/uncheck all checkboxes, resize all columns to fit the width of their respective contents, sort columns by clicking the headers, drag and drop the columns to reorder them and, yes, type into the list blindly to jump to the item with the text prefix.
It is the case that many things are presented better on the web when they use, say, a multiple-row, "layouted" form of presentation. Where for good reason, things should not just look like a list. The chat messages example from the React talk should not look like a list. But the big failure of the web's style of user interfaces is that everything is custom. On the web you have to make a gargantuan effort to build everything from the ground up and work well on every device. On the desktop (and in some ways on the tablet or on the phone), you just have to make a concerted effort to use the features that are already there.
So, wrapping around. I don't think functional is the right idea. I don't think mutation from fifty angles is the right idea. I don't think controls or MVC guide you sufficiently towards how your code should be structured to best serve the user interface, without bugs and allowing interactivity and reactivity. My answer is that I have no answer, but to look out for seemingly perfect answers. Making everything look like the web is not a good idea. Making everything look like not the web, when you have people expecting the web, and who have never clicked to sort a table column in their life, is probably also not a good idea.
A pure function transforms an input value to an output value. If the idea was for a reader to go into this post with one idea and come out with another, this post is as impure as it gets. But maybe it, and 500 other random bits from other random ideas in other random places, will end up collectively giving you a clearer, more nuanced picture over time.
I consider that an imperative.
However, Apple's documentation lacks crucial information on how to use these new APIs (FB10140097), and there were no WWDC sessions or sample code available in the weeks following the keynote.
Thanks to some trial and error, and some help from other developers, I was able to put together some sample code demonstrating how one can use ExtensionFoundation/ExtensionKit to define custom extension points for their Mac apps.
I spent about three hours doing the software development equivalent of gesticulating wildly trying to get ExtensionFoundation to work and will be looking at this. Vital pieces of information just weren't there at all, nor were any Xcode templates present to fill in the blanks. (Update: there apparently is a target for Generic extension, which I missed because it wasn't in the Multiplatform, iOS or Other categories.)
On the one hand, this technology now exists, likely took months to implement and years to bake and was someone's passion project.
On the other hand, it's just thrown out there. Here you go. I hope you understand how to use it. We will explain the thread of every shipped nut in details; we will even provide an example of one sort of fully assembled cabinet. But we will abstain from providing actual instructions of vital parts of the process.
This is not the first time I'm getting these vibes from Apple frameworks; IOSurface and its ilk has been like that, and the sessions on ScreenCaptureKit were almost comical at their circuitous avoidance of describing what you actually do with the audio/video buffers you are handed.
The title of this post is a salty pun, but if history is any guide it's also an actual earnest hope for the individuals who put together the new technologies, stressed to the gills under time pressure. They have my admiration as always.
But – they also get the dubious pleasure of being the face of underdocumented software. Apple is big enough that it's time to grow beyond the scrappy image, respect developers both inside and outside the company and allocate time and opportunity to move beyond "no overview available".
Years back, I wanted a new type of system UI primitive that was like a widget, but for transient events, to track your food order or count down to a bus or train. More information is still forthcoming about Live Activities, but given the examples were an ongoing sports match and the status of an incoming ride, I am optimistic.
Heavens to Betsy, apps can themselves have extensions now with ExtensionKit. There's even ExtensionFoundation for non-UI extensions.
There are now extensions for streaming media to "third-party" devices within the AirPlay menu.
There are also App Intents with the ability to pass data in and recieve data out on the other side, along with optionally showing UI. Siri and Shortcuts so far, and being able to be triggered via widgets, but tell me if this doesn't sound like macOS Services and wouldn't be ideal to be triggerable via context menus on selections.
There's also an iOS 16 "Developer Mode" device opt-in.
All of this is good stuff. The platform becomes more of a platform – things talking to each other, developers becoming more powerful and the user being in control. In many of the changes, it is impossible to conclusively separate whether they thought it was a good idea that needed to happen or whether they just didn't want to build it under the gun. (I will note that they have been and remained good ideas for numerous years.)
And as for a gun, well, having a Developer Mode that "lowers security" would put them in alignment with Android if one day they lifted the restrictions to allow broader distribution without going through orifices.
First, a cautionary tale.
In 1976, a secret memo was sent from Swedish National Police Commissioner Carl Persson to Prime Minister Olof Palme. The memo documented the Minister of Justice Lennart Geijer's alleged regular contacts with prostitutes and the blackmail it could make him and others susceptible to.
In 1977, after Geijer's resignation the year before, journalist Peter Bratt wrote a flawed exposé of the memo's existence in Dagens Nyheter, the Swedish paper of record. This kicked up a lot of dust, mostly about the allegations but also about the slipshod coverage. Later the same day, the story was confirmed in the news program Ekot on state radio, separately sourced and with the egregrious mistakes corrected.
Within days, Prime Minister Palme stood in parliament, vehemently denying the "lies" of Dagens Nyheter, comparing the unnamed author to a sewer rat with yellowed teeth. He did not mention the corrected and factual reporting of the same events and the same memo by Ekot.
Over the next few months, Dagens Nyheter would come to issue an apology, Swedish journalists and publicists would come to focus on outing the source of the original report and the popular understanding was left as: this did not happen. Even though it did happen, even though it had already been reported on correctly, even though that report had remained unassaulted. Holding either politician accountable turned into open season on the author and the source of the original report. Because the thing everyone read was flawed.
Last weekend The Verge ran a piece by Sean Hollister under the headline “Apple Shipped Me a 79-Pound iPhone Repair Kit to Fix a 1.1-Ounce Battery”. Sometimes I read an article that’s so absurdly and deliberately wrongheaded, I worry that I’m reading it wrong.
It's just so missing the point, and the fact that this is getting reported by so many others, not just The Verge, is part of the problem with tech journalism in general. You don't have your eye on the ball. You're focusing on the things that are easy, rather than focusing on the things that matter.
That sounds great, of course, but that’s not how modern mobile devices work. Apple isn’t an outlier in this regard — there are no popular modern mobile devices that are easily serviceable with simple tools. If it were possible for iPhones to be more easily repairable, without sacrificing their appearance, dimensions, performance, water-and-dust resistance, and cost, Apple would make them more easily repairable. That iPhones are not easily repairable is of no benefit to Apple whatsoever. What’s the theory otherwise? That $69 in-store battery replacements are highly profitable?
The Verge can write a flawed article and miss the point, but that doesn't mean there isn't a point. There are several.
Before the iPhone, there were phones you could swap the battery in. Even the weird, crazy-ass, design experiment Nokia models, you could swap the battery in. The iPhone changed a lot of things, this being one of them.
But this wasn't a change for Apple. Every single model of iPod had a non-user-replaceable battery. This was adhering to their design philosophy, in place since the early 80's, which can be succinctly summarized as: don't touch it, you'll only make it worse.
The iPhone being the first of the stereotypical modern smartphone having a non-user-replaceable battery does not mean a modern smartphone has to not have a non-user-replaceable battery. It means that when a company with Apple's design philosophy does one, they will pay more attention to pretty much everything else than to practical maintainability concerns for the user.
Apple's design philosophy is focused on the story that only Apple can do this. Only Apple can secure the software, only Apple can repair the hardware, only Apple can replace the battery. From the lens of that story, it makes sense to, rather than allow the user to twist a knob, remove a plate or undo a screw and swap the battery, tell you to go to the store that Apple runs and have someone else do that for you.
The instictual, visceral rebellion from so many people has several constituent components.
From a user's point of view, from a customer's point of view, this is ridiculous. We all own products where the battery eventually goes bad where we can replace the battery. We know that there are alternative solutions.
The roundabout nature of the repair speaks to the degree to which practicality was not a priority during the design process, with wasteful shipping of enormous machines being one of many side effects. (Note: putting aside the wisdom of choosing this design, shipping enormous machines to service centers is a different set of concerns since presumably those machines are acquired and will service hundreds to thousands of devices over years. But renting them and sending them across time zones, continuously charging an environmental cost that would otherwise be amortized over time, is a completely different sustainability calculus.)
It is so easy to transpose the arguments slightly and re-examine them. What would people say about a new Porsche with a sealed tire design, where you required an 18-wheeler-sized vehicle to be called out from the nearest dealer to, carefully and gingerly, plasma cutting, loosening and desoldering the tire, followed by friction-stir welding a replacement tire on and getting on the horn with a service representative over the telematics system to bond it to the vehicle electronics? If you fell into a coma, woke up ten years later and this was the standard, would it become any less wasteful? If you learned that this had been controversial, but that recently Porsche had started sending out these vehicles to people without a support contract and for a lower fee, would the construction become any better?
What would people say if, in late 2006, you wanted a phone with a big touch screen, with apps, with high-speed internet access, with fluid animations and a capable software stack? It's possible they would say "silly rabbit, that's just not how phones work, they run cheap-ass software written to a real-time OS, and if you sit nice, be very quiet and hand-type this URL on this T9 keypad, you can have a J2ME midlet application that's so maddeningly generic, the developer couldn't even tell on which side the softkey buttons are going to show up from platform to platform". But would that mean the current status quo was the only way things would ever go, or that you were objectively an idiot unmoored from reality for wanting them to be different?
From a user's point of view, it is true that having a user-replaceable battery does add to the size and weight of the device, especially the easier the mechanism is to undo. It also adds to the lifetime and the resale value, because now you could do it with your hands in under a minute, or with a screwdriver and maybe some minor tools in under 15 minutes, so now you might actually do it, since you don't have to give your primary technical support device up for hours or days in a store that may not even be in the same city, without risking your warranty.
I can see why Apple or why publicly listed companies who live and die by quarterly earnings don't want to incentivize that. I can see why they would rather want people to get a new device, or failing that, inflate one of two notions that the device should only be handled by its maker or that its maker is a good and green company for disassembling and recycling a device that could still have done five more years of service out in the real world.
Just because servicing is not a "profit center" for a company, doesn't mean that the company doesn't benefit from designing its devices to not be user-serviceable. And it doesn't mean that the company, at the end of the day, doesn't view your convenience as a customer somewhere on a dynamic scale from indifference to contempt. At least when it means that you might actually use the damn device for an inconveniently long time, when you should have ran out to get an upgraded model, whose upgraded features you do not really want enough to justify the price of a new device.
I can also see why some people make the mistake of looking at the before and after and think, well, the iPhone won. But the alternative isn't an iPhone 13 Pro Max vs a Nokia 3310. This is a false comparison. The alternative is an iPhone 14 Pro Max that spends a fraction of its area on making battery removal possible without industrial tooling. And maybe that seems alien given the device landscape of today; maybe it seems alien given Apple's history in particular.
But what seems alien is a bad predictor of what's possible. It used to seem really fucking nuts to make a phone out of aluminium and glass. And the idea that made people think you were a propeller-head who installed NetBSD on your toaster wasn't that you wanted to swap your battery without involving suction cups, but that you wanted your phone, the thing you made calls with, sent SMS text messages or the odd email with and played Snake on, to be as capable as a computer.
So, I don't know where to start and I don't know quite where to end either. But the idea that Apple isn't a grown-up company that can do whatever they want is stupid. They could focus a tenth of the effort that they put into designing a new iPhone into making it just a hair more repairable without industrial tooling.
Swapping a battery after 18-30 months, 1-3 times during the device's total lifetime, when it is significantly degraded, could be possible with a screwdriver and screwdriver-esque type of tools. Note that batteries are now so good that no one is asking for the ability to flip open a hatch and swap between one battery and another battery you have on hand, just for a way of opening the thing up, getting to the battery and sealing the thing back down that would be less of a science project. This would be a significantly less intrusive change than a "user-swappable" battery as the old Nokias had (a mechanism the likes of which the iPhone already supports on a smaller scale for the SIM tray).
Apple has enormous assets and enormous expertise. They could do it. But they choose not to do it, and they should be held accountable for what they are doing. They should be held accountable for what they have chosen to do and not to do.
Yes, it is some flavor of nice that they are not hoarding the industrial tooling. Yes, it is on its face ridiculous that they have willingly painted themselves into a situation where such tooling is necessary to open a god damn high-volume mobile phone. And no, the reason Apple is where they are is not because they have somehow reached the practical limits of applicable technology, and nothing will ever be more easily repairable. The reason is because Steve Jobs wanted a perfect object that people didn't screw around inside of, and company culture is a hell of a thing.
Quinn Nelson, who used to own an iPhone repair shop, takes the US-only iPhone Self Service Repair for a spin. They ship you 40+ kg of equipment, which you rent for 7 days. The entire experience is a confounding mix of thoughtful little touches and issues being solved with a ridiculous, over-the-top sledgehammer approach, more or less because Apple can afford it.
The iPhone as a product is designed, engineered and developed with a number of constraints on materials, fit and finish. It has to be manufacturable in the first place, it has to be torsionally rigid, it has to withstand atmospheric pressure, a person's grip and perspiration. The materials have to be responsibly and sustainably sourced, free from impurities and forbidden substances. It has to fit together well and look its best.
There are thousands of check boxes to tick, all of which have guided the design and build process. For a company capable of doing all this, only laziness, apathy or spite are stopping them from making it just as well put-together, just as representative of a deliberate design ethos, but more easily repairable.
Only laziness, apathy or spite.
Over and over again, I hear the same argument. Someone (Apple, Google, Microsoft, Facebook, whoever) created a thing, and they are now and forever in charge of that thing, and can do whatever they want, and if people don't like it, tough.
This argument is a fair place to start and holds water to a point. If you make a sandwich in the comfort of your own home, you can put whatever you want on it. If you make a sandwich for your kid, your kid can't insist that it have jell-o on it instead of sprouts and cream cheese. (Although if you put dirt on it, social services may want to have a word.)
However, if you have somehow transformed into the civilized world's maker, keeper and provider of sandwiches, it is ridiculous to apply the same logic as if you're just making an afternoon snack for yourself. If applications run on your sandwich that, if they went down, would seriously impact society, we have graduated from the point where it's just your concern (and beyond this metaphor).
iOS and Android is a duopoly. It's not because it's technically impossible to create an alternate platform - although it is very difficult. It's because of the powerful network effects holding back any contender. At that point, your platform controls eating and breathing; the air, the soil and the water; livelihood, where the savings are deposited, how they are used. At that point, everything else is a joke. At that point, you made yourself the world's platform.
I am not one to say that the government, the military or the angry concerned mob of civilians should wrest control of these creations from the private companies, and that this will solve everything. But I am one to say that you keep acting in the same self-interested, self-serving, self-aggrandizing way as you did when you were one of ten hopeful entrants in a crowded market at your own peril.
Monopolies eventually fall. If you're unlucky, they pull all the oxygen from the room first, smothering all counter-agents, setting us back years. Making us forget what it was like before everyone took as given the compromises we were forced to make; the selfish, enshrined as security, as utility, leaving a shriveled, ashen field.
Monopolies are endothermic and parasitic, claiming for itself the value of their surroundings, under the guise of its own importance, propped up and fueled by those who wish for eternal youth, ultimate power and endless resources. But wishing so does not change how thermodynamics work, how ecosystems work. If not dethroned, all power, all value, all energy flows to the monopoly, which assumes it, which forgets everything else, the spectre of endless growth the everpresent hum of the universe. And when it's all there...
The story only ends in one place - without a monopoly. Having fallen, first gradually, then suddenly.
I am not worried about monopolies lasting forever. I am worried about what they will consume before they are toppled. And I am worried about the power of grown adults who still insist on jell-o sandwiches.
I am late to this and only found out about this on Slashdot, but days ago, Noah Grey was in deep trouble.
Noah Grey is probably one of the most influential people to personal, automated Internet publishing that most people have never heard of. At the turn of the century he produced a remarkable piece of software called Greymatter, far before it would be described as a "static site generator", "content management system" or "weblog engine", and used it to publish beautiful photography. His sensibilities ran deeply through the software and from what I can tell, through everything he did.
The story of the current circumstances has a happy ending, at least in terms of account balances, but I took the opportunity to contribute anyway because of what people like Noah have meant to me personally and to the Internet that I love. Due to cynicism, commercialism, greed and politics, the Internet may not be what it was any longer, but that's hardly Noah's fault. It was stolen from him and from all of us, so let's steal it back.
Steve calls it "an incredibly-delicate, calculated 'truce' that relied on Apple not overstepping into abuse" and now thinks "Apple’s behavior has been so offensive over past few years that, at this point, all I’m thinking is ‘damn the consequences’".
I've never understood why people have been so bewitched about the positive potential outcomes. Purely by making the operating system, defining the APIs, bundling its own software, manufacturing its own hardware, tying the operating system to its hardware and vice versa and selling even more of its own software, Apple has plenty of opportunity to set good examples and draw people to the combined value proposition. Why the hell does it need any more control than that?
I have been against the App Store from day one on a philosophical standpoint but also from a practical, realistic standpoint. The ability for a developer to be a great developer is hampered, frustratingly and undeniably. The likelihood that a user will find a great app is lowered dramatically.
Mac OS has always had less apps than Windows, but they've also had great applications, sometimes good enough to keep people on the platform, earlier good enough to keep people enduring an unstable foundation. Applications developed by small teams of people who nevertheless made great things, in some cases still for longer than there's even been an App Store.
iOS and the App Store has not been a truce. It has been a destructive, abusive, lopsided, mistrustful relationship; a relationship that has allowed access to a platform advantageous enough to make you close your eyes and think of multi-touch. It has been an insult to history, an exercise in attempting to redefine away the fundamental facts of the market and of their existing user base and developer ecosystem in a puff of malevolent marketing.
I don't see governments as the best arbitrators of required features in hardware or software, but they sometimes have a strong connection to what's fair for the customer, and ain't nothing about the App Store that's fair.
Like Steve, I resent the muddling connection to "industry interests", whose involvement just serves to hide the real issues. I am reluctantly interested in what's going on as a forcing function, knowing the lopsided unfairness could simply slide over to yet another party beyond end user, developer and Apple. That could happen.
If that happens, I will blame the Apple that woke up every morning since 2008 and chose to worship Mammon. I will blame the Apple that took the easy way out and chose the clammy, desperate grip of control. I will blame the Apple cowardly enough and uninspired enough to keep to its own, rather than to lead in the sense of empowering other people.
I will blame the Apple that, through this mismanagement, craps on the legacy of the people and divisions within the company that have done groundbreaking, innovative and empowering work in their own areas over the years, all the while it reaps the profits of their advancements and discards their spent husks when they're done.
And I will blame the Apple that, when people naturally react to their mismanagement, acts surprised, as if we don't know that they know best, because didn't we know that pure intent scrubs away all consequences?
The word "gaslighting" is thrown around a lot these days and in its original form it seems to require a malicious intent to deceive. I really don't know what's there. I believe people at all ranks at Apple to be intelligent people and think very few of them have ill-intent, so I really can't describe what motivates what they're doing. But they seem to have a radically different idea of what's going on than literally everyone else. And so maybe the idea of the "Cult of Apple", long brought out to explain why people would even use those smelly Macs and iPhones, just had it backwards; it is the company that is the cult.
Content is fungible, space-filling, placeholder-replacing stuff, and that’s not even its most offensive connotation. The worst part of “content” is that it’s implicitly relative to its container. That’s what content means. The contents of a sandwich are with respect to the bread. The content is just what’s inside. It’s probably the most trivialising, demeaning, depressing, surrendering term out there — but people lay claim to it. People define themselves as makers of it.
Bingo and hear, hear.
Apple has restored an app sponsored by Alexei Navalny, a prominent leader of Russia's political opposition, to the company's Russian app store. Apple took down the app last September, days before Russia's legislative elections, under pressure from the Russian government.
Ars's article tagline is "too little, too late", and yes, that much is true. I'm getting the sense Apple has changed its position on how it should operate App Stores in autocracies, or at least the ones where they don't make a good chunk of their money and nearly all of their products. Technology did not cause Russia's ills, nor will it cure them, but it can still make a difference for the Russian people.
I would argue that the Mac Pro as we software developers knew it was never given a successor after the "trash can". The Mac Pro was discontinued and replaced with a different computer of the same name that was no longer for its largest pro audience. I don't know many individual software developers now who can afford a new Mac Pro. I certainly can't.
I don't understand why we have to make these painful tradeoffs in 2022 when they weren't necessary in 2012. Ten years ago we had relatively affordable, conveniently upgradable Mac Pro models. Since then we gained a faster CPU, but otherwise we've lost everything else great about the Mac Pro.
The Mac is a much bigger platform now than it was 10 to 20 years ago. There is room for both option A: a Mac Pro that costs insane amounts of money, is incredibly overbuilt and is just what the doctor ordered when being able to top out the configuration is more important than being sensible, in the way that might make sense (ie disappear into the budgetary static) on a movie set where it costs more to have people stand around for ten minutes; and option B: a Mac Pro that has a great processor and modularity in the rest-of-the-world sense of the word, in that you can make it what you need it to be, without Thunderbolt enclosures or docks, but that also does not require you to order the right amount of everything the first time or take out a mortgage.
Right now, despite the opportunity to do both, Apple just does option A, and that used to be a positive development, because the previous "trash can Mac Pro", option C, was even worse. Mac Studio is a better implementation of option C, so it remains to be seen whether WWDC will bring a better implementation of option A or the return of option B, or even both. A sufficiently layered or wide-ranging line-up could include both, although the existence of option B would likely embarrass the Mac Studio.
If we called the previous Mac Pros the trash can and the cheese grater, I'm calling this thing the Thicc Mini.
The Futurama episode A Clockwork Origin features a scene where a "creationist" orangutan asks for a mysterious missing link between two species, only to be disproven, and to repeat the same question with the link between the newly revealed species and one of the previous species.
This is roughly what being a Mac prosumer is like.
Two decades ago, there existed iMacs – all-in-ones with good but not great performance – and PowerMacs – with great performance and expandability for roughly $1500 and up. Aside from a pricing hike as the PowerMacs took on first IBM's heftier PowerPC G5 chips and then Intel's server platform Xeon chips, this lasted until the aforementioned "trash can" Mac Pro, which showed that Apple could innovate themselves into an overly specific and restrictive corner. When they extricated themselves out of it, it was with first an iMac Pro model at $4999 with Xeon W chips and then a new "y'all want a cheese grater? here's a cheese grater" Mac Pro, also with Xeon W chips, starting at $5999.
Ever since the PowerMac started drifting upwards, and to a lesser degree before it did, people have clamored for a mythical xMac model, which would have some limited expandability but also be a competent workstation. This was also driven by fear of the product line being usurped by the all-in-one design philosophy powering not just every laptop, but the iMac as well, which aside from the entry-level Mac mini was the only affordable desktop.
So here comes the Mac Studio, with either an M1 Max or M1 Ultra SoC and a more approachable price tag than the Mac Pro, alongside the return of the Studio Display, enough to toss the geriatric (CPU-wise) Intel iMac 27" model out of the product line. Done deal; let's go home. Right?
Not so fast. The Studio Display looks like a good, well-built product, but comparing to products that Apple has itself been selling for years, it's not that impressive. It's a display for the people who would have liked to have an Apple Silicon iMac 27", but it's not impressive and ground-breaking as displays go, and the relatively low refresh rate and brightness in a display that, unlike the Pro Display XDR which is positioned as an everyday reference monitor, competes with displays that have both high refresh rates and HDR capability. But, luckily, you can pick whatever display you'd like.
As for the Mac Studio, it's ostensibly in the classic PowerMac range of around $2000. But it's not expandable in the slightest. If you want to have a decent amount of internal storage, more unified memory or the M1 Ultra, prices quickly race skyward. Or you have to expand with external accessories rather than additional components, which is always more expensive.
So, it's good news that a developer can get a good Mac workstation desktop without having to pay for a screen you're not going to use, for a roughly comparable price as what we have been clamoring for, and without totally giving up on decent I/O connectivity.
But: you get a computer that's done when you unpack it; a PowerMac G4 Cube, except even less expandable. It would be lovely to be able to add additional internal storage — even if Apple hates the form factor, even just having M.2 NVMe drives would go a long way. It would also be good to be able to add some form of additional memory or cards. The idea of the xMac certainly involved more additional expandability. Not to mention that the inability to connect a high refresh rate display limits future proofing even more.
Going from xMac to X factor, we have the last piece of the puzzle, the upcoming Apple Silicon Mac Pro, the presumptive star of this year's WWDC keynote. Given the accuracy of Mark Gurman's reporting on the M1 series of chips, this would be the final, "Jade 4C-Die", M1 Extreme, or whichever is more than Ultra, which is already more "max" than "Max". It would be four M1 Max dies with interconnects, scaled up another doubling (although maybe not in every dimension and every sense). This would give 128 to 256 GB of unified memory, and if Apple chooses to use the same marketing tack for it as for the MacBook Pro and Mac Studio, it would go hard on how completely untenable it would be to get that amount of GPU memory, which is true.
What's left to answer is: will that angle be enough for them to forgo additional PCIe slot expansion, and to avoid additional, DIMM-based module RAM? The M1 Extreme would not fit in the Mac Studio's thermal envelope, so there would need to be a new enclosure and probably a new industrial design either way. But if it's not notably different from the Mac Studio in character, what would make it more than just a "Mac Studio Pro"?
Here are my guesses, based on the Mac Studio, based on steps and investments Apple has taken in both hardware and software in the past few years:
No matter how this all shakes out, there's basically no chance that the Mac Pro is going to be significantly cheaper than the current Mac Pro model - maybe if there's a low-end M1 Max model and the form factor embraces expandability, so that it is significantly different from the Mac Studio M1 Ultra model that it will cost about the same as.
So, lest we forget the point: the xMac does not appear likely to be incarnated any time soon, and the PowerMac, in the sense of a reasonably inexpensive (read: not $4999) workstation with moderate internal modularity, is not due to be reincarnated either by the Mac Studio or the Mac Pro. The virtues of such machines are apparently not compatible with the virtues of the new Apple Silicon, the point of which is chiefly how the one thing with the really quite many transistors can do all these things without needing any other things. As neat as those chips are, they do not fully make up for what was once there and now does not exist any longer.
The web and mobile UI have established a new scene for drastic, dramatic and minimalist user interfaces. Some interfaces benefit from it, and some interfaces have their sins (intrusive branding, clutter or ads) magnified. But both web and mobile UI are heavy on scrolling. Mobile because there's only so much you can fit on screen, and you can't make things too small before they are too hard to tap; web because the web was made for documents and long texts, and that's how you read them.
Sometimes, a scrolling list is just what you need. And sometimes you need a scrolling list of options or alternatives or items within your user interface. But if you have the option, your user interface should be fixed. It should be laid out, with things in specific places for particular reasons. Grouped by subject or rough order of operations. Separated by lines or into tabs, to present a digestable amount of options that each connect or relate to each other. And yes, adaptive to screen orientation, font sizes and bright/dark modes, by all means.
The alternative is pouring every option, every user interface control out onto the screen, a flow-layout algorithm the only guide, making the primary navigational aid scrolling-and-looking, scrolling-and-looking, and hoping you find whatever you're looking for. The alternative is abusing a visual language that suffices for digesting words, but in the service of making sense of all of them together. Every check box, every option, every button is its own idea, and the human mind needs all the help it can get to put them in context.
If you can always scroll, ask yourself if you could arrange your user interface with more intent. Respect your user interface, respect your user, and avoid letting necessary compromises in constrained environments bleed into places where you have the real estate and dynamic range to do a much better job. Your user interface is a thing, and things should be what they are – intentional, predictable and dependable.
Take can today reveal a partial draft of developer guidelines aimed at qualifying applications distributed via sideloading, designed as a contigency plan if events force Apple to open up application distribution.
1. When distributing applications outside the App Store, applications must bemoan the regrettable circumstances that led to their existence outside of the calm, gentle embrace of the privacy-preserving, secure and premiere application distribution platform of our time.
1.1. In recognition of these circumstances, when first launched, applications must set a drab tone of national anguish and mourning, alas, of how slowly, regrettably from carefully considered, meticulous design, by unthinking regulation does emotive, deeply resonant and in-app subscription renewals as mediums for transcendental application experiences slowly unwind. The tone shall last for no shorter than five minutes and use UIVisualEffectView with the effect UIRegulationEffect.
2. Users of Apple devices choose Apple devices because of their unparalleled ability to deliver a secure and trustworthy environment, free of malware and fraud. In a volatile regulatory environment intent on distorting them, applications must remain conducive to and maintain these pillars of integrity.
2.1. Users who download an alternate application distribution environment will be required to regularly give consent to this agreement. This consent alert must contain a link to communicate their concerns to the applicable legislature or government agency.
2.2. Games or Apps targeted for kids are advised to use the more approachable phrasing "stop hitting yourself", and of users of alternate application distribution environments as "doodyheads". [Marketing: should we check for localizable equivalents?]
3. The flag of the European Union is, like, totally stupid. Developers who instead use the provided materials (see Ted Lasso Resources, later in this document) are entitled to three months of Apple TV+ upon successful completion of App Review. (Offer valid once per developer account.)
Introduced for yesterday's betas (macOS 12.3, etc). A more finely-grained API, tuned for the needs of screen capture – letting you specify which apps and windows appear, the format of the capture, frames being able to be elided if nothing has changed, and so on.
And interestingly accompanied with a pull request to OBS to integrate it right away (under the banner of "Developer Ecosystem Engineering"), with changes that seem to follow the current work and adhere to its development process, ie not just a code dump or kthxbai.patch file against a months-old revision.
The Dutch Authority for Consumers and Markets has an effort to enforce the recent ruling that App Store dating apps must be allowed to use third-party payment methods. I've been following it, and Michael Tsai's roundup contained a biting Twitter quote from Francisco Tolmasky:
It must be really frustrating to roll out an entire plan only to be completely at the whim of a reviewer — err, regulator — to find out whether it sufficiently meets a set of vague criteria.
You could argue that Apple should not be subject to drive-by, after-the-fact regulation, clumsily anticipated "claw game" engineering by finite enumeration of ostensibly reasoned points, each tile creating more cracks and crevices through which people and features will fall. You could argue that the people making these decisions are ill-equipped to do so, and that their incentives are not aligned neither with the developers, nor with the person who's going to be using the thing.
What you can't do is argue these things and then turn around and say that it's all fine when Apple is doing it to developers. Time after time, Apple has either completely missed or blatantly ignored what makes a sensible application for developers and users, focusing on what draws in more money or tightens the regulatory noose.
A recent installment of the ongoing Floatplane App Review saga is instructive. Floatplane COO Luke Lafreniere has ongoing issues with getting a media network app already on the App Store through review, and time after time struggles despite carbon copying solutions adopted by big and successful apps on the App Store, to the point of copying UI wording verbatim.
I won't spoil the ending of the particular story, but even though the developer reach-out representative he is in contact with is cordial, empathetic and understanding, the situation is plainly, on its face, objectively ridiculous. No one is served by the status quo, and there's significant reason to believe that well-meaning, non-evil people on App Review would love to be able to wave a wand and just have things make sense. But that's not the system that's in place.
With the result being busted, unpredictable update schedules and feature Yahtzee slowing down development, not even Apple comes out ahead in practice, at least if the argument that what happens in all apps on their devices reflects on them and their platform is to be applied more than selectively. And after more than a dozen years of this, we have all heard our fill of these stories. If your baby's still teething well into its teens, maybe it's time to reevaluate. (I'm not a doctor, but I suspect spiritual malnourishment.)
The only surprise is that it has taken so long for any authorities to notice the situation and take any sort of action at all. Development turning into what looks and feels like a cruel, counter-productive, systemically capricious parlor game? Welcome, Apple, to the App Store experience; at least you get a €50,000,000 cap for your arbitrary rent.
Sometimes I think about whether it's worth it to just swallow the pride, stubbornness and resentment and Develop a Social Media Presence™ for Better Engagement with My Personal Trademark® after all, but then I read things like this.
Ars Technica, December 22, 2021:
The Securities and Exchange Commission has rejected Apple’s petition to block three shareholder proposals from going to a vote at its next annual meeting—a win for activists that signals trouble for other US companies hoping the regulator will allow them to fend off unwanted attention.
The resolutions call for detailed reports regarding allegations of forced labor in Apple’s supply chain, explanations of why certain apps are deleted from the App Store in China, and a public report of what risks the iPhone maker could face by allegedly using nondisclosure agreements in the context of workplace harassment and discrimination.
Cher Scarlett, December 22, 2021:
I'm currently unemployed. Apple is threatening to sue me and I have $92,000 in attorneys fees I have no way to pay. I gave up my severance and COBRA.
I did this to hold Apple accountable.
If you are an Apple shareholder, please vote to audit the use of concealment clauses.
Cher has since, happily, been employed, but her story about some recent events is harrowing and hard to boil down to one or a set of quotes.
Contrary to what regular readers may believe, I am an Apple shareholder. I don't own many of them and I am not located in the US, but ever since I read this, I have been fighting windmills trying to find a way that I can register for the meeting and place votes. It seems like most financial institutions here are only interested in the stock market insofar as to give easy marks a way to bet on the stock ticker casino, and are not quite so enamored with details like consequences, accountability and ethics, or at least not with letting the people without supercars have anything to do with it. (My bank told me it would be happy to sign me up for the meeting at a price that would amount to more than half of the shares' value; my broker, through which I hold the shares, just plain "doesn't offer the service".)
If you own Apple stock, please hold Apple accountable by voting at the upcoming shareholder meeting. Please confront the company, whose valuation you are helping inflate to ridiculous proportions, with the consequences of their actions. Please ensure that the self-perpetuating, reality-distancing bubble of innocence through excellence does not see challenges to live up to its own ethical self-image as reasons to throw employees in the corporate wood chipper. There is absolutely no excuse whatsoever for Apple's behavior; those who are breaking out "cultural fit" would go into a different kind of fit if it happened to them, or at any other company.
If corporations are indeed people, they are sociopaths with bastard sprinkles. At their best, they are upside down pyramids, and keeping true and fair and reasonable and not throwing customers or "human resources" to the hounds is only maintainable by constantly trying to tilt them upright.
Completely unrelatedly, a few words from Pixar co-founder Ed Catmull.
Our humanity is bound up with one another's. We saw it in South Africa: if you carry out a policy that dehumanizes others, in the process, you are dehumanized. You understand how others can say: in order for me to be me, I want to forgive you. Because when you don't forgive, frequently, you feel it in your tum-tum.
Oxide is a neo-Sun Microsystems-esque startup trumpeting open and transparent architecture and practices while also designing the most hilariously oblique product teaser in recent memory (plop down contact-sales levels of cash to buy entire racks of AMD EPYC processors and NVMe storage before knowing what the hell you can even run on these things; I'm not in the target audience, but clearly the target audience has an even bigger need for details).
Oxide uses enough Rust to name the company after it, and the most recently revealed Rust-powered artifact is the operating system Hubris, designed for 32-bit microcontrollers instead of what you might be thinking of. I am completely unaccustomed to this level of programming, but the industry as a whole seems to have breathed a sigh of relief in the past decade that they can embed an ARM core and run Linux on most everything, theoretically allowing for fast and open-ended development but also for many uncertain side effects.
The full Hubris reference is worth reading and explains the eye-openingly fresh approach of baking things into static slots, avoiding asynchronous operations (since synchronous operations at least can't cause unbounded growth) and having a more-or-less crash proof architecture.
(You may also remember Cliff from the excellent post about rewriting his VGA-generating library for microcontrollers from C++ to Rust.)
Apple today announced Self Service Repair, which will allow customers who are comfortable with completing their own repairs access to Apple genuine parts and tools.
The conversations around original parts, vendor-blessed repairs, right-to-repair and freedom-to-tinker are often mixed up into one subject, with one "for" and one "against", the failings of one end used to deduct the other.
Apple, like many other manufacturers of mechanically sophisticated electronics, basically use the following argumentation: Our products are custom-fit for their purpose. We tirelessly chased down, manufactured or customized the right parts for the job, and we spent significant time on fit-and-finish so that everything works as intended. Therefore, care needs to be taken when repairing.
This is a reasonable, coherent position such as it is. The problem is the experience that the actions taken on behalf of it lead to in reality.
In reality, repairs with authorized service providers have to abide by glacial policies that prevent at least non-Apple Stores from stocking up on spare parts. Over the years, and across many separate incidents, I have had repairs of iPhones and MacBooks take many days beyond what the actual repair work would take. For devices that are intended to be used every day, this is not acceptable, and is the worst kind of business decision: the one that maintains control and policy at the expense of customer convenience. This is exactly as stupid as that pirated-vs-original comparison.
In reality, there exists two axes: qualified vs not, as well as Apple-blessed vs not. The Self Service Repair program highlights the absurdity of the emerging narrative: a random person at home, taking things carefully, can be trusted to do a job that an independent repair shop, which lives and dies by its reputation and literally does this all day can't be. Apple's previous position deserves some back-handed credit, in that at least "only we could do this" was free of such loops of logic – it was plainly and obviously wrong, but it was not that particular brand of ludicrous.
In reality, many people, from hobbyists to competent staff at repair shops in every village, town and city are perfectly well equipped to perform repairs, but are being prevented from doing so with original instructions and with original parts. While some would gleefully use knock-off parts to save a penny, most who do use them out of necessity, as a last resort.
There would be an instant and sharp drop in quality issues related to post-market repair if original parts and original instructions were simply available to everyone. This is not science fiction; with cheats, liars and penny-pinchers abound across all humanity, you can still repair cars without imminent physical danger, and off-network dealers or shops can still use original parts and instructions, at least in the EU.
In reality, miniaturization, water-proofing and minimalistic product design are not one-way funnels towards inexorable outcomes, but aspects in tension, to be managed. It is perfectly possible to make tiny, well-built objects with great fit and finish. In particular, it is perfectly possible to make minute changes to make disassembly enormously difficult and time consuming, or pedagogical and simple. (And as has recently been made clear, it is possible to needlessly entangle things that are completely disjoint, and undo this later.)
Just as it is possible to design a device that is already hard to make with a special focus on friendliness and usefulness, just as it is possible to ponder how to source the materials responsibly and sustainably, it is possible to make ease (or even possibility) of repair a priority, and it would serve everyone to do so, including Apple itself.
But this isn't about saving Apple money. It is about rejecting a simplified, convenient, harmful world view. It is true that not everyone is capable of repairing everything and not everyone wants to repair everything. But this is not an excuse or an instruction to let the whimsical, anti-customer demands of self-obsessed corporations with a control fetish dictate misery for everyone who does not live within five minutes of an Apple Store. (In Sweden, which globally speaking has an outsized number of locations proportional to our population, roughly 75-80% of the population live more than 1 hour from one.)
And it is particularly not an excuse to perpetuate the myth that knock-off parts are a choice in all cases, and are preferred by individual repair shops, which are therefore dishonest and/or not about to do a good job anyway. The entirety of the market, and the quality of its collective outcomes, depends on Apple's policies. They can change it tomorrow.
If we are lucky, Self Service Repair is not a cynical fig leaf in the face of approaching regulation, but the first step of accepting responsibility and extending to their customers the respect for their time, property and business that has been long due.
With software taking over so much of the world, hardware and particularly advanced chip manufacturing needs to become much more of an industry-wide discipline instead of the secret sauce of a handful of foundries. TSMC is doing a great job but the sparsity of serious competitors puts them under incredible pressure. (If you think the situation is dire now, when the Playdate's CPU was booked for two years solid and they had to switch for the new orders, imagine if TSMC messed up.)
I've had nightmares thinking of ways that China's increasing influence and hardline rhetoric would come back to bite both factories in China and factories in Taiwan, which would affect many companies the world over and many kinds of products. The clip argues that China knows that touching TSMC is bound to mess them up just as much, which is sobering, but also makes you wonder about the reaction to new factories in other locations.