Archive for April 17, 2020

Friday, April 17, 2020

iWork 10 in WebAssembly

Laurent Sansonetti (via Peter Steinberger):

Just a few days ago, iWork 10.0 shipped with iCloud apps that now include features extracted from the native codebase (C++/ObjC), using WebAssembly!

I wrote a dedicated toolchain for the team, based on LLVM and its WebAssembly backend. It includes a custom compiler/linker, ObjC runtime, some Foundation layer, and a TypeScript bridge.

If you’re curious, this feature is written in WebAssembly (article mentions Keynote but it works on Pages and Numbers too!)

Here’s what some of the code looks like.


Battery Health Management for Mac

Apple (MacRumors):

The battery health management feature in macOS 10.15.5 is designed to improve your battery’s lifespan by reducing the rate at which it chemically ages. The feature does this by monitoring your battery’s temperature history and its charging patterns.

Based on the measurements that it collects, battery health management may reduce your battery’s maximum charge when in this mode. This happens as needed to ensure that your battery charges to a level that’s optimized for your usage—reducing wear on the battery, and slowing its chemical aging.

While battery health management benefits your battery’s long-term lifespan, it can also reduce the amount of time your Mac runs on one battery charge when capacity limits are applied. If your priority is making your Mac notebook last as long as possible before recharging, you can turn the feature off.

This seems like a good idea, although I don’t understand why Apple keeps making significant non-bug-fix changes in 0.0.1 updates.

Dieter Bohn and Jacob Kastrenakes:

What that means for your laptop is that in certain cases, seeing 100 percent battery life in your menu bar may not necessarily mean it’s the maximum your battery could charge to. Instead of meaning that it’s charged to 100 percent of what the battery could take, it will now mean it’s charged to 100 percent of what the battery should take to maximize it’s lifespan.

They probably had to do it this way, because people wouldn’t like to stare at a battery gauge that doesn’t charge above 80%. However, this also means that some people who aren’t aware of the feature, or simply forgot to turn it off, may get on a plane without realizing their battery is only at 80%.

Jason Snell (tweet, Hacker News):

Charging a modern laptop battery to 100% and leaving it there for extended periods of time—especially at warm temperatures—can dramatically reduce the battery’s usable life. This is hardly limited to laptops: I own an electric car, and the manufacturer makes it very clear that it should be routinely charged to only 80 percent to extend its battery lifespan.


Update (2020-04-22): Benjamin Mayo:

I do think the feature could be implemented a bit more effectively though. In cases when you do want to charge to full, like if you know you are going to be away from a power adapter for a while, Apple’s answer appears to be to dive into System Preferences and disable the checkbox. This is functional but a bit inelegant. When I’m no longer mobile, I’ll have to remember to re-enable automatic battery health management. I’d prefer it if the Battery menu in the menubar had a one-click ‘charge to full’ button. This would allow the MacBook to reach 100% impromptu, but default back to the 80% behaviour for subsequent recharges.

Secondly, I find it curious that Apple chose to brand this setting as battery health management. This terminology closely overlaps with the iOS suite of Battery Health features, which encompasses things like the infamous performance throttling policies. The Mac behaviour has nothing to do with unexpected shutdowns or performance, though, it’s solely motivated by the desire to maximise the MacBook’s lifespan. As of iOS 13, iPhone and iPads do this too with a feature called “Optimized Battery Charging”. It would be more sensible if Apple used that exact term on the Mac too.

Glitch Launches Subscriptions

Jacob Kastrenakes:

The coding platform Glitch is formally launching its first paid product today: a subscription that lets you pay to upgrade the bite-sized apps you can run on its platform.

Since it launched in 2017, Glitch has let anyone write and remix code and then publish bots, web apps, and other projects that it would host for free. But that free hosting came with strict limitations. Apps had limited RAM and storage, and more importantly, they would be shut down if they went dormant for just a few minutes, meaning you often had to wait through a sluggish start up before using them.


Plenty of Slack and Discord bots are hosted on Glitch, and Glitch says it hosts a lot of small tools that companies found were just easier to make on its site. For those users, these paid features may be more important than just participating in the community — they’re about making sure apps built on Glitch’s site are reliable.

See also: Dave Winer.

Trello Account Claimed Using Secondary E-mail

shashanktomar (via Hacker News):

