🎄

Feature Archive

Lock Screen Widget Limitations

iPhone Lock Screen Widgets

Lock Screen widgets launched with iOS 16 and I haven’t touched them at all until just a few days ago. I remember the good old days when I would update to the latest version of iOS on day one and had thoroughly explored every new feature within a week.

But times have changed. I have some additional responsibility that has a much higher priority and the features included in Apple’s software updates haven’t been a massive draw for me lately. I can’t remember the last time I felt compelled to try a new feature.

I finally started tinkering with Lock Screen widgets, though, and I have some observations that I’m sure everyone else already found their way to.

The thin widget area above the time will always display the day of the week followed by the date. It’s added by the system. So when you build a widget for that area, the developer is only able to add the section following the day and date.

This seems unnecessarily limiting. It discourages developers from building widgets that display the date because, no matter what you do, the system will always show it to you. Any third-party widget that displays the date — regardless of how cleverly it’s depicted — will feel redundant.

This also artificially limits how much screen real estate developers have available to them in that widget area. If you want to use the Things widget there, you’re lucky if you get more than a few words of your top to do list item before it’s truncated.

Apple should offer the option to hide the day and date in that area and allow users to select no widget for that area as well, if they prefer a more minimalist look or would rather utilize a third-party widget to display that information below the time instead.

The widget area below the time feels much more useful to me than the other. You can fit up to four widgets and can choose between two different widget sizes — square or rectangular.

iPhone Lock Screen Widget Limitations

But this comes with its own set of limitations, unfortunately. If you place a single square widget in this section, it will display centered on your device. Great. But if you choose a single rectangular widget, it will display left-aligned. Why?

If you add one or two square widgets to sit next to your rectangular widget, the rectangle can only be placed on the left, and the square widgets will always show in the right. Why can’t I adjust the order of those to my liking?

Perhaps even more maddening, if you select a single rectangular widget and a single square widget, you’re left with a gap in-between. Why can’t I eliminate this gap and have the two widgets right up next to one-another, centered on the display?

You could say that this is a first iteration and they’ll fix these limitations over time, but again, this feature shipped in iOS 16. iOS 17 released two months ago and these limitations remain.

I have found a setup that I’m fond of. I’ve placed Hello Weather above the time with three battery widgets below showing the charge of my headphones — Sony WH-1000XM5, AirPods, and AirPods case. But I suspect I would have come to a much different setup if Apple removed the annoying and completely unnecessary limitations on this feature.

And for anyone curious, I’m using the Aqueux Aqua wallpaper.

Defaults

Posting your default apps has become the trendy thing among a certain group of cool people. Obviously, I’m equally as cool and am, therefore, compelled to join in the fun.

I’m at an odd point where I’m trying to make my apps and services a bit more platform-agnostic. On the desktop, I still use macOS quite a bit, but I’m trying to move as much as I can to Linux.

On the mobile side of things, though, I expect I’ll be on iPhone or iPad indefinitely, but if I ever felt the urge to move elsewhere, I’d prefer to have my apps and services ready to do so.

Caleb Andrew Rockwell

Becky and I have brought another little one into the world.

Caleb Andrew Rockwell

His name is Caleb Andrew Rockwell. His big brother, Josh, and the rest of us were thrilled to meet him.

Caleb weighed 8 pounds 10.6 ounces.

Joshua Holding Caleb

The family is home now and everyone is doing well. Miraculously, Caleb seems to sleep a bit better than Josh did. We’re thankful to have more rest each night because of it.

Four

Joshua at Four Years Old

I’m a bit later to publishing this than I had initially planned. We’ve been busy at the Rockwell household preparing for the little one that should be arriving soon.

We had a small get together with family to celebrate Josh’s birthday this year. The hit of the day was the new remote control car that kept him and his cousins occupied for a good portion of the afternoon.

Expecting Again

Ultrasound of Baby

Becky and I will be bringing another baby boy into this world in just a couple short months. We’re more than excited about growing our family, while maintaining a healthy level of anxiousness about taking care of a newborn alongside a rambunctious four-year-old.

