Unauthoritative Pronouncements

Subscribe About

The Pre-Taped iOS Call-In Show

Good evening, and welcome to the pre-taped iOS call-in show where we tape all our shows about iOS releases, one release in advance. I’m your host, Ken Doral, and let’s try it again.

It’s really not that hard, okay? Our topic once again is iOS 18.2. We’re taping it now, and it airs when the iOS 18.3 beta comes out. Okay, so if you’re watching me talk about iOS 18.1, don’t call to talk about it. It’s too late. Instead, call about iOS 18.3, which is next episode’s topic. Okay. If you wanted to talk about iOS 18.1, you should have called when our iOS 17.6 show was airing, but we were taping the iOS 18.0 show. Okay, so here we go.

Hello.

Hi Ken, great show. I just tried to use Clean Up and it needed WiFi to install—

Okay, okay, there you go. That’s boo-boo number one. If you wanted to talk about iOS 18.1, you should have called last week during the iOS 18.0 show. We’re talking about iOS 18.2 now. If you see me talking about the genmoji and Image Playgrounds waitlist then it’s too late to talk about those. We’ve moved on.

It’s really not that hard.

Alright, okay, here we go.

Yes, I’d like to talk about the changes to Mail.

Yes, okay! good.

Well, it’s got these new notification summaries that combine what all the emails are about—

Well, sir, sir. Can I just say that difficulty with categorizing mail is a common problem with 18.2 of today.

I really think that the poor quality of the summaries is the problem. They’re really unhelpful—

Obviously, the Mail categories are the problem because that’s what this week’s iOS 18.2 show is about!

I’m watching this show now and—

Idiot! It’s simple! This is what’s airing right now! The iOS 18.1 show! Everything that I’m saying happened last episode! This is 18.2!

2024-10-31 14:15:00

Category: text


Health App Medications

There are many features of Apple’s Health app that I don’t have a reason to use, or to use frequently. One of the ones I had never tried before was Medications. However, I’ve basically been sick for nearly all the month of October, and have had a few different medications I needed to take on a consistent schedule for the first time over the course of this month.

Don’t worry, everything seems to be under control now, it was never anything serious as much as it was a lingering nuisance. It seemed I had something viral (likely flu), which turned into chest congestion, and doctor’s don’t rush to prescribe antibiotics any more like they did in the old days (for all the obvious reasons). That meant a week where I was taking a medication that needed to be inhaled four times a day, and a pill that needed to be taken three times a day.

Splitting up my day in a way where that made sense was much easier to do with Medications. However, what I really appreciated was that I was able to just take a photo of the prescription paperwork and the app picked up everything relevant, and promised to warn me of drug interactions (there were none for those two). It doesn’t store the image of the paperwork, or provide an OCR version of it in the app, it’s just automatically picking out the few words it needs.

Also, similar to Shortcuts, you can pick what the medication looks like (inhaler, circular tablet, elliptical pill, etc.) and also pick a color background (the symbol representing your medication is inside a circle with color). This can help distinguish the medication more easily than reading the name, which I’m grateful for.

I was a little surprised that it doesn’t grab information like the total number of pills, and the number of pills per day, and set an end date on the prescription, or ask me to set an end date. These aren’t long term medications with refills, but even if they were shouldn’t it note when I would run out? I don’t know. Seems a little weird.

My illness kind of improved, but then took a step backward so the next week I went to the doctor again. This time it was an antibiotic prescription, and another drug. Each only needed to be taken once a day, so I didn’t really need my day rigidly divided up like the previous week, but I still appreciate having a reminder to take the stuff so I’m not distracted.

I scanned the paperwork again, and this time it did note a drug interaction, but it was just a warning that the doctor had already told me about and assured me would be fine. It doesn’t list interactions for things that are not in the medication app, like vitamin supplements, antacids, NSAID painkillers, etc. All of which had very clear, urgent warnings in the prescription paperwork, but because they aren’t the two medications in the app there’s no warning.

There are warnings for lactation and pregnancy, which is important for people that are lactating or pregnant, but I don’t quite know what the usefulness of the warnings are for me. I would like to be able to personalize that, but it’s very important to have those available.

It did surprise me that the Medications app doesn’t provide anything for possible side effects that don’t have to do with lactation or pregnancy. Apparently the antibiotic that I was prescribed had six pages of paper concerning possible side effects and warnings. I could really see why taking this particular antibiotic wasn’t step one. Medications didn’t mention any of those (dire) warnings, or list them anywhere. Despite being able to OCR the prescription info, there’s nothing to OCR the side effects info and log that.

I get why Apple might not want to be legally responsible for referring me to side effects from their own database based on my prescription, and in the cases where they noted an interaction between the two medications, or the lactation and pregnancy warnings it couches the warning with “refer to your care team”. Having said that, if the pharmacy is providing the side effects at least let me OCR those pages for my own reference with some disclaimer that these side effects are from my pharmacy, not from Apple.

Also, with the non-antibiotic medication, I needed to take it once a day but the number of pills started high and tapered off twice over the following days. The app lets you put in a dosage to schedule, but I couldn’t find any way to vary it over time. Instead, in the notes field for the drug, I typed in the dosage information, and when the dosage needed to step down I manually edited the prescription info to lower the number of pills.

That’s not ideal because it’s very easy to forget what day of that medication you’re on. Also, if I refer to the log of medications I’ve taken it shows the reduced dosage on the previous days instead of what the dosage was when I took the drug. I don’t know why it retroactively changes that. When I finish this prescription the log will show I only took one pill a day, which is wrong if I have to refer to this log.

This was also a drug that should be taken with food, but there’s not a “hey, eat something” notification you can configure to come up before it’s time to take the drug. The antibiotic should really not be taken at a time anywhere near when you’re going to eat certain things, or even have most vitamin supplements, so I also have to mentally track when I do those things too. I don’t love that since it’s not represented on my Calendar with a before and after medication buffer. I can see the logged time I took the medication, if I forget, and do the math. The point of this app is to not to rely on me to remember this though, right?

Another quirk is that the notification to take your medications comes through on the Watch without mention of which medication you need to take, only “Time to log your 1:00 PM medications” and a button to log the them as taken. It’s also always plural, even if you’re only taking one medication at 1:00 PM, which is confusing. Drop the “s” it’s cleaner.