My login to trello is with my personal gmail account. With the new SSO login screen, as soon as I enter my gmail address, it redirects me to my previous company sso page (which i left 5 years ago btw). The email address is clearly It being claimed by an SSO without my consent is extremely scary. Now I am completely locked out of my account.

Blair at Atlassian:

Since Acme has claimed the domain that you’re using as one of your saved email credentials, and they have recently enforced SSO for all Trello users in their domain, this means your Trello account is now managed by the Trello Enterprise Acme by way of their SSO enforcement.


I created my personal account long before Trello was acquired by Atlassian. It did not have any SSO at that point and the login was with username and password. At some point, while working on a side project and to share it with a teammate, I attached a secondary email to my account and created few boards under it.


The multiple account login used to work the same way it works for github now. The boards were very clearly labeled under the email/username they were created and clearly had the ownership well defined. As soon as I left the company and my email was disabled, all the boards under that email disappeared from my account. This was expected and kept using my primary email (i always used to login with my username) and completely forgot about an attached secondary email (which anyways is now deactivated). Fast forward 5 years with tons of personal boards under this account, one morning it stopped working without any notification (yes i revised my spam to be sure about it) with all my data gone.

Chrome vs. Safari: Energy Use and Compatibility

Walt Mossberg:

If you use a Mac, and you insist on using Chrome, stop complaining about speed, fan noise, or battery life. It’s well known that Chrome is a resource and battery hog, especially on Macs. Safari is fully capable, quite fast and very privacy & security focused. Just use Safari.

If you’re a Firefox fan, that’s good too. My point is just that Chrome, which years ago worked great on Macs, is now a big problem, and that Chrome users with degraded Mac performance or weaker battery life should look to their browser choice, and not blame the hardware.

Safari is generally capable, but I’ve been increasingly running into compatibility problems. I think it’s fair to say that if your top priority is a Mac browser that works with the most sites, you should pick Chrome, followed by Firefox. I have other priorities, so I’m still using Safari. But lately it feels like a compromise to get a good Mac app and privacy. It used to feel like I was simply getting the best browser.

John Gruber:

It’s also funny how angry some Chrome fans are about this, particularly web developers. They argue that the problem is that Safari is slow to adopt Chrome-first web technologies without acknowledging that the reason Safari has better performance and stronger privacy goes hand-in-hand with the fact that these technologies Safari hasn’t adopted are resource-heavy and potentially privacy-invasive.

I don’t think it’s that simple. First, performance and privacy aside, Apple has a strategic interest in some of these technologies not taking off. Or, more charitably, it makes sense that they wouldn’t be high priorities to implement.

Second, the compatibility issues I’m seeing are not, as far as I can tell, because of new technologies that Safari doesn’t support yet. Rather, the engines are diverging such that even older technologies don’t behave consistently. Unfortunately, some sites don’t adequately test with Safari.

Third, I thought the idea was that Safari’s efficiency comes not just from absent features but also from more efficient implementations of the common features. But even that is not clear-cut. Recently, as we physically isolate, we’ve been doing board game nights online at Board Game Arena. It’s amazing how many games this site supports and how well they work in a browser. But what really surprised me was how much better it performs in Chrome. The 7 Wonders game was almost unusable on my iMac in Safari, with multi-second pauses and animations that lost so many frames I couldn’t see what was happening. The fans were always running at full blast. Meanwhile, on my wife’s 2018 MacBook Air, which I normally find a bit pokey, the animations were smooth and the fans were silent. The difference is that she uses Chrome. Once I fired up Chrome on the iMac, the site worked great there, too.


Update (2020-04-20): Simon Cahuk:

You still can’t watch 4K Youtube videos in Safari. So I opened a 4K Youtube video in Google Chrome to watch it in 4K.

Microsoft Buys

Brian Krebs (via Hacker News, Bruce Schneier):

In February, KrebsOnSecurity told the story of a private citizen auctioning off the dangerous domain for the starting price of $1.7 million. Domain experts called dangerous because years of testing showed whoever wields it would have access to an unending stream of passwords, email and other sensitive data from hundreds of thousands of Microsoft Windows PCs at major companies around the globe. This week, Microsoft Corp. agreed to buy the domain in a bid to keep it out of the hands of those who might abuse its awesome power.

Brian Krebs:

O’Connor said Microsoft actually offered to buy the domain several years back for $20,000. He turned them down, saying that at the time he thought it was too low and didn’t reflect the market value of the domain.