Six Colors
Six Colors

by Jason Snell & Dan Moren

This Week's Sponsor

Kolide believes that maintaining endpoint security shouldn’t mean compromising employee privacy. Check out our manifesto: Honest Security.

By Dan Moren

Creating a smart On Air sign with an e-ink display

On Air sign final product

Ever since I moved into my new house a year ago, I’ve been looking for a fun way to designate when I’m recording a podcast. Yes, I could just close the door to my office—but sometimes when I do, I’m just working on something where I don’t mind being interrupted. I could also use a low-tech method like a door hanger, but then it’s one additional piece of cognitive overhead to remember to put it out when I’m recording.

No, if ever a problem cried out for a ridiculously over-engineered solution, this was clearly it.

At first I considered something simple, like a red smart bulb I could put up next to my office door. But it’s in a small hallway, and there are no electrical outlets nearby. Which meant that whatever solution I came up with had to be battery-powered and, ideally, last a long time. Likewise, there’s no place for a table to put anything bulky; it would have to be light enough to be mounted on the wall or door.

What I really wanted was an On Air sign, like at radio studios, and Jason’s dabbling in e-ink status displays made me think that I’d finally found the right technology for the job. When Six Colors member Mihir mentioned the Inkplate 6COLOR, I didn’t hesitate in ordering one.

The 6COLOR has a number of things going for it: for one, it’s a complete system, including an e-ink display, controller board, Wi-Fi, and so on. For another, you can pay a little more to have it shipped with a 3D-printed frame—not pretty, but it gets the job done. Finally, though it’s not battery-powered out of the box, an under-$20 Adafruit battery is simple to install.

But that was just the beginning; putting this project together ended up requiring a bit more hands-on time than I’d expected.

The hardware

The Inkplate 6COLOR is, as the name suggests, a color e-ink display. Don’t go in expecting a Super Retina XDR experience, because you’re not going to get it: we’re talking 600-by-448 pixels with seven colors (black, white, red, yellow, blue, green, and orange) at 128 dots per inch. Dithering does let you show most colors, but it’s still not going to provide you with an amazing image.

Fortunately, while color was a nice perk, it wasn’t a requirement for my sign. But the color technology does add one major drawback to the 6COLOR: its refresh time—the amount of time it takes to draw a new image on the e-ink display—is slow. And I mean slow. A sloth could drink molasses out of a sippy cup faster. It takes at least 10 full seconds to draw a new image; sometimes that seems closer to 20. It’s one place where a black-and-white screen actually might have served me better but you live and you learn.

Beyond that, the hardware is fairly basic. There’s a sleep/wake switch, a microSD slot for onboard storage if you need it, and a USB-C connector for power and data. Installing the battery required opening the back up with a small screwdriver1 and then connecting the battery to the correct terminals, using the board schematics. There’s no place to mount the battery really so I just left it loose inside the case and sealed the whole thing back up.2

Satisfied that it was now able to run on its own power—though for how long I wasn’t sure, since there’s no built-in way to check the battery level until it basically dies—I set about for what would end up being the far more challenging part of the project: the software.

The software

The Inkplate 6COLOR’s microprocessor is Arduino-based, though it also supports the MicroPython programming language. While I have more familiarity with Python, it was unclear to me just how many of the built-in features would be easily addressable in MicroPython, so I decided to stick with the default, and downloaded a copy of the Arduino IDE.

It was here that I was forced to dust off some meager 20-plus-year-old programming knowledge. While I’ve spent a lot of time as a PHP web programmer and dabbled in other languages, programming an Arduino relies on C/C++, languages that I only got passing familiarity with while taking a course on Java back in freshman year of college.3

Fortunately, the Inkplate docs include a helpful Get Started guide that includes a ton of built-in examples accessible via the Arduino IDE that you can peruse to figure out how things work.

In thinking about how to architect my program, I had concluded that I would try to just have the On Air sign grab an image from a web server and display it, so I picked the closest example in the library, the Web Pictures project.

I created a couple of basic On Air/Off Air images using Acorn: just solid-colored text on a solid colored background (white on black for Off Air, white on red for On Air4), at the exact resolution of the Inkplate’s display.