The iPhone notification displays the medication, and the little shape/color circle you selected. When I was doing the three/four week I would generally refer to my iPhone to make sure I was taking the right one, but during the once-a-day week I remember which time is which medication, but I shouldn’t have to.

Perhaps there are people that are more skilled with using the Health app’s Medications feature, and they have tips and tricks, but I haven’t come across people writing about what those are. I do appreciate having Medications, and it has helped reduce some stress and uncertainty (especially in the three/four week) so I would absolutely use it again in the future. I hope it continues to improve for things like scheduling doses that vary, and helping to store all the prescription information in one place.

2024-10-28 09:00:00

Category: text


I Don’t Ever Want the Smart Stack Watch Face

For a long time there was the Siri face, and now there’s this Smart Stack face which is basically the same thing. However, now it claims my Watch in ways that are frankly irritating. When I look at my Watch I want to see my Watch face. I use Modular, and it’s laid out with complications in specific places so I can glance at my Watch and see what I want without having to interact with it. Things like the weather. The Smart Stack can’t show me the Weather and my Lyft ride at the same time, that’s just too much information density for the poor little guy.

The Smart Stack asserts itself on two occasions: Media playback, of any sort, where it takes over the screen to show you the card-stack thing of the media playback controls with the date and time. The other occasion is during live activities, like when I took a Lyft ride today and it decided all I wanted to know was the ETA from Lyft, the date and time.

When I complained about the media thing before I was directed by some people in the Relay or Six Colors Discord to the Watch app on the iPhone to Smart Stack -> Media Apps -> and then change it from “Smart Stack” to “App” if you wanted the old Now Playing behavior, or just turn it off completely.

The Apple Watch, for some reason, has never included a Now Playing complication. I don’t know why. You can add a complication for Music, or a complication for Overcast, but you can’t have a complication for Now Playing that covers all media playback.

You have to tap that tiny, impossible-to-hit dot of an icon for what’s currently playing at the top of your screen if you want to get to the playback controls. A mind-boggling decision, surely, but you get to have your Watch face be your Watch face and not a Smart Stack.

I know people like the Smart Stack, it’s just not what I want at all and there aren’t any helpful accommodations made for people that want to always keep their Watch face at the forefront. I would give up one of my Modular complication spots for a Live Activities spot if that’s something they wanted to offer, but it seems like that’s not in the cards.

Of course, that goes back to the whole mess of the Apple Watch’s poor Watch face selection. New Watch faces come out, and old ones wither. Pride Watch faces come out every year, and every year someone at Apple decides to be homophobic and not let gay people have complications (or more than one) on the Pride faces. Give us Pride Modular (I know you can pick the rainbow gradient in Modular but that’s not a Pride rainbow, that’s a ClarisWorks 2.0 radial gradient.)

The way Apple decided to get around their graveyard of old Watch faces it to simply override the current Watch face with the Smart Stack. Problem solved! Whatever it was you liked or found useful about your Watch face gets completely overridden by something that can only display the date, the time, and one card that it thinks is most important. You have to scroll through the Smart Stack to see if what you want is in there, or dismiss it each time. This completely ruins the glanceability of the device turning it into a thing you have to fiddle with like you’re tuning a tiny violin.

This is totally different from how I feel about my iPhone 16 Pro with the Dynamic Island showing Live Activities —because everything else on the screen is what it should be so it’s win-win. I know the Watch is too small for a “Dynamic Island” but those clever boffins at Apple have to have another idea to retain the current Watch face while supplementing it with Live Activities in some fashion (like my suggestion of making it a type of complication).

For now, I’ve actually turned Live Activities off on my Watch, which seems like cutting off my nose to spite my Watch face.

2024-10-24 16:00:00

Category: text


Choose Your Coding Font ►

Last night there was some back and forth about fonts for writing, and fonts for terminals, and then the color of the background and the text, etc. It was a lot. I didn’t need to inject myself into that conversation so I did some selective favoriting. This morning Jason Snell wrote a little more about it and shared a site (via Leo Laporte) where you do a little tournament bracket between a set of monospace fonts. None of the monospace fonts in the bracket are what I use, but I came out of it with Source Code Pro, for whatever that says about my taste.

The truth is that I use several different monospace fonts, and display styles, that are app specific. I’m not someone that sets the same thing everywhere. That can seem strange but I find that some fonts seem to look better in certain apps, or that some fonts work better for me when I’m doing a particular task and it sets a context for my brain.

iA Writer: iA Writer Mono Drafts: Monaspace Argon Var BBEdit: Monaspace Argon Terminal: Monaco

As for theming, everything is white on black, except BBEdit and Terminal. BBEdit is just the standard Light Theme with its white, blues, and purples. My Terminal is “Homebrew” which is green text on a very slightly transparent black background. I’m also a cyberspace cowboy.

I don’t mess with fonts on iOS, so that version of Drafts just coasts on system defaults and it’s fine for a smaller screen.

I used to use Sublime Text, with Solarized Light and Dark themes, and when I worked on a Windows machine at work I had Solarized Dark in Notepad++, but unless Solarized is built in I don’t fiddle around with settings at that level because it takes too much time and I never get it quite right.

There are no wrong answers, of course, since it’s just whatever gets stuff out of your brain and makes you productive. So don’t waste too much time tweaking everything. Get it to where you can work on whatever it is you’re doing, and you can tell when you’ve reached that point because you stop opening the app’s settings. You can always change it later, it’s not like you’re declaring yourself to be a sports team fan and making it your identity when you pick this crap.

2024-10-24 10:45:00

Category: text


Apple Should Sell Tickets to Vision Pro Events

Something I’ve been thinking about since Apple released Submerged for the Apple Vision Pro the other week is that almost no one is going to get to experience Submerged. I would like to see it, certainly, but I’m not buying a $3500 headset to see a single short film. Certainly, the pace at which Apple releases Vision Pro specific experiences doesn’t warrant such a thing.

Apple should sell tickets to go sit and experience these special Vision Pro events. At first, I was thinking of it more like movie theater tickets available throughout the day. You buy a ticket to sit in an Apple Store with one of the demo headsets that sees very little use, and watch the movie. However, the Vision Pro doesn’t block out the bustling store. It’s not supposed to. So we’re probably looking at an event on certain evenings where they can have a more controlled atmosphere in the store. You pay your $20 to sit with a dozen other people in the dark and experience a flooding submarine.

You experience Marvel’s What If. You experience whatever very, very, very old sports event they just released.

