By Casey Liss
Listen To Your Users

We’re not even three weeks into the new year, but I’ve spent a fair bit of time procrastinating from working on Apple Vision Pro stuff working on updates for Callsheet. Today’s, in particular, is worth calling attention to.

In today’s update to Callsheet — version 2024.4 — I have fixed something that has driven users absolutely mad. I kicked the can down the road repeatedly, in part because I was trying to over-complicate the solution. I also did because this particular thing didn’t bother me that much

…until it did.

Erin and I were watching Oppenheimer, and I was curious who played the role of Albert Einstein. Oppenheimer has a ton of actors in it, and it took an annoying amount of scrolling to find the actor in question. I knew that my users were right: there needed to be some sort of affordance for searching within these lists.

Now, there is. Simply swipe down to expose a standard, system search field:

GIF showing Callsheet's search affordance

Hopefully this will resolve most people’s largest issue — including me. 😊 Note to self: listen to your users.

In addition to a plethora of bug fixes, I also added another minor feature: the ability to grab a Callsheet link (rather than web link) via the sharrow. If you happen to know that the person you’d like to send a link to is also a Callsheet user, you can now send them a link that iOS/iPadOS will open directly in Callsheet.

When you tap on a sharrow, you’ll now get a menu, where you can choose which to share:

Screenshot of Callsheet, taken just after tapping the sharrow, where a pop-up is shown, offering to share a web link or a Callsheet link.

Wherever possible, deep links are supported. The above would have shared this link.

In addition to the above, there’s also been a ton of bug fixes, which are detailed in the app’s release notes on the App Store, because I’m not a jerk.


Version 2024.4 is rolling out slowly now, but if you’re impatient, open up the App Store and search for Callsheet. That should offer you the option to Update and thus jump the queue.


 

Eking in just before the new year, I joined my friend John Gruber on his seminal podcast, The Talk Show. While we set out to cover Apple’s 2023 and do a year-in-review, we got quite far off the rails… quite often.

Sorry, not sorry. 😏

When John and I started recording on Friday night, I don’t think either of us set out to record a roughly 200-minute podcast, but sometimes, it just gets good to you, and you just don’t want to stop.

I had a ton of fun bouncing stuff off of John, and vice versa. This episode is the perfect way to close the book on 2023, and open 2024.


2023 Upgradies

If you are very lucky, you can point to a moment when you feel like you can say to yourself, “I’ve arrived”.

Yesterday, I arrived.

I was absolutely beaming, with my family around me, as we all listened to this week’s Upgrade, which included the tenth annual Upgradies. Thanks to Myke and Jason, I can now honestly say

Callsheet is an award winning iOS app!!

Callsheet has won the award for Best Newcomer iOS App!

Upgradie

This is an immense honor, and has affected me quite a lot, in the best possible way. With my prior apps, I was/am proud of them, but they are a very different caliber of app. Callsheet is more impressive, and it feels amazing to have my efforts (and those that assisted me!) publicly recognized.

Maybe I really am a professional app developer after all, huh? 😏

My tremendous thanks to Jason, Myke, and all the Upgradians who voted for me. It really, truly, means the world to me. 💙


 

A couple weeks ago, I joined my friends Rosemary Orchard and David Sparks on their show Automators, which is all about the many different ways you can automate/improve your life.

My forgetfulness to write this post should not be indicative of a lack of enthusiasm. 🫣😬 I really did have a lot of fun!

On our episode, we discussed my history with home automation, dating all the way back to my dad’s X10 setup back when I was in high school. We discussed some weird issues I’ve been having with some of my automations, as well as ways to improve the ones that are already working properly.

Both David and Rosemary are a veritable wealth of information, and I think a lot of the things we discussed are inspirational — if not applicable — to many.


 

A few weeks ago I joined Leo Dion to talk about all things Callsheet. The episode is a really great overview of my thought processes in creating Callsheet, some of the problems I had along the way, and also some of the wins. Callsheet is a labor of love, and I think (and hope!) that really comes across, especially in this interview with Leo.

We also reflect upon our mutual time as C# developers, which is a time I miss more than I often admit to myself.

Leo’s interview is available as a podcast or as a video. No matter how you prefer it, the interview runs a little shy of 90 minutes. There’s also a transcript if that’s more your speed.


 

About a month ago, I bought myself a portable monitor. At least once a week, I like to work from somewhere other than my house. Usually that’s one of our amazing local libraries, but sometimes that’s the café area in a local grocer.