Once I’d gotten the hang of how the Arduino IDE worked, subbing in my images for those in the example was easy enough, and the proof of concept was up and running.

Arduino IDE
Ah, C.

At that point, the challenge became how to maximize energy efficiency. In an ideal world, I would have had a ping sent to the Inkplate display telling it when to change images, but that would require it be awake or be woken by the ping, which proved to be a more complex solution that was somewhat beyond my skills.

Instead, I ended up loading the images locally on the device, encoding them into a byte array using Inkplate’s online tool so that they could be bundled into the program itself—fortunately they were small enough to not use up too much of the limited onboard memory. That way I could simply have the Inkplate check a public URL to see if I was on air and load the appropriate image, rather than downloading it every time.

To make it even more efficient, I opted to use the display’s deep sleep feature, which shuts down most of the onboard systems to conserve memory. I had it store the current on air status in the tiny bit of RAM that gets preserved while in sleep, then wake every five minutes to see if the status had changed; if so, it switches the image and, if not, it just goes back to sleep.

The resulting program actually ended up being fairly simple: the meat of it is only about 60 lines of code or so. But in my testing it works pretty darn well.5 I’ve gone ahead and made it available as a GitHub project for any interested parties.

All I needed now was a way to toggle it on and off.

The shortcut

To register my on air status, I’d created a text file on my web server that contained either a 1 if I was on air or a 0 if not. What I needed was a way to toggle that back and forth and I settled on creating a shortcut.

This also ended up providing me my first best opportunity to use Apple’s Focus system, which I use as a local proxy for my on air status.

The shortcut checks to see if my current focus mode is already set to Podcasting and, if so, deactivates the focus mode and then sets my on air status to 0. Otherwise, it turns on the Podcasting focus mode and sets my on air status to 1. Then I use the Run script over SSH action to echo that status variable to the text file on my server.

On Air Shortcut

I can trigger the On Air shortcut via the menu bar or my Stream Deck, but I decided to take it a step further in automating it and use Audio Hijack’s own automation features to trigger the shortcut every time I start or end a recording session.

Apple’s Shortcuts implementation on the Mac unfortunately does not offer automation features, meaning I can’t automatically have a shortcut launched when the feature is activated or deactivated, as I can on the iPhone.6

If you’d like a copy of the shortcut, you can download it here.

The result

With the code working and my shortcut hooked up, I took the last step and attached the on air sign to my office door using some 3M Command Strips, allowing me to easily remove it when I need to charge it.

The battery life has been truly impressive: even checking as frequently as it does, the Inkplate goes several days without needing to recharge.

Yes, I do wish that there weren’t potentially a five-minute lag time between going on air and the sign updating; it would be nice to be able to ping the e-ink display directly to have it update, removing the remote server from the equation entirely.

But all that really means is that I’ve left myself some work for an eventual version 2.0.

  1. My trusty old iFixit driver kit to the rescue. 
  2. Was that a good idea? Who knows! If not, I guess we’ll find out eventually. 😅 
  3. Hey, Java was the hot new thing in 1998! 
  4. I started with red on black for the On Air image, but Mihir rightly pointed out that white on red is much easier to distinguish at a glance. 
  5. If there’s a problem with it, it’s that I occasionally see the board balk at re-connecting to Wi-Fi after waking from sleep, but it seems to happen inconsistently and may be more of an issue of the Wi-Fi network strength than anything. 
  6. I could, of course, set the automation to run on the iPhone instead, since my Focus modes are mirrored on my devices, and I may do so eventually, but I haven’t yet decided if that makes sense. 

[Dan Moren is the East Coast Bureau Chief of Six Colors. You can find him on Twitter at @dmoren or reach him by email at The latest novel in his Galactic Cold War series of sci-fi space adventures, The Nova Incident, is available now.]

By Dan Moren

Automate This: Archive a bunch of sub-folders

Sometimes you stare down the barrel of a stupid, repetitive task and think: hey, my time’s worth more than this!

Then you spend longer than the original task would have taken to create an automation for that task.