You’re not renting a unit, or dealing with any kind of ownership. It’s like a pair of 3D glasses at a theater, or boarding the Star Tours ride.

If people start to feel like there’s enough reason to own one, then obviously they can buy one, but otherwise Apple can try to make some money off of short experiences that are completely inaccessible in any other scenario.

I was not wowed by my demo of the Vision Pro, and I see absolutely no reason to book another demo —none!— but I would pay to see Submerged at 9 PM on a Thursday or something. Then pay to see whatever blip of media appears on the Vision Pro radar three months after that.

This just seems a lot more viable to me than trying to sell a $3500 headset that really doesn’t suit most people. It’s even the kind of thing they could test once, at select stores, and decide if it’s worthwhile to Apple. It may not sell hardware, but it might get people more than zero percent interested in the possibility of what a platform like Vision Pro can do.

2024-10-21 18:00:00

Category: text


Hulu and Disney+ No Longer Support Signups and Payment Using App Store ►

First reported by Juli Clover at MacRumors based on Reddit posts, and confirmed by Jay Peters at The Verge, Disney+ and Hulu have gone the way of Netflix and you won’t be able to subscribe to the services through Apple any longer. This is way bigger news than when people freaked out about Apple TV+ being a Channel on Amazon Prime Video. Apple is giving Amazon some kind of cut of their subscription revenue of Apple TV+ subscribers, but whatever that is, it’s a percentage of $10. Amazon offers a lot in exchange for that in terms of marketing and featured placement of Apple TV+ shows, and the service itself, inside of Amazon’s interface.

Contrast that with what Apple provides to Disney and it’s a lot less bang for the buck. Apple largely promotes its own Apple TV+ service in Apple’s interfaces meaning Apple provides almost no marketing advantage. (Let’s not forget that Disney is a marketing juggernaut, so tossing them a tile buried 10 rows down in the interface is meaningless.)

More importantly, Disney is increasingly concerned with flexible tiers and bundles so that they can charge more. Especially when Disney launches their ESPN service later, which is almost guaranteed to be incredibly expensive. Disney will try to offset that with bundles. I’m sure Disney might even want to toy around with locking people into yearly subscriptions paid on a monthly basis, à la cable TV.

Despite Apple being Disney’s BFF, Disney needs to have infrastructure to handle all these bundles and tiers, which will be very expensive, so why involve Apple acting as a glorified payment processor?

People are very willing to give their money to Disney, with or without Apple as a middle-man. Just like they are with Netflix.

It seems to me that this high profile departure is just the start of streaming services reconsidering how essential Apple’s subscription infrastructure is to them. What exactly do they get from Apple, and how do they limit themselves?

Certainly, as customers, it’s nice to subscribe through Apple’s in-app-purchase system and manage the subscriptions where you can just cancel without being shoved into a customer retention pipeline. However, it’s not so nice that people are going to eschew services that don’t use that system. We already don’t skip those services.

Apple is too comfortable with just sitting around while money comes in, and they really need to figure out how they can be a valuable partner instead of an overpriced payment processor.

2024-10-21 17:30:00

Category: text


iPhone 13 Pro to iPhone 16 Pro

Look, the titles can’t all be fun ones, sometimes I need to just cut to the chase. For a more complete overview of the iPhone 16, check out Jason Snell at Six Colors, or Nilay Patel and Vjern Pavic talking about the camera-related changes for The Verge. That level of detail is beyond the scope of this essay from some guy with a blog.

For a variety of reasons I don’t upgrade my iPhone very often, including the reason that no one would ever send me hardware to review, and I don’t make income from reviewing hardware so I wouldn’t buy one myself “for my work”.

Usually the release date coincides with poor timing to schedule a delivery, or there’s a global pandemic and there’s no reason to go outside, or it’s just not a financially sound thing for me to do that year.

That’s fine to skip three years! I no longer have FOMO because the iPhone really doesn’t change drastically year over year, and the performance of iPhones really doesn’t degrade as rapidly as they used to.

My iPhone 13 Pro and my new iPhone 16 Pro were together on my desk, trying their best to set my wooden desk on fire, but never quite getting hot enough for ignition. One phone was easily mistakable for the other. I don’t think there’s anything wrong with that. I’m not looking for a boomerang shaped iPhone, or any exotic changes. It’s perfect that it fits in my life exactly where the last one did. It’s an appliance.

It also makes the differences feel like more of a full upgrade. Every year has a banner feature of some sort, and taken on their own they’re good, but not mind-blowing.

I’ve got a Dynamic Island now! I have an always on Pro Motion screen! There’s an action button that I guess I’ll maybe use for something some day if I ever think of anything? I get that not-that-good-in-low-light 5x pentaprism “telephoto” and the 48 MP sensors! I get another 48 MP sensor! I have ProRAW and Log video along with all kinds of treats and goodies!

That really makes me feel significantly better about forking over the money for the phone. I know I certainly seem jaded, but I can, and do, appreciate the cumulative upgrades over my old phone. I could have probably done another year on the 13 Pro without any real hardship, but it’s the right balance to make me a happy customer.

Transfer

They have really nailed iPhone setup now. This used to be a big pain when I was on the iPhone Upgrade Program. It’s not seamless yet, but nearly everything important was ready to go. The only thing that should copy over, but didn’t, was offline map data in Apple Maps. That is a pain because you have to redraw your little bounding boxes around the regions to capture, not just redownload your old ones. I opened a feedback for that one, if someone at Apple happens to ever get bored enough to read this: FB15226274.

Camera

Most of the reason people buy new phones is to get better cameras. Apple really delivers on that. I don’t think that they are all great choices, but they have to satisfy millions of people. What many of them want is for their backlit portrait at sunset to be exposed for the face and the sun, so the default sensibly does its best to provide that experience. What’s new is that there are more ways to turn that stuff off, or to adjust it after the fact. Who would have thought it possible? Though sometimes it does feel a little like, “You don’t like it? Fine, do it yourself!” Instead of refining modes for different users or situations.

That really makes me wish there was a little help “?” icon people could tap on to get information about many of the terms Apple uses in the Camera app interface, and the Photos editing interface. No, I absolutely don’t mean some Clippy-esque TipKit walkthrough of every feature in a long spiel, I mean “just tell me what this word means and what it means to increase or decrease it.”

They pick jargon that is often specific to Apple, and adjusting it might be different from adjusting it on their last phone (like the new Photographic Styles). Do people truly understand Palette? Do they know that Undertones use image segmentation? How many people could tell you, in 2024, what the Brilliance adjustment does?

