🌿 Apple, Please

Nov. 2024 Jan. 2025

Apple, the multi-tribillion dollar company, has some terrible oversights in their software.

Here I have a small collection of some of these oversights that would be trivial to fix, but year after year don't get fixed.

I recently found a neat little menubar app that will display Apple todos in the menubar, and let you create and check off the todos. Reminders MenuBar. It's on Github and it's really cool.

But I quickly found that it's unable to filter on the flagged property. This is essential for how I plan my day. I don't really respect due dates. Instead, every day I flag some items from a list of potential items that I need or want to do that day. It's very similar to Microsoft's My Day feature. It works very well for me.

So all I had to do was to extend the utility to allow filtering on the isFlagged property. No problem I thought, I can use the EventKit documentation and the existing code to add an extra filter no big deal.

The todos are represented as EKReminders which subclass EKCalendarItem, so todos are really calendar events. Strange but okay. The problem is that outside completion status, priority, due dates, and calendar (list) membership, the API doesn't expose any other information about the reminders. So I can't access flag status of a todo.

This makes no sense to me. Apple likes to have deep integration between system and third party apps. Shortcuts can access the flag property. The API is there, but it's private unable to be accessed from Swift, but not for a security reason: The flagged property can hardly be seen as a security concern if you can already read the todos, and you can use the private API through Shortcuts.

This makes the otherwise really cool utility, and in fact all third party programs that integrate with the Apple todos, entirely useless to me. For what reason? Would it really be that difficult to expose the full API?

This is not an isolated incident. Stage Manager which is so close to being useful to me if you could just add some keybindings and a few more modifications, but it doesn't expose any public API making it forever just short of useable. AltTab relies on so many private reverse engineered APIs to fix an essential OS feature.

But these are poweruser features you might add. You can't expect the multi-tribillion company to expose such functionality only developers and crazy people care about.

Okay then, what about when using the new window management feature with the shortcuts, the window sometimes breaks and thinks that the screen has been moved 50% to the left making you unable to properly interact or position the window. You have to kill the application and restart it again to fix the issue.

Or what about the time to leave (TTL) notifications in calendar which is supposed to respect your mode of travel set in maps. Except, until recently it would only respect it if you drive. Now it is supposed to be fixed, and does indeed respect your preference if it's walking or public transport, but not if you prefer to bike. Then it defaults back to driving. Because no-one could ever want to use a bike as their primary mode of transport.

You also can't have multiple media outputs on iOS. You can sometimes trick the system to play two different medias using airplay as one of the outputs, but it's so inconsistent that I believe it's a bug.

Maybe you think that the iOS platform is supposed to be simple, and that these advanced features shouldn't be available. I would like to disagree. You should absolutely be able to independently control different outputs. And it particularly becomes a problem when trying to do voice calls.

You are not able to separately select your input and output device, so if you're using headphones as the output device, you need to use its microphone as the input device. This wouldn't be a big problem if the Airpods that Apple makes had even a somewhat useful microphone, but it's so unusable that everyone I have ever called with them tells me they can't hear me at all when using the Airpods.

So either people can't hear me, or I need to hold the phone to my ear to hear them.

Continue reading

Loading...