In a single word, we’re overjoyed. Parenting continues to be the most rewarding thing that either of us has ever experienced.

Reddit’s API Pricing

Apollo on iPad

I’m going to share, what I expect to be, a controversial opinion about the new API pricing from Reddit. Not because I’m some big fan of Reddit — I follow a single subreddit through RSS and only do so because that same information isn’t easily digestible from anywhere else.

I would prefer that everyone leave Reddit and move to the open web for distributed, open source, community-run alternatives. We’ve allowed the current crop of social media companies to overstay their welcome. We should have all moved on from Reddit, Twitter, Facebook, and the rest of the bunch years ago.

But — brace yourself — I don’t think Reddit’s new API pricing is catastrophic for the third-party app ecosystem.

We can quibble about whether or not developers need to pay their “fair share” and what exactly “fair” would be in this context, but it seems to me that you can still build a third-party Reddit client that is economically feasible with this new pricing. But these third-party developers would need to charge more than they currently do.

We’ll look at Apollo here since that’s the app I’m most familiar with and the one that’s received the most attention throughout this within my circle.

Christian Selig, writing on Reddit about the API pricing:

Apollo made 7 billion requests last month, which would put it at about 1.7 million dollars per month, or 20 million US dollars per year. Even if I only kept subscription users, the average Apollo user uses 344 requests per day, which would cost $2.50 per month, which is over double what the subscription currently costs, so I’d be in the red every month.

Based on the $20 million per year in API fees number and the average per user per month cost of $2.50, that puts Apollo at about 666,000 active users.

How much was Apollo charging for the app, you may ask? According to Juli Clover at MacRumors:

Right now, Apollo Pro is a one-time $4.99 fee that unlocks additional features, and Apollo Ultra is an even more premium tier that costs $12.99 per year.

I’m not a fan of subscription pricing, generally, but this seems criminally underpriced for what the app is providing. It’s a far better experience than what you get from Reddit themselves and a significant discount compared to Reddit Premium — which is $5.99 per month or $49.99 per year.

So what if Apollo charged $6 per month — the same as Reddit Premium? Taking out $2.50 for Reddit’s cut and about $1.80 for Apple’s, that would give Apollo about $1.70 per user per month.

If every existing user paid, that would be about $1.1 million per month in earnings after Apple and Reddit’s cut.

If only a third of those users paid, that would be over $350,000 per month.

I don’t know what the operating costs are for Apollo and, in an ideal world, perhaps Reddit’s fees are a bit higher than they should be. But my back of the napkin math tells me that it’s totally feasible to develop a third-party Reddit app and make enough money from it for a small team to earn a reasonable living.

But to do so, Reddit’s essentially forcing third-party developers to charge at least as much per month as Reddit’s own premium subscription. From Reddit’s perspective, this makes total sense. Why would they want third-party apps to provide a better experience at a lower cost than Reddit’s own offering?

Now this isn’t to say that third-party developers should just put on their big boy pants, pay the new fees, and end the boycotts. By all means, continue with the boycotts, try to convince Reddit to lower their API fees as much as possible, and move as many communities to the open web as you can.

But don’t say that the new pricing makes it impossible to build a third-party app. Because that’s not true. It would just require pricing apps so they’re more in-line with Reddit’s own offering.

Retro Gaming on iOS

Backbone and iPhone 13 Pro, playing New Super Mario Bros. Wii I’m Dolphin

I’ve been on the search for the perfect retro gaming handheld for the past couple of years. I’ve modded a PlayStation Portable, used flash cartridges in my old Nintendo DS, and have purchased the Retroid Pocket 2+, and Retroid Pocket 3.

None of these ever felt like the right setup for me, though. I had a lot of fun playing games on them and setting them up, but in the end I just had yet-another device to maintain. It always felt a bit too cumbersome. And it didn’t help that none of the devices I tried were particularly comfortable to use.

I also own a Switch. But, not only does that miss the mark on all of the points above, it’s also not that great at playing retro games, which was my primary goal. I’ve had a ton of fun playing The Legend of Zelda: Breath of the Wild, Super Mario Maker 2, and others, but the retro games on Switch require a subscription or the stand-alone purchase of remakes that are, more often than not, far worse than the original.