Having concluded our current season of A Complicated Profession, our Star Wars TV podcast over on The Incomparable, I decided I ought to archive all the project files to save some space on my MacBook Air’s drive. In the past, I’ve had an automated workflow to do this, using Hazel, but I hadn’t set it up again since switching to my laptop as my main work machine.1

However, rather than clicking on each individual project folder and choosing Compress…, it seemed likely that I could create a simple automation to do the work for me. And so I did!

Shortcuts is well suited to this task, allowing me to create a workflow I could launch from the Finder’s Quick Actions menu. I selected the top-level folder for the podcast and had the shortcut iterate through the contents of that folder. If it encountered a file with no file extension (which was the best idea I had for detecting if something was a folder), it would zip that up into an archive with the same name as the folder, then save it to the top-level folder2. Done.

It took a little bit of trial and error to get the save paths and naming correct3, but the end result was exactly what I’d hoped: a folder full of archives of each individual episode, which I could then drag over to my NAS before deleting them all from my drive.

Perhaps you’ll find this shortcut useful, in which case, have at.

  1. Once again, I’m reminded that macOS’s version of Shortcuts lacks the Automation features of the iOS version—which continues to be a glaring oversight. 
  2. That Save File action is a crucial step: otherwise it just makes a zip file and…throws it away? How strange. 
  3. I did accidentally make an earlier version recursive, where it dumped an infinite loop of folders inside the Shorcuts folder in iCloud drive. Whoops! 

[Dan Moren is the East Coast Bureau Chief of Six Colors. You can find him on Twitter at @dmoren or reach him by email at The latest novel in his Galactic Cold War series of sci-fi space adventures, The Nova Incident, is available now.]

Take Control of Photos, Third Edition

The third edition of my book Take Control of Photos has been released! If you bought a previous edition, you should’ve gotten an email with options to upgrade to the new edition. If not, there’s good news—Take Control is having a Black Friday sale. For the next week the book is half off.

The new version covers macOS Ventura and iOS and iPadOS 16. It adds coverage of shared photo libraries, more detail about live search in Photos, expanded coverage of iPhone & iPad Photo Features, the new version of Photos in tvOS 16, a new chapter about the Camera app in iOS, and details about duplicate detection.

—Linked by Jason Snell

Finding a Twitter replacement (or leaving it all behind), our Read-it-Later services of choice, the tech we’re most thankful for, and the apps we’re most thankful for.

By Joe Rosensteel

tvOS 16 is better at search–Siriously

One of the banner features of Apple TV and tvOS, is the ability to use Siri to get to what you want without having to remember which app it’s in, or where it is. Unfortunately, it hasn’t always lived up to that sales pitch. But as of the latest version of tvOS, it’s gotten a lot better.

Apple has slowly tweaked accuracy over the years (requests for “The Thing” now sensibly display The Thing you expect, and not Fantastic Four movies.) It was also a pain that if you clicked/tapped on a result there was no way to get back to those search results if that item didn’t turn out to be what you wanted. Now you can!

The results pages were have also been cleaned up a little, to make those first few options as relevant as possible. It’s less optimal if you stay on the page too long, because tvOS will start playing a trailer in the top two-thirds of the screen.…

This is a post limited to Six Colors members.

By Jason Snell for Macworld

Why I’m thankful for Universal Control on my Mac and iPad

When Apple announced Universal Control as a feature of macOS Monterey and iPadOS 15, I wasn’t sure what to think. It seemed like a feature nobody had asked for, but one that Apple had realized might actually be incredibly useful. I was certainly impressed by its technical ambition. But would it be something that I would ever use day to day? I was skeptical.

It’s been about eight months since Universal Control arrived–remember, it was announced in June 2021 but gestated for nine months before being released in March of this year–and I’m finally ready to weigh in on Universal Control.

It’s great. It is one of my favorite operating-system feature additions in recent memory. And most surprising of all, I’m using it in ways I had never, ever anticipated. Here’s why I’m thankful that Universal Control exists.

Continue reading on Macworld ↦

Live Activities, Push Notifications, and iMessage on airplanes

A new version of the excellent flight-tracking app Flighty was just released. I can’t endorse this app enough, but its support for Live Activities (and the Dynamic Island) on iOS 16 has made it even cooler.