Photographic Styles

This is a pretty controversial upgrade over the old interface for Styles. These Styles aren’t like those Styles, though, so I guess they let someone throw in some wacky ideas to make it “fun”. I hate the interface. HATE.

You get a D-Pad grid with a gradient background that you adjust with your thumb near-ish the shutter button. Under it is a slider. These are driving three variables that are expressed as numbers at the top nowhere near the controls. The numbers can’t be directly edited. Oh, but the control to reset the style is up there, not down where your thumb is. Makes perfect sense.

In the old interface you had two notchy sliders. They were sort of equally unhelpful about what they did but they intuitively felt more like the other photo editing controls instead of a guy who hasn’t worked with photo editing before but has some fresh ideas. What really frustrates me is that when you lift up your thumb you can change what you were happy with when you decided to lift up your thumb, and there’s no easy way to nudge it back without trying to do it over again.

Having said that, it only bothers me when I want to change these values before taking a photo, but like the previous Photographic Styles, you can leave it on a single setting for a very long time. Even though tweaking it after shooting is just as fiddly in that interface, it feels far less time sensitive.

However, two things that are still baked into these HEIF files are denoise and sharpening, with no option to reduce or disable them in the Photographic Styles pipeline. Like many people I find that the sharpening on the iPhone can go a little overboard, and in low light these upgraded cameras still produce impressionistic results.

This also doesn’t do things like allow you to set a white balance, or at least pre-populate the Warmth and Tint (those are your white balance sliders, folks). Those are non-destructive post-edits. However, now that pre-edits are now non-destructive and accessible as post-edits, it would be nice to reconsider the overall adjustments as a whole.

You can modify any of the boxed Undertones or Moods, and the settings can be preserved, but you can’t make your own setting, or share one with a friend. Won’t someone think of YouTubers that want to sell photography preset packs and “LUT” packs?

I would encourage Apple to look at what Fujifilm has gotten right with their film simulations, and the ecosystem surrounding it. Or what Panasonic is trying to do with LUTs on the S9, which then match LUTs applied to videos shot on the S9.

People eat this stuff up if you give them good presets and the option to truly do their own thing. iPhone owners can’t even drastically repurpose styles they aren’t using. Like Luminous? Ethereal? Who is using those? You’re not going to have a mood that emulates the textured shadows and warm highlights of certain “classic” film stocks, but you think people want their memories to be a glowing, digital haze?

It’s like there are some of the best and brightest people in the world working on the Camera app, but unfortunately I don’t understand their taste.

Still, the saving grace continues to be that these can be edited after the fact now. The previous iteration of Photographic Styles resulted in people generally leaving it on pretty conservative settings because if you turned “tone” down too much you could bake it with a too-dark shadow for a certain shot that was clipped of information to edit later. That’s no longer the case, and the new way seems to work as promised. No perceptible difference in quality from editing a style after the fact. It’s not a RAW file, but it’s light and it works.

Camera Settings

I know that this isn’t really specific to the iPhone 16 Pro, but it has way more Camera settings than any iPhone that came before it, and they’re all located in terrible places. You should be able to get to the Camera Settings from the Camera app, because there are really big, and very important things in there, that affect the app, including things like your default Photographic Style, file formats, and what settings should or shouldn’t be preserved.

One of the common complaints of camera-cameras is that they can often have complicated menu systems that make it difficult to find what you need quickly. A lot of manufacturers provide things like a quick menu overlay of common settings you need, perhaps even letting people control what’s in those quick menus.

If you think you need to change one of those when you are in the Camera app, you need to go back to your home screen, find Settings, then go down to Camera, then drill into it’s menus to find things. You should be able to change file formats in the app, not just toggle one high resolution format on or off.

However, that’s not where all the Camera Settings are. Oh no, now we have the Camera Control Button the majority of its settings are under Accessibility, unlike the Action Button on the top level, I might add.

This is where you adjust many things about the button that are not about accessibility. Like there’s nothing in here for audio feedback or haptics for people with vision impairment, it’s just things like if the button can show the adjustments menu, and pressure and speed options.

Camera Control or TouchBar 2

I don’t hate this button, but I don’t love this button. It doesn’t feel like a fully formed idea, and we already have been promised features that will ship later for the button, so who knows what might eventually happen with it.

At the moment it has strong TouchBar vibes. I never really loved the TouchBar, and it was a product that was also an incomplete thought. This Camera Control has the same hallmarks.

The Camera Control is overloaded with options in the Adjustments menu with no way to remove ones you don’t use, or wouldn’t use in that interface element, and the variable pressure required to move between all those options means I’m starring at the small overlay to make changes instead of what I’m photographing.

That really takes me out of the moment, and even when everything is working right it’s slows me down. For all the talk of emulating the experience of real camera controls it’s anything but. The best controls on cameras are tactile and have clear overlays in your viewfinder, or LCD, not just on the button or knob.

That’s like the TouchBar where it can be any control! But you have to look away from what you’re doing to use that interface that has no physical resistance.

I wonder if they made the haptics more evocative for each Adjustment mode, or it had the haptic feeling of clicky friction that you get from the Digital Crown on the Watch, if it would give me enough feedback to use it without focusing on looking at it. It could also help to show the setting that was being adjusted as part of the whole camera interface overlaid around the photo you’re taking instead of as a tiny strip under the button.

And just like the TouchBar, I don’t think it’s an abomination, I just don’t think someone thought this through very well.

Most of my “evidence” of someone not thinking this through very well is the fact that half-press to focus wasn’t the first thing they shipped, which I’d have to say is bar none one of the most common physical interactions people have with shutter buttons on cameras. Instead it’s the control-strip-like parade of touch-based sliders that went out the door first. A truly baffling decision.

I’m really not sure what this half-press shutter experience will end up feeling like, because the button doesn’t have a tremendous amount of travel, or anything that feels like the tactile bump of a half-pressed shutter button. Right now the mechanics of it feels pretty binary, while the touch sensitivity seems to be where half-press will have to live. I don’t know how you do a half press without triggering the slider to adjust a setting.

We’ll just have to wait and see if someone really did think this through, or if someone came up with an idea for a new kind of button and they tried to make it fit this role. Maybe all this swiping should have been on the Action Button which still seems to be flailing to be anything other than silence ringer.