Backbone

Rather than introduce a new device into my life with its own operating system and battery life to manage, I’m now using the Backbone with my existing iPhone 13 Pro. It’s one of those retractable controllers that you can place your device in to turn it into a gaming handheld.

I had never had much interest in these products because I hadn’t heard good things about them. They all seemed to be poorly made by fly-by-night companies. And although there isn’t much history to go on with Backbone, they have partnered with Sony for a PlayStation edition, which is what I decided to go for.

The hardware feels quite good. It’s obviously not as sturdy as an actual gaming handheld due to the nature of the form factor, but I don’t expect it to break anytime soon. The buttons and thumb sticks are all as responsive as you’d hope and they feel great to use.

I wish there was an option to have the directional pad positioned above the left analog stick. That would match the layout of Sony’s DualShock controllers and would be far better for the types of games I tend to play. But that layout doesn’t seem to exist among the competition either.

Backbone App

The Backbone has a dedicated screenshot/screen recording button, which is quite handy. And there’s a Backbone button as well that, when pressed, takes you right into Backbone’s launcher app. I can’t say the launcher app is great, by any means. Especially when compared to the launcher options on Android. But it’s serviceable.

The Backbone app showcases popular games from the App Store, Xbox game streaming, PS Remote Play, it has screenshot and screen recording section, and more. But, for me, the app is basically just a way to quickly launch games using the controller.

Within the section that displays your games there are also games and apps that Backbone is promoting. I wish there was a way to remove those more consistently — I’ve been able to remove some, but no luck with others. Luckily they’re generally out of my way since games are sorted by most-recently played.

App Store

In terms of what I’ve actually been playing on it, there’s been a lot of Minecraft. The game suffers from the same problems I have with titles like The Sims in that it’s a lot more fun at the beginning when you’re first collecting resources and building your base. But I think my current world is the one I’ve spent the most time in.

I’m not actively playing as frequently in recent weeks, but I have some ideas for projects that I still haven’t done in and around my base, so I expect I’ll be picking it up again more regularly in the not-too-distant future.

Submerged Glass Base Project in Minecraft

I’ve also had a blast streaming games through Steam Link. I have a Windows machine in my office that I essentially only interact with over VNC through Screens and with Steam Link. I’ve replayed Half-Life 2 recently and have a number of other Steam games in my backlog that I want to play soon, too — Celeste, Hogwarts Legacy, and Cuphead to name a few.

AltStore

Games from Steam and the App Store are fine and dandy, but the real stars of the show are made possible with AltStore, which makes it easy to install apps from outside of the App Store. You basically install a piece of software on a Mac or PC, enter your Apple ID credentials, and the AltStore app will install on your device.

AltStore has a number of apps that you can install right from within the Browse tab — Flycast, UTM, Provenance, and more — but you can also sideload any .ipa file from the My Apps tab. I’ve installed Dolphin and RetroArch. This gives me access to emulating the following systems:

  • Game Boy Advance
  • Game Boy Color
  • Game Boy
  • Nintendo 64
  • Nintendo DS
  • Nintendo Entertainment System
  • Super Nintendo
  • Sega 32X
  • Sega Game Gear
  • Sega Master System
  • Sega Genesis
  • Sega CD
  • Sega Saturn
  • PlayStation Portable
  • PlayStation
  • GameCube
  • Nintendo Wii

Everything runs surprisingly well. I’ve only come across a small number of games on PSP, Wii, and GameCube that were unplayable — either because of performance issues or incompatibilities with the emulator. In the case of PSP, I could install the stand-alone PPSSPP emulator to improve compatibility, but I prefer RetroArch’s interface.

Speaking of interface — launching sideloaded apps is one thing the Backbone app isn’t capable of. However, as a workaround, I’ve installed the PlayStation App and setup an automation in Shortcuts that triggers every time the PlayStation App is opened. It simply displays a menu listing my sideloaded apps — Dolphin and RetroArch — and launches the one I choose.