As pointed out by Flighty’s Ryan Jones, if you’re on in-flight Wi-Fi (just the free version many airlines offer, which lets you access iMessage), the Live Activities will keep updating:

The secret here is that Apple uses the same pathway for iMessage as it does for its push-notification service. I fly on Southwest Airlines a lot, and while I don’t pay for their Wi-Fi, I do activate instant messaging so that I can send texts using iMessage. For the duration of my flight, I don’t just get iMessage texts—I also get push notifications from every app I use that uses Apple’s push-notification service, even if the app doesn’t have access to the Internet.

This is because all remote push-notifications have to come from Apple’s notification servers—it’s the law. And since iMessage uses the same pathway, it means that an app like Flighty can receive Live Activity updates even when the app itself can’t reach the Internet. Which is extra helpful for an app whose users are on airplanes a lot of the time.

And when your favorite sports app adds Live Activities, you should be able to keep tabs on games in progress without paying for airplane Wi-Fi, so long as your airline lets you connect to iMessage.

—Linked by Jason Snell

Find My soccer ball

Ben Dowsett at FiveThirtyEight details the high technology being used on the field at the World Cup:

All tournament long, match balls will contain a sensor that collects spatial positioning data in real time — the first World Cup to employ such a ball-tracking mechanism. This, combined with existing optical tracking tools, will make VAR (video assistant referees) and programs like offside reviews more accurate and streamlined than they’ve ever been. Combining these two forms of tracking has long been a holy grail of sorts in technology circles, and FIFA’s use of the ball sensor in particular will serve as a highly public test case over the next four weeks.

Every ball has two bits of technology that iPhone users will be familiar with: an accelerometer and an Ultra Wideband (think U1) chip. Combined with optical tech (think of the line calls at most high-level tennis tournaments), match officials1 have detailed information about the location and trajectory of the ball at all times. The chips are recording and transmitting data at a rate of 500 frames per second, allowing far more precision than even a TV camera broadcasting at 50 or 60 frames per second. A machine-learning algorithm flags potential calls (mostly Offside) for human officials to consult.

It’s exciting to see this because I can think of a few sports (NFL football being the big one, since so many of its rules involve the ball breaking an invisible plane) that could be dramatically improved by technology that tells us where the ball is, precisely, at all times.

  1. This is where I point out that Qatar is an authoritarian regime, that FIFA is corrupt, and that the entire event was rooted in bribery and malfeasance and constructed by itinerant workers under terrible conditions. 
—Linked by Jason Snell

There’s some huge news from the world of streaming, as Disney switches bosses and Apple plans its next wave of sports-streaming products. Meanwhile, Myke’s busy building out his smart home while Jason has been reminded of the fragility of smart-home networking.

By Dan Moren for Macworld

Apple’s holiday iPhone shortage is a symptom of a much larger problem

Apple is a bit like Superman. Wait, wait, hear me out. Sure, it only gets a chunk of its power from the yellow sun (thanks, solar), and maybe not even its rumored smart glasses could disguise it as Clark Kent, but the company certainly isn’t short on superpowers: selling hundreds of millions of dollars worth of products, commanding a prominent position in multiple technology markets, able to leap tall buildings in a single bound, etc.

But just as Superman has his kryptonite, Apple too has one large weakness that can bring the company to its knees: its overreliance on China. Yes, the region provides a big chunk of the company’s sales, but even more to the point, it’s the epicenter of Apple’s global manufacturing and assembly. And when that’s threatened–by political issues, supply chain problems, or COVID-related conundrums–it can put a serious dent in the company’s bottom line.

You need look no further than the recent communique from Cupertino, explaining that its most expensive (and presumably most profitable) iPhone models would take a sales hit due to a pandemic-related factory shutdown. Recently, though, Apple has started to move to correct this reliance on China, looking to bring manufacturing to a number of other places. It’s a good long-term decision, but it won’t happen fast, and there are going to be plenty of challenges along the way.

Continue reading on Macworld ↦

1Password gets ready to embrace Passkeys