In the meantime, I’m probably going to stick to using the shutter button on the screen because I can just barely tap it and take a photo instead of applying enough force to push the button that the camera tilts when taking the photo.

Case

I use the Apple Silicone Case. I’ve used it since the iPhone 6, and I haven’t come across an alternative that I prefer. I know it’s not for everyone, of course, but it’s good to know that I have one less thing to make a decision about. The colors this year aren’t my favorite, but “Denim” is fine. What I’m mostly grateful for is that the quartz pass-through for the Camera Control button works as advertised. I’ve seen people struggle with the third party cases this year, and I don’t envy them. I do think this is pretty silly that every time there’s a new iPhone a bunch of case sellers have to roll the dice on what’s going to fit and function. I certainly wouldn’t buy any of these cases without a quartz pass-through.

Apple Intelligence

Sigh. I really just can’t get excited for Apple Intelligence snf it just makes it all feel like a weird lie that the marketing for the device leans so heavily on this. These are features that people are so far from experiencing that it feels irresponsible to market them.

When I preordered my iPhone it had a big Apple Intelligence logo on it. Like it was shipping with it, and would be a factor in my purchasing decision over another iPhone or something. Even though all 16 models have it.

My iPhone 13 Pro would never be able to run Apple Intelligence, but I wouldn’t really be missing anything this year. Is my purchase on some chart of “customers are converting to devices with Apple Intelligence” and then lines zig zag upwards? It leaves me with a kind of strange sourness whenever I see one of those Apple Intelligence ads begging people to get the new iPhone for these features that will change their lives.

Then I just go back to using this otherwise completely delightful iPhone and don’t dwell on it, because at the end of the day, I’m buying the iPhone for other far more tangible reasons and it does satisfy those.

Nice New Appliance

The iPhone 16 Pro continues to be the best in the world, even if it’s only incremental changes every year. Follow my one neat trick of buying a new one every three years. You don’t need to replace your washer and dryer nearly as often. Even the things that I don’t love are things that can be tamped down or turned off, or, quite frankly, they just become things you don’t think about in three years time.

2024-10-10 12:00:00

Category: text


Apple’s Just Fines

The past two weeks have provided a steady stream of news all related to Apple’s Services revenue. The company announced their earnings, where Services takes up an even bigger slice of the earnings pie chart. The Google anti-trust trial will probably impact the biggest component of Apple’s services revenue because it’s coming from anti-competitive behavior (on Google’s part). Apple revised it’s European Union super-special rules again, with an amazing section on how they’re entitled to a percentage (coincidentally the same percentage they keep insisting on) of income generated by a company through a digital transaction even if it didn’t take place inside an app from the App Store, as long as the customer just happened to have the app downloaded. Then, Patreon announced that it was going to have to change its business based on a 30% fee Apple is suddenly demanding from Patreon. Finally Spotify won the right to release a version of its app in the EU that told customers how much the plans cost outside the App Store.

All of this is connected to the same root issue: Apple believes they they are financially involved in any transaction that’s iPhone adjacent.

It is absolutely laughable to assert such a thing when we live in a world where people routinely buy things on the internet (remember when we called that eCommerce?), and other operating systems that aren’t as tightly controlled — like Apple’s own macOS.

Money For Nothing

Judge Mehta’s decision in the Google antitrust case is pretty straight forward, and logical. He walks through all the facts of the trial, and the conclusions he drew from them. The assistant attorney general for antitrust, Jonathan Kanter, talked about how the DOJ defined the general search market to analyze in the trial, and they succeeded. I’m skeptical they’ll be able to do the same thing with Apple and the iPhone with the legal tools that are there, but I wouldn’t be writing this kind of post if I didn’t think that something needs to curtail Apple’s behavior.

The remedies phase will reveal what this all means in practice, as will the appeals process to our (corrupt-as-fuck) Supreme Court.

Apple receives tens of billions from Google that enables Google to have a pipeline to Apple’s customers. Apple talks about innovative new ways to protect the privacy of its customers, but the shine wears off the first time someone picks up an iPhone to search the web. The Google search results page prompts people to sign in to their Google accounts. Google showing relevant ads to Apple’s customers is in Apple’s own interests. Balancing Apple’s financial interests in services, Safari, privacy, etc. is no easy task. A balancing act that mostly disadvantages companies that don’t happen to pay Apple money, like Microsoft, and Meta.

Pulling out this bit from Judge Mehta’s decision:

a. Current ISA Terms The parties entered into the current ISA in 2016, JX33, and in 2021 extended it for a period of five years until 2026, JX97 at 357. Apple can unilaterally extend the agreement by two years until 2028. JX97 at 357. After that point, the agreement can be further extended until 2031 if the parties mutually agree to do so. See Tr. at 2501:17-25 (Cue). Neither party has the right to unilaterally terminate the ISA prior to its current termination date. JX33 at 800 (“The parties expressly amend the existing ISA Agreement to remove the right of either party to terminate at will[.]”). The ISA also requires both parties to cooperate to defend the agreement, including in response to regulatory actions. Id. at 801. Two provisions of the ISA are at the heart of the parties’ dispute: (1) the default and revenue share provisions and (2) restrictions on Apple’s product development.

That’s 10 years Google and Apple operate under these terms, with 2 more if Apple decides it’s beneficial. This all started in the early 2000s with a In 2022 it was $20 billion, which was “nearly double” 2020. I’d need more data to figure out what kind of trend this could mean by the time we get to 2028, but it’s pretty easy to guess the total value of the search agreement could be around a quarter trillion depending on a variety of factors. It’s a corrupting amount of money.

Lauren Feiner at The Verge, quoting Mehta:

Mehta rejected Google’s arguments that its contracts with phone and browser makers like Apple were not exclusionary and therefore shouldn’t qualify it for liability under the Sherman Act. “The prospect of losing tens of billions in guaranteed revenue from Google — which presently come at little to no cost to Apple — disincentivizes Apple from launching its own search engine when it otherwise has built the capacity to do so,” he wrote.

It doesn’t logically follow that Apple would offer its own search engine to compete with Google, or sign a deal with anyone else. Judge Mehta specifically cites Eddy Cue’s refusal to cut a deal with Bing for the default search engine slot. Even if Apple invested in creating their own general search competitor right now Apple would be subject to the same regulatory concerns as other areas of their business.

One of the remedies might be that Apple can collect some revenue from Google clicks, but that it can no longer pay to be default. A selection screen of search engine choices might not be mandatory, but it’s not impossible to see a future where Apple lists search engines that sign a similar revenue share on ads.