I had been using Sidecar for this, with my 11" iPad Pro, but I find Sidecar to be mostly reliable and mostly without latency. But it never seems to be completely reliable nor completely without latency. Even if I plug in a USB-3 cable.

I wanted something small, light, thin, and bus-powered, so I could have a single USB-C connection between my computer and the monitor — nothing else. For bonus points, a monitor that was at or near “Retina”, so it doesn’t look like pixellated garbage next to my incredible MacBook Pro screen.

I landed on this Arzopa 13", 2K mointor. I’ve been using it on-and-off for the last month, and I like it. As I write this, it’s currently on sale at Amazon for $116, down from the $136 normal price, and cheaper than the $130 I paid for it.

Pros

  • Extremely thin and light
  • Comes with a cover that can be used as a stand
  • Bus-powered
  • Looks retina to my [admittedly bad] eyes
  • When the settings are tweaked just right, can get reasonably bright
  • Can also operate as a portable TV, with the provided Mini-HDMI ↔ HDMI cable

Cons

  • The cover/stand is extremely flimsy, and depending on what surface it’s on, can sometimes slide about. It’s enough, but just barely
  • The monitor defaulted to HDR mode, which sounds great, but ended up being way too dim. Once I turned off HDR and cranked up the brightness, it was much better
  • The speaker, naturally, is trash
  • It will never be as bright as the MacBook Pro’s screen; it’s only 300 nits, but indoors, that has been plenty

Ultimately, you get what you pay for, but $116 for a pretty-nice portable monitor for use when I’m out and about is perfect.


 

Today, I joined my pals Kelly, Lex, and Mikah on Clockwise.

On today’s episode, we discussed our must-have streaming service, our favorite not-home and not-work place to get work done, our webcam setups, and our most-used iPhone accessories.

Clockwise is always a fun time, and always fast. I particularly enjoyed this episode — despite Dan’s absence — and always enjoy chatting with these three. :)

Callsheet 2023.4

Callsheet’s release has been a whirlwind. I’m completely overjoyed by the response. I am incredibly thankful to anyone who has tried Callsheet, purchased it, or told their friends about it. Y’all are the best. 💙

Yesterday I pushed a new version to the App Store, and it is rolling out slowly over the next week or so. I wanted to highlight some of the changes I think are pretty fun.

Short-short Version

  • TV spoiler settings are now honored when viewing a person’s filmography
  • When viewing a person, their age is shown on their filmography
  • Mid- and post-credit scenes are now shown for movies
  • Now shows what you’re actively playing in Channels and, experimentally, Plex

Honoring TV Spoiler Settings in Filmographies

Probably the most often requested feature right now is something that I’ve been planning to do for a while. However, it was — at least at first glance — far more complicated than you’d expect.

From the start, Callsheet would let you optionally hide spoilers for individual TV shows — things like character names, the number of episodes they’re in, episode titles, episode thumbnails, etc. In Callsheet 2023.3, I added the ability to set a global default for these same settings.

In Callsheet 2023.4, those settings are now honored when viewing a person’s filmography. There is also a button to toggle between hiding and showing the spoilers. Naturally, it defaults to hiding.

GIF showing Jared Keeso's filmography, with spoilers being toggled on and off.

People’s Ages

When looking at an actor or crew’s filmography, I often want to know how old they were when they worked on a film or TV show. Before, this was some reasonably easy mental arithmetic: the person’s birth year is prominently displayed at the top of their screen on the app:

Screenshot showing Jared Keeso, his birthday of 1 July 1984, and his age (at the time of writing), 39 years old.

However, our devices are, at their core, arithmetic machines. Why not make them do this math, so I don’t have to? So, for people, you can see their ages in the year header:

Screenshot showing the filmography of Jared Keeso, with his ages shown on the right-hand side, peer with the year headers. For example, 2022 shows "37-38 years old"

I’m noodling on the best way to represent this information on cast/crew lists for movies and TV shows. 🤔

Mid- and Post-Credits Scenes

Something else I’ve been asked for a lot is the ability to know if a movie — particularly one currently in theatres — has a bonus scene during or after the credits. I didn’t think The Movie Database had this information, but I was wrong. As it turns out, there is a de facto standard for this!