In a blog post on Thursday, 1Password outlined its plans to support Passkeys, a new standard embraced by all the major platform owners that promises to eliminate passwords forever by replacing them with cryptographic authentication.

Now cross-platform password manager 1Password has rolled out a page that offers a video and interactive demo of its forthcoming support for Passkeys:

1Password will bring full support for passkeys to the browser extension and desktop apps in early 2023, with mobile support to follow. We’ll be introducing resources along the way to help you discover where passkeys can be used and how to set them up, as well as an easy way to upgrade your logins to passkeys.

While Apple has built Passkey support into its latest operating systems, their implementation lacks easy portability to non-Apple platforms, recoverability, and easy sharing with family or workgroups. That’s the area where multi-platform, multi-user services like 1Password can flourish, doing the work to implement features Apple’s not focused on.

Whether you use 1Password or prefer Apple’s built-in approach, it’s clear that everyone in the world of passwords is onboard with the idea of killing them forever and replacing them with something much better. It couldn’t happen soon enough.

—Linked by Jason Snell

How we positively integrate tech in our kids’ lives, whether we display vintage tech, sharing streaming service logins, and do standalone cameras still trump smartphones?

By Jason Snell

MLS Season Pass begins to bring Apple TV/MLS deal into focus

St. Louis City SC is the first MLS team to unveil a shirt with an Apple TV sleeve patch.

It’s about three months until the start of the next season of Major League Soccer, and Apple’s 10-year, $2.5B deal with the league is starting to come into focus. On Wednesday Apple announced details about the new MLS Season Pass, a new subscription service inside of the Apple TV app.

Apple and MLS will produce broadcasts of every league match. (This includes the Leagues Cup between MLS and Liga MX teams, except in Mexico.) Some will probably be simulcast on traditional TV providers such as ESPN, while others will be available for free on the Apple TV app and still others might be available to all Apple TV+ subscribers.

But if you want access to every match, you’ll need MLS Season Pass, which will cost $15 per month during the season or $99 for the entire season. (MLS season ticket holders—between 300,000 and 400,000 of them—will get access to MLS Season Pass with their ticket purchase. Apple TV+ subscribers will get a $20 discount.)

MLS Season Pass subscriptions will open on February 1 and the league’s first match is on February 25. If that seems soon, it is. As The Athletic reported last month, Apple and the league are scrambling to put a broadcast plan into place, including hiring announcers.

Apple and MLS are also working to simplify the league’s schedule, placing all matches in two separate windows on Saturday and Wednesday nights with kickoffs of most Saturday games at 7:30 p.m. local time. Showcase games that would be available for free to all would take place on Saturday and Sunday afternoons. The Athletic also reported that roughly 40 percent of the league’s games will be available in front of the paywall.

Product placement is also part of the deal. Not only will teams be equipped with iPads, but referees may wear Apple Watches, and the VAR video-review system may be based on Apple devices. An Apple TV logo will also appear on the sleeve of every team jersey, the first of which can be spotted in Wednesday’s announcement of the first primary kit for the St. Louis City SC expansion team.

The big question is, what will the product be like? Given the heavy lift required just to get this new endeavor up and running, it’ll be interesting to see how many “production enhancements” Apple will be introducing at the start. The Athletic reports that games will probably have 12 cameras, up from seven or eight at most games this year.

Apple will presumably want to push production quality—will these all be in 4K HDR with Dolby Atmos sound?—and the plan is to offer commentary in English, Spanish, and (for Canadian teams) French, with an additional option to substitute the home team’s radio broadcast instead.

That’s an ambitious first set of features, but it feels like Apple is viewing this MLS partnership as a testbed for its future ambitions in streaming live sports. I would expect the company to be more aggressive in pushing the format than it was in its first season of MLB games.

I am somewhat of a soccer fan, though my tastes run more toward the team at the top of the table in the English Premier League. But I’m really interested in seeing how Apple and MLS execute on their strategy here.

Disney’s latest financial results lead us to ponder where we are in the dramatic change from old-school media to the streaming world. Also, Warner Bros. Discovery claims to have all its franchises in order, but that doesn’t seem remotely realistic.

Search Six Colors