Eddy: “I know! We’ll have a search engine marketplace.”

Phil: “Yeah, yeah, with a core search fee.”

They’re drunk on commissions for not doing anything.

EU Can’t Do That

I know I’m not alone as describing Apple’s behavior in the EU as that of a disobedient child trying to weasel out of doing what it has been asked to do. They keep tweaking terms to roughly arrive at generating the same amount of income they were making by shifting things around. The EU regulators never said Apple can’t make money from its gatekeeper position, so without any kind of financial restriction it’ll just be a never ending cavalcade of formula adjustments.

From Benjamin Mayo at 9to5Mac:

Apple is introducing a two-tiered system of fees for apps that link out to a web page. There’s the Initial Acquisition Fee, and the Store Services Fee.

The Initial Acquisition Fee is a commission on sales of digital goods and services made by a new app user, across any platform that the service offers purchases. This applies for the first 12 months following an initial download of the app with the link out entitlement.

On top of that, the Store Services Fee is a commission on sales of digital goods and services, again applying to purchases made on any platform. The Store Services Fee applies within a fixed 12-month period from the date of any app install, update or reinstall.

Effectively, this means if the user continues to engage with the app, the Store Services Fee continues to apply. In contrast, if the user deleted the app, after the 12 month window expires, Apple would no longer charge commission.

Bananas.

The part I’ll never understand is the assumption that the App Store is the reason a developer, or corporation, was able to acquire a sale. The days of people browsing the App Store are long gone. People hear about, or encounter ads for, apps and services in the real world or online and then have to download the app. The App Store serves as a hosting venue for static code. It’s Tucows. It’s not doing anything.

Developer Jeff Johnson on Mastodon:

Third-party software sells Apple hardware, not just directly to developers but indirectly to consumers who use the software. “Should Apple give away its developer tools for free?” is a dumb, ignorant question. The fundamental developer tool is an Apple Mac, very far from free.

Back when Mac OS X cost $129, Xcode was included among the install discs. Again, not free.

Developer tools are not charity. Apple platforms would never have achieved their current success without 3rd party software.

Continued:

“But how will Apple monetize its IP?!?”

Apple monetized its IP to the tune of $60 billion in hardware sales last quarter. Anyone who fails to acknowledge this is a complete idiot.

This is very true (and Jeff keeps going). It is impossible for Apple to show that it would suffer irreparable harm if it suddenly stopped IAP and subscription fees.

However, conversely, if apps weren’t on iOS, then Apple’s iPhone hardware loses it’s value. The assumption is that developers wouldn’t do that because they would hurt themselves.

The App Store is where people are at and you need to meet your customers there, despite any onerous fees, right?

However, Netflix jettisoned IAP. It wasn’t something they did lightly, and now they don’t have a great relationship with Apple, but now they have a super app that can distribute games, credit cards on file, everything. If developers look around at this mess, and they’re creating a new app, then what math are they going to do on starting with payments outside the app store? Is Apple counting on only big players like Netflix being able to do it?

The Gang Taxes Artists

The real cherry on top for me is the Patreon debacle. Patreon is, in essence, a digital storefront. A person can have a Patreon where they distribute digital goods, or it just functions as kind of a tip jar where there is no (or weak) direct compensation at all.

This means Patreon is a middle man that extracts value, like Apple does, and it’s been involved in its own scandals over payments, promotion, and fees.

For Apple to pop up on the scene and make Patreon look like the generous soul is kind of a feat to behold.

Hey Patreon creators, what if there was another middle man? Also that middle man didn’t do anything but collect 30%, which is even more than Patreon collects? Patreon will provide you with services in exchange for their fee but the App Store will … uh … process payments that could be processed using the web system that Patreon needs to have anyway. So … uh …

Apple provides the platform for Patreon’s subscribers to access shrug whatever it is those Patreon creators do. Images or audio or something? Maybe you write some blogs? It doesn’t matter, the App Store is how those subscriptions were acquired!

Surely no one purposefully set out to subscribe to a Patreon because they liked that creator based on something produced outside of the App Store, or the Patreon app itself. That would be silly. Did they find the creative output of a person on social media? Preposterous. It certainly was because of the Apple Ecosystem. Pony up the cash, Picasso!

This has drawn pretty much universal condemnation, not because the other App Store skimming is less bad, but because there is clearly no business relationship between the value of the platform (individuals creating things) and the App Store.

The closest you could come to it is that Apple offers podcast subscriptions in the Apple Podcasts app, and some people with Patreon have podcasts, but there’s so little overlap there that exists as a threat to Apple (which has a vastly inferior product).

Apple offers no “Creator Store” that competes with Patreon, nor do I think anything like that is on the horizon.

Your Payment Processor Is In Another Castle

Today Spotify’s app was finally released that lets them show the prices of their plans in their app. They can’t link to the plans. From Jess Weatherbed at https://www.theverge.com/2024/8/14/24220105/spotify-iphone-app-pricing-information-eu-update:

One thing that’s missing is the ability to click a link to make those purchases from outside the Apple App Store. Spotify says it’s opting into the “music streaming services entitlement” that Apple introduced after being served a €1.84 billion (about $2 billion) EU antitrust fine in March for “abusing its dominant position” in music streaming, rather than accepting the complicated new developer terms Apple outlined last week. Unlike the entitlement, the latter would allow EU developers to link to external payment options with Apple taking a cut of off-platform sales. Spotify clearly doesn’t want to do that, saying that Apple is demanding “illegal and predatory taxes.”

A lot of the time Apple relies on animosity towards their foes in these situations — that Spotify is not a good company, and that they don’t pay artists well. That’s whataboutism though, and doesn’t cover Apple’s ass. Apple doesn’t donate the money they want to extract from Spotify to poor, starving artists. It is an anticompetitive fee. They’re just interested in money for themselves.

Are We the Baddies?

Yes, Apple, you are absolutely the baddies. You’re making other fee-extracting middlemen look good! You’re doing things that will hurt your relationship with creatives and consumers (who are also creatives) and it’s for relative pennies.

Apple’s growth in Services revenue should be because it offers great services. Jason Snell made a very salient point on Upgrade this week that in the era of illegal mp3 downloads, the iTunes Store was still able to succeed because it was just a better experience that was worth paying for.

