363: The Floor is Lava30 Jan 2020
We fix two big bugs, and use the adrenaline rush to solve iPad multitasking. You’re welcome, Apple.
- Casey's Complaints about his Co-Hosts Corner
- Update on Marco's iMac Pro fan issues
- Pro Display XDR reference modes
- Rack-mount Mac Pro videos from Neil Parfitt
- A pro's thoughts on TrueTone
- Xcode layout advice
- Marco's Overcast Bug-Finding Mission
- Apple's API documentation
- The iPad Awkwardly Turns 10
- Post-show: John's Bug-Finding Mission
- YES PLZ: Upgrade your morning coffee game and you’ll upgrade your whole day. Get 25% off your first shipment with code MARCOSENTME.
- Linode: Instantly deploy and manage an SSD server in the Linode Cloud. Get a $20 credit with code atp2020.
- BlueVine: Get a $100 gift card when you take out a loan or open a line of credit.
- It happened to be white 🖼️
- Grocery-store hot food bars
- Marco’s iMac Pro update
- Pro Display XDR in hot rooms
- Rackmount Mac Pro
- TrueTone for pros
- Sponsor: YES PLZ (code MARCOSENTME)
- Xcode + Auto Layout
- Sponsor: Linode (code atp2020)
- Marco’s bug chase
- State of software quality
- Sponsor: BlueVine
- iPad UI complexity 🖼️
- Ending theme
- John’s bug chase
⏹️ ▶️ John And you’ve had the car for several years now, right? It’s a 2014 car with 30,000 miles. Yeah,
⏹️ ▶️ John my kids complain that it still smells like a new car. They complain that’s the best smell in the world That’s what
⏹️ ▶️ Marco I say. They’re like,
⏹️ ▶️ Marco it. What does it smell? I mean does it actually smell like a new car to smell like shampoo like that scented like a
⏹️ ▶️ Marco, John new car? It’s a new car
⏹️ ▶️ John smell. It’s not the inside has never been shampooed. Hmm. It’s just mild new car smell
⏹️ ▶️ John Because I don’t let the kids destroy it so it doesn’t smell like they’re spilled chocolate
⏹️ ▶️ John milk and other things they’ve wedged into the seat and other gross stuff. It’s a car mostly used by
⏹️ ▶️ John an adult who doesn’t make a mess. You? I’m
⏹️ ▶️ Marco I will say, so we successfully made it through, I think, the majority
⏹️ ▶️ Marco of the snacking in the car age that our child went through
⏹️ ▶️ Marco without ever allowing him to snack in the car. And And so none of our cars ever smelled like Cheerios
⏹️ ▶️ Marco or, you know, things that like little kid slash baby cars usually smell like. Because we just said,
⏹️ ▶️ Marco no, we’re not allowed to eat in the car. And like, we’ll eat when we get there or whatever. And we stuck to that, like
⏹️ ▶️ Marco even on long trips. And it was surprisingly easy. It was just like, no, you can’t eat.
⏹️ ▶️ Marco Okay. And then we ate when we got there. And as a result, my car never smelled
⏹️ ▶️ Casey Yeah, Aaron’s car, it is relatively straightforward to clean out all the detritus that is everywhere.
⏹️ ▶️ Casey but it is chock full of detritus. And periodically I will clean out the inside and get it all out of
⏹️ ▶️ Casey there, but it’s real bad. And she’s better about it than me, because she is fully
⏹️ ▶️ Casey aware that that is the family car and that that’s what happens to the family car and so on and so forth. But I
⏹️ ▶️ Casey look at it and I’m just like,
⏹️ ▶️ Casey what has happened in here?
⏹️ ▶️ Marco Well, let me assure you, it is optional. You can say this is not going to be a snack car
⏹️ ▶️ Marco and it doesn’t have to be a snack car. Well,
⏹️ ▶️ John the food comes back later because my kids now want to grab an
⏹️ ▶️ John on-the-go breakfast on their way to school or something. So they have teenager food of
⏹️ ▶️ John cans of sparkling water and random, I mean, even just fruit stuff or yogurt.
⏹️ ▶️ John Alex is always bringing yogurt into the car on the way to school. He wants to grab a yogurt and eat it on the way. And so he’s got a yogurt-y
⏹️ ▶️ John spoon sitting in like a big, there’s a middle period where there’s not much food in the car,
⏹️ ▶️ John and then later they get old enough to just be like, I’m just bringing food in the car. I need a snack on the
⏹️ ▶️ John way to school because I didn’t have time to eat breakfast.
⏹️ ▶️ Marco And you’re not getting in the car or you’re not getting breakfast because that’s, like yogurt is
⏹️ ▶️ Marco such a joke. Yogurt is just melted ice cream. It’s
⏹️ ▶️ John not melted ice cream. Yeah, it’s
⏹️ ▶️ John, Marco dairy and sugar.
⏹️ ▶️ John Marco also doesn’t know where food comes from.
⏹️ ▶️ Marco No, no, yogurt is basically, it’s like, you know, dairy plus sugar. It’s easily spoiled,
⏹️ ▶️ Marco it’s full of sugar so it will be sticky and be covered in bees pretty soon. That’s what happens.
⏹️ ▶️ Marco Yogurt is, it’s fine when you’re eating it but it’s not something you want ever going near your car.
⏹️ ▶️ Marco No, just let him bring in an ice cream cone. It’s the same thing. If you
⏹️ ▶️ Marco would allow yogurt, bring in an ice cream cone.
⏹️ ▶️ John Most yogurt has slightly less sugar than ice cream.
⏹️ ▶️ Marco You’d be surprised how little less. It’s really quite similar.
⏹️ ▶️ Marco That’s why the kids like it so much, because it’s ice cream basically.
It happened to be white
⏹️ ▶️ Casey I’d like to start the show if I may with Casey’s complaints about his co-host corner.
⏹️ ▶️ Casey Yes. First of all, I would like to begrudgingly congratulate you. Game respect game.
⏹️ ▶️ Casey I was talking to somebody, shoot, I can’t remember who it was now, but I wanted to
⏹️ ▶️ Casey refer back to the BMW that I had built for the post-show neutral last week.
⏹️ ▶️ Marco And BMW has this wonderful feature where whatever build that you configure on their configurator
⏹️ ▶️ Marco gets a unique URL. So that you can then copy and paste that URL, send it around,
⏹️ ▶️ Marco save it, refer back to it later, and it just has this preset configuration of whatever you set it to.
⏹️ ▶️ Casey Exactly right. And so I knew that I had put my configuration, quote-unquote, my configuration in the show notes,
⏹️ ▶️ Casey and I wanted to refer back to it. And so I clicked on it. I went to ATP.fm
⏹️ ▶️ Casey and I clicked on it, and I saw a white BMW.
⏹️ ▶️ Casey And I thought, I must have clicked on the wrong thing. And I clicked it again and I saw the same white BMW.
⏹️ ▶️ Casey But it looked at this. Oh, oh,
⏹️ ▶️ Casey well, okay, fine. Well done, you insufferable
⏹️ ▶️ Casey pain in my hindquarters. Well done, indeed. It took me a minute to realize the joke.
⏹️ ▶️ Casey And then I realized the joke and I realized that Marco had swapped my Tanzanite Blue 7 Series
⏹️ ▶️ Casey for a white one. I was quite annoyed. I was actually more annoyed at the
⏹️ ▶️ Casey quality of the joke than
⏹️ ▶️ Casey, John I was the fact that you had
⏹️ ▶️ Casey replaced my blue car with a white one. In fact, I respected the joke enough to—I
⏹️ ▶️ Casey went to actually replace the link with the correct one because I had the correct one still. And I thought,
⏹️ ▶️ Casey no, no, he earned this one. I’ll let it said. And so it is still the white one on on
⏹️ ▶️ Casey ATP.fm. But rest assured, listeners, I had built a blue one, damn it.
⏹️ ▶️ Marco This one just so happened to be white.
⏹️ ▶️ Casey It happened to be white, Marco. It can just happen.
Grocery-store hot food bars
⏹️ ▶️ Casey Also, I’d like to complain about Mr. John Syracusa. You had mentioned offhandedly on
⏹️ ▶️ Casey Reconcilable Differences number 121, entitled Impotent Hydra, that you don’t like Wegmans,
⏹️ ▶️ Casey and I would like you to defend yourself, sir, because this is blasphemy.
⏹️ ▶️ John We’ve talked about this on this very show, I think. One reason is that the Wegmans
⏹️ ▶️ John near me is in a very inconvenient location. It’s on an annoying divided highway that’s difficult to
⏹️ ▶️ John get to and always clogged, and then once you’re on the side you want to get on, it’s hard to get back on the other side.
⏹️ ▶️ John a mess. So that’s a big reason why we don’t ever go there because even though it’s not
⏹️ ▶️ John that far away as the crow flies, it is terrible to get to. And
⏹️ ▶️ John the parking’s not great and you know just everything about it. Second thing is, even when it wasn’t terrible to get to,
⏹️ ▶️ John there’s another one that’s also even worse to get to that’s farther away that’s in a mall.
⏹️ ▶️ John It’s kind of like Whole Foods where we go all the time because we have Whole Foods close by us.
⏹️ ▶️ John But Whole Foods, like Wegmans, is, I mean, you know what they’re like. They’re
⏹️ ▶️ John not like regular grocery stores. Whole Foods is worse than Wegmans in this respect.
⏹️ ▶️ John Where a regular supermarket that we’re accustomed to, you
⏹️ ▶️ John can picture in your head of here are what the different aisles are and here’s what’s in them and here are the kind of products they
⏹️ ▶️ John have, just a generic, straight up the middle American supermarket.
⏹️ ▶️ John Wegmans and Whole Foods have fancier stuff, different stuff, different brands of things,
⏹️ ▶️ John lots of prepared foods, all sorts of stuff like that, and the environment is different, it’s not just aisles of stuff
⏹️ ▶️ John with carts going back and forth, it’s all these weird stations and areas and
⏹️ ▶️ John stuff like that. And when I want to go grocery shopping, I most of the time,
⏹️ ▶️ John unless there’s something special that I want to get that I know I can’t get at a plain grocery store. I just want the grocery store
⏹️ ▶️ John experience of going up and down the aisles and getting the stuff and everything being where I expect it and, you know, being
⏹️ ▶️ John able to find all the brands that I’m accustomed with and just, but Wegmans doesn’t
⏹️ ▶️ John fill that. So maybe if it was close, I would, I would go there more than I go to Whole Foods, but
⏹️ ▶️ John I always feel like I’d have to go to multiple places like a Wegman, a Wegman slash Whole Foods for weird specialty items
⏹️ ▶️ John or things that we know are better there or something we want to get that’s fancy, and then a regular
⏹️ ▶️ John supermarket for regular supermarket stuff.
⏹️ ▶️ Casey Aaron Powell I actually, I am sort of playing
⏹️ ▶️ Casey a shtick here. I do enjoy Wegmans. They just in the last couple of years came to my area.
⏹️ ▶️ Casey I do like Wegmans actually most as a place to work. They have a really nice patio
⏹️ ▶️ Casey outside, one of the local Wegmans near me. And additionally, they have quite a large like
⏹️ ▶️ Casey food court kind of sitting area inside as well, large enough that if you just go and sit and do
⏹️ ▶️ Casey some work, that’s not really unusual. And it’s not,
⏹️ ▶️ Casey you know, nobody’s looking at you like, why are you here? Get out. For those of you who don’t know Wegmans is a supermarket chain
⏹️ ▶️ Casey here in the States. I would say it’s like, like John had said, more similar
⏹️ ▶️ Casey to Whole Foods than traditional supermarket, but not quite all the way to bespoke artisanal
⏹️ ▶️ Casey everything like Whole Foods is. But anyways, Wegmans is very expensive.
⏹️ ▶️ Casey One of the things I enjoy to do for lunch
⏹️ ▶️ Casey occasionally is go to Wegmans hot bar where you get a
⏹️ ▶️ Casey Styrofoam or whatever container. It’s probably not Styrofoam. It’s probably cardboard. But anyway, you get a cardboard to-go box
⏹️ ▶️ Casey and you you fill it with all sorts of different things. And of course, if you’re like me, you want the really, really
⏹️ ▶️ Casey heavy things like mac and cheese, and then you go to the checkout counter
⏹️ ▶️ Casey and they weigh your box and it’s so much per half pound or pound or what have you. And
⏹️ ▶️ Casey it is preposterous how much a single human being can spend
⏹️ ▶️ Casey at the Wegmans Hot Bar. I think
⏹️ ▶️ Casey have spent like $15, $20 on my meal alone. And this is just like cafeteria food for all intents and purposes.
⏹️ ▶️ Casey It’s very tasty cafeteria food, but consider your source. I have low standards. And so
⏹️ ▶️ Casey it is ridiculous how much you can spend at the Wegmans hot bar and Whole Foods is just as bad, if not worse. But yeah,
⏹️ ▶️ Casey a lot of people are devout Wegmans fans. I definitely like it. It is very expensive
⏹️ ▶️ Casey even for groceries as far as I’m concerned, but it’s a very nice store and I enjoy it. And I just wanted to hear you
⏹️ ▶️ Casey defend yourself and yeah, I can’t really argue with anything you’ve said, unfortunately.
⏹️ ▶️ Marco I can’t believe that you go to the hot bar in a grocery store and get macaroni and cheese. That’s
⏹️ ▶️ Marco basically the worst thing you can get there because it is always priced by weight. And what you should really
⏹️ ▶️ Marco do, I mean there’s all sorts of hacks of like, you get all sunflower seeds or whatever and it’s cheaper than buying sunflower
⏹️ ▶️ Marco seeds per pound or whatever. But within the realm of normal meals, I feel like a salad with a bunch of stuff
⏹️ ▶️ Marco added on top like sunflower seeds or other nuts, things like that, that’s almost always a way better buy
⏹️ ▶️ Marco than anything that is inherently very dense and heavy, like baked potatoes
⏹️ ▶️ Casey I completely agree. Yeah, and that’s why, well, we did this, there was a stretch of time when Wegmans was new that we were doing
⏹️ ▶️ Casey this like once every month or two. You know, the family would go for lunch or something like that. And over time
⏹️ ▶️ Casey I realized, I’m being an idiot. I need to get like salad with maybe a little
⏹️ ▶️ Casey kiss of macaroni and cheese on the side rather than an entire platter, well, not an entire platter, but you know what I mean.
⏹️ ▶️ Casey like a large portion of mac and cheese and then some other heavy thing next to it. And so yeah,
⏹️ ▶️ Casey I completely agree with you.
⏹️ ▶️ John I don’t partake of any of the parrot foods. Like I don’t begrudge people them. Occasionally, if you’re in a crunch
⏹️ ▶️ John and you don’t have time to do anything, you can get them, but they are so expensive and everybody has sneezed on them
⏹️ ▶️ John and you have no idea how old they are.
⏹️ ▶️ John just, just everything is aligned against them. Like the main reason we go into our local Whole
⏹️ ▶️ John Foods aside from it being very close by is they do milk as a loss leader. So they actually have the cheapest
⏹️ ▶️ John milk in the area. So every time we, and it’s a good idea, because every time we want to go to milk, we end up in Whole
⏹️ ▶️ John Foods. And then if our kids are with us, they make us buy like the $2 mochi, which are good, granted,
⏹️ ▶️ John but A, not that good, and B, they’re $2, so.
⏹️ ▶️ Marco I have never found anything in like the grocery store hot bar to be worth getting a second
⏹️ ▶️ Marco time. And I will forget this about
⏹️ ▶️ Marco maybe once every two years, and I’ll go get another like big lunch or a couple of lunches there. And
⏹️ ▶️ Marco every time I’m like, why did I do that? And why do it’s actually very similar to
⏹️ ▶️ Marco the WBDC box lunch side dishes, where you get something and you’re like,
⏹️ ▶️ Marco some kind of, oh, here’s like a side of macaroni salad or something
⏹️ ▶️ Marco and you taste it and you’re like, this is not anything like what I expected. And also
⏹️ ▶️ Marco somehow manages to taste like nothing. And yet is also not good. And it’s $8. Yeah, and it costs you $8. $8 if
⏹️ ▶️ Marco you’re lucky. In reality, I’m usually closer to, you know, $12, you
⏹️ ▶️ Marco know, because I think I’m, you know, underweight and then I get to the checkout and it’s like, oh, that’s $12. And
⏹️ ▶️ Marco afterwards, I’m like, I could have walked down the street to any, like, you know, casual
⏹️ ▶️ Marco fast food place, like a Chipotle or something, and gotten a way better meal for less money
⏹️ ▶️ Marco than what I just spent at the stupid hot bar at the grocery store.
⏹️ ▶️ Casey I actually think that Wegmans and Whole Foods both are tasty and decent food, but I completely
⏹️ ▶️ Casey concur that it is not worth the money that one would spend on it. We’ve gotten way off the rails already and it’s my fault,
⏹️ ▶️ Casey so let’s just move right along.
Marco’s iMac Pro update
⏹️ ▶️ Casey Why don’t you tell us about what could have caused your iMac Pro’s fan
⏹️ ▶️ Marco Actually, I have a small update on that. Uh-oh. All right, so first,
⏹️ ▶️ Marco let me do the feedback item here. So we got feedback from Chris Harper, who
⏹️ ▶️ Marco says, I started my career as a technician in the entertainment department at a large theme park. One of my jobs was repairing
⏹️ ▶️ Marco broken equipment. Early in my training, I was told to never use the air compressor for blowing out electronics
⏹️ ▶️ Marco because air compressor tanks and even the hoses often get condensation in them possibly due to the heat of the
⏹️ ▶️ Marco motor essentially be blowing moisture on your stuff so you had to use canned air instead or
⏹️ ▶️ Marco vacuum them out using special electronics vacuums and I think I heard it from a couple people on Twitter who also said that apparently
⏹️ ▶️ Marco air compressors can spray tiny drops of oil from inside themselves into
⏹️ ▶️ Marco electronics which is obviously very bad or little metal shards I don’t
⏹️ ▶️ Marco think any of that happened and my air compressor is a very small consumer unit that probably doesn’t have
⏹️ ▶️ Marco either. I’ve never, I can tell you I’ve never oiled it and probably doesn’t get hot enough to
⏹️ ▶️ Marco ever make condensation inside. So I don’t think that was an issue here.
⏹️ ▶️ Marco However, after a few days of operation, my fan problem
⏹️ ▶️ Marco also heard, I forget who, I’m sorry I have to look up, I
⏹️ ▶️ John checked the notes which you are not following along very well. Because Casey was
⏹️ ▶️ John prompting you to read the feedback from Tom Bridge and you skipped several items down.
⏹️ ▶️ Marco Yes, you did. Oh, hold on. Oh,
⏹️ ▶️ Casey Is this your first day, Marco?
⏹️ ▶️ John It is his first day looking at the show notes.
⏹️ ▶️ Marco Lucky for you, I’m the editor. So we also heard from Tom Bridge, who said a second possible
⏹️ ▶️ Marco explanation for Marco’s iMac Pro’s reduced fan RPM’s post vacuum would be a reset of
⏹️ ▶️ Marco the system management controller, the SMC reset, which was accomplished when I unplugged my iMac Pro
⏹️ ▶️ Marco for more than 15 seconds. So this is a long-standing Mac, kind of like spin around and
⏹️ ▶️ Marco fix the problem kind of thing that you try. You do a rain dance, you zap the PRAM, and you
⏹️ ▶️ Marco reset the SMC, that’s what this is. So the way you reset the SMC on any modern Mac is you
⏹️ ▶️ Marco cut off power for 15 seconds and you plug it back in, and the SMC resets. And that is the component
⏹️ ▶️ Marco that is responsible for things like thermal management, fan speed, stuff like that. So
⏹️ ▶️ Marco that is much, because I said last episode, I’m pretty sure
⏹️ ▶️ Marco that not a lot came out of it dust wise. And I wasn’t sure why it fixed it because it seemed like it
⏹️ ▶️ Marco wasn’t, it seemed like enough stuff didn’t come out of it for that to be the problem. So if
⏹️ ▶️ Marco that indeed wasn’t the problem and if the SMC is just kind of getting
⏹️ ▶️ Marco buggy over time, which does happen with Macs sometimes, that’s a much scarier outcome for me
⏹️ ▶️ Marco because Now the problem’s back. I didn’t have time to try this yet because I use my computer, so I didn’t
⏹️ ▶️ Marco have time to unplug it for a while and play around today. But I am a little concerned
⏹️ ▶️ Marco that this just might be my life now, and if that’s the case, I’m gonna be very sad because,
⏹️ ▶️ Marco again, one of the biggest reasons I love the iMac Pro is no matter what I do to it, I never hear the
⏹️ ▶️ Marco fans. And now I’m hearing the fans spin up and down on a pretty regular basis as I do Xcode builds and
⏹️ ▶️ Marco stuff, and that’s really not great.
⏹️ ▶️ Casey Let it be known, listeners, that as we record, it is the evening of the 29th of January
⏹️ ▶️ Casey in the year 2020. I have
⏹️ ▶️ Marco not yet ordered a Mac Pro. In fact, go to the next follow-up item
⏹️ ▶️ Marco and I’ll tell you why that’s relevant to me.
⏹️ ▶️ Casey Uh-huh. Well, let me just tell you, listeners, that I am putting it on the record that before WWDC,
⏹️ ▶️ Casey Marco will have a Mac Pro in his house. heard it here first.
Pro Display XDR in hot rooms
⏹️ ▶️ Casey All right, tell me about why you’re supposedly not getting a Mac Pro, Marco.
⏹️ ▶️ John This is my item. He’ll chime in after I
⏹️ ▶️ John, Casey explain what’s
⏹️ ▶️ John in here. I don’t think it’s actually relevant to his decision-making process. This is just a follow-up
⏹️ ▶️ John on the Pro Display XDR reference modes. We talked about them last time, like what they’re used for and the
⏹️ ▶️ John P3 1600 nits versus 500 nits and all that stuff. Anyway, there is an official Apple, whatever
⏹️ ▶️ John they’re called now, Tech Notes support article that explains all the different reference modes. There’s many more than the ones we mentioned.
⏹️ ▶️ John see them all and understand how they work on what they’re supposed to be used for you can Check out the link in the show notes Um,
⏹️ ▶️ John the one interesting thing that I pulled from it is there’s a section towards the bottom That’s like if you see this
⏹️ ▶️ John scary icon showing like a you know A caution triangle exclamation point symbol
⏹️ ▶️ John next to a monitor that appears in the airplane menu Your protos by XDR might be in a low power mode and
⏹️ ▶️ John using limited brightness This can occur if the ambient temperature of the room is 77 degrees Fahrenheit or higher
⏹️ ▶️ John and your display has been at 500 nits or higher for a long time. Unplug your display from your computer, wait 5 to 10
⏹️ ▶️ John minutes, then connect your display and try again. If the issue continues and the ambient temperature of the room is less than 77
⏹️ ▶️ John degrees, contact Apple. The reason I think this is irrelevant to Marco is because I really don’t think he
⏹️ ▶️ John ever keeps his house higher than 77 degrees and he’s also probably never going to have the monitor over 500 nits
⏹️ ▶️ John because he’s not doing HDR video editing slash mastering so it’s mostly irrelevant
⏹️ ▶️ John and And I can tell, like I said, when I first talked about this monitor, you cannot hear or I cannot
⏹️ ▶️ John hear the fans in the monitor. I’m assuming they’re spinning right now, but I have never heard them other than when
⏹️ ▶️ John I shoved my ear against the back of the monitor when I was setting it up. And even then it was difficult.
⏹️ ▶️ John Still can hear the tower computer over there off in the distance a little bit, which is why I think still
⏹️ ▶️ John with your iMac Pro, it may be noisier under load than this is definitely noisier under load
⏹️ ▶️ John than this thing is because this thing never changes sound whatsoever, it’s constant noise
⏹️ ▶️ John level is higher than the idle noise level of an iMac Pro, which I basically
⏹️ ▶️ John can’t hear. This I can always almost hear, and it just literally never changes volume at all.
⏹️ ▶️ Marco Unfortunately, my iMac Pro was like that for a long time, and now isn’t, so just wait,
⏹️ ▶️ Marco John. Wait until about year two or year three of your Mac Pro,
⏹️ ▶️ Marco, John and we’ll have a little bit more
⏹️ ▶️ John thermal overhead than you do, considering how vast my cooling system is and how little is actually in the box.
⏹️ ▶️ John I’m not on the ragged edge of anything. I really need to get, I think the iStatMenu guy
⏹️ ▶️ John said they were updating their stuff to support the new temperature. They said they were gonna send me a beta and I don’t think
⏹️ ▶️ John they sent me one. Look at that, they’re usually pretty fast. I do wanna see, do the fans ever
⏹️ ▶️ John go any faster no matter what I do? Because like I said, I can’t hear them
⏹️ ▶️ John change volume at all even when I do disk benchmarks,
⏹️ ▶️ John GPU benchmarks, CPU benchmarks, it’s just, you know, playing, even playing games in Windows,
⏹️ ▶️ John which I assume doesn’t really understand the fan control on this or whatever. Like playing Destiny, I
⏹️ ▶️ John don’t know what I have to do to this computer to make it make any more noise. It just doesn’t because
⏹️ ▶️ John I’ve got the wimpiest video card and a fairly wimpy CPU and three gigantic fans
⏹️ ▶️ John plus a blower fan and almost nothing in that box. Well,
⏹️ ▶️ Marco wait two years and then you’ll see.
⏹️ ▶️ Marco No, the reason why this Pro Display XDR, I would call
⏹️ ▶️ Marco it a overheating issue maybe in a warm environment and running in full brightness. It sure
⏹️ ▶️ Marco sounds like that. Apple would never use that term but that’s kind of what this is. You basically could
⏹️ ▶️ Marco have problems with the XDR retaining full brightness if you’re running it in a room that’s
⏹️ ▶️ Marco hotter than 77 degrees Fahrenheit. Well I do that all summer long.
⏹️ ▶️ Marco When I’m at the beach, one of the reasons I like being there is that
⏹️ ▶️ Marco while it is warm it is not too hot, like it almost never hits above like 85 degrees
⏹️ ▶️ Marco and there’s a nice breeze and whether or not there’s a nice breeze I can augment
⏹️ ▶️ Marco it with like a big ceiling fan. So I’m able to work very comfortably
⏹️ ▶️ Marco with breeze and or fan blowing on me up to the low 80 degrees
⏹️ ▶️ Marco like up to like you know 80 to 85 degree
⏹️ ▶️ Marco, John Fahrenheit. That’s
⏹️ ▶️ John the temperature outside. Check the temperature in the room you’re sitting
⏹️ ▶️ Marco in. It’s not gonna be lower than than outside.
⏹️ ▶️ John I think if the room you were sitting in was 77 degrees or higher, you would do something about
⏹️ ▶️ Marco You don’t know. You don’t know. Summer mode, Marco. Yeah, we got the breeze going
⏹️ ▶️ John I don’t think if you have the windows open and fans going in, it would be fine because you’re
⏹️ ▶️ John not mastering HDR stuff. You’re not going to have it over 500 nits. Put your monitor up to max brightness right
⏹️ ▶️ John now. That’s not even 500 nits. You’re never going to have it that bright. How bright does the iMac
⏹️ ▶️ Marco pro monitor go? Not even up to 500 I don’t think. I think it might, and I keep it most of the time
⏹️ ▶️ Marco at about 75 to 80 percent brightness. In the middle of the day in the summertime, I might crank it
⏹️ ▶️ Marco up because the room will be brighter.
⏹️ ▶️ John It’s not a factor. It’s like, all right, I mean, you should try it, but I will be
⏹️ ▶️ John shocked because you’re not doing HDR stuff and you don’t realize how bright 500 nits
⏹️ ▶️ John is. And if you have the windows open and the salt air is blowing in corroding your monitor.
⏹️ ▶️ John It’s, you know, this is only if you’re like in a stifling room with no airflow that’s over 77
⏹️ ▶️ John degrees and you’re doing things for a long period of time. We’ll see because, you know,
⏹️ ▶️ John I don’t actually have whole house air conditioning or anything that’s going to save this thing so when
⏹️ ▶️ John summer comes in my tiny little stifling room that I’m actually in, we’ll see if I ever have
⏹️ ▶️ John any issue. I can imagine that not only will it not have any problem but I also will
⏹️ ▶️ John continue to not hear the fans in this monitor.
⏹️ ▶️ Marco By the way, real-time follow-up, the iMac Pro does apparently have up to 500 nits brightness, as do the
⏹️ ▶️ Marco most recent MacBook Pros. So what do you have yours set to now? About 80%. And this is at night in the winter.
⏹️ ▶️ John So is the room over 77 degrees? And has it been at 500 nits or higher for a long time?
⏹️ ▶️ John It’s never been at 500 nits because you never crank it to full brightness, probably. And the room is never over 77 because
⏹️ ▶️ John who keeps their house that hot if they can help it? And you have central air, so you can help it.
⏹️ ▶️ Marco Yeah, but all summer long. I’m telling you so basically what this tells me is I Probably shouldn’t
⏹️ ▶️ Marco buy a pro display XDR for the beach now granted I probably wasn’t going to anyway because it’s so damn expensive
⏹️ ▶️ Marco But again that puts a pretty big You know throwing on the side of any possible Mac Pro plans
⏹️ ▶️ Marco Like what because one plan would be get a Mac Pro and haul it back and forth and have a monitor at both places
⏹️ ▶️ Marco But but that now seems like an even worse idea than it did last summer when we were first
⏹️ ▶️ Marco talking about this
⏹️ ▶️ John I think it’s very likely you’re going to buy, and like pizza for the table, you’re gonna buy a computer for the house. I don’t know what
⏹️ ▶️ John it’s gonna be yet. It could be a Mac Pro, it could be an iMac Pro, but there’s gonna be a computer for the house. I don’t think so.
⏹️ ▶️ Marco a computer for the house. A monitor is very likely.
⏹️ ▶️ John loves it when you get a computer
⏹️ ▶️ Marco for the house. Like I’ll probably, I will almost certainly, like if I don’t haul
⏹️ ▶️ Marco an iMac Pro back and forth, which I think is still probably the best option, but if I don’t do that, I would probably keep like an
⏹️ ▶️ Marco LG 5K out there, and then whatever the heck my home solution was.
⏹️ ▶️ John computer for the house.
⏹️ ▶️ Casey Imagine if you had ever had experience with the LG 5K at the beach house. You would know
⏹️ ▶️ Casey exactly what you’re getting into. I have. That’s my joke, Marco, good God.
⏹️ ▶️ Casey, Marco I spent a whole summer with it. It was really
⏹️ ▶️ Casey mediocre. I know, but if you had it hooked up to a preposterously overkill
⏹️ ▶️ Casey Mac Pro, I think you would get over the mediocrity. Anyways, I think you’re getting a Mac Pro.
⏹️ ▶️ Casey I think you will start by having an LG 5K at the beach. Don’t you already have one at the beach
⏹️ ▶️ Casey right now at somebody else’s house?
⏹️ ▶️ John You buried it in the sand, it’s Mark with an X.
⏹️ ▶️ Marco Secret treasure. Yeah, I stuck a kid’s plastic shovel right above it so I could see like
⏹️ ▶️ Marco, John where. It’d be
⏹️ ▶️ John better if your name was Casey because then it would be the secret of Casey’s gold. But secret of Marco’s gold doesn’t have the same ring to it.
⏹️ ▶️ Casey No. In any case, I think that here’s your future. Your future is in the next six months, you’re going to
⏹️ ▶️ Casey be getting a Mac Pro and I think you’ll get a Pro Display XDR for your home
⏹️ ▶️ Casey in, I almost said your home in New York, your home that you’re sitting in right now. And then I think
⏹️ ▶️ Casey you will go to the beach, you will try to convince yourself that you can live with the LG, and then before
⏹️ ▶️ Casey you depart the beach from the end of the summer, you will have ended up ordering a second Pro Display
⏹️ ▶️ Casey XDR and put it at the beach house. That’s
⏹️ ▶️ John Just wait until the newly redesigned iMacs with built-in 6K displays come in colors,
⏹️ ▶️ John and then we’ll get whatever color matches whatever room that it goes into
⏹️ ▶️ Marco in the house. See, now we’d be talking new, like 6K iMacs. Now I’m very interested. In colors,
⏹️ ▶️ Marco it’s gonna come in teal. Yeah, but see, I’d be very interested, not because I would want two of them, but because
⏹️ ▶️ Marco I would just replace my iMac Pro with the new 6K iMac Pro.
⏹️ ▶️ John getting two of them. I don’t understand why you’re resisting this. You’re not gonna keep plugging that thing back and forth. You’re gonna get
⏹️ ▶️ Casey I honestly don’t think you would get two.
⏹️ ▶️ Casey, Marco Pizza for the table! That’s gonna happen.
⏹️ ▶️ Casey I honestly think that Marco will end up with two Pro Display XDRs, but I think there will only be
⏹️ ▶️ John He’s rapidly getting too old to be lugging a computer on his shoulder back and forth, just wait.
⏹️ ▶️ Marco But now I wheel it, it’s easy. Right, yeah, I’ll say. The funny thing is, it’s probably
⏹️ ▶️ Marco an easier solution to just get a second iMac Pro.
⏹️ ▶️ Marco, John That’s what I’m saying. That’s
⏹️ ▶️ Marco both cheaper and easier than bringing a Mac Pro back and forth.
⏹️ ▶️ Marco, John I didn’t say
⏹️ ▶️ John what kind of computer it’d be, I would just say there’s gonna be a computer for the house.
⏹️ ▶️ Casey I can’t handle this.
Rackmount Mac Pro
⏹️ ▶️ Casey conversation can somebody please save me and tell me about true tone
⏹️ ▶️ John no because why are we having some problems with the notes today you go from top to bottom in this country
⏹️ ▶️ Casey oh I miss I’m sorry I saw the Chris Harper and I went below it God we are disasters
⏹️ ▶️ Casey, John especially me especially me oh my gosh
⏹️ ▶️ John you and Marco both have done technical files in the follow-up section
⏹️ ▶️ Casey all right so I don’t want to hear about I don’t want to hear about true tone never ever what I’d
⏹️ ▶️ Casey love to hear. Oh God, see this is like I skipped it. My subconscious skipped it because I don’t give a shit about a rack mount
⏹️ ▶️ Casey Mac Pro. Did you watch the videos? I watched like four seconds of it and I
⏹️ ▶️ Casey, John realized I don’t give a shit about this.
⏹️ ▶️ John That’s your YouTube attention span. All right, I’ll handle this one so you don’t have to. It’s quickie.
⏹️ ▶️ John We’ve been talking about the rack mount Mac Pro which is available for sale. Someone
⏹️ ▶️ John put up a YouTube video of unboxing it and and comparing it to his old setup, it
⏹️ ▶️ John was Neil Parfit. They’re really good videos. If you wanna know
⏹️ ▶️ John what the deal is with the rack mount Mac Pro, you’ll see it from every angle
⏹️ ▶️ John and learn all the features and learn how one person’s actually using it. The interesting thing about it, I think, is
⏹️ ▶️ John when you see it, especially if you’re familiar with the plain old tower Mac Pro, it is so clear
⏹️ ▶️ John that unlike the XServe, this is not a purpose-built rack mount
⏹️ ▶️ John computer. This is a tower computer turned sideways and put
⏹️ ▶️ John into a weird case that kind of goes in a rack. Which is fine, like, you know, there’s nothing
⏹️ ▶️ John terrible about that. But when you look at the XServe, which was absolutely purpose-built, shared nothing
⏹️ ▶️ John with anything, like all new industrial design, just for being in racks,
⏹️ ▶️ John it’s so clear that Apple at one brief time in the semi-distant past
⏹️ ▶️ John was serious about making rack-mount computers. I think with the Mac Pro, they’re just realizing
⏹️ ▶️ John some pros, the situation in which they want to use a Mac Pro, they have a rack available. They don’t want it
⏹️ ▶️ John to be freestanding. So can we make this tower computer rack mountable? And the answer is yes, and it’ll look fine, but
⏹️ ▶️ John it’s not particularly space efficient. It is just a Mac Pro turned on its side with some, that’s why there’s like weird gaps
⏹️ ▶️ John and stuff inside the case. They did some interesting solutions for you to be able to get at the different stuff because
⏹️ ▶️ John you know, the RAM is on one side and most of the other cards are on the other side, which makes sense when you have
⏹️ ▶️ John like the Tower Mac Pro where you pull off the whole case and you have access to it from all sides. But the Rack
⏹️ ▶️ John Mount one is not like that. So it has a door on the top, and then it has a second door on the bottom. And it’s like, why is that stuff on the bottom?
⏹️ ▶️ John Why didn’t they just make everything accessible from the top? Because this is the Tower Mac Pro turned on its side, and that’s the way the Tower Mac Pro
⏹️ ▶️ John works. The interesting comparison, so there was the unboxing and everything, and there was the comparison of fan noise.
⏹️ ▶️ John And again, he was very impressed that it was very quiet. This, Neil was filling
⏹️ ▶️ John his thing with like almost every card slot filled because he does audio stuff, he’s got all these weird audio interfaces.
⏹️ ▶️ John So he stuffed it to the gills and had all these power cables going everywhere. He was really happy with it because at the end of the second video
⏹️ ▶️ John he shows, this is what this is replacing. I have this big, giant, whatever it is, 5U rack
⏹️ ▶️ John mount thing, which seems like it’s really big, but it replaced, and he does a little cut in the video showing
⏹️ ▶️ John two trashcan Mac Pros and a billion peripherals and like Thunderbolt docks and cables
⏹️ ▶️ John and everything. Just this giant mess of hardware all now fits inside this one
⏹️ ▶️ John box. So I think he was happy with it, even though I think that as a rack-mounted
⏹️ ▶️ John computer, it is a little ungainly and ugly. But it’s clear that some people want exactly this. They do not want a tower
⏹️ ▶️ John computer. They want it to fit in a rack. So I’m glad Apple’s making it, and I’m glad at least one person seems happy with it.
⏹️ ▶️ Casey I feel better for having known this piece of information. Thank you, John.
⏹️ ▶️ John You should watch the video. You get to hear the cool little snick that the door makes when you take it off the side
⏹️ ▶️ John and click it back in. It’s cool.
⏹️ ▶️ Casey Just like Wolverine.
TrueTone for pros
⏹️ ▶️ Casey Would you tell me about True Tone, please? Because I’m oh so excited to hear about it.
⏹️ ▶️ John This is Chris Harper chiming in on, oh, no, that’s not. That’s the compressed air. Now all three
⏹️ ▶️ John, Casey follow-up. You know why? Here’s how the
⏹️ ▶️ Casey show notes work, John. You read from
⏹️ ▶️ Casey, John top to bottom.
⏹️ ▶️ John The instruction pointer is frigging, no one knows where the instruction pointer is anymore. We’re just, we’re
⏹️ ▶️ John lost. We’re lost in follow-up. Oh, this
⏹️ ▶️ John issued a jump statement, and now we have no idea where we are. You
⏹️ ▶️ Casey are such a nerd, I love you. Oh,
⏹️ ▶️ John Christopher Bowers writes, regarding True Tone, as someone who works professionally in printing
⏹️ ▶️ John photos, the ideal situation is to have the room lighting and display white points be equal. That’s why having True Tone
⏹️ ▶️ John on is the better, more accurate setting. So there’s another person with some professional
⏹️ ▶️ John experience chiming in and saying, True Tone, yes, go for it, even if you’re doing something that’s important to color.
⏹️ ▶️ John And he also gives a link to ISO 12,646. I
⏹️ ▶️ John looked at that and I didn’t, I think it’s just, you know, well, here’s the text from the thing.
⏹️ ▶️ John Specifies the requirements for two conformance levels for the characteristics of displays to be used for soft
⏹️ ▶️ John proofing of color images. Included are requirements for color uniformity and variations in electro-optical properties
⏹️ ▶️ John when viewing, with viewing direction for different driving signals. That’s a lot of jargon.
⏹️ ▶️ John I think the standard is just basically saying how you should set things up to be
⏹️ ▶️ John judging photography on a computer device. It’s hard for me to tell. That’s a lot of jargon. Plus, they spell color with
⏹️ ▶️ John a u, so it’s all very confusing. Cool. Anyway. True challenge. Endorsed by one person who
⏹️ ▶️ John claims to be a professional. It’s good enough for me. Go team.
Sponsor: YES PLZ (code MARCOSENTME)
⏹️ ▶️ Marco We are sponsored this week by Yes Please Coffee. This I gotta say, this is not in the
⏹️ ▶️ Marco script, this is one of the only coffee things that I would ever recommend. I’ve used it myself for a long time
⏹️ ▶️ Marco and it’s fantastic. So there’s a lot of productivity hacks, but there’s one productivity tool that performs
⏹️ ▶️ Marco wonders for almost everyone. It’s coffee. Yes Please is a coffee
⏹️ ▶️ Marco subscription service. It’s yes plz. They want to bring the very best roasted beans
⏹️ ▶️ Marco into your kitchen. So you know, do you really need a coffee subscription? How often do you run out of coffee at home? True
⏹️ ▶️ Marco coffee fiends are pretty good about never running out, but you also know that scoring truly superb beans,
⏹️ ▶️ Marco especially reliably, can be hard. So yes, please. This is at yesplz.coffee.
⏹️ ▶️ Marco I love the domain. Sources and roast some of the finest stuff from all over the world. They also
⏹️ ▶️ Marco change it up every week and then they deliver it to your door. So it says whole bean, very
⏹️ ▶️ Marco freshly roasted coffee, delivered weekly, fortnightly, monthly, or just whenever you need it.
⏹️ ▶️ Marco And you can pause and cancel any time, no hassle. And you also get this cool monthly print magazine
⏹️ ▶️ Marco that they make, featuring culture, food, music, and more. It’s kind of fun. It’s like a nice analog moment
⏹️ ▶️ Marco for your mornings in an increasingly digitally distracted world. So the founders of this, they have quite a strong
⏹️ ▶️ Marco background behind them. So it’s from Tony Konesny and Sumi Ali. They are veterans of
⏹️ ▶️ Marco coffee’s third wave scene. You actually might know their previous coffee subscription business called Tonks. That’s an amateur
⏹️ ▶️ Marco Tony Konesny from back in the day. And these guys believe great coffee should not require much
⏹️ ▶️ Marco fuss. Making a perfect cup should be as easy as making a box of macaroni and cheese if you start with the best beans.
⏹️ ▶️ Marco And I can personally say I have used this service. I used it all summer long when I couldn’t
⏹️ ▶️ Marco be home. Usually I’m a home roaster, but there’s a lot of times when I’m too busy or I’m not home for a while. And whenever
⏹️ ▶️ Marco that’s the case, I go to Yes Please. This is actually the coffee service I use when I want to buy beans.
Xcode + Auto Layout
⏹️ ▶️ Marco go to yesplease.coffee. Use offer code marcosentme
⏹️ ▶️ Marco on one word to get 25% off your first shipment. Upgrade your morning coffee game and you’ll upgrade
⏹️ ▶️ Marco your whole day. Thanks a lot to Yes Please for making amazing coffee and sponsoring our show. Why
⏹️ ▶️ Casey don’t you tell me why you don’t understand Xcode, please?
⏹️ ▶️ John This is about the rant last episode about me trying to do
⏹️ ▶️ John do GUI layout and Xcode using the various systems. A lot of people offer advice. A lot of people offered
⏹️ ▶️ John commiserations, saying that a lot of the things I said were familiar to them, even people with
⏹️ ▶️ John lots of experience, that some of these problems are just sort of longstanding problems. And yes, you do
⏹️ ▶️ John sort of get better at dealing with them and come up with techniques for them. I want to call out Alex Kent in particular,
⏹️ ▶️ John who gave a video demonstration of him basically laying out my dialog box
⏹️ ▶️ John in Xcode. And I think that was important because lots of people sent like
⏹️ ▶️ John here, look, I made your dialog box with SwiftUI. I made it with Xcode. I made it with this, I made it with that. See how nice
⏹️ ▶️ John it is? Look, it looks just like yours. First of all, a lot of people who sent those in, I applaud the effort, but many of them didn’t actually
⏹️ ▶️ John look like mine. It was kind of the point of like, yeah, you can get 90% of the way there, but then if you want to get a pixel accurate, it’s a little bit
⏹️ ▶️ John trickier than you might think, but whatever. But Alex’s video
⏹️ ▶️ John let me see how he uses the tool to build it. to build
⏹️ ▶️ John it. First it was refreshing to see him run into many of the things I complained about in real time when
⏹️ ▶️ John he was doing it and then deal with them and then say okay, well this is how you, this is gonna happen when you
⏹️ ▶️ John try to use this tool, here’s how you deal with it, right? So that was very helpful. Just kind of the
⏹️ ▶️ John mindset of what things you should bother doing and what things you should let the tool do for
⏹️ ▶️ John you, helpful to see that. Anyway, we’ll
⏹️ ▶️ John put a link to the video so you can check it It’s kind of long, but if you’ve never used Xcode to do layout before, like,
⏹️ ▶️ John there are a lot of different tools available to you, a lot of different systems, a lot of different ways to
⏹️ ▶️ John use the tools. And he demonstrates one particular technique. You don’t necessarily have to
⏹️ ▶️ John do what he does, but I think it was eye-opening to see someone else’s workflow. I think the most useful
⏹️ ▶️ John advice he gave me, and this is one thing that a lot of, I didn’t mention last show and I should have, and a lot of people writing with advice
⏹️ ▶️ John were also not taking account for, I was maybe foolishly, maybe not,
⏹️ ▶️ John aiming for a situation where I have no warnings because Xcode does these little yellow warning
⏹️ ▶️ John symbols in the sidebar if you have any layout issue, if it thinks you have any layout issues.
⏹️ ▶️ John And always my goal was no warnings because my whole project is built, no warnings, you know, warnings or errors, you know, I do,
⏹️ ▶️ John it’s gotta be clean, right? Same thing with the layout. So if I got a layout, it was very easy for me to get a
⏹️ ▶️ John layout that I think was mostly correct mostly look correct but it had a thousand warnings on it. So that was part of
⏹️ ▶️ John what I was banging my head against even when I thought I went over the finish line like there finally everything’s lined up let me run the app let me look
⏹️ ▶️ John at it let me measure with Xcode boom everything’s lined up and then I would look in the sidebar and there’s 800 warnings.
⏹️ ▶️ John I’m like what do I have to do to make you happy Xcode? What are you complaining about? And I had all these complaints.
⏹️ ▶️ John This doesn’t have an X position. Like it doesn’t have an X position? Are you kidding me? It has
⏹️ ▶️ John an exact distance from the thing that it’s next to which has an exact distance to the edge of the super
⏹️ ▶️ John view. That’s like it can’t be any place else x wise. That’s but it
⏹️ ▶️ John was like no I need an exposition.
⏹️ ▶️ John, Marco from me and they have all these things like
⏹️ ▶️ John add add missing constraints or you know like all these and if you try to do that just throws constraints
⏹️ ▶️ John all the place and it makes this big mess. So that was part of my frustrations. I’m trying to get to Zaro
⏹️ ▶️ John Boogs. I’m trying to get to to zero warnings and Xcode right. And Alex
⏹️ ▶️ John had this one particular piece of advice which I had not figured out on my own which was very helpful for the localization
⏹️ ▶️ John warnings like it’ll warn you oh you’ve you have a field that’s like a fixed width if you try to
⏹️ ▶️ John localize that text the German word is gonna be longer and it’s not gonna fit and like all right one way you can deal with
⏹️ ▶️ John that is you can just somehow I didn’t know how to do this but somehow I’m told that you can convince Xcode that you’re not gonna do localization it’ll
⏹️ ▶️ John shut up about that but I don’t want to I don’t want to like close the door to
⏹️ ▶️ John localization who knows maybe it will localize someday but I do want Xcode to shut up
⏹️ ▶️ John, Marco those warnings to go to the sidebar.
⏹️ ▶️ John So Alex says, for localization fixed width warnings, they can be fixed by making
⏹️ ▶️ John the width constraint priority lower than the content compression resistance horizontal priority. So the
⏹️ ▶️ John auto layout constraints have priorities, and the maximum is 1,000, and you can do in
⏹️ ▶️ John one number increments, right? So a lot of the defaults are like, this has a priority of 1,000, this has
⏹️ ▶️ John a priority of 750. If you make the width constraint have lower priority than that compression resistance,
⏹️ ▶️ John what that means is that yeah, the width will try to keep it at this width, but if the contents are too
⏹️ ▶️ John big and the compression resistance, like the resistance of the contents to be squished
⏹️ ▶️ John or be clipped is a higher priority than the width one, it will win.
⏹️ ▶️ John And even though the width is supposed to be 10 because the content is too wide, it will bust itself out and make itself 11 or 12
⏹️ ▶️ John or whatever. And just by setting, it doesn’t actually change the layout because again, I’m not localizing,
⏹️ ▶️ John but just by changing those priorities to be just, one different from each other in either direction,
⏹️ ▶️ John you can get it to get rid of those warnings. And that I think was the final thing that I really needed to get over the hump. So
⏹️ ▶️ John when I was, I’m working on my other app that has a Swift UI thing, it also has
⏹️ ▶️ John a regular storyboard, like I said. And after watching his video and learning about that trick, I went
⏹️ ▶️ John back to that dialogue and relayed out the whole thing with auto layout. And it was,
⏹️ ▶️ John I’m not gonna say it was painless, but I feel like now I have a system. Now I feel like I can look at a setup
⏹️ ▶️ John and figure out, OK, I can defeat auto layout and make a layout that looks the way I
⏹️ ▶️ John want, uses auto layout everywhere, and has no warnings, now that I know these various tricks.
⏹️ ▶️ John So thank you, Alex. And I recommend everybody check out the video just to see how one person
⏹️ ▶️ Marco That is just, it’s so ridiculous that you have to jump
⏹️ ▶️ Marco through so many weird hoops like that. And the tools are not
⏹️ ▶️ Marco making that easy or intuitive.
⏹️ ▶️ John There are some features in the tool that I was avoiding. Xcode will offer to fix a lot of stuff
⏹️ ▶️ John for you. It’s super helpful. It’s like, do you want me to fix this? Do you want me to fix that? And it does. I can imagine the people
⏹️ ▶️ John doing this UI. It’s like, what more do we want to do for you? The people who are authors in Xcode, we give you, not only do we tell you
⏹️ ▶️ John what’s wrong, but we give you every conceivable, reasonable option on how to fix it and explain
⏹️ ▶️ John what they each mean and let you pick from it in a popover. And they do, but the problem with that is, you look at that
⏹️ ▶️ John and you’re like, well, which one of these do I wanna do? I mean, these all
⏹️ ▶️ John sound like they might fix it, but then you pick one and it has this cascading
⏹️ ▶️ John series of other consequences for your layout that you don’t quite understand. And you’re like, did I pick the wrong
⏹️ ▶️ John one two steps ago? I’m not sure what to do. So I think the key is knowing which one of those
⏹️ ▶️ John tools to partake in. So if you watch Alex, what he does with the video, which I think he’s maybe doing intentionally just
⏹️ ▶️ John to show how the tools can help you, is he chucks a bunch of controls onto the canvas willy-nilly, and
⏹️ ▶️ John then just makes a bunch of layout constraints using the
⏹️ ▶️ John right click drag shortcut thing instead of going the long way. And then just
⏹️ ▶️ John makes all the constraints and then the feature he uses a lot of is misplaced items.
⏹️ ▶️ John The sidebar will say a bunch of items are misplaced which means that you put some things on the canvas and you
⏹️ ▶️ John put a constraint that said this should be 10 pixels from that but it’s not 10 pixels from that. It’s not even close to 10 pixels from that.
⏹️ ▶️ John That’s a misplacement. And then you just hit the fix button, right? Yeah, it will fix the misplacement for you.
⏹️ ▶️ John And that one is one of the least destructive ways you can accept its health. Because the other way is like, do you want me to
⏹️ ▶️ John add missing constraints? I don’t think I ever do want you to add missing constraints because
⏹️ ▶️ John, Marco what you could
⏹️ ▶️ John see- Trust me, you never want that.
⏹️ ▶️ John, Marco The constraints
⏹️ ▶️ John you think are missing, they’re not actually missing, you’re just, you know, whatever, but the fixed mix placement
⏹️ ▶️ John will essentially move things on the canvas for you based on your constraints. So if you put a big jumble of items and you just do
⏹️ ▶️ John a bunch of constraints and then you just fix misplacements, they all spring into where, more or less where they’re supposed
⏹️ ▶️ John to be and then you can fine tune. So that feature seems like a safe feature to use and I found myself using it more,
⏹️ ▶️ John like once you’re in auto layout mode, you don’t have to do that single pixel alignment stuff. My problem was always that like when
⏹️ ▶️ John I did auto layout, I could never get the layout to look right when it actually ran the window and I
⏹️ ▶️ John can never get all the little warning stuff to go away until I started, you know, I was chasing my own tail. I was like, well, if I do this
⏹️ ▶️ John and fix that and this warning goes away, but this other one comes and I finally get all the warnings away and I had this ridiculous series
⏹️ ▶️ John of constraints that made no sense and didn’t put things where I wanted them. But I’m better, I’m doing better now.
⏹️ ▶️ Casey So are you a fan of auto layout at this juncture? Are you anti auto layout?
⏹️ ▶️ Casey Where do you come down on that?
⏹️ ▶️ John See, I’ve been watching years, literally years of auto layout
⏹️ ▶️ John, Marco WWDC presentations, like
⏹️ ▶️ John in person and on video. So I’m not unfamiliar with auto layout. I’m more or less sold on the
⏹️ ▶️ John idea that auto layout is a cool thing. And I heard all the complaints when auto layout first came out and people’s frustrations
⏹️ ▶️ John with it or whatever, but I hadn’t actually used it myself. So going to use it myself, I was already bought in of the idea
⏹️ ▶️ John of like, I, you know, I understand springs and struts. I understand the system and people complain about the system,
⏹️ ▶️ John but I know there were bugs about the constraint solver or whatever, but it’s better now. And I mostly buy into it,
⏹️ ▶️ John but I was so frustrated by my own sort of part of it isn’t my own
⏹️ ▶️ John desire to get rid of all those little warnings, right? I had a lot of the warnings. I didn’t agree with them. Like there must be a way
⏹️ ▶️ John to get down to zero warnings. And I was just chasing my tail. Right. Now that I,
⏹️ ▶️ John A, have that one fixed-width localization thing in my back pocket to address those without screwing
⏹️ ▶️ John up my, without adding more constraints, right? And B, sort of know
⏹️ ▶️ John how to use the minimum number of constraints to get what I want done
⏹️ ▶️ John and how to address the complaints if it says, oh, I need this. Like sometimes it still complains that it doesn’t have an exposition, and
⏹️ ▶️ John do have an exposition, but I know how to give it now a redundant constraint to shut it up, right?
⏹️ ▶️ John I think I mostly prefer it to springs and struts, even for static layouts, and especially
⏹️ ▶️ John for resizable layouts. So I don’t say I like it, but I think I’ve made friends
⏹️ ▶️ John with it. And I think if I have to make a new view, I’m
⏹️ ▶️ John going to try to use auto layout first. Like that’s my first choice now.
Sponsor: Linode (code atp2020)
⏹️ ▶️ Marco We are sponsored this week by Linode, my favorite web host. Whether you’re working on a personal
⏹️ ▶️ Marco project or managing an entire enterprise’s infrastructure, Linode has the pricing, support, and scale you
⏹️ ▶️ Marco need to take your project to the next level. They have 11 data centers worldwide now, including their
⏹️ ▶️ Marco newest one in Sydney, Australia. All of these feature enterprise-grade hardware. They now have an S3 compatible
⏹️ ▶️ Marco storage option and their next generation network. So Linode delivers the performance you expect,
⏹️ ▶️ Marco but at a price that that you don’t get started on Linode today with a $20 credit for our show
⏹️ ▶️ Marco and you can get access to their native SSD storage, a 40 gigabit network, industry leading processors,
⏹️ ▶️ Marco their revamped cloud manager built with an open source single page app and all their servers
⏹️ ▶️ Marco give you root access to your server along with their new API version four to automate
⏹️ ▶️ Marco things they have a Python CLI if you want to actually use that use that myself to set up my servers really quickly.
⏹️ ▶️ Marco They now have these nano plans that are just $5 a month that currently gets you 1GB
⏹️ ▶️ Marco of RAM on that server, and they have all sorts of plans above that, no matter what your needs might be, they have something for
⏹️ ▶️ Marco you. So they have specialties like dedicated CPU plans, GPU compute plans
⏹️ ▶️ Marco for machine learning, video processing, AI, block storage, object storage,
⏹️ ▶️ Marco one-click installs of the most popular apps, including WordPress, the LAMP stack, and things like Minecraft servers.
⏹️ ▶️ Marco So you can get all this at Linode. I have all of my servers hosted there, all of Overcast and Market.org are
⏹️ ▶️ Marco hosted at Linode, and I’m just so happy. I’ve been a customer for theirs for more than, I think, eight
⏹️ ▶️ Marco or nine years now, and it’s just been wonderful the entire time. I have used a lot of web hosts in my
⏹️ ▶️ Marco career, and Linode is by far my favorite one. See for yourself by going to linode.com
⏹️ ▶️ Marco slash ATP and using promo code ATP2020 to get a $20
⏹️ ▶️ Marco credit towards your next project. And also, they’re hiring. Linode.com slash careers if you want to find out more
⏹️ ▶️ Marco about that. Other hiç
Marco’s bug chase
⏹️ ▶️ Marco Otherwise, once again, linode.com slash ATP, promo code ATP 2020 for $20 in credit. Thank
⏹️ ▶️ Marco you so much to Linode for hosting all my stuff and sponsoring our show.
⏹️ ▶️ Casey I want to come back to this if we have time a little bit later, but I genuinely
⏹️ ▶️ Casey have been excited to record this episode because I am hoping
⏹️ ▶️ Casey that we will be able to hear a tale of discovery, of misery,
⏹️ ▶️ Casey of excitement from Mr. Marco Armit. Marco, you have been working on something. You were
⏹️ ▶️ Casey banging your head against the wall. Hopefully there are no marks left on your forehead. What’s been going on,
⏹️ ▶️ Marco I’ve been trying to write an audio app in iOS 13. Ah, that’s
⏹️ ▶️ Casey a mistake. Why would you do that?
⏹️ ▶️ Marco I’ve had a lot of challenges with the latest version of Overcast and beta.
⏹️ ▶️ Marco I spent the last week or so basically issuing one to two new builds a
⏹️ ▶️ Marco day trying to chase down this crazy problem that I was
⏹️ ▶️ Marco having with my AV audio engine based playback engine. Sometimes,
⏹️ ▶️ Marco for some people, audio would not play when the screen was off.
⏹️ ▶️ Marco You could send the app to the background, all of that would be fine, like so it would do background playback,
⏹️ ▶️ Marco but if you turned off the screen to your phone it would pause and the second you turn the screen
⏹️ ▶️ Marco back on it would unpause. So it’s not that the app was crashing
⏹️ ▶️ Marco because it wouldn’t unpause if that was the case and it’s not that the app didn’t have background
⏹️ ▶️ Marco audio capability if that was the case it would not play in the background at all even with the
⏹️ ▶️ Marco screen on. So that wasn’t the issue. The issue was if the screen was off
⏹️ ▶️ Marco this would be the problem. Now I tried a whole bunch of different stuff. I tried, first of all, I suspected like maybe
⏹️ ▶️ Marco my AV audio session is not getting correctly the fact that
⏹️ ▶️ Marco I have an active session or that it’s you know that it’s a long-form session or whatever. So I did all sorts of tricks with
⏹️ ▶️ Marco the AV audio session like trying like not deactivating it ever, trying to you know
⏹️ ▶️ Marco activate it every time I hit play and then checking it you know polling it to see if it was getting deactivated or whatever. I tried so many things
⏹️ ▶️ Marco with the audio session manager and I wasn’t getting anywhere with that. Then I realized,
⏹️ ▶️ Marco or I remembered rather, when I wrote Overcast’s original audio engine, which
⏹️ ▶️ Marco is still what you’re hearing this through if you’re playing in Overcast if my new update hasn’t been approved yet, there
⏹️ ▶️ Marco was this issue that if you run an AU graph, which is Apple’s old, old, old audio framework
⏹️ ▶️ Marco for audio units, if you run an AU graph and you want it to be backgroundable, there’s a certain property that you
⏹️ ▶️ Marco have to set on all the audio units in it that is documented
⏹️ ▶️ Marco only by this one tech note. It’s like one like QNA 1606 something like that
⏹️ ▶️ Marco and there’s this maximum frames per slice setting because the idea is
⏹️ ▶️ Marco that when you are you know pumping audio through audiograph like the there’s like this real-time audio thread
⏹️ ▶️ Marco that requests a certain number of samples every time it calls back your function your function is to give it
⏹️ ▶️ Marco that number of samples and usually that number was either 256 or 512. And so it was calling your function every 512 samples,
⏹️ ▶️ Marco and keep in mind there’s 44,000 of these per second most of the time, so it’s calling this
⏹️ ▶️ Marco function a lot. When the screen turns off,
⏹️ ▶️ Marco the phone switches to a lower power version of this, where instead of requesting
⏹️ ▶️ Marco smaller blocks more frequently, it starts to request much bigger blocks. So it doesn’t have to poll
⏹️ ▶️ Marco you as often, so the CPU can be in a lower power state more of the time. And
⏹️ ▶️ Marco so it starts instead of asking for 512 or 256, it starts asking for, I believe, 4096.
⏹️ ▶️ Marco And if you didn’t set this property on all your audio units that was barely documented,
⏹️ ▶️ Marco welcome to Core Audio, if you didn’t set this property to at least that 4096 number
⏹️ ▶️ Marco to say, like, what’s the maximum number of audio samples I can provide you at once, this
⏹️ ▶️ Marco exact problem would happen. If you turn the screen off, your audio would just pause,
⏹️ ▶️ Marco The challenge of this to me is that once you have
⏹️ ▶️ Marco an AV audio engine type API, you can’t set that property anywhere. There’s nowhere
⏹️ ▶️ Marco where you can do that. What was extra weird is that if you do that wrong with an AU graph,
⏹️ ▶️ Marco the old way, it fails every time. You can reproduce it 100% of the time in development,
⏹️ ▶️ Marco just turn your phone screen off and it pauses, and you’re like, oh, I got a problem. You can fix it. And you can see if your fix works. But this
⏹️ ▶️ Marco is an intermittent problem I was having. It never happened to me once. I could not get
⏹️ ▶️ Marco it to happen in development at all, but every beta build I would send out, I would get a large
⏹️ ▶️ Marco number of people saying, within a few hours of it going out, this is happening, this is still happening, this is still
⏹️ ▶️ Marco happening. So the only way I had to test whether my fix was working was to issue
⏹️ ▶️ Marco a new build to all the beta testers, send it out to like thousands of people, many of them install it,
⏹️ ▶️ Marco and then look at feedback eight to 12 hours later and see how many people were saying this instill his feedback.
⏹️ ▶️ Marco And so I was just like blindly shooting in the dark here. And eventually I
⏹️ ▶️ Marco found… so based on that hunch of maybe it was related to that old tech node,
⏹️ ▶️ Marco I eventually found there’s a property on ABAudioSession where you can
⏹️ ▶️ Marco tell it what latency duration to use basically. Like you can set
⏹️ ▶️ Marco your preferred I O buffer and if you set it to something it effectively
⏹️ ▶️ Marco disables the automatic switching between more blocks, less blocks. So I just
⏹️ ▶️ Marco set it to exactly 8192 samples, which is twice the old 4926.
⏹️ ▶️ Marco I set it to exactly that number, and the problem vanished. So
⏹️ ▶️ Marco I think I have solved this problem. I have not gotten any reports of it,
⏹️ ▶️ Marco or at least many. It’s gone from like a ton to like two or three. So it
⏹️ ▶️ Marco seems like I think I have fixed it. And oh my goodness,
⏹️ ▶️ Marco it’s been quite a ride. So anyway, that’s a long, long, long story to say there’s this crazy
⏹️ ▶️ Marco audio bug in iOS 13 that happens sometimes to some people. I think I have fixed it in this
⏹️ ▶️ Marco version of Overcast that might be out by the time you listen to this.
⏹️ ▶️ Marco Oh God, this is the kind of thing that just crushes my morale because it’s so
⏹️ ▶️ Marco frustrating. I mean, I’m sure all developers go through this. when you have a bug and you just, not only can you not reproduce it,
⏹️ ▶️ Marco it doesn’t even make sense that it could happen. And then you go through all these crazy difficult
⏹️ ▶️ Marco tricks and tests and logs, trying to figure out how the heck can this possibly be happening.
⏹️ ▶️ Marco And then eventually you try some really obscure thing and I think this worked,
⏹️ ▶️ Marco but I’m like, first of all, it’s frustrating that I can’t be sure that it worked.
⏹️ ▶️ Marco And it’s extra frustrating that like, there’s this weird undocumented thing that, or
⏹️ ▶️ Marco barely documented thing, what hope does anyone else have of ever figuring this stuff out?
⏹️ ▶️ Marco Like, I happen to know, from having written this old audio engine five years ago, I happen
⏹️ ▶️ Marco to know that there was this little weird thing in the API that you had to do to make it background properly.
⏹️ ▶️ Marco Had I not known that, I never would have figured this out. There’s nothing on Stack Overflow, like there’s
⏹️ ▶️ Marco nothing anywhere that’s useful. There’s one discussion thread on Apple Forums that references
⏹️ ▶️ Marco this Q and A, which is how I eventually found it, I can’t overstate how
⏹️ ▶️ Marco important it is that Apple document their damn APIs.
⏹️ ▶️ Marco Like so much of Apple development, you’re shooting in the dark here, and the
⏹️ ▶️ Marco documentation is either wrong, or incomplete,
⏹️ ▶️ Marco or just totally missing. Audio is definitely one of those areas where there’s almost
⏹️ ▶️ Marco no documentation for audio, what’s there is usually incredibly incomplete and
⏹️ ▶️ Marco the errors that you get are usually incomprehensible to the non-existent. Weird stuff
⏹️ ▶️ Marco happens like the main thread will get blocked for like five seconds by a random audio call to
⏹️ ▶️ Marco like start playing audio. It’s just weird stuff happens with the audio subsystem and then
⏹️ ▶️ Marco whenever there’s a new OS version or a new beta season audio gets really messed
⏹️ ▶️ Marco up. I don’t know why like it doesn’t seem like the kind I think they would be changing often, but they do change
⏹️ ▶️ Marco it often. And some of it makes sense, like when they launch new things like AirPods, and you gotta have all the support
⏹️ ▶️ Marco in place for that, and stuff like the audio sharing and AirPlay 2, they do a lot of stuff in the audio realm,
⏹️ ▶️ Marco but the audio subsystem is so buggy, and so undocumented,
⏹️ ▶️ Marco and so just bad at reporting errors, and the tooling around it is
⏹️ ▶️ Marco non-existent, so it’s hard to even test most of these error cases. It’s so hard
⏹️ ▶️ Marco to make an app that just plays audio reliably. The audio APIs on iOS
⏹️ ▶️ Marco are so incredibly difficult to work with for unnecessary reasons. You know,
⏹️ ▶️ Marco things like bugs and documentation problems. Not the APIs themselves, they have some problems, but they don’t have
⏹️ ▶️ Marco major problems. I would never have guessed when I set out to write an audio app that I would be
⏹️ ▶️ Marco fighting the platform so often.
⏹️ ▶️ John I would imagine that the common case is that they use whatever it is, AV audio player, like the super high
⏹️ ▶️ John level API, which is like, don’t you worry about audio. You just tell us what you wanna play and we’ll handle all the
⏹️ ▶️ John details and know you can’t control anything about it or have limited control, but don’t worry, we’ll get it done. Like that I
⏹️ ▶️ John feel like is probably the most, you know, the paved road, as they say,
⏹️ ▶️ John for audio. Obviously you are going off the beaten path. You want to get
⏹️ ▶️ John at the guts, you wanna get right in there, you wanna make your own engine, you wanna have total control over the whole stack,
⏹️ ▶️ John And then you are essentially working with the guts of their system, which, you know,
⏹️ ▶️ John it doesn’t surprise me that they’re totally undocumented and buggy and weird because they’re like, Oh, no one’s going to ever, I
⏹️ ▶️ John know they’re public API’s. I know you’re not using private areas, but they’re like, well, no one’s gonna ever use these things. I mean, who knows if they even
⏹️ ▶️ John have tests for them or what or how they would test it. And they’re like, as long as our top level front door,
⏹️ ▶️ John just please play an audio file for me as long as that works fine. We’ll test that and make sure that mostly
⏹️ ▶️ John works. but anyone mucking around in the internals, like, and you don’t have the source code to it, right? So if
⏹️ ▶️ John they’re like, oh, I could write a good audio engine because here next to me is the source code to the audio system and
⏹️ ▶️ John I can see how it’s all working and I can step through it in the debugger and say, oh, I see what the problem is. I see right here, there’s
⏹️ ▶️ John this conditional saying, oh, you’ve just gone into the background and changed the buffer’s eyes and do it. Like,
⏹️ ▶️ John you’d see that if you were working on the guts. You’re working with the guts, but you don’t have access to the guts.
⏹️ ▶️ John So you’re just like fumbling around in the dark saying, does this work? Does this work? this thing’s not
⏹️ ▶️ John documented, but it seems like it has these functions and I guess you’re supposed to use them this way, right?
⏹️ ▶️ John Like if you could just see like the comments above that function to be like, oh, here’s what you gotta do with this and keep in mind
⏹️ ▶️ John X, Y, but you can’t see any of that. It’s just a bunch of binary libraries. So I feel your pain,
⏹️ ▶️ John but yeah, and it doesn’t, you know, lobbying for them to make that better is probably much more
⏹️ ▶️ John difficult than if you said like, oh, I just tried to play an audio file with your top level audio API and it didn’t work.
State of software quality
⏹️ ▶️ Marco Yeah, well, and like, and it goes beyond just, you know, that I’m using special APIs. It’s
⏹️ ▶️ Marco also in a lot of cases, it’s really hard to tell if it’s even my bug because
⏹️ ▶️ Marco iOS 13 in general has had a lot of audio bugs. Like I find even just like
⏹️ ▶️ Marco switching in and out of AirPods or eat like I find bugs
⏹️ ▶️ Marco in the music app trying to play music, you know, between itself or home pods or against
⏹️ ▶️ Marco AirPods, like switching devices, car play. There’s just so many problems that are audio related
⏹️ ▶️ Marco in iOS 13, not to mention all of iOS 13’s other issues. Like for instance, I still have to go back to the
⏹️ ▶️ Marco all inboxes list in mail and then back into the inbox to refresh messages sometimes.
⏹️ ▶️ Marco And again, I don’t know, I don’t know why Apple thinks it’s okay to
⏹️ ▶️ Marco break the mail app so often, but they do. But they also seem to break audio very often. And
⏹️ ▶️ Marco so it’s hard, like I don’t even know if this is my bug or not sometimes. a lot like a
⏹️ ▶️ Marco lot of times like you know if the audio engine just hangs and I’ve given it the exact same conditions that I’ve always
⏹️ ▶️ Marco given up given it and this time it hangs and last time it didn’t like how am I supposed to know
⏹️ ▶️ Marco is this is this my issue or is this you know that that person’s phone had a weird little glitch
⏹️ ▶️ Marco with iOS 13.1 point whatever and that’s actually an OS issue it’s just
⏹️ ▶️ Marco again like it adds to the massive like rippling effects of
⏹️ ▶️ Marco iOS 13 and being such a buggy release, it puts a huge tax
⏹️ ▶️ Marco on developers all year long. Because we have to also fight around
⏹️ ▶️ Marco the bugs with our own apps and try to figure out, first of all, is this our bug
⏹️ ▶️ Marco or is it not our bug? And if it’s not our bug, do we have to work around it somehow
⏹️ ▶️ Marco anyway because Apple’s not fixing it?
⏹️ ▶️ Casey Leo Dionne Jr. Which framework is all of this stuff in? Is this Audio Toolbox or AV Foundation
⏹️ ▶️ Marco a lot of overlap there. Most of this that I’ve been telling you about
⏹️ ▶️ Marco is AV Foundation, but under the hood it uses a bunch of audio tool block stuff. Steve
⏹️ ▶️ Casey McLaughlin Well, but Marco, AV Foundation is 88.2% documented as per no overview available.
⏹️ ▶️ Casey Surely there’s almost nothing missing. Marco
⏹️ ▶️ Marco Willis Well, the great thing is, you know, a lot of times this is like this won’t be measured correctly because
⏹️ ▶️ Marco most of these functions actually do have official like sentences to describe
⏹️ ▶️ Marco what they do in the documentation. just incredibly incomplete and sometimes wrong.
⏹️ ▶️ Casey No, no argument. I’m snarking, but no overview available was done, I believe,
⏹️ ▶️ Casey by Matt from NS Hipster, if I’m not mistaken. But anyways, we’ve talked about it in the past,
⏹️ ▶️ Casey but it just visually shows you how god-awful Apple documentation has become
⏹️ ▶️ Casey over the last few years. And I’m assuming it was better in the past. Maybe it wasn’t. But there is
⏹️ ▶️ Casey a lot of stuff here that is just really, really poorly documented.
⏹️ ▶️ Casey And I have been whining and complaining and moaning and fetching to anyone
⏹️ ▶️ Casey who I know inside Apple who will listen to me, which is basically nobody. I know a lot of people that don’t
⏹️ ▶️ Casey listen to me, saying, this is bull. This is awful. Like I can’t do my
⏹️ ▶️ Casey job as effectively as I want because you guys for political reasons, for,
⏹️ ▶️ Casey for, I don’t know, uh, some, so I don’t know what it would be other than political reasons. I mean, they have
⏹️ ▶️ Casey enough people, they have enough money. I know that there are teams working on documentation, but somehow it never makes
⏹️ ▶️ Casey it out. And just pointing to a WWDC video and saying, there’s your documentation is obnoxious at best
⏹️ ▶️ Casey and just plain wrong at worst. I don’t know. This is a bugbear that’s really been
⏹️ ▶️ Casey driving me nuts recently. And I ran up against this as recently as earlier today. And so I’ve
⏹️ ▶️ Casey got a real bee in my bonnet about it. But it’s just so frustrating. I
⏹️ ▶️ Casey guess maybe ultimately the problem is that I think of myself as more important to Apple, not
⏹️ ▶️ Casey me, Casey, but like developers, third-party developers, is more important to Apple than we really are. But
⏹️ ▶️ Casey you would think for a company that wants to provide really robust, well-done
⏹️ ▶️ Casey APIs, and often does, yet they don’t spend the time to actually document anything.
⏹️ ▶️ Casey And to your point, Marco, half the time it’s documented, it’s incompletely documented or wrongly documented. And
⏹️ ▶️ Casey it’s just unfair. Like, I know I’m kind of whining right now, but it’s just plain unfair.
⏹️ ▶️ Marco And I think it speaks to a bigger problem of like, the technical foundations
⏹️ ▶️ Marco of this company are rotting. This is a company that is doing way too much
⏹️ ▶️ Marco and is pushing way too hard on the new stuff and is not allocating its resources
⏹️ ▶️ Marco properly to keep things at a high quality level. And this goes all
⏹️ ▶️ Marco levels of the company. This goes from the front end apps, like I was complaining
⏹️ ▶️ Marco last week about how they haven’t really designed good UIs in a long time. design is all over the place and
⏹️ ▶️ Marco they seem to not have time or the care to lead that correctly. And then this also goes for
⏹️ ▶️ Marco things like software quality and API stability and documentation and like
⏹️ ▶️ Marco and the released OS’s. This is all related. This is all the company
⏹️ ▶️ Marco not being able to keep up with itself. And this is an entirely self-created
⏹️ ▶️ Marco problem. It’s management problems. It’s like how you allocate resources,
⏹️ ▶️ Marco what kind of timelines you set, how you decide when to release something versus when not to.
⏹️ ▶️ Marco This is all within their control and it’s not being balanced
⏹️ ▶️ Marco well right now at all and it hasn’t been for years. And I don’t know how to fix that because
⏹️ ▶️ Marco I don’t know enough about their internal workings or their people or whatever. I don’t think this is just
⏹️ ▶️ Marco a purely like, oh, fire Tim Cook kind of problem. I think it’s probably more complicated than that, but
⏹️ ▶️ Marco this is ultimately on management and leadership to fix. It’s about allocating
⏹️ ▶️ Marco resources and setting deadlines and choosing what to focus on and what’s important
⏹️ ▶️ Marco to you. And it seems like software quality is not important enough to them at all. And
⏹️ ▶️ Marco that goes to everything from documentation to the APIs to the OSes
⏹️ ▶️ Marco to the software itself. Paul
⏹️ ▶️ John Bateman I think one thing, I don’t know if we talked about this in our last, previous conversations
⏹️ ▶️ John about Apple’s software strategy and all the other stuff.
⏹️ ▶️ John But it occurs to me, partly part of the conversation that’s been happening this past week about
⏹️ ▶️ John the 10th anniversary of the iPad, which we probably won’t get to talk about today, but Oisho has
⏹️ ▶️ John been cycling around, that different products
⏹️ ▶️ John are different points in their lifetime, different Apple products. And even if they started
⏹️ ▶️ John at the same time, they might progress at a different time. And during the various
⏹️ ▶️ John life stages of any product or product category, different strategies are appropriate.
⏹️ ▶️ John And at this point, with the iPhone in particular, even though it is still a mass,
⏹️ ▶️ John the majority of Apple’s business and by far their biggest product and super important and everything
⏹️ ▶️ John like that, the category of smartphone has slowed
⏹️ ▶️ John down progress and innovation wise, as compared to
⏹️ ▶️ John a decade ago or whatever. Like in the beginning, if you look at the first iPhone up to the
⏹️ ▶️ John iPhone 4, it’s like, whoa, like there’s some big changes hardware and software wise. And at
⏹️ ▶️ John this point, software wise, if you look across the entire market, there are important
⏹️ ▶️ John new software features that you have to have. Photography, face ID was important or whatever, but
⏹️ ▶️ John in general, the pace of change of smartphone operating system software and
⏹️ ▶️ John sort of platform features has slowed significantly. And so I feel like it is
⏹️ ▶️ John an appropriate time for Apple to consider
⏹️ ▶️ John leaning more towards the iOS 12 strategy of like, let’s just keep making
⏹️ ▶️ John what we have faster and pick one or two or three important new features that are required
⏹️ ▶️ John to stay ahead in the industry or keep pace in the industry, but not feel like,
⏹️ ▶️ John you know, iOS N plus one has to advance on all fronts every time because that’s just not the nature
⏹️ ▶️ John of the smartphone market anymore. There is not, I don’t think there’s pressure to do that. And I think the
⏹️ ▶️ John internal pressure, the sort of self-imposed internal pressure of like, the next iOS has got to be
⏹️ ▶️ John better in every way and have all new features and subsystems. That’s not what users want.
⏹️ ▶️ John That’s not what the market demands. And it’s not required to stay ahead. And it is actually detrimental
⏹️ ▶️ John to staying ahead because what’s required to stay ahead is one or two or three really important new
⏹️ ▶️ John features that advance probably with some hardware component. That’s important to keep doing. Like don’t just say, okay, well, it’s
⏹️ ▶️ John done and we never need to anything. You’ll never get Face ID that way and Face ID was important, right? So pick the way
⏹️ ▶️ John you’re gonna advance. But then all the other stuff you’re like, do we need to change this? Is
⏹️ ▶️ John this one of the tentpole features of the new OS? If not, let’s dedicate
⏹️ ▶️ John all those resources to an iOS 12 strategy of refinement, fix bugs, make it faster,
⏹️ ▶️ John you know, just document, do all the things that you supposedly never have time to do.
⏹️ ▶️ John And that should sort of be the default. And then only a few things are blessed in each major release as
⏹️ ▶️ John the, you know, this is gonna be where we’re making some big advances. These are gonna be our big
⏹️ ▶️ John customer-facing marketing features. I haven’t been keeping up with the rumors for iOS 14. I did hear
⏹️ ▶️ John briefly in some story that there was some rumor that it was gonna support all the same phones as 13. And
⏹️ ▶️ John it immediately made me think slash hope, like, oh, maybe that means 14 is gonna be more like 12 again,
⏹️ ▶️ John where they’ll try to sort of regroup and make everything less buggy and faster. There was nothing
⏹️ ▶️ John in the one headline that I saw that indicated that, but the fact that I was hoping that that was the case makes me feel like
⏹️ ▶️ John that’s at least what I want as a consumer is when iOS 14 comes out, I want it to
⏹️ ▶️ John be a no-brainer update that is as stable as iOS 12 was and is as pleasing as
⏹️ ▶️ John iOS 12 was. Oh, everything’s a little bit faster and there aren’t any weird bugs, and maybe there’s one or two new cool
⏹️ ▶️ John features I want. That I think is appropriate for the smartphone market, and it came up in the context of the iPad
⏹️ ▶️ John because the iPad is in a very different place. The iPad’s pace of innovation has been slow,
⏹️ ▶️ John and there is tons of room for major new advancements in that area. So I think the strategy for
⏹️ ▶️ John iPadOS, which now has its own name, but unfortunately under the covers is very much
⏹️ ▶️ John iOS, but slightly different, I don’t know how they square that, but like iOS needs to make some major
⏹️ ▶️ John advances. Maybe not competitive pressure wise, but just product wise.
⏹️ ▶️ John Because the tablet market is different than the phone market, because the tablet market has not blossomed
⏹️ ▶️ John and matured and had this sort of, you know, competitive pressure to evolve
⏹️ ▶️ John through competition to what the smartphone market has. And since those are basically both the same OSs
⏹️ ▶️ John under the cover, it’s difficult to strike that balance, but hey, they did give it a separate name I’m perfectly fine if they
⏹️ ▶️ John fork off from each other and continue advancing that way and also because most of the features on the iPad
⏹️ ▶️ John That the iPad needs to deal with shouldn’t require major guts redesigns I hope and
⏹️ ▶️ John I don’t actually know like maybe there is something that needs to be done to the guts to to mess with that but
⏹️ ▶️ John that’s my thinking on the the software quality and in particular on the phone and iOS
⏹️ ▶️ John that It is I’m not gonna say it’s time for Apple to slow down or the time to Apple to to
⏹️ ▶️ John give up or whatever, anything like that. I’m just saying that like, they may not be choosing
⏹️ ▶️ John the right strategy for each of their products particular stage. It’s like picking dog
⏹️ ▶️ John food for your dog. Like what life stage is your dog in? You know, you get the puppy chow, you get the,
⏹️ ▶️ John what is it called? Like the geriatric dog chow, you get the adult dog chow. I think it’s
⏹️ ▶️ John time for the iPhone to have the adult dog chow.
⏹️ ▶️ Marco There seems to be this disconnect between the pace of
⏹️ ▶️ Marco change and feature evolution and new stuff that Apple keeps doing
⏹️ ▶️ Marco and what customers actually want and need. And, you know,
⏹️ ▶️ Marco iOS, so another thing that I’m doing in this Overcast release is
⏹️ ▶️ Marco here now, like, you know, four or five months after iOS 13 launched,
⏹️ ▶️ Marco I’m restoring support for iOS 12 in this release because not enough people have updated
⏹️ ▶️ Marco to iOS 13 and adoption seems to have flattened out pretty significantly. So
⏹️ ▶️ Marco we’re standing at something like 75% adoption, depending on how you measure it. and that’s
⏹️ ▶️ Marco good, but it’s not good in the sense that a quarter of the user base seems to not
⏹️ ▶️ Marco want iOS 13 at all. That’s bad in the sense that if you want your app to run on 25%
⏹️ ▶️ Marco of devices, which is not a small number, you can’t use all this new stuff yet
⏹️ ▶️ Marco because iOS 13 has been such a botched release with bugs and everything like that, that
⏹️ ▶️ Marco people are avoiding it and holding on to 12 the same way I’m still not on Catalina for all the same
⏹️ ▶️ Marco reasons, because I’m holding on to whatever the heck this is, Hi Mojave, whatever, I’m running.
⏹️ ▶️ Marco What Apple’s customers want is not new ways to
⏹️ ▶️ Marco pose Animoji with faces and glue them together with iPad drag and drop. No, what
⏹️ ▶️ Marco Apple’s customers want is reliable phones and good battery life and good performance on their older stuff. When you introduce something
⏹️ ▶️ Marco like iOS 13, like yeah, there’s some fun new stuff in it here and there, some nice features, but
⏹️ ▶️ Marco there’s a big price to pay in the much more important stuff of everything needs to work
⏹️ ▶️ Marco well, and again, to a lot of people, it has to work quickly on old phones, and it has to support their old phone to begin
⏹️ ▶️ Marco with, and stuff like that, and if they’re falling down on those fronts, nobody cares about the new
⏹️ ▶️ Marco features. And we have this series of releases now where it seems like the new features are
⏹️ ▶️ Marco less compelling than ever, at the same time that the basics are getting
⏹️ ▶️ Marco screwed up more often than ever. And that’s dangerous. That shows that
⏹️ ▶️ Marco things are not being managed correctly. Like this is a problem. I don’t know whose
⏹️ ▶️ Marco problem it is or how to solve it, but this is ultimately a management
⏹️ ▶️ Marco and a resource allocation and release planning type problem. And this doesn’t seem, it doesn’t
⏹️ ▶️ Marco seem like Apple is taking this seriously. It doesn’t seem like they’re actually making changes. Like
⏹️ ▶️ Marco we hear rumors about Federighi having memos or meetings where they say they’re gonna like,
⏹️ ▶️ Marco you know, get better. But what have they actually changed to make that happen? Are they not
⏹️ ▶️ Marco going to release every year anymore? Are they going to cut back significantly on new features?
⏹️ ▶️ Marco Are they going to, you know, make the old OS run on new hardware? Who knows? It doesn’t
⏹️ ▶️ Marco seem like they’ve actually changed anything. It seems like all they’ve done is
⏹️ ▶️ Marco say they’re going to get better. But we haven’t heard anything about actual changes that have actually happened that would
⏹️ ▶️ Marco be material to that. So that I’m still very much concerned about.
⏹️ ▶️ Marco Anybody can say I’m going to get better, but without actually changing significant things that will enable
⏹️ ▶️ Marco that change, I don’t know how it’s ever going to happen.
⏹️ ▶️ John Well, they did iOS 12, which shows that they can do a release like that. Of course,
⏹️ ▶️ John we don’t have any transparency, so we don’t know, like I was saying, is iOS 14 on an iOS 12-like
⏹️ ▶️ John path, or is it not? We’re not going to find that out until basically they announce iOS 14, and then they’ll either brag about
⏹️ ▶️ John the fact that they concentrated on performance and stability enhancements or they won’t and will have to surmise from what
⏹️ ▶️ John they say publicly whether it was like
⏹️ ▶️ Marco that. They’re going to say that anyway because 13 had a bad reputation. The same way like iOS 11 had a bad
⏹️ ▶️ Marco reputation which is why iOS 12’s marketing message was basically we’re focused on stability and performance
⏹️ ▶️ John did though. But they did in 12 I feel like they succeeded in that strategy of
⏹️ ▶️ John giving a stable OS that has fewer features that was far less buggy than 13 for sure. And it
⏹️ ▶️ John also then 11, and it was generally a well-received OS. Customers
⏹️ ▶️ John liked it, people upgraded to it. It was stable. It did what they said. It wasn’t just marketing
⏹️ ▶️ John BS, right? So, but we didn’t know that until 12 basically was announced. So if Apple is doing
⏹️ ▶️ John that now, we’re not gonna know about it because they’re not gonna tell us about what they’re doing internally. But I think when
⏹️ ▶️ John iOS 14 is announced, they’ll tell us. And 13, they didn’t make the same pitch as 12. 13, it
⏹️ ▶️ John was like, look at all these new features. The pitch was not, we really regrouped them, or we’re mostly concentrating on performance. That
⏹️ ▶️ John wasn’t the 13 pitch at all. So I think it is totally conceivable they could be doing that, but yes, it’s frustrating
⏹️ ▶️ John that we don’t actually know because that’s sort of their own internal business and you don’t know their internal business.
⏹️ ▶️ John We’ll find out when they announce iOS 14, but you know, here’s hoping.
⏹️ ▶️ Casey Well, we don’t know except when we do. There was a German article from late
⏹️ ▶️ Casey November, Inside Apple iPhone Software Shakeup after Buggy iOS 13 debut.
⏹️ ▶️ Casey And this article talks about how apparently Federighi got everyone, all the troops in the
⏹️ ▶️ Casey same room and basically said, hey, we’re gonna do a whole bunch of things totally different. And I don’t remember the exact
⏹️ ▶️ Casey details. I haven’t read this article since it came out, but the short short of it is that they’re
⏹️ ▶️ Casey planning or they were planning on changing kind of the way they
⏹️ ▶️ Casey develop stuff leading up to release. And I had heard from a couple of different people
⏹️ ▶️ Casey that this article, while the details were wrong, surprise, surprise, but the general gist of it was
⏹️ ▶️ Casey accurate, that they are going to rework the way they do their work. And
⏹️ ▶️ Casey I don’t know any more specifics than that, but that is indicative to me that there’s at least some amount of acknowledgement
⏹️ ▶️ Casey and understanding that things are broken. Now, with that said, if it’s anything like any of the places
⏹️ ▶️ Casey I’ve worked, the answer to a broken process is what, John?
⏹️ ▶️ Casey Greenewald More process. Oh yeah, more process. And so it very well could be that this is just going to make things
⏹️ ▶️ Casey worse and not better, but it’s at least a small step in the right
⏹️ ▶️ Casey direction. And I think that we should acknowledge that even though I do agree with everything, both of you guys said.
⏹️ ▶️ John I think that’s what Marco was getting at though. Like when we hear stories like that, which obviously are not coming directly from Apple, so it’s always, you know,
⏹️ ▶️ John a game of game of telephone or whatever, that always sounds like. The stuff you hear in any company, when something
⏹️ ▶️ John bad goes wrong, they’re always going to say, we’re going to do things differently or we’re going to try harder or whatever. And I feel like
⏹️ ▶️ John because we’re not privy to what’s actually going on, rumors like that could go either way, because they’re going to
⏹️ ▶️ John say that internally, no matter what. And it could be, they’re just like, don’t actually make any changes that effectively change
⏹️ ▶️ John things. But I feel like when they announced the OS, Apple knows by that point, have we pulled it off? Like when they were
⏹️ ▶️ John announcing iOS 12, it wasn’t just like, oh, iOS 12 was going to be a stability release. They had been looking at iOS 12. They know, guess
⏹️ ▶️ John what? It’s pretty, the number of bugs is low. We did what we set out to do.
⏹️ ▶️ John By the time they’re announcing it to us, they know whether the thing they said nine months
⏹️ ▶️ John earlier turned out to just be a bunch of BS or whether it actually changed things for the better, whether
⏹️ ▶️ John their process changes actually. So that’s why I feel like because we don’t have a view of the
⏹️ ▶️ John internals, I think we just have to assume anything they say to themselves internally
⏹️ ▶️ John is meaningless and could go either way. But when they say it to us and we get the bits,
⏹️ ▶️ John and when they say it to us, they’re honest. When they say it to us, if they emphasize that it’s stable
⏹️ ▶️ John and performant, it probably is, because they already know. The WWDC
⏹️ ▶️ John build is a good way to judge things. Sometimes the WWDC, we always know the WWDC build is early, but
⏹️ ▶️ John if the WWDC build is actually kind of OK, that is a very good sign. And if it’s not
⏹️ ▶️ John OK, it could still go either way, but it’s not a good sign. So
⏹️ ▶️ John I’m waiting for June.
⏹️ ▶️ Marco I’m also not entirely sure that their alleged process changes
⏹️ ▶️ Marco from the article are going to be enough, even if they do it. I mean, honestly,
⏹️ ▶️ Marco it did kind of sound like, we’re going to fix this by working harder, which is not
⏹️ ▶️ Marco ever the solution to any real problem. But right now, iOS 13 is
⏹️ ▶️ Marco still full of tiny little paper cut bugs. And it’s been like five
⏹️ ▶️ Marco months. If they make it so that the initial releases are better,
⏹️ ▶️ Marco what does that put them at? About where we are now? This still isn’t good enough. And from what I’m guessing,
⏹️ ▶️ Marco or from what I’m hearing, Catalina, which is only slightly younger is not doing
⏹️ ▶️ Marco that much better. It’s similar to the issue of what I said last
⏹️ ▶️ Marco week, that I honestly don’t think Apple is capable of making great UIs anymore. It’s almost
⏹️ ▶️ Marco seeming like they’re not capable of shipping high quality software anymore. And that’s really scary
⏹️ ▶️ Marco because if you look at what they’ve actually shipped over the last five years,
⏹️ ▶️ Marco there’s not a lot of bright spots in quality. There’s not a lot of releases you can point to and say that one was really
⏹️ ▶️ Marco good. Even iOS 12 had some issues. It wasn’t as bad as 13. iOS 12
⏹️ ▶️ Marco is pretty good, but I think that’s been the best one. Even whatever the macOS version I’m running now was not great.
⏹️ ▶️ Marco MacOS seems to have even more issues than iOS a lot of times. But I don’t know. I’m concerned.
⏹️ ▶️ Marco What they need to change are fundamental priorities and resource
⏹️ ▶️ Marco allocations and process things. And I don’t know that they’ve changed those. A lot of that
⏹️ ▶️ Marco might even be above Craig Federighi’s head. So we don’t even know if he can change those.
⏹️ ▶️ Marco But regardless, it’s unclear whether that level of change
⏹️ ▶️ Marco has happened. And anything less than that, if they’re just saying we’re going to work harder and we’re going to feature
⏹️ ▶️ Marco flag disable bad stuff isn’t necessarily going to be enough.
⏹️ ▶️ John I’m glad at least I have a canary for OS
⏹️ ▶️ John quality, kind of like the app modal preference dialog box. And iTunes was a good canary for whether
⏹️ ▶️ John they’ve actually changed the app. Now I have the undead toolbars that
⏹️ ▶️ John keep popping up in my Finder window.
⏹️ ▶️ John, Marco I’ll know that
⏹️ ▶️ John someone has finally paid attention to Mac OS when that bug gets fixed. I figure it will probably
⏹️ ▶️ John last another three or four releases before anyone even acknowledges its existence. and then in five or six years it’ll get fixed
⏹️ ▶️ John because nobody cares about these bugs because everyone just leaves a toolbar visible all the time so why should anyone care?
⏹️ ▶️ John But yeah, it’s good to have some way to
⏹️ ▶️ John measure. Like is my personal experience of Mac OS stability
⏹️ ▶️ John or iOS stability representative? Is there a systemic problem? Obviously the part of that is you just look at the press and see if other people are complaining
⏹️ ▶️ John about it or whatever but paper cut bugs like Marco was talking about, sometimes those last for a really long time because
⏹️ ▶️ John no one cares about that paper cut or no one is staffed to work on that application at all. So
⏹️ ▶️ John it is not being changed at all. Or if it’s being changed, this was a thing back in the early days of macOS that was an epidemic
⏹️ ▶️ John and people on Apple used to complain about it. Like 10.2 or 10.3 or whatever, you’d
⏹️ ▶️ John be responsible for the whatever, the mail app finder. And the only thing you’d get to do in a release
⏹️ ▶️ John is you would be told that what you have to do is implement support for insert
⏹️ ▶️ John new headlining feature of Mac OS here, whether it’s Spotlight or some new graphic system or make
⏹️ ▶️ John a dashboard widget or whatever that’s like, but I wanted to do feature X with my
⏹️ ▶️ John application or I wanted to refactor something or work on stability and performance. It’s like, nope, you’re doing Spotlight
⏹️ ▶️ John support because that’s the thing that we all, you know, there were so many major new features to the OS that it was important
⏹️ ▶️ John for Apple to be able to say, look, here’s a major new technology or feature and all our applications use it
⏹️ ▶️ John to great benefit to show you how good it is. And that would mean that with small teams, that’s all they could do during
⏹️ ▶️ John the release. So they wouldn’t have time to address just basic bugs with the boring functionality because they
⏹️ ▶️ John would be worried about just making their app work with the new feature, integrating it in a good way, and making sure
⏹️ ▶️ John that their thing doesn’t crash because now they’re linking to some library that is being released for the very first
⏹️ ▶️ John time. That I don’t think is happening anymore, but I can definitely see signs that applications that
⏹️ ▶️ John need some love and attention are getting very little of it, probably a fraction of some single person’s time,
⏹️ ▶️ John just to make sure they still build and function more or less correctly in the new OS. But beyond
⏹️ ▶️ John that, not much, hopefully, like mail on iOS does not fall into that category. Hopefully mail on iOS does not have
⏹️ ▶️ John a fraction of a single person’s time working on it. But the finder, I like it’s fine. And
⏹️ ▶️ John I say, well, in this release, it’s clear that they mostly worked on the thing where it replaces iTunes for your device management. And that must
⏹️ ▶️ John have been a super pain in the butt filled with tons of old creaky code pulled out of iTunes. So I feel for that
⏹️ ▶️ John team, how toolbars are suddenly spawning. It’s probably unrelated
⏹️ ▶️ John to that work, but I’m not surprised that they didn’t have time to fix it and
⏹️ ▶️ John won’t in the near future because the iTunes integration stuff is probably buggy and they’ll probably have to fix that in the next release.
⏹️ ▶️ Casey JSON COHEN On the other side of the coin, though, how quickly all three of us forget that they changed
⏹️ ▶️ Casey out the file system on, what, two billion devices? And
⏹️ ▶️ Casey I have not heard a single problem with any of them. Not to say that I’m the clearinghouse of it, but—
⏹️ ▶️ John That was a project that took, depending on how you measure, like a decade.
⏹️ ▶️ John, Casey So certain internal projects
⏹️ ▶️ John have slightly longer timelines. Nobody was saying, we need a new file system, we need it by this
⏹️ ▶️ John release. Or maybe they said that a couple of times when they pre-announced ZFS. But it’s like,
⏹️ ▶️ John I don’t know the political things that made that happen, but tech-wise,
⏹️ ▶️ John practically speaking, that was worked on for so long at a seemingly leisurely
⏹️ ▶️ John pace, which is the right thing to do for the file system. And that, you know, I’m glad they pulled
⏹️ ▶️ John it off. And with many sort of false starts of like, what kind of file system do we want to have? What about one like this? What about one like that?
⏹️ ▶️ John I heard a story recently, I think it was some ex-Apple person, like spilling some
⏹️ ▶️ John beans from long dead stuff. But like Spotlight, I don’t know if this is true,
⏹️ ▶️ John I don’t remember the source, I see a lot of things on the internet. But the idea was that Spotlight, the search engine we
⏹️ ▶️ John know and love. Well, at least the search engine we know. Yeah. It began its life
⏹️ ▶️ John in one of the many, many efforts to figure out what to do about the file system
⏹️ ▶️ John because HFS and HFS Plus, it had been creaky for a long time and the idea was like,
⏹️ ▶️ John let’s just do sort of, instead of doing everything with file hierarchy, let’s make
⏹️ ▶️ John a file system that does everything sort of just by indexing metadata, right? And just treat file
⏹️ ▶️ John path as another piece of metadata which semantically is what every file system does but like, let’s do it like
⏹️ ▶️ John physically. Like, let’s not privilege paths and anything else in the file system that have other metadata hanging
⏹️ ▶️ John off. Let’s just make everything arbitrary metadata in this big sea of things. And you can view it as a file system
⏹️ ▶️ John if you view it in terms of that one piece of metadata, but it is not privileged over any other. And apparently that
⏹️ ▶️ John didn’t work out. But by the time they’d done that enough to experiment with it, they said, well,
⏹️ ▶️ John this is not going to be our new file system because it doesn’t fulfill that purpose very well. But it’s a pretty good search engine.
⏹️ ▶️ John So can we reuse it for that? And that’s what they did. They didn’t make it a you know a search index
⏹️ ▶️ John system that lives on top of HFS plus But is not itself a replacement for the file
⏹️ ▶️ John systems That’s according to the story anyway one of their experiments about what to do about the file systems actually
⏹️ ▶️ John did ship But not as a file system, so eventually we got a PFS but there were many other things including ZFS
⏹️ ▶️ John in between now and then and that is a Project in an effort that
⏹️ ▶️ John probably didn’t have that many people on it like a handful of engineers But they worked on it for like
⏹️ ▶️ John seven to ten years and had many blind alleys and restarts or whatever and Obviously
⏹️ ▶️ John not every pro especially a project that’s like for competitive purposes like oh to be competitive
⏹️ ▶️ John We need to have like a face ID like feature You can’t spend seven years in that because the world will pass you by but
⏹️ ▶️ John for file systems They dragged it out pretty much as long as they can and they needed to pull it off so props to them
⏹️ ▶️ Marco We are sponsored this week by Bluevine. Owning a small business is no
⏹️ ▶️ Marco easy task, and sometimes your cash flow just isn’t moving at the speed of your business. Through Bluevine,
⏹️ ▶️ Marco you can secure a business line of credit in as little as five minutes. Bluevine is an easy, fast way
⏹️ ▶️ Marco to help support your business growth with a line of credit of up to $250,000. Whether you need money
⏹️ ▶️ Marco to offset upfront costs, secure inventory, or pay an unexpected expense, through Bluevine you can help yourself
⏹️ ▶️ Marco and your business stay secure for any reason. There’s no fee to set up your line of credit, and Bluevine never charges
⏹️ ▶️ Marco maintenance or prepayment fees. Applying is easy, just go online to getbluevine.com.
⏹️ ▶️ Marco Fill out a few simple details and you are done with your application within minutes. And seeing an offer will
⏹️ ▶️ Marco not affect your credit score. Once you get approved, funds can be received in as little as 24 hours.
⏹️ ▶️ Marco Have peace of mind knowing that funds can be drawn with the click of a button for any business expense.
⏹️ ▶️ Marco has helped more than 20,000 customers and has delivered over $2.5 billion in funds to
⏹️ ▶️ Marco businesses. Bluevine also has advisors available by phone to answer any questions and help meet
⏹️ ▶️ Marco your business needs. With an A-plus rating from the Better Business Bureau and nearly five-star
⏹️ ▶️ Marco reviews on Trustpilot, see why thousands of satisfied business owners have chosen Bluevine
⏹️ ▶️ Marco as their go-to source for financing. For listeners of the show, Bluevine is offering a special, a limited
⏹️ ▶️ Marco time promotion of a $100 gift card when you take out a loan or open a line of credit with Bluevine.
⏹️ ▶️ Marco Go to getbluevine.com slash ATP for more details. All you have to do is
⏹️ ▶️ Marco go to getbluevine.com slash ATP and apply. That’s quick, easy and meaningful
⏹️ ▶️ Marco help to your business in as little as 24 hours. This promotional offer is subject to terms and conditions
⏹️ ▶️ Marco that can be found at getbluevine.com at http://www.nchsoftware.com.
iPad UI complexity
⏹️ ▶️ Marco Thank you so much to Blue Vine for sponsoring our show.
⏹️ ▶️ Casey Marco, are you using your iPad these days? Every day. For anything other than playing Overcast in the kitchen?
⏹️ ▶️ Marco Well, I use it for like, you know, email and stuff like that sometimes. Light web
⏹️ ▶️ Marco browsing, occasional like, you know, Amazon ordering and stuff. But,
⏹️ ▶️ Marco I don’t know, it’s funny, like literally just today, I was booking a trip where I just had to book like you
⏹️ ▶️ Marco know a flight in a hotel standard stuff and I started doing it on my iPad like look up flights
⏹️ ▶️ Marco and everything and then I went to my computer to actually book it because I knew I’d have to be like
⏹️ ▶️ Marco juggling multiple tabs and pulling stuff out of one password and getting like my on my TSA
⏹️ ▶️ Marco pre number or something like that like and I knew that would just be I knew I could do it all on the iPad but I
⏹️ ▶️ Marco also knew it would be a lot easier to just do it up on my on my Mac so I went to the office and did the whole thing here
⏹️ ▶️ Casey Don’t blame you. Don’t blame you at all. I don’t know. I have such a,
⏹️ ▶️ Casey not love hate, because I like my iPad. So I have, and I presume you do as well,
⏹️ ▶️ Casey as we are recording this, the most recent iPad Pro. I have an 11 inch.
⏹️ ▶️ Casey So this is the first one with Face ID. And, you know, I was
⏹️ ▶️ Casey at Declan’s swim lesson this afternoon, and I was trying to draft a blog
⏹️ ▶️ Casey post and I was using the excellent Working Copy app, which is a Git client that’s actually a
⏹️ ▶️ Casey pretty decent text editor, especially for Markdown. I was able to
⏹️ ▶️ Casey set the iPad wherever Michaela happened to be standing at that moment as she was running around playing with things
⏹️ ▶️ Casey and write a bit and then if she ran somewhere else, it was so easy to just grab it, fold it up and go somewhere else with
⏹️ ▶️ Casey it. It was light and I didn’t even really have to think about it when I was carrying it. In so many ways, I love
⏹️ ▶️ Casey it so much. But then I was trying to book our summer vacation, uh,
⏹️ ▶️ Casey just a few days ago. And I was doing a lot of like preliminary research on the iPad and realizing
⏹️ ▶️ Casey that it’s just frustrating. Like, even though I have about the same amount of real estate as my MacBook adorable,
⏹️ ▶️ Casey I just can’t use it the way I want to, because the multitasking and iPad is, as I’m sure we’ll discuss
⏹️ ▶️ Casey and Gruber has talked about a lot recently is difficult to unintelligible, to
⏹️ ▶️ Casey incoherent, to incomprehensible depending on where or what you’re trying to do.
⏹️ ▶️ Casey It ends up that all too often if I’m doing anything even
⏹️ ▶️ Casey remotely serious, even something like just trying to plan a trip, I’m reaching for a computer.
⏹️ ▶️ Casey Oftentimes I’m going to my office and going to the 27-inch screen because that’s the easiest one to get things done
⏹️ ▶️ Casey on. I completely echo what you’ve said. Mad Fientist What’s a computer? Trevor Burrus What is a computer even?
⏹️ ▶️ Casey It’s a thing where you can actually get things done.
⏹️ ▶️ Casey, Marco That’s what
⏹️ ▶️ Marco, Casey Fientist Oh no. God, all the emails. I could
⏹️ ▶️ Marco, Casey emails from here.
⏹️ ▶️ Casey Please email Marco. So anyway, it’s tough because when my iPad
⏹️ ▶️ Casey does what I want it to do, it feels like the future, man, but
⏹️ ▶️ Casey all too often it feels like a future that hasn’t quite arrived yet.
⏹️ ▶️ Casey So John, I think of the three of us, you’re probably the most consistent iPad fan
⏹️ ▶️ Casey and probably use yours the most. What are you on these days and what are you doing with it?
⏹️ ▶️ John I’m still just using a regular iPad Pro. I need to upgrade. I also have, this is a personal issue, but
⏹️ ▶️ John as my eyes get worse, I’m constantly adjusting my glasses prescription
⏹️ ▶️ John because I’m having more trouble seeing close up. And so at a certain point you go to bifocals and my eye doctor keeps telling
⏹️ ▶️ John me I’m not quite there yet for bifocals. But it is still, with my glasses on, especially
⏹️ ▶️ John when my eyes are tired, it gets harder and harder for me to focus on something held
⏹️ ▶️ John in my hand close to my face. So when I use my iPad now,
⏹️ ▶️ John there’s a distance. I can’t bring it, I don’t have to hold it at
⏹️ ▶️ John arm’s length, but I used to apparently hold it much closer to myself than I do now. So now I have to put it back like one or two
⏹️ ▶️ John inches to be able to focus on it when my eyes are tired at night. And that is actually cutting into my iPad time. A lot
⏹️ ▶️ John of times what I will switch to instead is using my phone super close to my face with my glasses
⏹️ ▶️ John off just as a more comfortable thing to do at night when my eyes are tired. But
⏹️ ▶️ John that’s nothing to do with the iPad, that’s just me personally. All that is to say that I’m using my iPad slightly less than I
⏹️ ▶️ John used to be. But no, I do use it and I do, what Marco described is
⏹️ ▶️ John absolutely true of my experience as well in that when I want to do anything complicated,
⏹️ ▶️ John I want to do it on the Mac. And complicated means I’m going to be juggling multiple things, I’m going to be like, a good
⏹️ ▶️ John example is a thing that I often start on my iPad and switch to the Mac is like
⏹️ ▶️ John if I’m looking for something to give an example all the crap I bought when I was preparing away for my Mac Pro
⏹️ ▶️ John little end table and you know cables and cable guides and the
⏹️ ▶️ John UPS and you know power plugs that go into them and adapters
⏹️ ▶️ John and pigtail things and just you know all that stuff a lot of that I started out
⏹️ ▶️ John I’d be like in bed on my iPad and I’d be like yeah let’s look at Let’s look at see, you know, I do a search for UPS
⏹️ ▶️ John things and watch their reviews, and especially like watch some YouTube videos or reviews. But at a certain point I say, okay,
⏹️ ▶️ John now I’m in serious research mode. I’m gonna open 500 tamps about UPSs, right?
⏹️ ▶️ John Or I’m gonna open every furniture site in the entire world. Every store, Target,
⏹️ ▶️ John Walmart, Wayfair, Ethan Allen, Crate and Barrel, like, they’re all gonna
⏹️ ▶️ John be open in 100 windows and 100 tabs. And I’m gonna be taking screenshots and copying images
⏹️ ▶️ John into a notes document and saving URLs and typing down measurements,
⏹️ ▶️ John that is time for the Mac. Because I could do that on the iPad, but I would
⏹️ ▶️ John drive myself insane with the text selection alone, right? So I will go
⏹️ ▶️ John to, and I think that’s not a condemnation of the iPad, because the whole point of the Mac is it’s supposed
⏹️ ▶️ John to give you more space, more flexibility, more precise input, than a thing that you can carry around
⏹️ ▶️ John with you. Like it’s a desktop, I’m using anyway, desktop computer and my screens are huge. Now
⏹️ ▶️ John to Casey’s point, that’s not always true. There are Macs that have smaller screens and they also have a lot of these benefits. But
⏹️ ▶️ John anyway, I do feel that tension in
⏹️ ▶️ John like at a certain point like, let me just let me just go to the Mac. And a lot of that is also
⏹️ ▶️ John because the Mac is what I grew up with. It’s what I’m most comfortable with. And when I was reading Gruber’s thing where he was sort of slamming
⏹️ ▶️ John the iPads, crappy multitasking and how undiscoverable and awkward it is.
⏹️ ▶️ John I mostly agree with him, but there is an angle on that, which is like, well, if you grew up using this, it wouldn’t be so weird to
⏹️ ▶️ John you, right? It’s not quite the same as the, uh, God, I forgot the name of the thing. What the hell
⏹️ ▶️ John is the, uh, app that had a intentionally obscure UI, Snapchat, uh, to make you, you know,
⏹️ ▶️ John it’s not quite Snapchat, but it’s, it’s similar in that if you grew up, you know, anything you grew up using
⏹️ ▶️ John a seems, you know, it seems natural to you because it’s all, you know, and B there is a certain kind
⏹️ ▶️ John of, uh, cache to like you’re young, you have a lot of time to
⏹️ ▶️ John invest in learning a weird thing. And once you know it, it’s part of your, you know, personality
⏹️ ▶️ John and self image that of course, you know how to use this thing. And anyone who doesn’t is a square
⏹️ ▶️ John using a term from the fifties. Um, reading Gruber’s thing,
⏹️ ▶️ John you can look at it and say, you know, well, grandpa, uh, you may feel comfortable with the Mac,
⏹️ ▶️ John but if you grew up using the iPad, uh, or if you adopted it and early enough in your life,
⏹️ ▶️ John it is totally natural. none of this stuff is weird and you learn it once and it’s no big deal and you just sound like an old
⏹️ ▶️ John fuddy duddy. Right. But I, you know, I think that the angle is
⏹️ ▶️ John there and there is a tiny bit of truth to that, but there is much more truth to the idea that like, look,
⏹️ ▶️ John there’s ways you can measure how good a UI is. Uh, and Gruber touches on a lot of
⏹️ ▶️ John them in the article that we’ll put in the show. It’s one of the ways is just across the entire customer
⏹️ ▶️ John base for this product, all the people who own it, how many people use this feature? How many
⏹️ ▶️ John people know that exists? How many people enjoy it? How many people find it indispensable and useful to use? Right?
⏹️ ▶️ John How many, and on the other side, how many people, if you describe the problem that this feature is supposed to solve,
⏹️ ▶️ John would say, oh, I have that problem too. And then when you say to them, oh, well then why don’t you use FeatureX to solve
⏹️ ▶️ John that problem? They’ll be like, I didn’t know how to use FeatureX. I didn’t know existed. And once you tell me it’s too awkward to
⏹️ ▶️ John use, like there are ways to measure the success of any feature. And that way is not find
⏹️ ▶️ John the person who is the most expert in using this product and see if they like it. Like you can actually
⏹️ ▶️ John look at the customer, you know, how many people, and this is true of weird features in the Mac too, but you can say
⏹️ ▶️ John like, how many people who own the Mac use the dock? I think it is widely used.
⏹️ ▶️ John I think it’s very widely used. Whatever problem the dock is solving is a problem that people have
⏹️ ▶️ John because they use the dock and I think most people use it, right?
⏹️ ▶️ John Or how many people ever have more than one window open on their Mac? I think that number is also high.
⏹️ ▶️ John People discover how to open a second window because it solves a problem that they have that they wanna see more than
⏹️ ▶️ John one thing at the same time, and they’re able to successfully do that with a Mac. It is a thing that happens
⏹️ ▶️ John all the time. On the iPad, very similar fundamental things, like how many people have more than
⏹️ ▶️ John one thing open on the iPad at once? If it’s a fraction of the people who do it on the Mac, how many
⏹️ ▶️ John people know how to do it on the iPad? Also a fraction of the people on the Mac. How many people know but still don’t
⏹️ ▶️ John do it, right? Those things, I think, are mostly
⏹️ ▶️ John uncontested. It doesn’t mean the iPad is necessarily bad, but in a weird
⏹️ ▶️ John way, it frames the iPad as most useful to deep experts. And then there’s
⏹️ ▶️ John a big gulf, and then useful to people who only need simple functionality. And it’s that
⏹️ ▶️ John gulf that the iPad needs to span. I was thinking about this. I had what I thought was a coherent thought, and I put a note to
⏹️ ▶️ John myself in the show notes. And then I looked at my note, and I I realized either my thought was not as
⏹️ ▶️ John coherent as I thought it was or I forgot what I thought.
⏹️ ▶️ Casey Oh, this happens to me all the
⏹️ ▶️ John time. They’re trying to write down a dream. Yeah, exactly. But it was basically this. Like the group wrote this thing about how
⏹️ ▶️ John the multitasking on the iPad is weird and all this stuff. And it’s like, the iPad, the
⏹️ ▶️ John things that are great about the iPad, and we’ve talked about this many times, and the reason people are enthusiastic about
⏹️ ▶️ John it and the reason I’m still enthusiastic about it is that it provides, it
⏹️ ▶️ John gets rid of a lot of crap from the world of PCs that you don’t have deal with anymore.
⏹️ ▶️ John Some would call it a simplification, but I think it’s mostly just dropping stuff that only exists
⏹️ ▶️ John for weird historical reasons. So like smartphones, the iPad is
⏹️ ▶️ John more comfortable for people to use. They’re not worried that they’re going to screw it up or
⏹️ ▶️ John that they don’t know how to get stuff done. It’s generally tractable and low maintenance.
⏹️ ▶️ John That is the big thing that makes people keep saying, why do people keep saying the iPad is the future for computering and why do people
⏹️ ▶️ John like phones instead of their PCs? Like, writ large, the answer is they’re less of a pain
⏹️ ▶️ John in the butt to deal with, right? And that is the greatest feature of all these things.
⏹️ ▶️ John And that’s why it’s so weird that where the iPad falls down, like in terms of like,
⏹️ ▶️ John oh, let’s try to also make it possible to do more powerful things. It falls down
⏹️ ▶️ John in like just stepping out of that and expanding its power by including a multitasking
⏹️ ▶️ John system that’s the opposite of that. It’s more weird and complicated than the PC. It
⏹️ ▶️ John brings more obscure rules and strange physically difficult gestures. And
⏹️ ▶️ John you know, like it doesn’t make as much sense and it is more obscure. It’s like,
⏹️ ▶️ John you know, it’s not like they took, the problem is not that they said, okay, well, we want to make
⏹️ ▶️ John the iPad more powerful. So let’s give it some of the power of the Mac but in a simplified form. Like
⏹️ ▶️ John maybe they thought that we were doing that but what they ended up doing was giving it the power of the Mac
⏹️ ▶️ John in a more complicated form that’s harder to use. And it’s so weird because you don’t
⏹️ ▶️ John need, like there’s, I think what I was trying to get at is like you don’t,
⏹️ ▶️ John this is not a problem that the iPad had. Like the problem was that, you
⏹️ ▶️ John know, we need to come up with a whole new way of working with multiple things
⏹️ ▶️ John that is simpler. Or maybe that was a problem that had, but they didn’t do it. They come up with a whole new way of working with multiple things
⏹️ ▶️ John that’s harder and more obscure and more complicated more difficult to use and and bottom line,
⏹️ ▶️ John less used less like it is less successful as a feature because fewer
⏹️ ▶️ John people actually use it. So are you really helping people if they say, Oh, well, I don’t do that because it’s just too weird
⏹️ ▶️ John and too complicated. And again, you can’t look at the outliers and say, Look, look at how this maestro
⏹️ ▶️ John of the iPad is able to get tons of work done. That’s good that it’s able to do that. But part
⏹️ ▶️ John of the reason it’s so impressive is, you know, what is it like a bear riding a unicycle? It’s impressive
⏹️ ▶️ John that they can do it at all, because it’s generally acknowledged to be difficult and complicated. And that’s
⏹️ ▶️ John not how it should be. No one sees someone on the Mac with two windows open and goes, wow, you must be a Mac expert.
⏹️ ▶️ John But you see someone with three things in split screen, an iPad, and a slide over,
⏹️ ▶️ John and you assume they’re an iPad expert. And that is probably the biggest
⏹️ ▶️ John condemnation of the iPad’s advancement. And Gruber is pretty harsh in the article, saying, look,
⏹️ ▶️ John it’s they need to just start over like clean slate. And it’s not unprecedented.
⏹️ ▶️ John It’s been done plenty of times before, like rethink this. Whatever paradigm you thought you were going for is not
⏹️ ▶️ John resonating and not working. Come up with some sort of new, consistent paradigm. Or if you can’t
⏹️ ▶️ John do that, you know, use the old paradigm of a bunch of windows that you can move around, which I don’t
⏹️ ▶️ John think anyone is asking for, because like that’s the nightmare of any iPad enthusiasts. but like
⏹️ ▶️ John the current system is not succeeding. It is, it is failing in all the same ways that the whole
⏹️ ▶️ John rest of the iPad succeeds. Like it is, it’s too complicated and too obscure. So, you know, I,
⏹️ ▶️ John I’m not demanding that Apple, you know, wipe the slate clean, but I also don’t
⏹️ ▶️ John quite know how they can salvage what they have without at least one or two fundamental adjustments to
⏹️ ▶️ John how they think about doing more complicated things on the iPad, because it’s got the CPU
⏹️ ▶️ John power. A lot of them have the screen space now and the input methods are there as well. You’ve got the pencil and the finger
⏹️ ▶️ John and all these different sensors and everything. It’s the software that’s falling
⏹️ ▶️ John down. It’s the software that’s not, and it’s not bugs or whatever. It is software
⏹️ ▶️ John design. But there’s bugs too. Well, I suppose. But
⏹️ ▶️ Marco iPad is- Try using keyboard shortcuts in mail.
⏹️ ▶️ John Yeah, yeah. The iPad has evolved to this point through
⏹️ ▶️ John a series of small steps, none of which really seem like if they ever had the big think, right? Of like,
⏹️ ▶️ John you know, some did the big, you know, Xerox, essentially, and Xerox and the Mac team did various
⏹️ ▶️ John big thinks of like, what does it mean to have a graspable user interface? How does it work? What are the building
⏹️ ▶️ John blocks? And then riffed on those and built on that fairly
⏹️ ▶️ John solid foundation of, you know, the WIMP Windows, what is it? Windows icons, menus, and pointer.
⏹️ ▶️ John That was a very solid, it continues to be a very solid, flexible foundation. If there
⏹️ ▶️ John had been no foundation, that had just been like, well, we got kind of a GUI, but we can probably, we have some kind of graphical interface.
⏹️ ▶️ John Let’s add this feature. Let’s add that feature. Let’s people, let’s let people have more than one thing. Let’s do this thing. Like
⏹️ ▶️ John if you grow it piecemeal like that and never have sort of a solid, extensible
⏹️ ▶️ John underlying philosophy, you will end up in something that’s a complicated mess. So that’s, I think, what
⏹️ ▶️ John the iPad, what they need to do with the iPad is. Step back and rethink. They did that
⏹️ ▶️ John for the iPhone. Let’s rethink. Oh, the application takes over the whole screen. It’s edge to edge, blah, blah, blah. they came up with
⏹️ ▶️ John a paradigm for phone applications and for simple iPad
⏹️ ▶️ John applications that totally works and people love and use. It’s the next step that where they’re falling down
⏹️ ▶️ John where what about when you want to do something more complicated than you could do
⏹️ ▶️ John on a phone because we have this big, powerful iPad? How do we deal with that? I think the answer is not
⏹️ ▶️ John what they’ve currently done. I think, you know, they need to, they need to regroup. Um, and I’m not
⏹️ ▶️ John saying they need to totally redesign our eyes. The next thing after we got through, saying they’re supposed to do refinement releases and fix stability, but
⏹️ ▶️ John this is a design thing that I totally give them a few years to work on. I just hope they, their plan
⏹️ ▶️ John is not, we’ll continue to refine what we have because I just don’t think it’s working.
⏹️ ▶️ Marco The biggest characterization of the iPad that I’ve felt and that
⏹️ ▶️ Marco I think you actually just basically agreed with implicitly is like, if you think about it,
⏹️ ▶️ Marco and I should blog this, but I’m not going to because I don’t want the response. So
⏹️ ▶️ Marco if you think about, I don’t like a graph, a standard XY two-dimensional graph.
⏹️ ▶️ Marco On one axis you have the complexity of what you’re trying to do, and on the other axis you have
⏹️ ▶️ Marco how easy it is to do. I think for most standard computer,
⏹️ ▶️ Marco Mac PC kind of things, that line is kind of a gentle slope. Like
⏹️ ▶️ Marco the complexity of what you wanna do versus how easy it is to do it kind of ramps
⏹️ ▶️ Marco smoothly for most things. Yeah, there are some bumps along the way. That being said, where
⏹️ ▶️ Marco that starts, like the zero point of that graph, is high. Like
⏹️ ▶️ Marco there’s a certain baseline of knowledge required to use a computer at all and do tasks at all,
⏹️ ▶️ Marco and there’s a certain baseline level of complexity you have to deal with, even for easy things. However,
⏹️ ▶️ Marco as you scale up, that line climbs, but there’s
⏹️ ▶️ Marco not a lot of like huge spikes in it. Whereas, iPad
⏹️ ▶️ Marco usage, the ease of use of easy things is way lower. That
⏹️ ▶️ Marco line starts way lower. However, as you progress towards trying to do more complicated
⏹️ ▶️ Marco things, it just shoots way up. Easy stuff is easier, but hard
⏹️ ▶️ Marco stuff is way harder. And what is even considered a hard thing
⏹️ ▶️ Marco on iOS is oftentimes not a very
⏹️ ▶️ Marco hard or uncommon thing in the PC Mac world. I don’t think iPads,
⏹️ ▶️ Marco or phones for that matter, but I think it’s more of a problem with the iPad, I don’t think they have ever
⏹️ ▶️ Marco really found a good way around this. That the whole reason the
⏹️ ▶️ Marco iPad is easier to use for simple things are fundamental aspects of its
⏹️ ▶️ Marco design. Things like that all apps, at least start out, full screen. and that all
⏹️ ▶️ Marco apps only have at least normally one window, and that all apps, you tap the icon
⏹️ ▶️ Marco and that just shows, and then you hit the home button if you still have one, and then
⏹️ ▶️ Marco you see all your apps and you hit the next one, and they take away the concept of files, and that’s
⏹️ ▶️ Marco all great when you’re doing really simple things. But as soon as you have to do
⏹️ ▶️ Marco something that’s slightly outside of that golden path of easiness,
⏹️ ▶️ Marco the barrier of complexity and difficulty goes way up. Like
⏹️ ▶️ Marco as John was saying, you really have to be an iPad expert to do a lot
⏹️ ▶️ Marco of things that on a computer are considered pretty trivial things. Stuff
⏹️ ▶️ Marco like shuffling files in different places between apps and dealing with multiple windows.
⏹️ ▶️ Marco I still can’t for the life of me drag a tab to the right side of Safari without
⏹️ ▶️ Marco accidentally opening a new window. And then God knows how to close it. I have never figured this
⏹️ ▶️ Marco out. I eventually have to like, you know, start like getting stuff out of the force quit thing. And eventually
⏹️ ▶️ Marco I, and I never can recover that tab. Like I just got to start a new one. Like that tab’s gone. Like it’s just.
⏹️ ▶️ John It’s not just expertise. Like that’s the important point of like when I was saying you can actually measure this. It’s not just, you know, it’s like, well, if
⏹️ ▶️ John you have to be an expert to know all these secrets, it’s not knowing it’s like physical capabilities. Like how
⏹️ ▶️ John hard is it physically to do this? Part of the, you know, the beauty of the Mac user. again, we were
⏹️ ▶️ John touched on this with double clicking is you can you’d say like, this is how a feature works.
⏹️ ▶️ John Can people do it? Is it actually physically hard? And I’m talking about people who are, you know, have disabilities,
⏹️ ▶️ John like it’s just all of us, everybody, like everyone is disabled to some degree, it’s just a question of what you know what
⏹️ ▶️ John that degree is, there is no discontinuity is just a smooth spectrum from supposedly able to supposedly
⏹️ ▶️ John disabled, like, right? It’s difficult to precisely control
⏹️ ▶️ John things as you drag, like you have to hold pressure on the screen because if you pick your finger up on the
⏹️ ▶️ John iPad or any touch device, it cancels the drag and you know the edges are hot like a game
⏹️ ▶️ John of operation, right? If you accidentally go to the edge,
⏹️ ▶️ John, Casey something different is going to happen. I’ve, you know,
⏹️ ▶️ John I had the big rant a couple, you know, many shows ago about trying to rearrange icons and springboard
⏹️ ▶️ John on the phone. And, you know, to add to that, like if you’re going to pick up multiple items and do
⏹️ ▶️ John all those multi finger things, it is actually physically difficult to do those even if you are
⏹️ ▶️ John a quote unquote expert and know exactly what you’re supposed to be doing. And that’s the sign of a feature
⏹️ ▶️ John that is measurably bad for most users. Even very dexterous,
⏹️ ▶️ John very careful ones, it’s frustrating because you don’t know where the live hot areas are, there’s no visual
⏹️ ▶️ John indication, even if you have incredibly precise motor control and you’re in a situation where you can do that
⏹️ ▶️ John because the iPad is well supported and you’re not on the go, like that’s not hard because
⏹️ ▶️ John it’s an expert feature, that’s hard because it’s a bad feature. It is hard for human beings to use
⏹️ ▶️ John and fundamentally because it is a thing that you carry and because there’s no pointing device and because
⏹️ ▶️ John you know whatever like there are there are some that’s the problem they have to solve but there are other parts of it that they’ve chosen to
⏹️ ▶️ John do themselves the fact that there is no chrome in any of the windows again a simplification but it also
⏹️ ▶️ John means there is no affordances visually and touch wise in the UI for you to have a safe area
⏹️ ▶️ John to grab or move things to or anything like that. And so that that’s the challenge they face.
⏹️ ▶️ John And I feel like their solutions to it are measurably not as successful
⏹️ ▶️ John as they should be just because they’re so hard that lots of people can’t do it. Like Marco, you know what you’re trying
⏹️ ▶️ John to do with that stupid tab, but you just physically can’t. It’s like a video game that’s hard to play. And that’s not a good
⏹️ ▶️ Marco Yeah, it’s like I just have a very high error rate for this common task. Like, yeah. And I think a lot of that, by the way, we’re
⏹️ ▶️ Marco hearing from a few people in the chat that apparently you can long press on the tabs icon
⏹️ ▶️ Marco and there’s a merge all windows button to solve
⏹️ ▶️ John What? That’s the undiscoverability because there’s no Chrome or menu bar or anything like that.
⏹️ ▶️ Marco I would never have found that. I had no chance of ever knowing that. So yeah,
⏹️ ▶️ Marco and I think this is part of the thing. What makes it so simple to do the simple tasks
⏹️ ▶️ Marco is a large degree of both physical and of of design,
⏹️ ▶️ Marco both hardware and software simplicity visually. That everything, like
⏹️ ▶️ Marco yeah, everything app is full screen and you said there’s no window chrome and everything and
⏹️ ▶️ Marco then that’s great, it keeps simple things simple. But then where do you put the advanced
⏹️ ▶️ Marco stuff? You start doing things like overriding what edges mean and you start hiding
⏹️ ▶️ Marco things behind long press. And one of the greatest challenges of UI design for touch devices
⏹️ ▶️ Marco since the beginning is how do you make things discoverable that aren’t immediately visually on the
⏹️ ▶️ Marco screen? Like, if you’re not gonna just have an icon or a button on screen that can do something, how
⏹️ ▶️ Marco do you show people that they can do it? That is a largely unsolved
⏹️ ▶️ Marco design problem among touch devices. Like, we have a few bad solutions.
⏹️ ▶️ Marco We have like the first launch overlay or arrows saying, ooh, click here to see
⏹️ ▶️ Marco all these options. Those are terrible. We have the junk drawer design. First, it was the hamburger menu.
⏹️ ▶️ Marco then it was the action menu, now it’s the dot, dot, dot menu. They’re all the same thing. It’s all just like
⏹️ ▶️ Marco more. Shove a whole bunch of stuff into the more button and people will push it to find
⏹️ ▶️ Marco more. You know, like that’s, all of these solutions are, you know, mediocre at best.
⏹️ ▶️ Marco They just don’t have the kind of discoverability that you have in a typical PC interface
⏹️ ▶️ Marco where you typically have way more real estate on screen and you have, you know, smaller
⏹️ ▶️ Marco buttons because you’re controlling it with a more precise pointing device. So usually you have like a, you know, you can fit more
⏹️ ▶️ Marco buttons or icons in a toolbar. Then you have the whole menu system and you can pull down the series of menus
⏹️ ▶️ Marco and see what things are, or you can right click on things to see what you can
⏹️ ▶️ John do. Right click is a great example because that is an example of a thing with no visual affordance that seems to
⏹️ ▶️ John be totally non-discoverable, but because it is so unfailingly consistent in the PC
⏹️ ▶️ John Mac interface, it becomes culturally successful. Like there is no visual
⏹️ ▶️ John indication that you can right click on things. But again, look out into the world. How many people who use a personal
⏹️ ▶️ John computer of any kind know that right clicking exists? Now it is less than 100%, but the
⏹️ ▶️ John percentage is way higher than the people, like who right clicks stuff on their PC? It’s way higher
⏹️ ▶️ John than the number of people who use split screen and multitasking, sophisticated multitasking on the iPad.
⏹️ ▶️ John Because it is one additional thing to learn, which is, you know, one thing that you
⏹️ ▶️ John wouldn’t have to learn for simple things, but it is just, it’s everywhere. If you see something and you
⏹️ ▶️ John don’t see a visual way to interact with it, one of the things that you can try, and usually your first
⏹️ ▶️ John instinct is, let me try right-clicking it, because people have been trained through very consistent use of that, that even
⏹️ ▶️ John though there is no indication this is gonna be successful, it’s a good first guess. Can I right-click it? Is
⏹️ ▶️ John there some menu to right, can I right-click on this? And then there’s a menu that says delete. Can I right-click it to get info
⏹️ ▶️ John about it? And right-clicking is incredibly successful, so successful that Apple, which insisted on
⏹️ ▶️ John single button mice for a long time had to come around to basically enable right-click,
⏹️ ▶️ John by control-click in the beginning, then eventually by making us a single button mouse that lets you do right-clicking.
⏹️ ▶️ John There are solutions to these problems, they’re tricky. And getting back to the double-clicking thing that Gruber pointed out, just to clarify
⏹️ ▶️ John what we were talking about if you don’t bother to read the article, double-clicking on the Mac is a tricky situation
⏹️ ▶️ John where they added this thing, which is like, well, single-click to select and double-click to open,
⏹️ ▶️ John right? And it’s a very simple, very consistent paradigm on the Mac, but
⏹️ ▶️ John it has the problem that double-clicking is a physically tricky thing to do. Not that tricky,
⏹️ ▶️ John you’re like, ah, double-clicking, it’s not like I’m doing a multi-finger, five-finger drag on the iPad, right? Double-clicking,
⏹️ ▶️ John how hard is it to double-click, right? It is actually physically difficult because what determines
⏹️ ▶️ John if something is a double-click is the space between the clicks, and that’s why, since the beginning, the Mac has had a feature where you can adjust
⏹️ ▶️ John the tolerance for what the OS considers a double-click. There’s a setting
⏹️ ▶️ John I believe to this day in system preferences and on the original Macintosh, it says, should I give you lots
⏹️ ▶️ John of time if you go click, click, click, is that a double click or do you have to go click, click, click,
⏹️ ▶️ John right? Because it is difficult for people to do that. It’s in particular, I saw
⏹️ ▶️ John this early on with the Mac when mice were new. It’s difficult for people to double click without accidentally moving
⏹️ ▶️ John the mouse between the two clicks, which makes it kind of not count as much as a double click, depending on the heuristics of the operating
⏹️ ▶️ John system. Right? That is, you know, compared to multi-finger drag, that’s nothing, but that is
⏹️ ▶️ John an epidemic problem that has never really gotten better. Some people still have trouble with double-click. And the second thing is,
⏹️ ▶️ John unlike culturally with right-click, where everybody knows, I can’t figure out how to use this
⏹️ ▶️ John thing, let me try right-clicking it, which is generally a safe thing to do. It’s not going to do anything harmful, like culturally it’s
⏹️ ▶️ John understood or whatever. Single-click versus double-click, despite being, I think,
⏹️ ▶️ John a very clear, easily explained paradigm from day one on graphical user interfaces
⏹️ ▶️ John still is a source of confusion for people. You see people double click links in web browsers. You
⏹️ ▶️ John see people don’t look literally everything because it’s basically like I clicked it and it didn’t
⏹️ ▶️ John work. So maybe I should double click it and then people very often short circuit that say if I see anything on the screen
⏹️ ▶️ John and I really want it to work, I should double click it instead of single click it. And in general that will
⏹️ ▶️ John work like if it requires a single clicking you double click most of the time it will
⏹️ ▶️ John do the thing. So maybe that’s why people are trained to do it. But even that one minor complexity
⏹️ ▶️ John through decades of use, like human nature is such that single click versus double click. If you had
⏹️ ▶️ John to go back and say, what is the, what is the paradigm that you might want to rethink about the, the wimp, you know, aggressively
⏹️ ▶️ John use the interface, single click versus double click turned out to be surprisingly tricky for people
⏹️ ▶️ John to master. And if they haven’t done by now, they probably never will. So it’s always going to be slightly less successful
⏹️ ▶️ John than you’d want it to be versus right click, which wasn’t thought of back then, even though the Xerox mouse had like
⏹️ ▶️ John five buttons on it or three buttons or whatever, and it was even more complicated. Right click, I think has been much more successful.
⏹️ ▶️ John So I do have some hope that there are solutions that don’t require visual affordances
⏹️ ▶️ John that can be culturally successful and physically easy to do. And you know, you could argue, oh, that’s long
⏹️ ▶️ John press or that’s forced press or like, you know, Apple has tried a whole bunch of things in that area, but none
⏹️ ▶️ John of them have been consistent or popular enough to get by. I think maybe long presses
⏹️ ▶️ John is getting there. People do kind of understand that you can long press things and touch interfaces and you might get,
⏹️ ▶️ John you know, options or whatever,
⏹️ ▶️ John I think more than people know how to do split screen on the iPad, that’s for sure. Like I’ve
⏹️ ▶️ John seen people in my family do long press on things, but I’ve never
⏹️ ▶️ John anyone in my family do split screen on an iPad. So.
⏹️ ▶️ Marco I’m not even sure how I’m supposed to be doing split screen. Every time I try to do it, I occasionally will
⏹️ ▶️ Marco use it. And every time I try to do it, it takes me a very long time to figure out the exact combination
⏹️ ▶️ Marco of where I press and hold, where I drag it, where I let it go. Do I like stick
⏹️ ▶️ Marco it down or stick it up or stick it? Like it takes me a very long time and I, and I like officially,
⏹️ ▶️ Marco like I officially know it. Like I, I ostensibly know how to do this. And, and yeah, and yeah, there’s
⏹️ ▶️ Marco a lot of waiting. There’s a lot of like, Oh, I accidentally didn’t, you know, stick this down in the right spot. So it wiggles back to somewhere
⏹️ ▶️ Marco else. And like, I’m good at computers. I do this for a living.
⏹️ ▶️ Marco I use an iPad every day and I have multitasked on every version of iOS
⏹️ ▶️ Marco that has supported multitasking and I’m still bad at doing it on the iPad
⏹️ ▶️ Marco because I mean I guess I don’t do it enough but it’s I think the bigger problem
⏹️ ▶️ Marco is it’s just so fiddly and and a lot of this is down to
⏹️ ▶️ Marco you know factors like we’re saying about you know undiscoverability of touch gestures and a lot of it is down to
⏹️ ▶️ Marco because there are basically no buttons in the hardware and because the software
⏹️ ▶️ Marco UI paradigm is to make everything full screen and to not have things like window
⏹️ ▶️ Marco chrome or menus that inherently makes it really hard
⏹️ ▶️ Marco to design these things in a way that is intuitive and discoverable like it’d be one thing if
⏹️ ▶️ Marco if Apple redesigned iPad OS so that every app by default had a title bar
⏹️ ▶️ Marco that had some buttons in the corner that would do things like maximize it to the full
⏹️ ▶️ Marco screen or shrink it to half
⏹️ ▶️ John screen. That would have to be big Chrome. That’s the reason they’re resisting it because your pointing device is so imprecise
⏹️ ▶️ John that it would have to be comically large and now you’re eating into your limited screen space. I understand why they don’t
⏹️ ▶️ Marco but… Yeah, but they just made all the screens bigger. Yeah, I know. If they really want to make multitasking
⏹️ ▶️ Marco on the iPad intuitive and something that everyone is able to do
⏹️ ▶️ Marco reliably and able to figure out, they have to put it on screen. They have to have on-screen
⏹️ ▶️ Marco controls for multitasking to be really easy. And that just goes completely against
⏹️ ▶️ Marco the software design paradigm of iPadOS, and that may make certain things worse.
⏹️ ▶️ Marco That might make that floor of how simple things can be, it might raise it very
⏹️ ▶️ John Because you could accidentally hit the window controls when you didn’t mean to, and then you’re like, oh, where’d my window go?
⏹️ ▶️ Marco Right, but I would argue that’s actually better overall than where we are now, which is you have these kind
⏹️ ▶️ Marco of secret gestures that come up when you move near edges or do weird things that it would be
⏹️ ▶️ Marco not at all surprising to me if the vast majority of invocations for iPad multitasking
⏹️ ▶️ John Yeah, everything’s hot on your
⏹️ ▶️ John, Marco screen. Like this is just like- Yes, which
⏹️ ▶️ John raises that floor. Yeah, I use SlideOver a lot, surprisingly. I more or less know how it works
⏹️ ▶️ John and I like the thing where you can switch between the SlideOver stuff. You know, I’ve worked that into my workflow
⏹️ ▶️ John and it mostly is okay, but because the floor is lava, because everything is hot in an iPad
⏹️ ▶️ John OS, when I’m watching, for example, Netflix, and sometimes I’ll be watching Netflix and I’ll
⏹️ ▶️ John bring over Twitter to just look at something because I’m watching something cruddy or whatever, like I’m multitasking on my iPad, look at me go.
⏹️ ▶️ John Sometimes when I bring over Slideover, that gesture gets registered by the
⏹️ ▶️ John underlying Netflix or Hulu player, and the Slideover comes on,
⏹️ ▶️ John but the video I’m watching goes back 30 seconds because that app has a gesture for a swipe backwards.
⏹️ ▶️ John And depending on the speed that you do it, like, cause you can, to slide over, you have to start in a
⏹️ ▶️ John certain position and bring it over. But if you go a little bit too fast, the underlying app registers it a gesture. Arguably that’s a bug
⏹️ ▶️ John in the app below it, but you can’t blame the app author. They’re like, look, if someone swipes their finger from
⏹️ ▶️ John right to left, I should go back 30 seconds. And as far as I’m concerned, that’s exactly what’s happened. But as far as the OS is concerned,
⏹️ ▶️ John they’re like, oh no, they were activating slide over. But both of the things get it. Like there is no, there is no safe
⏹️ ▶️ John area. And I think the experts, you know, talking about like doing split screen and multitasking and
⏹️ ▶️ John dragging things, the experts learn mentally the map of the safe hot
⏹️ ▶️ John regions and like how long you have to hover and how long you have to press
⏹️ ▶️ John and when it’s safe to move and what areas you should avoid. Like that’s part of the expertise
⏹️ ▶️ John is learning this invisible heat map and this invisible like four dimensional timing map
⏹️ ▶️ John of like, it’s not intellectually doing, But through repetition, I know I’ve gotten better
⏹️ ▶️ John about putting things into Slider, Slide Over and going into multitasking just by sort of learning the routes
⏹️ ▶️ John and everything. And that can have a feeling of like mastering a video game and being good at it
⏹️ ▶️ John and can give like positive feelings towards the experience. Because like I invested
⏹️ ▶️ John time into this and now I’m good at it. Now I feel like a real maestro. But again, that’s not a characteristic
⏹️ ▶️ John of a good user interface. It shouldn’t be. It’s fun to master a game. It’s not
⏹️ ▶️ John fun to have to master something that you’re just trying to shop around for new
⏹️ ▶️ John whatever it is you’re doing. Like, you want more people to be successful. You don’t want
⏹️ ▶️ John the people who master it to feel an incredible amount of satisfaction. You want everyone to feel
⏹️ ▶️ John that satisfaction because everybody is able to successfully have more than one window on the screen or
⏹️ ▶️ Casey So to that end, this is my favorite thing in the world, and by favorite I mean least favorite thing in the world.
⏹️ ▶️ Casey So let’s suppose that you have your iPad Pro or iPad or whatever, and you have
⏹️ ▶️ Casey your smart keyboard attached and open and so on and so forth. And let’s suppose you’re looking at Safari
⏹️ ▶️ Casey full screen, right, and you want to get a second app in split view.
⏹️ ▶️ Casey The most direct way to do this, at least on the iPad Pro that I have, is
⏹️ ▶️ Casey you swipe up just a little bit from the bottom, because if you swipe up too much, you’re going to go home, you don’t
⏹️ ▶️ Casey want to go home, you just want to swipe up a little bit. You swipe up a little bit and you grab one of the things in your dock. And then you
⏹️ ▶️ Casey just drag that icon over the side and suddenly you have split view. Right? No, excuse me. Well, yeah, split view,
⏹️ ▶️ Casey right? I don’t even know the damn terminology for this stuff. Anyway, so that’s all well and good, but what if you
⏹️ ▶️ Casey don’t have what you want in your dock? So let’s suppose that I
⏹️ ▶️ Casey don’t have notes in my dock, even though I actually do. Well, let’s suppose notes is on one of
⏹️ ▶️ Casey my home screens and I’m looking at Safari full screen and I want to get notes off to the side. Well,
⏹️ ▶️ Casey I can’t go to the dock because it’s not there. So when I have the keyboard attached, it’s actually slightly
⏹️ ▶️ Casey straightforward. I just command space and type in notes, and then I get the notes icon and I
⏹️ ▶️ Casey drag it from the spotlight window over to the side,
⏹️ ▶️ Casey and now all is well. So far, so good. How do I do that if I can’t hit command
⏹️ ▶️ Casey space? I have an answer to this question, but can you guys tell me how you do
⏹️ ▶️ Marco I read an answer earlier, so I’m spoiled, but it’s ridiculous.
⏹️ ▶️ Casey Right, so what I’ve figured out, and maybe this isn’t the best way, but
⏹️ ▶️ Casey what I’ve figured out is, you start by going home. So I’m now looking at my home screen. I find
⏹️ ▶️ Casey notes on the home screen. I pick up the notes icon and I drag it, which of course is starting
⏹️ ▶️ Casey to make me rearrange the home screen.
⏹️ ▶️ Casey, Marco Right, or delete notes.
⏹️ ▶️ Casey Or delete notes. Then I swipe up from the bottom with a different
⏹️ ▶️ Casey hand just a bit, not too much now, just a bit.
⏹️ ▶️ Casey multitasking up. I’m still holding with the other hand. I select Safari for multitasking.
⏹️ ▶️ Casey Now the icon becomes a window and I drag the window off to the side.
⏹️ ▶️ Casey Once I’ve done this 10 times, it vaguely, I wouldn’t even say
⏹️ ▶️ Casey it makes sense, but it’s a repeatable series of actions. Let’s put it that way. But
⏹️ ▶️ Casey how preposterous is this? Like, how does any human being figure this out without being
⏹️ ▶️ Casey instructed directly?
⏹️ ▶️ John How do you figure this out? And even if you’re instructed, can you imagine teaching someone to do that? Oh, don’t go too far. Oh, wait, no,
⏹️ ▶️ John hold that, but don’t hold it. Like, there’s so many hot regions that if you hold it over this for too long, it does this thing, but you
⏹️ ▶️ John want to not let it go. And remember, don’t take your finger off the glass, but pull up just a little bit, but go to the left. And now they use
⏹️ ▶️ John the second finger to do this. And that like, just trying to, it’s like trying to teach someone to dance, but it’s like, I
⏹️ ▶️ John don’t, this is, what most people will say is, it’s already too complicated, I’ll just do it the
⏹️ ▶️ John other way. Like, it’s not, they give up on trying to have two applications there at the same
⏹️ ▶️ John time. Like I know how to switch between them the old fashioned way. I’ll just do that, even though it’s less convenient. No, you know,
⏹️ ▶️ John it’s not, it’s not worth it to go over that hurdle. And that’s not a successful feature. If you’re what you’re
⏹️ ▶️ John trying to do is enable people to use two apps at once, and they’re bailing on it because it’s too weird.
⏹️ ▶️ Casey Yeah, my other favorite part of this is, so let’s assume I’m trying to do this all over again. So I was in Safari,
⏹️ ▶️ Casey I go home, I’m looking at my home screen, I pick up the notes icon and moving it around. And then I see,
⏹️ ▶️ Casey oh, Safari is also on the screen, perhaps on the dock, perhaps just on the home screen. I want to bring that back.
⏹️ ▶️ Casey So what do I do? I tap the Safari icon. Oh, I’m now collecting two icons. That’s
⏹️ ▶️ Casey not what I wanted at all. Like, it’s just every it’s like the floor is lava,
⏹️ ▶️ John but it’s so easy to drop that second icon case. You know,
⏹️ ▶️ Casey don’t you? Yeah, right. Yeah, exactly.
⏹️ ▶️ John safe place? Safe place
⏹️ ▶️ Casey to drop it. Yeah, beats me. It’s just it’s so frustrating because it could
⏹️ ▶️ Casey be so good. It could be so, so good. And when I do get that moment,
⏹️ ▶️ Casey and it happens, and it doesn’t happen infrequently, when I get that moment, a great example of this
⏹️ ▶️ Casey is I’ve taken a screenshot of something and I want to mark it up. Well, on the Mac, that’s kind of a pain in the
⏹️ ▶️ Casey, John hindquarters. I
⏹️ ▶️ Casey have to figure out some way of doing this on the Mac. On the iPad, I grab the pointing
⏹️ ▶️ Casey device connected to the iPad. That’s amazing. That is so much better
⏹️ ▶️ Casey than anything I would have to do on the Mac, and it works so much more nicely. But
⏹️ ▶️ Casey so much of using the iPad is an exercise in frustration. And I don’t
⏹️ ▶️ Casey really want to open this can of worms, but here I go. If I
⏹️ ▶️ Casey need to write a series of shortcuts in order to do the things that I can do
⏹️ ▶️ Casey so much easier on the Mac, then I’m just going to do them on the Mac. And yes, I understand that there are human beings that prefer
⏹️ ▶️ Casey iOS. I get that. I really truly do. But for me, even
⏹️ ▶️ Casey if I don’t have a particular preference between Mac OS and iOS, I can tell you that because I’m
⏹️ ▶️ Casey fluent in both, it is so much faster for me and easier
⏹️ ▶️ Casey for me to do stuff on the Mac that all too often that’s what I’m choosing. And it’s so
⏹️ ▶️ Casey frustrating because the physical hardware of the iPad Pro, especially with
⏹️ ▶️ Casey Face ID, it’s beautiful, it’s light, it’s powerful, it’s fast.
⏹️ ▶️ Casey It’s cellular. It’s so much what I want. It’s so much what I want,
⏹️ ▶️ Casey but the software just falls on its face and it makes me so sad.
⏹️ ▶️ Marco And I would even say, there are lots of things that the software is better at too. Like it isn’t that iPad OS is just
⏹️ ▶️ Marco bad and Mac OS is good. Like there’s a lot of differences in the OS’s and especially in the
⏹️ ▶️ Marco apps on those OS’s. There’s no clear way, I can’t just say like everything on Mac OS is better or everything
⏹️ ▶️ Marco on iOS is better. But it just seems like There is so much
⏹️ ▶️ Marco about iPad multitasking and my iPad UI use that relies
⏹️ ▶️ Marco on modes or timing or hidden gestures.
⏹️ ▶️ Marco And those any, ask anybody who’s ever tried to design computer interfaces,
⏹️ ▶️ Marco modes, timing tricks, and hidden gestures are recipes for
⏹️ ▶️ Marco total disasters of usability. And what makes the iPad great,
⏹️ ▶️ Marco and especially what made it great initially, is none of that. What makes it great
⏹️ ▶️ Marco is the opposite. It’s the simplicity. It’s that when you’re on that golden simple path of doing
⏹️ ▶️ Marco everything full screen and just doing simple things where you never have to deal with files or multitasking
⏹️ ▶️ Marco or anything. When you’re just doing that, you don’t have any of those problems, and it’s glorious.
⏹️ ▶️ Marco But as you try to do more stuff on your iPad, you slam into those walls pretty
⏹️ ▶️ Marco quickly, and to get over those walls is so cumbersome. And it’s
⏹️ ▶️ Marco all because you have this device that Apple really wants to keep simple, you know, without losing
⏹️ ▶️ Marco what’s good about that, that low barrier to entry for it. And I think the only solution to this
⏹️ ▶️ Marco is to put goddamn controls on the screen. Like put them in the UI, you have buttons
⏹️ ▶️ Marco that you can push to do things. That’s how you solve this. and it’s not always gonna look
⏹️ ▶️ Marco pretty, and it’s not always gonna be conceptually design purity maximum,
⏹️ ▶️ Marco but design purity maximum is how you get pretty things, not usable things. And it is
⏹️ ▶️ Marco possible to have both. You know, if you have a nicely designed UI, it has its own
⏹️ ▶️ Marco form of beauty. Like, nice, easy to use UI is itself beautiful. It’s a different
⏹️ ▶️ Marco version of beauty than clean, minimalism, Johnny White room, you know, junk drawer
⏹️ ▶️ Marco design, like what they do now. It’s a different style, but it’s not worse, it’s not ugly,
⏹️ ▶️ Marco it’s just different. And I don’t see how you add the complexity
⏹️ ▶️ Marco that power users want, or that all users want, honestly, there’s many of them. I don’t
⏹️ ▶️ Marco know how you add that complexity and power to iOS without
⏹️ ▶️ Marco sacrificing some of that visual purity. Because again, having
⏹️ ▶️ Marco a title bar with Windows like on the screen, even if you can’t freeform
⏹️ ▶️ Marco shape those windows, even if you don’t like drag the corner to resize it, which I don’t, I mean, you know, there’s
⏹️ ▶️ Marco different choices you can make there, but like if there was just like a basic amount of window Chrome, think of the
⏹️ ▶️ Marco functionality you get out of window Chrome on the Mac. You know, not only do you have
⏹️ ▶️ Marco sizing controls, you also have hiding and showing that window and you have closing that window
⏹️ ▶️ Marco for good, like getting rid of it, minimizing it, you know, big, small. Then you also have the title
⏹️ ▶️ Marco bar, which tells you what app you’re in or what thing you are viewing. Then
⏹️ ▶️ Marco you have the proxy icon, which is a shortcut to tons of power. And then of course, you know,
⏹️ ▶️ Marco if it’s visually combined, you have the whole toolbar, which itself is a massive amount of potential power.
⏹️ ▶️ Marco Buttons, and you have navigation back forward, you might have a search box, like, there’s so
⏹️ ▶️ Marco much that is in standard window Chrome. And that’s not even, again, not even including like if you want to
⏹️ ▶️ Marco drag the corners to resize it, because that may or may not be a good idea in iPadOS, who knows, but
⏹️ ▶️ Marco if you just had a small amount of window chrome on every window for apps that supported this,
⏹️ ▶️ Marco that would expose a ton of basic multitasking functionality
⏹️ ▶️ Marco in a really easy way that wouldn’t require all these weird gestures that are too
⏹️ ▶️ Marco easy to do accidentally and too hard to do intentionally. There’s a reason why people do this. It’s like when
⏹️ ▶️ Marco I made the magazine and I tried to make no setting screen and I had such incredible complexity
⏹️ ▶️ Marco because I didn’t want a setting screen and that the result ended up being worse and harder to use and then I had to eventually
⏹️ ▶️ Marco just put a damn setting screen in it because that was actually better. I feel like, think about all of the
⏹️ ▶️ Marco hoops Apple has jumped through and made its users jump through to avoid having like basic window controls
⏹️ ▶️ Marco on iPad OS. Is it really worth
⏹️ ▶️ John it? They’re trying to preserve the simplicity. Like that seems to be their job one, which you can kind of understand because the simplicity
⏹️ ▶️ John is the big selling point, but they haven’t found, Like the solutions we’re always going to, I think, you know, many, many
⏹️ ▶️ John shows ago when we discussed this, we were just talking about having menu bars on iPad apps. Do you remember that discussion?
⏹️ ▶️ John We keep going to solutions that we know work in the Mac world, because it’s like, at a certain point, and we’ve
⏹️ ▶️ John had this discussion over many years, at certain points, like, look, you didn’t come up with something better.
⏹️ ▶️ John haven’t, like, it’s, we’re not saying you gotta do everything the same way the Mac did it. Come up with a new way, show us.
⏹️ ▶️ John You tried a bunch of ways, and they all suck. And so we get back to this point where it’s like, well, how about just Window
⏹️ ▶️ John Chrome? Like, cause you haven’t come up with something better. I’m not saying window Chrome is a solution. And in fact, when you’re discussing
⏹️ ▶️ John window Chrome, it made me think about some of the regressions they’ve had on the Mac. As you know, if you’re
⏹️ ▶️ John staring at a Mac right now, there isn’t window Chrome to speak of. And I have seen
⏹️ ▶️ John many people have difficulty resizing Mac windows because to
⏹️ ▶️ John do it, there is a very small region of pixels near the edge of a window where you will get the appropriate
⏹️ ▶️ John arrow cursor and there’s different arrow cursors because Mac windows are resizable from all sides, which
⏹️ ▶️ John power users love, but regular users might not understand that if you reach for the corner and you end up grabbing
⏹️ ▶️ John a side and you get the little arrow, you can only resize in one direction now, and that’s frustrating. And in general,
⏹️ ▶️ John just getting to the point where you get the appropriate resize cursor, because there’s no visual affordance for it, and because the
⏹️ ▶️ John windows are basically borderless, which looks very clean, there is a very small region where you have to do
⏹️ ▶️ John that. Compared to, you know, Mac OS, you know, the old Mac OS with the Platinum interface It
⏹️ ▶️ John had a big textured square with little grippy things, which wasn’t a huge target, but it was absolutely
⏹️ ▶️ John visual. And it was big enough where you could get it. And when windows weren’t resizable from
⏹️ ▶️ John the edges, you didn’t have that problem. So even in systems that are tried and true, it’s possible
⏹️ ▶️ John to, through visual refinement, end up making interfaces harder to use. Even if people
⏹️ ▶️ John aren’t confused about how to resize windows, I think resizing Mac windows is now harder than it used to be
⏹️ ▶️ John for that reason. And the purity argument of like, oh, the interface isn’t as pure.
⏹️ ▶️ John I think the, I keep calling it WIMP, I hate that acronym, but anyway, it’s my, you know, the
⏹️ ▶️ John Mac user interface, I know it’s not just the Mac, but anyway, has incredible purity. Menu
⏹️ ▶️ John bar at the top of the screen, windows with scroll bars that are resizable with closed widgets
⏹️ ▶️ John and, you know, with window widgets, like, and even the dock, like, that, there is incredible
⏹️ ▶️ John purity to that paradigm and incredible flexibility. It has stood the test of time. you were able to do
⏹️ ▶️ John amazing things with it. It is more pure than the iPadOS
⏹️ ▶️ John interface, which has many different paradigms all fighting with each other and various things tacked on to
⏹️ ▶️ John the end. And none of them are sort of composable and flexible enough to get the job done on their own.
⏹️ ▶️ John All so they can preserve the simple interface, which I’m all for preserving the simplicity.
⏹️ ▶️ John It’s just that you need to find a way to enable more sophisticated actions without
⏹️ ▶️ John killing that simplicity, but also by making a consistent system. And they haven’t done
⏹️ ▶️ John it yet. And so we say, well, have you tried, you know, have you tried just sticking a menu bar? Think of how
⏹️ ▶️ John much flexibility putting just a plain old menu bar at the top of the screen on an iPad would do. You’d have to make it like a
⏹️ ▶️ John finger capable menu bar or whatever, but we, you know, and we said, oh, that’s old thinking. You just want it to
⏹️ ▶️ John be the way the Mac is. I don’t actually, I want something better. But if you can’t think of something better, I’ll take the
⏹️ ▶️ John compromise of, we couldn’t come up with any better ideas. So here is a finger accessible menu bar,
⏹️ ▶️ John right? We couldn’t come up with any ideas. So here is some kind of window Chrome and iPadOS,
⏹️ ▶️ John which necessarily has to be larger and you know, and hurts the complexity, hurts the simplicity or whatever.
⏹️ ▶️ John But you do, that’s the challenge. That’s the challenge Apple faces. Come up with something that preserves
⏹️ ▶️ John the best of both, but provides the power and is consistent. And they have not risen to that challenge. And honestly, I don’t
⏹️ ▶️ John think we have risen to that challenge either, because everything we’re suggesting, I think would be mostly an abomination and
⏹️ ▶️ John terrible. But on the high end, it would make the
⏹️ ▶️ John complicated things that we’re describing easier and better to do. It’s just that on the low end, they would make people
⏹️ ▶️ John confused and frustrated. And I think in general, the public would think an iPad that works that way is worse
⏹️ ▶️ John than an iPad that works the way it does now. Because one of the reasons, I was saying how we never see people using multitasking on the
⏹️ ▶️ John iPad. Also, for all the iPad users that I am intimately familiar in my life who aren’t tech nerds,
⏹️ ▶️ John they’re mostly satisfied with their iPad experience of not using those expert features.
⏹️ ▶️ John They don’t care that the iPad has a very inconsistent, inflexible, difficult to use
⏹️ ▶️ John interface for doing more complex things. You know, and if you try to show them, they
⏹️ ▶️ John mostly bail, but like their satisfaction with the product remains. So
⏹️ ▶️ John I’m not saying that the current compromise is successful because clearly it’s not,
⏹️ ▶️ John but it does have the beneficial characteristic of most of our users will still be satisfied, even as we
⏹️ ▶️ John screw up our ability to do this high end. So it’s kind of like the super high end experts are satisfied because it’s a video
⏹️ ▶️ John game they can master. Most people are fine because they never have to do that. But then there is like, you’re leaving
⏹️ ▶️ John money on the table and that like these devices, we know these devices could enable people to do more complicated things.
⏹️ ▶️ John And it’s just that they’re not good at bridging that gap. Like it’s one of the things that
⏹️ ▶️ John the Mac was always good at. Hey, you’re not a computer expert, but if you sit down in front of this computer
⏹️ ▶️ John and learn some basics, you can be successful at doing things you never thought you could do. And the
⏹️ ▶️ John iPad does that for the low end. Hey, you can browse the web, you can send people email, you can
⏹️ ▶️ John chat with people, you will be successful. If you buy this product, it’s not too complicated, you’ll figure it out. But that
⏹️ ▶️ John stops. And it’s like, you wanna do anything more than that? You’re gonna have serious problems. And unless you
⏹️ ▶️ John wanna be a super duper expert, just retreat to the simple things.
⏹️ ▶️ Marco I would also, you know, just one final closing thought on like the purity angle here. the
⏹️ ▶️ Marco history of the iPad is filled with, you know, starting out doing very
⏹️ ▶️ Marco literal, having things very restricted, and then somebody or some third party starts proposing
⏹️ ▶️ Marco like, hey, you know, what if we, you know, add a keyboard? Although, by the way, Apple shipped a keyboard on
⏹️ ▶️ Marco day one, but nobody bought it. But like, you know, hey, what if we, what if we had a keyboard? What about, what if we make these
⏹️ ▶️ Marco capacitive stylus things? And you know, yeah, Steve Jobs made fun of styluses a long time ago, but
⏹️ ▶️ Marco it turns out they’re kind of nice. And then eventually, you know, someone does, you know, Microsoft does it or third parties
⏹️ ▶️ Marco do it. And then eventually Apple adds their own option. And everyone,
⏹️ ▶️ Marco and before Apple does it, everyone’s like, no, you should never have a stylus. That would ruin everything. You should never have,
⏹️ ▶️ Marco you don’t need a keyboard. That would make it a laptop. Just buy a laptop, blah, blah, blah. And then Apple does it.
⏹️ ▶️ Marco They release a new thing. They release their own stylus and it’s good. They release their own keyboard and it’s good. They, you know, they,
⏹️ ▶️ Marco they add multitasking to a system that didn’t have multitasking before. And that, you know, is okay. But like,
⏹️ ▶️ Marco eventually, the market keeps wanting this device to get more capable.
⏹️ ▶️ Marco Well, again, although, John, you’re right, not all of its market, and possibly not even most of its market. But
⏹️ ▶️ Marco a portion of this market, especially, you know, it’s high-end for sure, wants these devices to get more capable.
⏹️ ▶️ Marco And in most cases, the way that has happened is to make them more
⏹️ ▶️ Marco like laptops. And everyone bitches and moans and complains beforehand.
⏹️ ▶️ Marco And then somebody allows them, usually Apple, to make it more like a laptop, and everyone’s like,
⏹️ ▶️ Marco oh, oh yeah, that actually is nice. And that’s, for me, that’s what changed. What changed the
⏹️ ▶️ Marco iPad for me from a cool toy I kept buying and never using to something
⏹️ ▶️ Marco I use every day is the keyboard. Apple made a really good keyboard for it, and it turns out
⏹️ ▶️ Marco the difficulty of text input was holding me back quite a lot and discouraging me from using it very often.
⏹️ ▶️ Marco and once I had better text input via a physical keyboard, I now use it way more.
⏹️ ▶️ Marco You know, for a lot of people, the pencil did that. You know, where like, drawing things on it, or
⏹️ ▶️ Marco precise input in other styles was difficult or impossible
⏹️ ▶️ Marco or limited, and the Apple Pencil fixed that, and opened up whole new worlds to
⏹️ ▶️ Marco that kind of use. And, you know, then everyone’s like, oh, it should never have a way to browse
⏹️ ▶️ Marco files. Well, then Apple adds the Files app, which mostly works.
⏹️ ▶️ Casey I don’t know about that, but I don’t want to derail your
⏹️ ▶️ Marco point. And then Apple adds the Files app, which occasionally works and kind of does what people want.
⏹️ ▶️ Marco the conceptual purists, when they saw that, were like, why do you need that? It’s an iPad, just keep data in
⏹️ ▶️ Marco apps. But no, they added it, and it actually solved a lot of problems and opened up a lot of doors for people. Not well,
⏹️ ▶️ Marco but it started knocking down some of those walls. And so there’s this whole history
⏹️ ▶️ Marco throughout the entire iPad of people wanting to defend
⏹️ ▶️ Marco its purity for ideological sake or for fear that it’ll ruin it somehow, make it more complicated.
⏹️ ▶️ Marco But then eventually Apple does make it more complicated because that’s what certain use cases need,
⏹️ ▶️ Marco and then it’s fine. And people, with the exception of a lot of this multitasking stuff that’s hard to use because it’s weirdly
⏹️ ▶️ Marco designed and the gestures are all weird, most of this stuff doesn’t have a negative impact on
⏹️ ▶️ Marco people who want to keep it simple at all. Most of it is simply additive. So if
⏹️ ▶️ Marco making it a little bit more like laptops here and there has made it so much better for
⏹️ ▶️ Marco power users and so much more capable of a platform, we shouldn’t be afraid
⏹️ ▶️ Marco of things that are in that direction that sound scary that we haven’t tried yet that might have a big impact.
⏹️ ▶️ Marco Things like, as I said, basic window Chrome. That sounds really weird right now because
⏹️ ▶️ Marco we don’t have it and we haven’t seen it. But in three years, all iPad apps
⏹️ ▶️ Marco might have window Chrome by default. They might have a title bar with simple multi-tasking buttons on the left or whatever, and
⏹️ ▶️ Marco that might just be fine. And we might look back on the time before that the
⏹️ ▶️ Marco same way we look back now on the time before the keyboard and the pencil. Or copy and paste. Yeah, or copy and paste,
⏹️ ▶️ Marco yeah. Making the iPad a little more laptop-like when that is the
⏹️ ▶️ Marco best solution, which is not never. Like, it isn’t always, but it’s not never.
⏹️ ▶️ Marco When the best solution is to borrow something from the laptop world, the iPad has done it.
⏹️ ▶️ Marco a lot of the time. And there’s lots of ways it hasn’t. And
⏹️ ▶️ Marco I’m putting off for now a lot of discussion about the apps themselves and
⏹️ ▶️ Marco what they can do and what they can’t do. And various like, you know, sandboxing issues and file dealing with
⏹️ ▶️ Marco issues and stuff like that, app store issues. There’s a lot of other issues that we could talk about. But just talking about like
⏹️ ▶️ Marco the basics of usability of the device, getting around apps, you know, getting in and out of apps, multitasking,
⏹️ ▶️ Marco physical interface, borrowing from the laptop world so far has
⏹️ ▶️ Marco succeeded very well on iPads in the few times they’ve done it.
⏹️ ▶️ Marco And so doing it one or two more times for something as rudimentary as the
⏹️ ▶️ Marco way the multitasking system works, which they’ve already heavily borrowed from. They already have a dock
⏹️ ▶️ Marco and an alt tab switcher or command tab switcher. They already have a lot of the same things. You
⏹️ ▶️ Marco know, the search box. There’s a lot of overlap already and it’s worked mostly okay.
⏹️ ▶️ Marco To borrow a couple more things to make the MoTes system way more easy for anybody who’s not Federico
⏹️ ▶️ Marco to use, I think would go a long way. And we shouldn’t rule it out simply because, oh, why
⏹️ ▶️ Marco don’t you just use a Mac? No, it turns out there’s good ideas, and we’ve already borrowed a lot of them. It
⏹️ ▶️ Marco wouldn’t harm the world to borrow a couple more.
⏹️ ▶️ John So what we’re saying, as usual, is that Microsoft Surface got it right, and their only
⏹️ ▶️ John, Casey problem is they started
⏹️ ▶️ John from a crappy desktop operating system, and it’s only a matter of time before Apple figures it out and
⏹️ ▶️ John ends up, like, I saw a good graphic recently, it was like, show the Microsoft Surface line someone was like, this is what I expected the
⏹️ ▶️ John iPad line to look like by now. And it had the giant Surface Studio 27 inch touchscreen thing,
⏹️ ▶️ John and it had the small ones with look like laptops with removable screens. And Microsoft has the unified
⏹️ ▶️ John OS strategy of they have Windows with window chrome on their tablet, sort of kind of like, you
⏹️ ▶️ John know, obviously, you know, starting with Windows was a serious detriment. And
⏹️ ▶️ John I’m not saying Apple should have just put Mac OS on their tablets because that would have been the wrong thing, too. but what you’re describing,
⏹️ ▶️ John Marco, is essentially where Microsoft is now, but with the details different,
⏹️ ▶️ John right? So, you know, having something that works and looks and borrows a lot from
⏹️ ▶️ John a laptop, but is also a touch device and works in that mode as well, just better,
⏹️ ▶️ John right? That’s what I’m really,
⏹️ ▶️ John, Marco and the details matter.
⏹️ ▶️ John Yeah, the details definitely do matter. There’s a reason we’re not really using Microsoft Service, but you know, the overall strategy,
⏹️ ▶️ John if you didn’t look at the details and just described it in broad strokes, that’s more or less what you’re talking about. And I still contend that
⏹️ ▶️ John like, ideally you come up with a solution that is better, but if you try for a long time and
⏹️ ▶️ John can’t think of anything, it’s time to just to consider the menu bar. Like I would consider the menu bar before
⏹️ ▶️ John Window Chrome, actually, because I just feel like it’s a simpler element and you could put one of them up there and they already have a status bar. It’s almost like
⏹️ ▶️ John a menu bar anyway, and so on and so forth. But that’s the type of stuff you can’t just add
⏹️ ▶️ John piecemeal. You have to have a good rethink, right? Just, you know, step back and say,
⏹️ ▶️ John Next-gen iPad OS. Describe the paradigm, and then you can choose
⏹️ ▶️ John which things from the Mac world are we gonna pull in, and if someone says, oh, we don’t wanna pull that in, it’s like, well, then what’s your
⏹️ ▶️ John better idea? Because we tried these things and they’re worse. If you don’t have a better idea, it’s time
⏹️ ▶️ John to consider does the menu bar fit in? Does a menu bar fit in? Does Window Chrome
⏹️ ▶️ John fit in in some fashion? So I hope that happens eventually. If it doesn’t,
⏹️ ▶️ John I don’t think actually it’s the end of the world, I still think that people are generally, most
⏹️ ▶️ John people are satisfied with their iPads using them in simple mode, right?
⏹️ ▶️ John But it also means that the iPad is never going to threaten the Mac for complicated tasks
⏹️ ▶️ John if they can’t figure out how to make it, you know, easy
⏹️ ▶️ John to do, make it comfortable and fun and easy for even experts to do
⏹️ ▶️ John on the iPad. It’s not, it’s too difficult, it’s too complicated, And only if you really, really
⏹️ ▶️ John love the iPad, will you go through that effort and everyone else will just run to the thing they’re
⏹️ ▶️ John more comfortable with. And we are continuing to make generations of people who are
⏹️ ▶️ John comfortable to some degree doing complicated tasks on desktop computers. So it’s not like
⏹️ ▶️ John those people are dying out either. New generations of people know how to use Macs
⏹️ ▶️ John and PCs because they have to use them to do all the things that they generally can’t do on an iPad. So
⏹️ ▶️ John that divide will remain and iPad customers will be happy and Mac customers will
⏹️ ▶️ John be happy. But the future where iPad eventually expands to absorb the
⏹️ ▶️ John problem space of the Mac will never happen if they don’t figure this out.
⏹️ ▶️ Marco Thanks to our sponsors this week, Linode, Bluevine, and Yes Please. we will see you
⏹️ ▶️ John Now the show is over,
⏹️ ▶️ Casey they didn’t even mean to begin, cause it was accidental, oh
⏹️ ▶️ Casey it was accidental. John didn’t do any research, Marco
⏹️ ▶️ John and Casey wouldn’t let him, cause it was accidental,
⏹️ ▶️ Casey oh it was accidental. And you can find the
⏹️ ▶️ John show notes at atp.fm And if you’re into
⏹️ ▶️ Marco you can follow them At C-A-S-E-Y-L-I-S-S
⏹️ ▶️ Marco So that’s Casey Liss, M-A-R-C-O-A-R-M The
⏹️ ▶️ John S-I-R-A-C-U-S-A-C-R-A-Q-U-S-A It’s
⏹️ ▶️ John accidental They didn’t mean to,
⏹️ ▶️ John accidental Check my cast so long
John’s bug chase
⏹️ ▶️ John I have I had the I didn’t get that time to shove it in because we were going along anyway, but
⏹️ ▶️ John I have the opposite of Marcos bug. I had a beginner bug
⏹️ ▶️ John that is not the result of but is adjacent to the fact
⏹️ ▶️ John that there is tons of documentation for app kit like app kit if you go like
⏹️ ▶️ John you know look at the documentation for some common class in app kit this there are so many attributes
⏹️ ▶️ John there are so many methods and one failure mode is, oh, you didn’t
⏹️ ▶️ John see this method or this attribute? Because if you had read it, it’s obviously what you want, but it was on a page
⏹️ ▶️ John with 500 methods and you didn’t happen to see it. So this bug was,
⏹️ ▶️ John again, a total dead beginner’s bug, but it baffled me for a while. I was just
⏹️ ▶️ John trying to make a window appear and then let you close
⏹️ ▶️ John it. So I had a menu command and you pick the menu command and a window appears. and then when you’re done with that window, you close it.
⏹️ ▶️ John And then my bug was, all right, so I did it. You know, you select the
⏹️ ▶️ John menu command. I would make a new window. I’d say, window, please show yourself. It would show itself. Then you close the window,
⏹️ ▶️ John and then I would invoke that same menu command right after that, and it would hit the same code and say, okay, I’m about to show a window.
⏹️ ▶️ John And I tried it both the naive and the quote-unquote fancy way. The fancy way was, I don’t need to make the window
⏹️ ▶️ John every time, I’ll just keep that window around. And the next time they take the menu command, I’ll just show it, because I already made it, right? Simple,
⏹️ ▶️ John straightforward. The problem was that every time I did the command the second time,
⏹️ ▶️ John the app would crash.
⏹️ ▶️ John, Casey Nice. Right,
⏹️ ▶️ John and I was, and I was in, I’m using Swift here, so I was in the, you know, my great Perl motto,
⏹️ ▶️ John when it segfaults, it’s not your fault, because that’s the promise of Perl. It’s a high-level language, and if it
⏹️ ▶️ John segfaults, that’s not on you. You should, that’s, you know, Perl’s broken. That’s a, you know, it’s a
⏹️ ▶️ John compiler problem. It’s not your fault. You shouldn’t even be able to do that, right? John Syracuse says, Pearl’s broken.
⏹️ ▶️ John Yeah, well, and if it’s seg faults, that’s not your fault, unless you’re writing C code to interace
⏹️ ▶️ John with Pearl, which you can do. But in general, if you’re writing Pearl code. So in Swift, I know that’s not actually true, but I was having that attitude.
⏹️ ▶️ John And up to this point, I’d never had a crashing bug because I’m doing simple things and Swift is
⏹️ ▶️ John handles the allocation and everything for it. I’m sure I was making memory leaks here and my apps are so dinky, it doesn’t matter anyway.
⏹️ ▶️ John But yeah, it was, I’m like, but I’m just making, And so I said, all right, stop trying to be fancy. And just every
⏹️ ▶️ John time they do the command, make the window and ask it to show it. And for some reason that wasn’t working either.
⏹️ ▶️ John And I couldn’t, for the life of me, figure out like why does it work the first time, but then the second time
⏹️ ▶️ John it doesn’t. And like AppKit, the thing about AppKit is that there’s a long legacy
⏹️ ▶️ John of the way it used to work back in the next days and the early Mac days and so on and so forth. And there’s a million different attributes.
⏹️ ▶️ John And so I’ve been heavily leaning on one of the slacks I’m in that’s filled with
⏹️ ▶️ John a vast wealth of experience of Mac development and Next development going back ages. And I’m like,
⏹️ ▶️ John I come in there only with my tail between my legs after I’ve spent an hour doing this. I’m like, look, I’m just trying to make
⏹️ ▶️ John, Marco appear and then
⏹️ ▶️ John close it and be able to do it a second time and my app is crashing. What super obvious
⏹️ ▶️ John thing am I missing? And someone with experience said, oh, what you’re missing is that
⏹️ ▶️ John unbeknownst to you, every window, every NS window has an attribute called
⏹️ ▶️ John is released after close or something, where and it’s set to true by default.
⏹️ ▶️ John So if you show the window and then close it, it’s the memory for that window is released behind your back in
⏹️ ▶️ John the system. And that is the correct default for this particular mode working with nibs back in the
⏹️ ▶️ John day, right? But it lives on as an attribute on every single window. And why didn’t you know about that? Because if you
⏹️ ▶️ John go to the NS window documentation, which is incredibly extensive, there’s a million things there. If you’re not looking
⏹️ ▶️ John for an attribute called is released after close, you’d be like, why is my app crashing? So it would show the window,
⏹️ ▶️ John I would close it, it would release that memory, and the place where it used to be is now just uninitialized garbage memory,
⏹️ ▶️ John and the next time you go and try to do something with that, it crashes.
⏹️ ▶️ Marco Just. Cool. Isn’t this a failure of Arc? Like, shouldn’t Arc be holding onto
⏹️ ▶️ John that? Set isRelease after close. Well, the isRelease thing just,
⏹️ ▶️ John you know, ditches the memory for it, and that is causing the bug.
⏹️ ▶️ Marco no, dalloc ditches the memory for it. Release
⏹️ ▶️ John just loses a ref count. I don’t know what it actually does. I’m not telling you what the attribute is called. I don’t know if I got the
⏹️ ▶️ John name right. It’s really just after close or something similar. But for all we know, it is the allocking. I don’t know what it’s doing behind the scenes. All I know is there’s
⏹️ ▶️ John an attribute among the many, many, many attributes. I mean, the lesson is don’t try to hide and show
⏹️ ▶️ John your own windows. Use NSWindowController instead because it will handle all these things for you. And if you use nibs, this also would be handled
⏹️ ▶️ John for you. Like this is all the machinery that’s behind the scenes that you don’t know about, but is a brain dead simple thing
⏹️ ▶️ John that I’m assuming, I didn’t even look at the docs, but I’m assuming totally is documented like everything else. But if
⏹️ ▶️ John you don’t know where to look or you’re not familiar with the weird history of how AppKit works and how it works
⏹️ ▶️ John with nibs and how you’re supposed to use it and you try to be like, I know how to make my own window. I’ll construct it and
⏹️ ▶️ John ask it to show itself and it will work great. It does the first time, but then your window is gone.