Next, I turned to my friend Ben McCarthy, the author of the excellent Obscura — and the creative force behind a lot of the Callsheet UI. Ben and I went back-and-forth on some SF Symbols-style icons to represent mid-credits and post-credits scenes. You can see them both here. I’m quite pleased with what they came up with. 😎

Screenshot showing The Super Mario Bros Movie with a section "Credits" showing icons for mid- and post-credits scenes

Integrations

One of my tenets when designing Callsheet was to meet users where they are. This is not a particular revelation, but it is a nice “north star” to guide my decisions and priorities. This is evidenced in simple ways, like tapping on the runtime for a movie to see when it would end, if you start it right now:

Screenshot showing the movie Sneakers, runtime 2 hours and six minutes. The screenshot was taken at 4:32 and a popover shows that it will end at 6:38

The most obvious way to meet a user where they are is to offer to show them information about the thing they’re currently watching. Unfortunately, Apple doesn’t offer any sort of API for this on the Apple TV. There are allegedly ways to get that information anyway, but it’s extremely convoluted, and prone to break at any time.

Naturally, Callsheet is an app written by me… for me. And for me, the two primary ways I consume content are Plex and Channels. Callsheet 2023.4 includes Channels integration, as well as an experimental Plex integration.

Both of these integrations are opt-in. In order to enable them, you must go into the in-app settings, and turn on integrations. Both the Channels and Plex integrations work by polling, which means your device will ping away at the network asking “Is anyone here? Are you playing anything?” over and over again. That’s not a bad thing, but it’s not the sort of thing I want your average user to be opted into without their knowledge.

Screenshot of the integrations switch in settings

Channels

When everything is turned on, you should see something like this when Channels is playing on a local Apple TV:

Screenshot of Callsheet's Discover screen, showing Channels playing Motorweek

Channels uses Bonjour under the hood, which is — naturally — extremely well-supported in the Apple ecosystem. In my experience, the integration with Channels is pretty robust and reliable.

However, Channels doesn’t always provide The Movie Database ID to me — in fact, generally speaking, it doesn’t. This means tapping on an item will usually perform a search, rather than jumping you directly to the show in question. When Channels does provide Callsheet the TMDB ID, you’ll jump directly to the media in question.

Plex

⚠️ The Plex integration should be considered experimental at this time. ⚠️

If you squint, Plex uses a similar scheme to Bonjour in order to discover players on the same network. However, Plex is old enough that it actually predates Bonjour. As such, the implementation is… rickety. Plex’s implementation works for Plex, but it was never really designed for use by other software. Like Callsheet.

That said, it… kinda works? When it does, like the Channels integration, it’s pretty damned magical:

Screenshot of Callsheet's Discover screen, showing Plex playing Hamilton

Many thanks to my pals Alex and Hugo; without their combined efforts, there is literally zero chance this would have shipped.

Unfortunately, there aren’t really any levers that I’m aware of that I can pull in order to improve Plex integration. It seems to depend on the “weather” in your local network. So, uh, no promises. 🫣


The press tour continues!

Late last week I sat down with Pete Wright on his podcast, The Next Reel Podcast. It’s always a pleasure to join someone in their space, but doubly so when that space is not one I typically travel within. Naturally, I had a lot of fun talking to Pete about Callsheet.

Pete did a great job of unpacking some of my thought processes while creating Callsheet, as well as why I made a bunch of the choices I did. It was great to have someone who is technical to talk to, but who comes to Callsheet more as a movie lover than an Apple nerd. Though Pete is unequivocally both.

The episode is just over 30 minutes — somehow Pete was able to keep me far more concise than I normally am! I had great fun, and I suspect you’ll enjoy it, too.


When working on Callsheet, I tried to do my best to make it accessible for users who do not have perfect vision. Thankfully, Apple has some extremely robust APIs to do this sort of thing. Further, when using SwiftUI, you get a lot of it for free.

During WWDC, I actually had a lab with some accessibility experts, who gave me a plethora of invaluable tips on how to improve Callsheet’s VoiceOver support.

This week, I was honored to have Brian Fischler ask me to join him on That Real Blind Tech Show. On the episode, we start of by discussing Brian’s appearance on the American Top Gear, but quickly get to chatting about Callsheet, its origins, and how I approached accessibility.

I’m genuinely honored that Brian offered to have me on the show, and I’m so thankful to hear that Callsheet’s accessibility affordances seem to have hit the mark.

The episode is a different spin on the standard “press tour”; I’d love it if you gave it a listen.