The fees Apple collects should not be because it can rig a system in very specific ways to benefit them, but because without any artificial barrier it’s simply the best experience. They absolutely can’t say that right now.

2024-08-14 14:55:00

Category: text


Beats Me

Years ago, I bought my first Beats product, Beats X bluetooth headphones. They’re the kind that are earbuds linked together with a piece of linguine and two pill-shaped plastic bits that sit around your collarbone when you’re wearing them. Those house the battery, lightning charging port, microphone, and play/pause button. They also had magnets in the ends of the earbuds so they’d snap together when you took them off making a closed loop instead of just a floppy noodle.

There’s a lot of disagreement about that style of headphone being bad, or compromised, but I’ve never really agreed with that. I’ve felt like they’re the most convenient form factor in many situations because there’s no case to deal with, and you’re not left holding something in your hands if you need to take one or both earbuds out. To each their own.

The battery eventually swelled and crapped out, but I really liked the form factor. Prior to owning them, my headphone cord was always getting caught on things, like the arms on my office chair, or cabinet knobs when I was in the kitchen. This felt freeing, but at the same time I didn’t have to worry about where to put the earbuds if I needed to take them out for a second, they’d just dangle and snap together.

The next model I got was the Beats Flex, which was the evolution of Beats X, but with USB-C for charging instead of lightning, better battery performance, and other little tweaks. It’s still on the market, and it’s price keeps dropping every year. There’s absolutely nothing wrong with my pair except the comically small USB-C cable they pack in the box. Including chargers is wasteful, but including an 8.5” charging cable is also wasteful.

The cable was more of an issue when the product launched, since I couldn’t share my lightning charging cable with it, and needed a separate USB-C cable, but it’s easy enough to solve, and the Beats Flex requires charging less often than the Beats X.

I really wish they refreshed this style of headphones with active noise cancellation, but I get the sense that it’s more important to Beats (and Apple) to have a low-price, entry-level bluetooth headphone. They retail for $79.99 but are almost always on sale for less than $50.

I’ve been interested in AirPods Pro since they were announced, but always shied away from pulling the trigger because they’re quite expensive, and they wouldn’t really replace my Beats Flex for certain tasks where I don’t want to fumble around with a case so I couldn’t really say it was “worth it” as it would do everything. The design didn’t really appeal to me either, with the white stems poking down like upside down Shrek ears.

Then, last year, I saw the Beats Studio Buds+ with its transparent 90s iMac plastic case and I was smitten. One of my old bosses, VFX Supervisor Dan Kramer made an app called DropScout for iOS that does Amazon price tracking. He invited me to the TestFlight and I loaded it up with some stuff to monitor, including those transparent Beats Studio Buds+. They retail for $169.99 through Apple or Beats, but they’d been on sale every now and then through other retailers —like almost every other Apple product.

Once DropScout notified me that the buds hit $129.99 the other week I took out a gift card, and decided to treat myself for this craptacular year.

Transparency in Audio and Plastic

Beats Studio Buds+ charging case with transparent plastic on top of a white surface.

I really like the design of the charging case. The rounded corners make it slipperier than a bar of soap, but I have yet to drop it (knock on wood). The one bummer is that you can see the transparent blobs of glue through the plastic case. We all know from the teardowns of all of these kinds of devices that things are full of glue, but you don’t ordinarily get to look at how unevenly it has been applied. Unfortunately, the most blobs you’ll see the most are the ones on the latch right above the product logo.

A close up photo of the glue visible through the top transparent case of the Beats Studio Buds+

Sure, I would love it if it was all perfectly fit together with expertly crafted joinery, but realistically, I’m satisfied that it doesn’t creak or wobble. I don’t stare a the case, but I do know it’s there, so in a sense it will always be a little thing I don’t like about it. I would still rather have the transparent case and buds than solid colors that wouldn’t show the glue.

The other design issue is that the buds are difficult to hold. There are very strong magnets that hold the buds in the case, so you need a firm grip to pull them. However, when you pinch them between your thumb and forefinger they do slide against the teardrop shape of the device. There’s a flat plateau on the teardrop, where the controls are, but it pretty smoothly transitions from that teardrop to the flat side and doesn’t provide much purchase for your fingers.

When you’re just getting used to them you’re left wondering if you put them in the correct ear. With AirPods there’s a very clear direction for them because the stem of them needs to point toward your jaw. With these buds the best way to determine orientation is the lightly engraved “b” logo, which looks like a “6” when you’re holding them because they’re supposed to sit in your ear at an angle, and the logo is applied to look straight when it’s at that angle, not when it’s being viewed “straight” in your fingertips.

There is a very faint “L” and “R” on the part of the teardrop face that rests in your ears, but the lettering is applied to the transparent plastic so it blends in with the look of the other lines in low lighting.

The fit, once they’re properly in your ear, is great, which I suppose is the trade-off for the teardrop shape, and no dangling stem. There’s no sense of discomfort or pressure. The ear tip seal is more important on these to make sure they don’t fall out, and provide the appropriate ANC effect. For some reason I needed the medium tip in one ear, and the small tip in the other ear, so now I’m body conscious about my asymmetrical ear canals.

The control scheme is decent, and I have no real complaints about that at all. That flat surface of the bud is a big button, and each bud has one. You don’t do a light, capacitive touch, you do give it a firm press. One push for play/pause, and a longpress for switching between active noise cancellation and transparency mode. The button can be customized to cycle through ANC, transparency, and off, but it doesn’t ship with that as the default and I see no particular reason to change it. You can’t customize each ear independently so the same choice will for both. You can change the behavior on one, or both, to trigger Siri, but I’m not going to ever do that.

There are no volume controls on the buds, or the case, and all volume adjustment needs to happen via the connected device. That’s fine for every context in which I would use these, but it’s certainly not what people might expect, or want to deal with.

Speaking of expectations, there’s no in-ear detection either, so if you take them out they’ll keep playing until they’re dropped into the case. Personal preference will differ on how big of a deal that is, but as someone used to listening with one Beats Flex earbud in it’s not abnormal.

There’s also no head tracking, so there’s no dynamic head tracking spatial audio, just regular spatial audio, but that works fine for me.

The battery life of these things is great. 36 hours of case charge, and up to nine hours of charge for each bud. That’s better than the stated life of the AirPods Pro that retail for more. You do loose out on wireless charging though.

I haven’t found myself struggling with charging, though I do wish there was a way to know what the charge status of the case is. The reported status to the iPhone is just the buds.