With this setup I can open the PlayStation App from within the Backbone app and then select the emulator I’d like to use. It’s not as slick as the emulation-focused launchers available on Android — my current favorite is Daijishō — but it gets the job done.

Moving back to the emulators themselves, there is a bit of a caveat with Dolphin. It requires JIT — just-in-time compilation — which allows the games to emulate at full speed. Without it, the experience would be abysmal. But in order to enable JIT, you need to be on the same network as a JIT enabling server. This is, conveniently, built-in to the AltServer software that AltStore interfaces with, but means that playing games in Dolphin while out and about is a no-go.

It’s an inconvenience for sure, but the vast majority of my gaming is done while at home and in other cases I can always just play something in RetroArch. Hopefully this will change when sideloading is officially offered in the future, but for now the workaround is rarely a hindrance in my use.

RetroArch on iOS

With these emulators I’ve been playing New Super Mario Bros. Wii, Tony Hawk’s Underground, The Lion King, and Super Mario World. And that’s just what I’ve had in my regular rotation, I’ve added about 50GB of ROMs between the two emulators, which will keep me busy for quite some time.

I’m very happy with my current setup. I can emulate roughly the same number of systems as I could on my Retroid devices, but because of the increased performance of the iPhone there’s likely a much larger number of games that are actually playable. And all of them run on a device that I already bring with me everywhere I go.

No need to maintain a separate device with its own software updates and battery life. All I need is the Backbone controller and my iPhone for access to modern mobile games on iOS, PC games through Steam Link, and a collection of the best games from the seventh generation of consoles and earlier.

The Active User Narrative

Mastodon Project Website

Josh Nicholas, writing for the Guardian:

The number of active users on the Mastodon social network has dropped more than 30% since the peak and is continuing a slow decline, according to the latest data posted on its website. There were about 1.8 million active users in the first week of January, down from over 2.5 million in early December.

The article is titled “Elon Musk Drove More Than a Million People to Mastodon – but Many Aren’t Sticking Around” and the paragraph above is the lede. It paints a dire picture for Mastodon.

But then we get to this bit:

There were about 500,000 active Mastodon users before Elon Musk took control of Twitter at the end of October. By mid-November, that number climbed to almost 2 million active users.

Wait. Over the past three months, Mastodon went from 500,000 users to 1.8 million and they’re spinning this as a bad thing because it didn’t continue to climb or maintain its peak? That’s completely absurd.

There are going to be peaks and valleys. And you can’t expect any social network to maintain its peak number of active user when there’s a massive surge like this. Anyone could have told you that it wouldn’t last. But the important point isn’t that it didn’t maintain its peak. The important point is that the number of Mastodon users has grown 260% in three months.

That’s a tremendous accomplishment. And not just for Mastodon, but for ActivityPub, open source, and the health of the open web. That should be the lede.

Matt Hauger shared a couple of graphs charting Mastodon’s active user numbers. And it illustrates how the state of things looks drastically different depending on where the timeframe begins. And while I agree with him that I’d prefer to see the trend line curving upward, I think it’s dishonest to frame the situation with such a pessimistic bend like Josh Nicholas has.

When I first joined Twitter in 2007, there were less than 700,000 accounts on the platform. I have no idea how many of those were active — I could only find numbers that went back to 2010 — but given how early it was and the total user count, I would guess that the monthly active user number wasn’t too far off from the 500,000 that we had on Mastodon in October.

Compared to Twitter, Mastodon has a much higher barrier to entry. The competition is far more established than it was when Twitter launched and they don’t have the benefit of millions of dollars of venture capital to spur growth.

But here’s the thing, although I would love to see Mastodon and other ActivityPub-based services grow, I understand that what is already there is great. I had fun on Twitter in 2007 and I’m having a ton of fun on Mastodon now.

Mastodon doesn’t need to maintain the explosive growth it’s had in the wake of Elon acquiring Twitter. And for the long-term health of the network, it would be better for Mastodon to grow slowly, allowing developers to tackle the inevitable scaling issues with a steadier hand.

And it should go without saying, but it needs to be said — Twitter doesn’t have to fail in order for Mastodon to succeed.