When I first set these up I had some flaky connectivity problems and strange behavior, but I’m guessing it received a firmware update or something once it connected and charged because it’s been on its best behavior since then. There’s no real version history or anything in the Settings app, so I couldn’t say for certain.

It connects to my MacBook Pro faster than my Beats Flex, and it handles going back and forth between my devices better than the Beats Flex. There was one time where I tried to connect it to the Apple TV and it decided it didn’t want to do it, but after messing with a couple things it suddenly worked fine. There’s no perceptible lag or latency with anything I’ve tried to play back.

The thing I do really care about is that ANC. My last experience with noise cancellation was with a very old pair of Sony wired earbuds where you had to put a AAA battery in a big plastic box on the cable, and it provided a constant white noise hum under everything. This is, as you might expect, way better.

The ANC has helped when running fans, air filters (which are also fans), air conditioners, the noise of a refrigerator compressor — everything. It’s been great to focus. Sometimes I find that I’ve paused the audio and I’m just using them as earplugs. I like being able to hear the environment around me when I have Beats Flex on, because it’s important to keep me from getting hit by a car, but I don’t need to hear fans —unless those fans are you, dear readers.

As far as the sound goes: I’m not an audiophile, but I’m quite pleased with the sound from these buds for both podcasts and music. Beats has a reputation for being bass heavy, but I haven’t found that to be the case in my own subjective experience. The audio has greater clarity in the Beats Studio Buds+ over the Beats Flex, of course, but I don’t comparison shop things that people put inside of ear canals.

I did consult some YouTuber reviews where they do compare this stuff, but there were a few comparison videos I watched where some people preferred the Buds+ to the AirPods Pro, and some where they did not. Like this one. For the money, I can’t complain.

Absolutely Recced

I do recommend these, if only because they look pretty, have excellent noise canceling, and sound good. Do I care if you buy them? No, I absolutely do not, and I earn no commission if you do. This isn’t a blog where I post about daily deals, or write up when a product reaches the lowest price ever for a second time.

If you are interested in deals, it’s more satisfying to use something like DropScout, Camelcamelcamel, or other price trackers to keep an eye on things you’re pretty sure you’d like to buy. Especially when there isn’t a tremendous amount of innovation in the wireless earbud space in the last couple years.

Now if you’ll excuse me, I’ll put these buds in and go back to having a brat summer.

2024-08-02 16:25:00

Category: text


Six Colors on Dual eSIMs

Dan Moren, and Jason Snell both traveled to the UK for the Relay anniversary event, and each of them spent some time beforehand in Scotland. I like to compare notes about travel stuff, because some of it is insightful for the next time I plan on going anywhere. A lot of the stuff I do is just the momentum of past decisions that I ultimately won’t research from scratch right before every trip, but I do absorb these sorts of blog posts throughout the year. Here are my own posts about travel tech in late 2023, advocating for a “travel mode”, and another post from this spring.

Both Dan and Jason were tripped up by iMessage abroad when they switched to their eSIMs. Long ago, my boyfriend and I decided that we’re more comfortable trading money for convenience so we do pay the daily flat rate that our carriers offer so we’ve never tried to do this.

The iMessage issues haven’t ruined Dan and Jason’s lives, and they’ll spring right back to normal now that they’re home, soothed by the cash they saved.

Dan already got some follow-up from readers:

A LOT of people have told me that the key to fixing my international iMessage issues is to just disable data roaming for my US plan and switch the Cellular Data to my travel eSIM. I literally had two different people with the same first name and last initial email me back to back. Weird. But something to give a try on my next trip, I guess.

Hilariously, there are replies to that on Mastodon that say it works, and replies that say it doesn’t.

Even checking the official Apple documentation leaves me scratching my head. It explains the mechanics of each operation you can do with an eSIM, but it’s not a “How to Travel Abroad and Tell Verizon and AT&T to Kick Rocks” document.

Like if you just want to know how you’ll get your phone calls from your US number —like in the event of an emergency or simply to when a restaurant wants to confirm a reservation— you can parse the answer from this mess:

You can make and receive phone calls with either phone number.

When you’re on a call, if the carrier for your other phone number supports Wi-Fi calling, you can answer incoming calls on your other number. When you’re on a call using a line that isn’t your designated line for cellular data, you need to turn on Allow Cellular Data Switching to receive calls from your other line. If you ignore the call and you have voicemail set up with your carrier, you’ll get a missed-call notification and the call will go to voicemail. Check with your carrier for Wi-Fi calling availability and find out whether additional fees or data usage applies from your data provider.

If you’re on a call and your other line shows No Service, either your carrier doesn’t support Wi-Fi calling or you don’t have Wi-Fi calling turned on.3 It could also mean Allow Cellular Data Switching is not turned on. When you’re on a call, an incoming call on your other phone number will go to voicemail if you set up voicemail with your carrier.4 However, you won’t get a missed-call notification from your secondary number. Call Waiting works for incoming calls on the same phone number. To avoid missing an important call, you can turn on call forwarding and forward all calls from one number to the other. Check with your carrier for availability and to find out whether additional fees apply.

(Squints.)

Anyway, the iMessage section doesn’t fill me with confidence either mostly because it relies on manual operations to move conversations back and forth between eSIM numbers, and it doesn’t answer what happens with SMS messages. The section on calls at least mentions Wi-Fi Calling, but Wi-Fi Calling is also the setting for SMS over Wi-Fi.

For example, I live in an area with poor coverage from my cellular carrier, and Wi-Fi Calling is essential. It’s also how I can send SMS messages to people that don’t have iPhones. However, if I try to send photos (MMS) it frequently craps out, but if I turn on Airplane Mode, which disables the cellular modem entirely, then the media can go through in an instant over Wi-Fi. So … what the hell happens with dual sims and SMS to my US number when I have Wi-Fi Calling turned on for a data plan abroad? Will I get the messages at all? Will I be charged that day rate fee?

This is so weirdly complicated and fussy! The documentation is murky, and the personal anecdotes can be contradictory, or might only work for certain people, with certain carriers, on certain plans.

My carrier increased the flat rate since my last trip, so I’m always on the lookout for news that dual eSIMs are now completely seamless. If Dan and Jason can’t figure it out then what hope do I have? How many technology bloggers does it take to screw in an eSIM? For now, I’ll stick with with the regrettably expensive flat rate.

2024-07-31 16:45:00

Category: text