catatp.fm Unofficial Accidental Tech Podcast transcripts (generated by computer, so expect errors).

104: Minutiæ

Please email us about Photos.app, UXKit, and React.

Episode Description:

Sponsored by:

  • Igloo: An intranet you'll actually like.
  • Automatic: Your smart driving assistant. Get $20 off with this link.
  • Hover: The best way to buy and manage domain names. Use coupon code SLOTTOASTERPEOPLE for 10% off.

MP3 Header

Transcribed using Whisper large_v2 (transcription) + WAV2VEC2_ASR_LARGE_LV60K_960H (alignment) + Pyannote (speaker diaritization).

Transcript start

⏹️ ▶️ Casey There’s brief moments of time when I listen to the two of you go back and forth. And for a minute, I’m

⏹️ ▶️ Casey like, man, I’m not even here anymore. And I feel ever so

⏹️ ▶️ Casey slightly sad, but then I continue to listen to you two going back and forth and I just don’t even care anymore because I’m entertained

⏹️ ▶️ Casey as hell. We had recently received an email as recently as

⏹️ ▶️ Casey about two hours ago about how we say to each other or say actually

⏹️ ▶️ Casey to you, the listener, please email anyone other than us or please don’t send

⏹️ ▶️ Casey us email, et cetera. Would you like to talk a little more about this email?

⏹️ ▶️ John All right. So the, the first sentence is I’m a little surprised about your whole email topic. Now, this is already

⏹️ ▶️ John kind of like spreading the topic wider because this started with Marco

⏹️ ▶️ John getting specific feedback and bug reports about overcast. Right. But then they sort of expanded

⏹️ ▶️ John into like the entire topic of us getting email. And so this feedback is not about

⏹️ ▶️ John Marco and his bug reports. really. It’s really about when we say on the show, please don’t

⏹️ ▶️ John email us about whatever. Right. So I already think this is kind of off topic and it’s just like it’s related

⏹️ ▶️ John to the discussion, but whatever we want this not interested in really discussing how Marco handle

⏹️ ▶️ John his feedback. He’s more interested in discussing the joke that we do when we say, please don’t send us email.

⏹️ ▶️ John And he says it makes him feel like that. We don’t appreciate the listeners that, you know, let me find a good sentence here.

⏹️ ▶️ John He says he loves us, loves the show. It doesn’t make me feel entitled to anything. I know that obviously, and I

⏹️ ▶️ John know that it’s impossible to get back to everybody. But what is it impossible is to appreciate your position to appreciate the fact that

⏹️ ▶️ John people devote their time to actually tell you what they think to appreciate that people are the are

⏹️ ▶️ John the ones that are attracting sponsors, etc. to appreciate that a podcast by nitpickers is going to attract nitpickers to appreciate

⏹️ ▶️ John that so many people really care. And I know you do appreciate your listeners, but the whole email joke, the whole annoyance is neither funny

⏹️ ▶️ John nor respectful. It’s strange off putting very arrogant and makes me kind of angry. It makes my engagement feel pathetic

⏹️ ▶️ John and needy. It’s really not that hard just to say a few nice words, you know. To this, I would

⏹️ ▶️ John say that we don’t have a ignoring the fact that most of the time we’re just joking, right? Because

⏹️ ▶️ John jokes can be hurtful, too, right? We don’t have a blanket ban on

⏹️ ▶️ John on email. We don’t

⏹️ ▶️ John, Marco say

⏹️ ▶️ John it’s like a prohibition. Please. In fact, we encourage tacitly encourage email by

⏹️ ▶️ John responding to email on the show. And a lot of the follow up is about things that people send us. see the corrections

⏹️ ▶️ John for things or expansions on topics. We take real time feedback and real time follow up from the chat room

⏹️ ▶️ John from people saying the same thing. Right. So it’s clear that we’re not like nobody ever email us anything, you know,

⏹️ ▶️ John for whatever reason. We don’t say that.

⏹️ ▶️ Marco I mean, there’s a feedback form on our site that I made when we made the site. Like,

⏹️ ▶️ Marco we have this form on the site that says send feedback. If we wanted to not actually receive any feedback,

⏹️ ▶️ Marco we would just take the form down like Marco. And

⏹️ ▶️ John if

⏹️ ▶️ John, Marco we’re on his app doesn’t want to apply

⏹️ ▶️ John that he’s providing support. He just writes the feedback. So first of all, I would say the premise that the idea that we just

⏹️ ▶️ John are saying we don’t want any feedback like that’s not that’s not our message at all. We do very frequently, though,

⏹️ ▶️ John say, please don’t email us about whatever topic. And that is specifically focused

⏹️ ▶️ John on whatever it was we were talking about. So if it’s like, you know, I’m

⏹️ ▶️ John I’m I’m going to tell you about this toaster oven. I got please don’t send me email about slot toasters.

⏹️ ▶️ John The reason and then I followed up by saying I know about slot toasters. I know slot toasters exist. I know

⏹️ ▶️ John that they are different than toaster ovens. I am reviewing toaster ovens. Right. And they’re worse. Right.

⏹️ ▶️ John Like, right. And part of that is like the please don’t email thing is a long running

⏹️ ▶️ John gag from any podcast that we’ve listened to and been on in the past. So if you don’t have that context, maybe that doesn’t make much sense. It’s also

⏹️ ▶️ John kind of a joke like, oh, I don’t want to hear from those people who are just going to tell me about the slot toasters. Right. But it’s very specifically

⏹️ ▶️ John focused on this one thing. It is not saying please don’t email me ever about anything. If if you know something cool

⏹️ ▶️ John about a new display port specification, yes, send us the email about it. If you

⏹️ ▶️ John say I’ve been an Apple genius for X number of years and this is my experience of yes, send us email about it. Like, of course, we want

⏹️ ▶️ John that email. Like we read it on the show. We appreciate it. We appreciate our listeners. So I don’t want people listening

⏹️ ▶️ John to think and I don’t think most people do. But this person does apparently that we we don’t want feedback

⏹️ ▶️ John from anybody. It’s 50% of the time a joke and the other 50% of the time very focused kind

⏹️ ▶️ John of exasperation at a particular type of feedback that we expect to get

⏹️ ▶️ John because we said something that we know leaves us open to a particular kind of correction and we’re trying to say you don’t

⏹️ ▶️ John need to send us that correction because we are fully aware that we have either intentionally ignored this thing

⏹️ ▶️ John or whatever.

⏹️ ▶️ Marco Right it’s it’s a way I use it it’s as a way to preempt getting a

⏹️ ▶️ Marco whole bunch of emails that begin with well you know and and some big argument about

⏹️ ▶️ Marco something that like, I know the thing I just said is contentious, or I know there is something that

⏹️ ▶️ Marco other people are gonna wanna tell me about what I just said, and I’m just like, I don’t wanna engage that entire discussion right

⏹️ ▶️ Marco now. It’s a way for me to basically try to preempt getting a whole bunch

⏹️ ▶️ Marco of duplicate emails telling me something I already know. And that saves everybody time.

⏹️ ▶️ John And that’s not to say it’s not annoying. If you’re annoyed by it, it’s totally your right to be annoyed by it. It can be annoying, I

⏹️ ▶️ John fully admit that, but we are human and we get exasperated sometimes too. We express that on the show.

⏹️ ▶️ Casey Yeah, so this email was from Pel D. I feel like we should attribute,

⏹️ ▶️ Casey I’m assuming him. And what I had replied to him or her, I’m thinking him,

⏹️ ▶️ Casey and what I said was, we say don’t email

⏹️ ▶️ Casey us either because we really don’t care about the minutiae, minutiae, minutiae, all the nuance

⏹️ ▶️ Casey of the topic at hand.

⏹️ ▶️ John You’re gonna get on me about Bezel, but you’re going to go minutiae? OK. Minutiae,

⏹️ ▶️ John Kit Tacey. Touche.

⏹️ ▶️ Casey I was pretty sure it was minutiae, and then I was envisioning all the emails of it saying to me, no, it’s

⏹️ ▶️ Casey not minutiae, it’s minutiae.

⏹️ ▶️ Casey, John So should

⏹️ ▶️ John people not email you about the correct pronunciation of minutiae? So please

⏹️ ▶️ Casey do not email me. See?

⏹️ ▶️ Casey, Marco That’s a perfect use.

⏹️ ▶️ Casey It’s a perfect use of it. Anyway, let me try this again. So we

⏹️ ▶️ Casey say please don’t email us, either because we really care about the minutiae of the topic at hand or because

⏹️ ▶️ Casey we know we won’t be able to respond to everyone. And actually, that reminded me as we were talking

⏹️ ▶️ Casey of another piece of follow-up, which is I saw a handful of people, generally speaking

⏹️ ▶️ Casey from Europe, who seemed confused about the whole toaster oven thing.

⏹️ ▶️ John Yeah, someone asked me, isn’t that just a grill? And then I realized we had a language barrier between English speakers.

⏹️ ▶️ John I think it was someone from the UK Or one of the some other thing that Marco can tell us the correct name of

⏹️ ▶️ Marco can we maybe just put a you somewhere? In it would that make them know what we’re talking about a

⏹️ ▶️ John toaster oven. Yeah, no, it was great It was great because someone said isn’t that just a grill and I replied no

⏹️ ▶️ John Because I didn’t look up like where they were from or something But I was confused by and then another person who obviously knows

⏹️ ▶️ John Speaks the variant of English that that person was speaking tweeted back to them said I think that what you mean by grill

⏹️ ▶️ John isn’t what? They mean by actual language barrier. We don’t know the words for

⏹️ ▶️ John things, but we put links in the show notes, right? Like you can click on them and see what it is. It’s a thing. Toaster ovens are

⏹️ ▶️ John a thing in America anyway.

⏹️ ▶️ Casey And so if you live in one of these barbaric countries that doesn’t really have a toaster,

⏹️ ▶️ Casey doesn’t have toaster ovens, basically it’s like a little tiny oven that can serve either as a toaster

⏹️ ▶️ Casey or an oven, hence toaster oven. And they’re extremely convenient if you’d like to reheat

⏹️ ▶️ Casey something, especially something bready, pizza being the most obvious example,

⏹️ ▶️ Casey French fries, anything like that. If you want to reheat something bready, but you don’t want to

⏹️ ▶️ Casey do so in the microwave because then it’ll end up all gummy, a toaster oven is a great way to do it. Now, yes, you could

⏹️ ▶️ Casey use a traditional oven, but why in the world would you start up what is probably multiple square

⏹️ ▶️ Casey feet worth of space to heat one slice of pizza or two slices of pizza? And so a toaster

⏹️ ▶️ Casey oven is the best of both worlds, because it’s a little tiny oven, big enough for usually a slice of pizza

⏹️ ▶️ Casey or two, or it’s a toaster, big enough for maybe a couple of bagels or something like that.

⏹️ ▶️ Marco Right, and it tends to heat up just about as quickly as doing it in the microwave for me. Like if you’re gonna, I

⏹️ ▶️ Marco mean, it’s, you know, not 30 seconds, but if you’re gonna reheat a slice of pizza, a toaster oven has it done in like

⏹️ ▶️ Marco two or three minutes at most. And so that’s, it’s way faster than using a full-size

⏹️ ▶️ Marco, John oven.

⏹️ ▶️ John Nobody should ever put a pizza in a microwave, I just want to say

⏹️ ▶️ Casey that. Oh, completely agreed. But anyway, so if you don’t know what a toaster oven is, well, perhaps it’s

⏹️ ▶️ Casey time to to move to a different country But nevertheless,

⏹️ ▶️ Casey maybe you could import it or something like that. Nationalized healthcare or toaster ovens?

⏹️ ▶️ Casey, Marco I’m

⏹️ ▶️ Casey going toaster ovens

⏹️ ▶️ Marco I think

⏹️ ▶️ John I might too. The brand of my toaster oven, Breville, apparently that’s a proprietary

⏹️ ▶️ John eponym See, I did remember that from the past episode.

⏹️ ▶️ Marco It’s pronounced Brazel.

⏹️ ▶️ John That

⏹️ ▶️ John, Marco is a

⏹️ ▶️ John proprietary eponym in the UK OK, like Kleenex or whatever. And so someone in the chat room says a Breville

⏹️ ▶️ John refers to something we would call a grill in the UK for sandwiches. So they’ve taken that entire brand and turned it into

⏹️ ▶️ John a signifier for the entire category of things, like a panini grill type

⏹️ ▶️ John of thing or whatever. But anyway, that’s definitely not what I’m talking about. Again, follow the links in the show notes. We’ll show you exactly

⏹️ ▶️ John what we were talking about. Last week’s show notes, not this week’s show

⏹️ ▶️ Casey notes. Yeah, we’re not going to put in this week’s show notes because it was already there. You should have clicked the links,

⏹️ ▶️ Marco kids. Our first sponsor before we’ve done a single topic is Igloo.

⏹️ ▶️ Marco Igloo is an intranet you’ll actually like. It’s kind of funny that this is the first tech that we’re discussing is the sponsor itself.

⏹️ ▶️ Marco With Igloo, you can share news, organize your files, coordinate calendars, and manage projects all

⏹️ ▶️ Marco in one place. This is like taking the best of the web and productivity apps. Things like calendars, Twitter-like

⏹️ ▶️ Marco microblogs, file sharing, task management, wikis, and more. All available privately and securely

⏹️ ▶️ Marco for your company or group intranet. igloo intranets are highly functional, stylish and easy to use

⏹️ ▶️ Marco with a widget based drag and drop interface. Their latest upgrade Viking revolves around documents

⏹️ ▶️ Marco and how you interact with them gather feedback and make changes. They’ve even added the ability to track who has read

⏹️ ▶️ Marco critical information to keep everyone on the same page. It’s kind of like read receipts in your email but less annoying.

⏹️ ▶️ Marco And it helps you track whether whether employees have read and acknowledged policies signed off on legal agreements

⏹️ ▶️ Marco or confirmed completion of training materials all very useful stuff if you’re running a company. Igloo is

⏹️ ▶️ Marco all built on their advanced HTML5 platform. It’s a fully responsive platform and offers all these

⏹️ ▶️ Marco features. Even things like previewing and annotating documents, you have to render an office document

⏹️ ▶️ Marco and have annotations on it. All that is done in HTML5. So it works no matter what device you’re on.

⏹️ ▶️ Marco You have all that functionality, all the annotations, all the admin controls, everything, whether you’re on a computer, iPhone,

⏹️ ▶️ Marco Android phone, or even a Blackberry. When new devices and screen sizes hit the market, Igloo already works on them.

⏹️ ▶️ Marco So if your company has a legacy intranet that looks like it was built in the 90s, you should definitely give Igloo a try.

⏹️ ▶️ Marco Igloo, honestly, I think this is a great part too, that Igloo is even completely free to use for as long

⏹️ ▶️ Marco as you want if you have a group of 10 or fewer people. And then if you get past 10 people, it’s very

⏹️ ▶️ Marco reasonably priced after that. So really, if you have a group of 10 or fewer people, Igloo’s free for you. Just go try it, it’s

⏹️ ▶️ Marco amazing. Anyway, sign up for a free trial igloo software comm slash

⏹️ ▶️ Marco ATP that is igloo software comm slash ATP Thanks a lot to a leap for sponsoring

⏹️ ▶️ Marco our show once again. They’ve been a longtime sponsor and friend of our show

⏹️ ▶️ Casey Yeah, very much. Thank you igloo We should talk about the photos

⏹️ ▶️ Casey app that we all thought may have kind of gone away

⏹️ ▶️ John Hang on real-time follow up on the Breville. It’s not a panini. It’s not a panini press look at the thing I just put

⏹️ ▶️ John in the show notes. It’s the thing like It’s like a clamshell thing

⏹️ ▶️ John that closes and it has two little compartments for bread. Like if you cut a piece of bread

⏹️ ▶️ John on a diagonal and it kind of like heats them from both sides. Different than a panini press, which is, you know, the flat

⏹️ ▶️ John surfaces with the little ridges on them.

⏹️ ▶️ Casey This is

⏹️ ▶️ John a common thing. Like that’s what they prefer to. I’ve seen them in the US. I just I don’t think many people have them, but that’s

⏹️ ▶️ John what they call it. That’s what they call a Breville. And if you read the history of the thing,

⏹️ ▶️ Casey that’s that’s really peculiar. I mean, well, I’ve seen them before, but looking at the chat room, it

⏹️ ▶️ Casey seems like in the UK in Australia, everyone has one of these. And I cannot think of any one of my

⏹️ ▶️ Casey friends or family that has one.

⏹️ ▶️ Marco So it’s labeled there as a durable stainless steel jaffle maker. So are those jaffles? Is that

⏹️ ▶️ Marco like, that’s what we call this thing? Yeah, I don’t want to try to pronounce that word. I don’t think I can. Maybe it’s jufflay.

⏹️ ▶️ Marco Jaffle, like waffle?

⏹️ ▶️ Casey So quick aside, I was at work, this was a year ago now. And somebody

⏹️ ▶️ Casey was, one of my coworkers was talking about doing something in JavaScript. And at one point,

⏹️ ▶️ Casey he said something about JSON. And I was like, what? Oh, my God.

⏹️ ▶️ Casey, Marco That’s what the French called.

⏹️ ▶️ Casey And it took

⏹️ ▶️ Casey, Marco me a minute.

⏹️ ▶️ Casey I think he was saying it, you know, comically or ironically or whatever. But when I heard

⏹️ ▶️ Casey JSON, I was like, wait, what? And sure enough, he meant JSON. I just did it again

⏹️ ▶️ Casey accidentally. My

⏹️ ▶️ Marco boss used to say H over. What?

⏹️ ▶️ John H over. That’s when you put your H over an item. Yep. And the, uh… The H over style on the links.

⏹️ ▶️ John Well, he was just avoiding trying to pronounce that word because he knew it was such a problem.

⏹️ ▶️ Casey That’s true, because you never know when that’ll go wrong. But for the record, it’s hover.

⏹️ ▶️ John We’ll talk about them in 20 minutes. All right, sorry for the derail. Photos, back to photos.

⏹️ ▶️ Casey Yeah, so let’s talk about photos. We had all, not genuinely, but kind of wondered,

⏹️ ▶️ Casey hey, what happened to photos because somebody had pointed out to us that it disappeared from Apple’s website.

⏹️ ▶️ Casey Well, apparently it’s back. It’s back in a big way because it’s actually in the latest

⏹️ ▶️ Casey Yosemite beta. Now have either of you guys tried this? What are you crazy?

⏹️ ▶️ John I was actually going to try it like not on my computer with my actual photos, but just just to load the program and throw

⏹️ ▶️ John some sample photos at it or whatever. But then I realized and I’m I’m pretty sure this is still the case that you have to

⏹️ ▶️ John upgrade to the 1010 3 beta and I wasn’t willing to do that just just to try the photos

⏹️ ▶️ John app so I’ll just wait

⏹️ ▶️ Marco yeah that’s the reason I’m not using it it’s cuz like I’m not gonna run a beta OS on my main computer so that’s

⏹️ ▶️ Marco that’s

⏹️ ▶️ John not gonna happen yeah I’ve already put in a lot of time doing stuff like

⏹️ ▶️ John that I deserve a break

⏹️ ▶️ Marco I also I feel like this is a good opportunity that I really should take to go back and clean out some of my

⏹️ ▶️ Marco photo library because like there’s so much there’s so many times I’m sure I’m sure this happens a lot of people

⏹️ ▶️ Marco I’ll go on a trip or something or you know we’ll do like a shoot with the kid or the dog or both or whatever

⏹️ ▶️ Marco and and we’ll just dump all the photos into the photo library and then just never really pick through them so I

⏹️ ▶️ Marco have you know these giant like 30 gig folders full of some shoot or something like that and

⏹️ ▶️ Marco it’s like if I just took an hour to go through this I would probably delete 95% of those pictures

⏹️ ▶️ Marco and just keep like the 5% of the best ones that I actually want to see again. And

⏹️ ▶️ Marco basically, I need to apply that process to like five years of photos. It’s like spring cleaning.

⏹️ ▶️ Marco I keep meaning to do this and maybe this is like, maybe this is my motivation to do it finally. Do you guys have that problem?

⏹️ ▶️ Casey I used to use iPhoto. This was, I don’t know, three, four years ago now.

⏹️ ▶️ Casey And I felt it was nothing but a burden. And there’s probably a million and

⏹️ ▶️ Casey seven ways that you can blame that on me and probably a million and six of them are correct. But for

⏹️ ▶️ Casey whatever reason, I just didn’t have a workflow that really worked well for me. And what I’ve ended up doing since then is just

⏹️ ▶️ Casey issuing, that’s how you pronounce that word right, issuing iPhoto altogether. This

⏹️ ▶️ Casey is the Accidental Pronunciation Podcast. And now what I’m doing is, and I think

⏹️ ▶️ Casey it was Bradley Chambers, learning to love photo management in combination with some scripts from

⏹️ ▶️ Casey Dr. Drang. And so basically what I do is I have all of my pictures

⏹️ ▶️ Casey renamed consistently and stored consistently in my file system, and that’s as close as I get to any sort of organization.

⏹️ ▶️ Casey And I wish I had a better organization system insofar as something where maybe

⏹️ ▶️ Casey I’ve tagged pictures that I think are really good, or I’ve grouped them into events or what have you, the sorts of

⏹️ ▶️ Casey things that I suspect Photos app will be great for. But for whatever reason, it just felt like such

⏹️ ▶️ Casey a pain in the butt with iPhoto that I never really did it.

⏹️ ▶️ John I think I’ve described my system before. I put them all in iPhoto and then I star rate them. And the only

⏹️ ▶️ John cleaning I really do, I tend to be like not want to get rid of pictures

⏹️ ▶️ John of my kids, even if like they’re not framed correctly or even if they’re a little out of focus, because sometimes they’re still

⏹️ ▶️ John cute. But what I do is I do rate them all. And when I feel like doing a little cleaning, I just show

⏹️ ▶️ John all the one stars and the one stars are basically like, you should really delete these because the lighting is really bad or it’s blurry

⏹️ ▶️ John or whatever. Like and I will delete as I look at every picture when I load them into iPhoto, I’ll delete the ones obviously

⏹️ ▶️ John that are like, actually I took a picture of my foot or like something, you know, that are totally bad. But all one star ones

⏹️ ▶️ John and then when I want to clean it’s really easy for me to just show a smart album that shows one star and then just go through

⏹️ ▶️ John and just delete a whole swath of

⏹️ ▶️ Marco them. Yeah, but see then you can’t see the ones around them that were better so you can really know like, which of these do I need

⏹️ ▶️ Marco to

⏹️ ▶️ John keep? One star means, I mean, I can look at the pictures, like it’s like, these are so blurry, like they’re not, I’m

⏹️ ▶️ John not one starring, if it’s in focus and people are in the, like, those never get one star. star basically

⏹️ ▶️ John means you should really delete this one star is the thing that most people would delete immediately I just let them stew and then if I feel like

⏹️ ▶️ John cleaning house I delete all I think I deleted every one star from my collection a couple years ago and it was

⏹️ ▶️ John a lot of photos but now I just kind of let them build

⏹️ ▶️ Marco up maybe you’re just letting them develop like a Polaroid like figuring maybe it’ll get better if I just leave it here for a little

⏹️ ▶️ Marco few more

⏹️ ▶️ Marco, John hours

⏹️ ▶️ John yeah and also like a picture that is actually out of focus

⏹️ ▶️ John sometimes that we do like family calendars where you and you know make the calendar for the year with pictures and everything. And they have this little

⏹️ ▶️ John collage where you can put the picture. And sometimes there’s little spots on the calendar for small photos and even a

⏹️ ▶️ John picture that’s blurry, like it’s not in focus when you shrink it down to be like one of the small thumbnails kind of

⏹️ ▶️ John at an angle in the corner of a calendar thing. It doesn’t actually even look that bad. So occasionally that’s why I’m kind

⏹️ ▶️ John of keeping the one stars around. Or if it’s like me trying to see a picture of like,

⏹️ ▶️ John what some, what do I have in this shelf in this year? Where was

⏹️ ▶️ John, Marco that thing

⏹️ ▶️ John, Casey or whatever? like,

⏹️ ▶️ John you know, I wish I wish the system was more intelligent about finding

⏹️ ▶️ John things. For example, I do keyword them, but my keywords are limited to like, I have a keyword for each of my children, and

⏹️ ▶️ John then one keyword for me and my wife, because I’m not going to do us individually, you know what I mean?

⏹️ ▶️ John And that’s about it. And you think, like, why do you need to do that? Doesn’t the faces feature find you

⏹️ ▶️ John all the people that you want for you? Well, I started doing this before the faces feature existed long before, first of all, but second

⏹️ ▶️ John of all no it’s not reliable enough like me manually keywording them is much more reliable than

⏹️ ▶️ John faces I wish I could turn faces off it’s always grinding away making the fan spin up on the MacBook

⏹️ ▶️ John Air to try to detect people’s faces but that’s the same thing I do with iTunes starring

⏹️ ▶️ John them and basically using the star as a threshold system easily lets me sort of get what people

⏹️ ▶️ John are trying to get by cleaning things out which is just like just show me three stars are better those are the good pictures there’s

⏹️ ▶️ John very few of them suddenly my collection become small and manageable. And if I want to share photos on, you know, PhotoStream

⏹️ ▶️ John or, you know, send them to relatives, I just show the three stars. It’s super manageable. People want their collections

⏹️ ▶️ John to actually be like that. I can’t bring myself to throw out the two-star ones, but the one-star ones I do delete.

⏹️ ▶️ Marco Now, going back to the photo app for a second, I think… So, one thing that we were skeptical of

⏹️ ▶️ Marco or hesitant or whatever the right word here is…

⏹️ ▶️ Marco, Casey We are a disaster. Yeah,

⏹️ ▶️ Marco right. I’m still sick. I have a good reason. Is that we were wondering, like, you know

⏹️ ▶️ Marco one of the issues with cloud service back things and iCloud stuff in particular

⏹️ ▶️ Marco is that there’s pretty much no visibility into the storage and no recourse

⏹️ ▶️ Marco if it does something crazy like delete half your contacts like it’s pretty hard to recover from that in a lot of cases

⏹️ ▶️ Marco for a lot of these services and if you if you have this on your Mac and it

⏹️ ▶️ Marco has all these files in there locally you can back up these files and then hopefully have some way to re-import

⏹️ ▶️ Marco them if you had to like nuke your whole iCloud account and start clean or restore a bunch of stuff that was deleted.

⏹️ ▶️ Marco It seems from earlier reports that the storage layout of it, you can import

⏹️ ▶️ Marco things off disk and it can just leave them where they are and not copy them in. But by default it seems to maintain

⏹️ ▶️ Marco a very iPhoto-like library structure so that these files are just sitting there as files on

⏹️ ▶️ Marco your disk. All of your photos are there by default. It will only be smart and try to delete some of the originals

⏹️ ▶️ Marco or cache things online only if you enable the special low space mode.

⏹️ ▶️ Marco So you can just have one computer that has the whole library on it and has all those originals sitting there as

⏹️ ▶️ Marco files, and you can always re-import them later. So it does seem like it is durable

⏹️ ▶️ Marco enough in that way to be used as your main photo app, at least once they work out any

⏹️ ▶️ Marco, John glaring

⏹️ ▶️ Marco bugs.

⏹️ ▶️ John It’s actually even better than that. We should explain what the experience of this is. So iPhoto was an app, and Aperture was an app

⏹️ ▶️ John that Apple had. discontinued, both being replaced by this app, both mediocre. Yeah. Functionality wise,

⏹️ ▶️ John photos does not include all the functionality of aperture includes most of the functionality of iPhoto. But so this

⏹️ ▶️ John this application is coming into people’s lives with the expectation that you’ve already got all your photos in

⏹️ ▶️ John one of these other applications or in a folder of crap somewhere. And it handles all

⏹️ ▶️ John those situations. So like if you have an iPhoto library, when you start it up, it will import that iPhoto library

⏹️ ▶️ John and it won’t actually make duplicates of the files. It’ll just make hard links to them. We’ll put a link in the show notes to explaining

⏹️ ▶️ John the hard links However, basically it doesn’t take up any more room on your disk, but it makes a separate parallel structure of its own

⏹️ ▶️ John At that point your libraries are divorced from each other And if you make changes to either one of them the changes are no longer

⏹️ ▶️ John visible So it’s a one-time kind of import process that doesn’t actually take up much more disk space

⏹️ ▶️ John But at that point they’re diverged like they’re not kept in sync with each other If you have a file full of pictures

⏹️ ▶️ John that just like you’ve organized yourself You can just start photos up make a new empty library and

⏹️ ▶️ John import those pictures I believe it will copy them and now we’ll copy them that case you can tell it to leave the pictures

⏹️ ▶️ John where they are there’s a preference kind of like the iTunes preference of copy media into the library you can tell it don’t move my

⏹️ ▶️ John stuff I have it arranged in folders just just reference them from where they are and it will do that it will leave them in your nice organized

⏹️ ▶️ John folder structure it will put a little thing in the app that shows you like oh by the way this picture isn’t in a library

⏹️ ▶️ John it’s referenced from another location and if you want to work that way which I would totally recommend not doing because it’s crazy

⏹️ ▶️ John and you’re a crazy person the application will do that for you you can put you can

⏹️ ▶️ John organize your photos into little folders by date and name them whatever the heck you want. And then just reference them from the

⏹️ ▶️ John photos app and continue that crazy workflow where you act as a little person putting things into

⏹️ ▶️ John folders and then reference them from the application. And just like iPhoto, you can hold on the option key

⏹️ ▶️ John on launch and switch among different libraries. The only limitation you have is and this is all

⏹️ ▶️ John just like totally local forget about network connection. This just works totally locally, no cloud stuff involved at all right.

⏹️ ▶️ John If you want to do some cloud stuff, then you can designate one library as like the system

⏹️ ▶️ John library, whatever, like the iCloud library. One library on your system can

⏹️ ▶️ John be cloud backed up. And then you have the choice of, do I want to keep all the originals on my Mac

⏹️ ▶️ John and then also put them in the cloud? Or do I want to use whatever it calls, like smart or advanced storage or whatever, some

⏹️ ▶️ John other preference that says, I don’t care if they’re all on my Mac. You can actually take some of them off my Mac as long as they’re

⏹️ ▶️ John in the cloud. And that’s the second option. So this This is an extremely flexible application that does things in pretty

⏹️ ▶️ John much the smartest way possible given the current policies and technology we have that leaves every person

⏹️ ▶️ John able to do whatever it is that they want with their photos. The only bad thing about it transition

⏹️ ▶️ John wise is if this app is completely buggy and like erases stuff and destroys your photos and they get lost in the cloud and everything,

⏹️ ▶️ John any changes you made after that initial kind of one time import process will be lost because

⏹️ ▶️ John once you do that import, you are now leaving iPhoto behind. I suppose you could import your photos

⏹️ ▶️ John into both of them in parallel, but then you will actually be duplicating because the one-time import with the hard linking stuff

⏹️ ▶️ John doesn’t take up much more space. That’s not an ongoing thing. So there is a transition point.

⏹️ ▶️ John And so I suspect if I try out this program, I will try it out and then,

⏹️ ▶️ John I don’t know, maybe just like bail out after importing a couple pictures into it and then re-import those same things

⏹️ ▶️ John into my iPhoto library. I still don’t have a good transition pan, but spec wise

⏹️ ▶️ John the photos application Seems like it does all the right things to make everybody

⏹️ ▶️ John except for aperture users who are screwed

⏹️ ▶️ John, Casey It will import your aperture

⏹️ ▶️ John, Marco library

⏹️ ▶️ John everybody everybody happy except for the people who use the aperture and will miss all the features that aperture Have this doesn’t

⏹️ ▶️ John have in terms of advanced photo editing

⏹️ ▶️ Marco Well, the editing controls are actually not that far off This is one of the reasons I’m very excited about this app

⏹️ ▶️ Marco that the actual editing process and the controls you have for editing are very

⏹️ ▶️ Marco advanced and really are pro-level editing tools compared to Aperture and Lightroom.

⏹️ ▶️ Marco Lightroom is probably slightly more advanced in certain areas. Aperture I’m not sure, I haven’t used it in a couple years but

⏹️ ▶️ Marco it’s probably very closely matched to those editing tools. Where it falls short

⏹️ ▶️ Marco is in the organizational tools of things like Aperture and Lightroom and especially if you’re coming from Aperture I think it’s gonna

⏹️ ▶️ Marco be If you were really heavily using those organizational systems of

⏹️ ▶️ Marco like vaults and all these things, most of that is not going to transfer over gracefully.

⏹️ ▶️ Marco So that’s really where aperture users are going to be very rightfully upset. But

⏹️ ▶️ Marco besides that, it looks, again, I haven’t used it yet, but it sure looks like the

⏹️ ▶️ Marco editing and processing of the photos is just as good as aperture was.

⏹️ ▶️ John But they don’t have the interface of doing the pics. A lot of Aperture was about professional photographers

⏹️ ▶️ John taking lots of photos and then designating the ones they think are good in sort of an efficient

⏹️ ▶️ John manner. Like it’s not there’s no workflow like that as far as I can tell built into photos, whereas Aperture so much

⏹️ ▶️ John of Aperture was focused on, you know, the editing tools, which is one thing and then this whole,

⏹️ ▶️ John you know, like you said, the vaults and the management and then the picking process. I forget what they call it. Is that the word they

⏹️ ▶️ Marco use? I think so. It might be. I don’t know. Again, it’s been a couple of years since I used Aperture. But yeah, I mean, Aperture

⏹️ ▶️ Marco and Lightroom are both gonna be way better for what pros actually do. Like my wife, Tiff,

⏹️ ▶️ Marco is not gonna use this Photos app. I can already tell you that. She’s not gonna use it. She has, even Aperture

⏹️ ▶️ Marco and Lightroom are too heavy handed for her. She just uses Bridge and a bunch of directories because when she

⏹️ ▶️ Marco does client shoots, she doesn’t wanna bring it into some giant library program and have it organize things for her.

⏹️ ▶️ Marco She does it all in the file system with Bridge and does all the picking that way and it works great for her. Most

⏹️ ▶️ Marco pros are gonna have a system like that they’re going to use one of these pro apps to do all that organizational

⏹️ ▶️ Marco and stuff and managing the shoots and managing the picking and all that stuff. They’re not going to use this app, but that’s fine.

⏹️ ▶️ Marco This isn’t made for them. This is made for the people like me who and

⏹️ ▶️ Marco of course everybody else, but like people like me who were using aperture and or

⏹️ ▶️ Marco light room for its advanced editing controls primarily and then secondarily we

⏹️ ▶️ Marco would occasionally touch some of these library functions, but we were mainly there for the editing controls. That’s definitely

⏹️ ▶️ Marco the case for me. I know it’s the case for a lot of people who bought SLRs in

⏹️ ▶️ Marco the last eight years and got into photography as a nice hobby. Just

⏹️ ▶️ Marco having these nice editing controls built into the main photos library

⏹️ ▶️ Marco mechanism on iOS devices and Macs is going to be awesome. Because for all these years,

⏹️ ▶️ Marco we’ve had to decide between something that’s fully integrated into Apple’s ecosystem and syncs

⏹️ ▶️ Marco everywhere and is all in all the photo pickers and all that stuff, or has great

⏹️ ▶️ Marco editing controls and pro stuff. And there were always these things you’d have to give up one way or the other.

⏹️ ▶️ Marco And this looks like it’s perfect for people like me. Any prosumer who’s really

⏹️ ▶️ Marco into SLR photography, but is not doing pro photo shoots actually for clients

⏹️ ▶️ Marco every day or on the weekends or whatever, this is for us. And I’m very much looking forward to that.

⏹️ ▶️ John I think the editing controls, like adding intelligence to the editing controls is really important because they like

⏹️ ▶️ John they default for most photo apps, including apples, with the exception of the little magic wand enhance button.

⏹️ ▶️ John Like they gave you one button. It’s like you don’t understand all these crazy controls. Press the magic wand and maybe it will make your photo

⏹️ ▶️ John look better or maybe it won’t. And if you press that button and didn’t like it, you’re like whatever. But then you’re faced with, OK, well, so the magic

⏹️ ▶️ John wand didn’t work. Here’s eight thousand sliders. Good luck. Right. And if you don’t know how to use those sliders,

⏹️ ▶️ John it’s daunting to figure out how to just, you know, with this million different combinations and you’re trying like, I don’t know, do I move this

⏹️ ▶️ John and that or whatever? Well, so Photos has this sort of intelligent thing where they give you sliders that are sort of meta

⏹️ ▶️ John sliders that cause the other sliders to move in what it hopes are pleasing ways and you’re like, oh, well, that’s bad.

⏹️ ▶️ John I don’t want it to be smart and move those other sliders around. I want to move the actual sliders. Well, the great thing is you can use these these

⏹️ ▶️ John meta controls that influence the other sliders to try to like most people can do that and say, oh, I would

⏹️ ▶️ John never have thought to put those other sliders in this position. But when I slide this top slider, all these other things move around. But you

⏹️ ▶️ John still have the ability to edit every single one of the detail sliders manually as well. So if you want to use the sliders

⏹️ ▶️ John by hand, you can. But most people have no idea how to get good results with that so they can use those other meta sliders. So

⏹️ ▶️ John it’s a big step up from either magic wand or you’re on your own.

⏹️ ▶️ Marco And all these edits are fully synced, not not just like burning it into a JPEG and thinking that

⏹️ ▶️ Marco the actual edit states are synced so that you can go on your phone or your iPad and make

⏹️ ▶️ Marco adjustments. And that syncs back.

⏹️ ▶️ John Well, in theory, I mean, let’s be serious here. Well, I mean,

⏹️ ▶️ Marco this is all based on cloud kit. So far, our cloud kit stuff has been solid.

⏹️ ▶️ John Why didn’t my contacts sync, Marco? Contacts! It’s like a tiny set of data. Why?

⏹️ ▶️ Marco That’s a good question. I have

⏹️ ▶️ Marco, John no

⏹️ ▶️ Marco idea.

⏹️ ▶️ John My faith is that I’m ready to

⏹️ ▶️ Marco be impressed. It seems like I’ve heard rumblings. I’m sure everyone’s

⏹️ ▶️ Marco heard these rumblings, that like, EDDQ’s team took over iCloud something something

⏹️ ▶️ Marco and was really revolutionizing and fixing stuff a year ago. That’s when all this stuff started,

⏹️ ▶️ Marco allegedly. And it seems like CloudKit and the Cloud

⏹️ ▶️ Marco Photo Library stuff and all the stuff that came out of that that’s all based on CloudKit seems like that is

⏹️ ▶️ Marco most likely to be the result of that rumor. And that we’re seeing now, like,

⏹️ ▶️ Marco they’re doing good things with cloud stuff now. Like, rather than the initial iCloud services

⏹️ ▶️ Marco stuff, which was the document stuff, which is, you know, fairly simple problem

⏹️ ▶️ Marco set, but it was done kind of oddly, but mostly worked. worked. Key-Value Store, which works alright. And then

⏹️ ▶️ Marco Core Data Sync, which was a disaster. Because they tried to tackle this incredibly complex problem

⏹️ ▶️ Marco that really can’t be done well in the way they attempted to do it. And of course, so

⏹️ ▶️ Marco it sucked. Cloud Kit was like… We talked about this when they announced it back in the summer. Cloud Kit is

⏹️ ▶️ Marco Apple kind of saying, Okay, we’re going to do a cloud server that actually is easier

⏹️ ▶️ Marco to do well. And so far it seems like they did. So

⏹️ ▶️ Marco I’m pretty confident in this service probably being good. I mean, you know, we’ll

⏹️ ▶️ Marco see what happens in practice once it’s launched full-scale and everything and we’ve all been using it for a few months. But

⏹️ ▶️ Marco I think all the pieces seem to be in place for this to actually be good and work

⏹️ ▶️ Marco pretty well most of the time or all the time.

⏹️ ▶️ Casey Well, just the fact that they’re dogfooding it so heavily I think is a pretty big change from say

⏹️ ▶️ Casey iCloud with core data or core data with iCloud or whatever the terminology was.

⏹️ ▶️ Casey The impression I had was that nobody was dogfooding that. But just like you said, Marco, it sounds

⏹️ ▶️ Casey like Apple’s heavily dogfooding CloudKit. And

⏹️ ▶️ Casey that’s definitely a good thing for all of us because I think Apple is fairly tolerant

⏹️ ▶️ Casey of third-party developers having to jump through hoops and fairly intolerant of their own

⏹️ ▶️ Casey people having to jump through hoops.

⏹️ ▶️ Marco Oh, yeah, that’s fair. And as far as I know, I don’t think any Apple app ever used Core Data

⏹️ ▶️ Marco Sync. I’m pretty sure we never found one. I know some people were trying to… They were asking around on

⏹️ ▶️ Marco Twitter a year ago, and they were like, does any Apple app actually use this? I don’t think we ever found one. But anyway,

⏹️ ▶️ Marco I’m confident. And also, I wouldn’t necessarily be all nostalgic for Aperture, because Apple

⏹️ ▶️ Marco has been a terrible steward of Aperture since the beginning. It always had delays,

⏹️ ▶️ Marco issues. It was always pretty buggy. It always had terrible performance.

⏹️ ▶️ Marco Most of all, it would just go years without any major updates. Everything was always just

⏹️ ▶️ Marco too little, too late. It was always getting better soon and never actually great.

⏹️ ▶️ Marco That’s why Lightroom does so well. Apple basically said,

⏹️ ▶️ Marco I think they basically invented the category of apps that work like this basically. I think. I’m

⏹️ ▶️ Marco not sure about that. Please email Casey. And then

⏹️ ▶️ Marco Adobe came in with Lightroom and just ate their lunch because they iterated so much faster and it was so

⏹️ ▶️ Marco much better. Aperture was always pretty badly neglected. So

⏹️ ▶️ Marco rose-colored glasses and everything. I don’t think we’re going to see people looking back in six months saying, Oh, I really miss Aperture.

⏹️ ▶️ Marco I don’t think so. And for the few who do say that I think they’re probably going to be

⏹️ ▶️ Marco misremembering how good it actually was.

⏹️ ▶️ Casey I thought I saw somewhere and it might have been in Jason Snell’s review, but I thought I saw somebody had loaded

⏹️ ▶️ Casey just a crud load of images of pictures into the new photos app. And they said

⏹️ ▶️ Casey you could scroll that thing at a solid 60 frames per second like it was nothing.

⏹️ ▶️ John I will be excited to see that if that’s true. That’s why I wanted to try it. I’m like, I’ve got to see this because it is so terrible

⏹️ ▶️ John on iPhoto. I have maybe 30 40 maybe I have more than that. Forty thousand photos, 50 and maybe

⏹️ ▶️ John it’s up to 60. Anyway, it doesn’t seem like that big a number, but I want to see that scroll nicely.

⏹️ ▶️ Marco We are also sponsored this week by H over

⏹️ ▶️ Marco, Casey H over is the best way.

⏹️ ▶️ Marco Oh, it’s also hover or hover. All of those things hover is the best way to buy manage

⏹️ ▶️ Marco domain names. Go to hover.com and you can get 10% off your first purchase by using promo

⏹️ ▶️ Marco code slot toaster people. Slot toaster people. When you have a great idea,

⏹️ ▶️ Marco you want a great domain name that’s catchy and memorable. Hover gives you exactly what you need to find the perfect domain for

⏹️ ▶️ Marco your idea so you can get started actually working on it. I’ve mentioned before, if I am

⏹️ ▶️ Marco working on a new project, I need to find a name first. I can’t really move forward without a name. That

⏹️ ▶️ Marco just blocks me until I get a name. Domain names are the very first thing I go to search. Hover is great for that.

⏹️ ▶️ Marco Hover gives you easy-to-use, powerful tools to biomanage domains so anybody can do it. The support team is

⏹️ ▶️ Marco always ready if you need a hand. They’re known for their no wait, no hold, no transfer phone

⏹️ ▶️ Marco service. So when you call a real life human being is ready to help. They pick up the phone. That’s it.

⏹️ ▶️ Marco They’re ready to help you. Don’t put on hold, you’re not transferred to anybody. That’s it. They pick up and they help you. It’s amazing.

⏹️ ▶️ Marco Plus, they have a great online tutorials and email support if you hate the phone like me. You can find new domain

⏹️ ▶️ Marco names that you want to get up and running in less than five minutes. All you gotta do is type in a few keywords and hover

⏹️ ▶️ Marco will show you the best available options across all TLDs out there. Now if you’ve ever used

⏹️ ▶️ Marco any other domain host before, you know that it can be a pretty unpleasant experience

⏹️ ▶️ Marco at a lot of these different companies. They make it very complicated to buy just what you need or they try to upsell you with

⏹️ ▶️ Marco crazy stuff, or they make you pay extra to upgrade for things that really should be included. Hover

⏹️ ▶️ Marco does not believe in this kind of approach. Instead of charging you for something that should just be there, Hover includes everything

⏹️ ▶️ Marco you need with your domain. You get a smart control panel, you get Whois privacy, always for free on any domain that supports

⏹️ ▶️ Marco it. They even offer this really cool service called Valley Transfer Service. What they do is if you will

⏹️ ▶️ Marco let them, they will log into your old registrar and do any transfers for you.

⏹️ ▶️ Marco They’ll transfer over all your DNS and everything so it’s all correct. It’s very easy to get that stuff wrong and then your site’s down

⏹️ ▶️ Marco for a few hours. It sucks. They will log in and do it for you if you want because some registrars make it

⏹️ ▶️ Marco pretty difficult to leave and of course they don’t. They also have this great email service. Hover has great

⏹️ ▶️ Marco solutions for your own custom email address for your domain. $20 a year gets you a fully functional

⏹️ ▶️ Marco email account at your domain with 10 gigs of storage. You guys remember when Gmail came out,

⏹️ ▶️ Marco it was one gig. This was like in 2004. Yep. And that was revolutionary to have a

⏹️ ▶️ Marco gigabyte. No one could ever use that much. Well, we do. And Hover now offers 10 gigs

⏹️ ▶️ Marco a year for just $20. Now, if you need more than that, for just $29 a year, you

⏹️ ▶️ Marco can get the big mailbox. It’s actually what it’s called. It’s called Big Mailbox. That gets you a terabyte of storage,

⏹️ ▶️ Marco plus some other nice bonuses. $29 a year gets you a mailbox that can hold a terabyte of email,

⏹️ ▶️ Marco which I think sounds like my personal hell. They even have

⏹️ ▶️ Marco, John email forwarding for

⏹️ ▶️ Marco just $5 a year. So you can keep using… If you already have an email account somewhere else, like FastMail, whatever, you can keep

⏹️ ▶️ Marco using that for just $5 a year. They will forward your email for your domain to anywhere you want. Anyway,

⏹️ ▶️ Marco all this is great. You can get 10% off your first purchase from Hover by going to Hover.com and use promo code

⏹️ ▶️ Marco SLOTTOASTERPEOPLE. All one word, slot toaster people. Thanks a lot to Hover

⏹️ ▶️ Marco for sponsoring our show once again.

⏹️ ▶️ Casey Okay, so there was a little bit of a surprise within the Photos app,

⏹️ ▶️ Casey and some people went spelunking. I’m assuming it was Steve Trout and Smith. Is that right? Stephen Trout

⏹️ ▶️ Casey and Smith? I’m sorry, but that guy. And we’ve, they, he, they,

⏹️ ▶️ Casey someone has discovered UXKit. So UXKit appears

⏹️ ▶️ Casey to be sorta kinda UI kit for the Mac. Marco, do you wanna talk about this a little bit?

⏹️ ▶️ Marco Yeah, so it’s a private framework that is used only by the Photos app at the moment that Apple shipped with the

⏹️ ▶️ Marco Photos app beta. And it appears, you know, you can’t, no one’s like disassembling it, I

⏹️ ▶️ Marco don’t think, but you can class dump it and you can kind of see just like what classes and methods are contained within it

⏹️ ▶️ Marco from the Objective-C runtime.

⏹️ ▶️ John It’s not just photos, by the way. People say that Xcode 6.3 beta also uses UX kit.

⏹️ ▶️ Marco That’s interesting if that’s true. I did

⏹️ ▶️ John not know that yeah, there’s a tweet from Don Mowry saying that I suppose It’s easy enough to confirm, but I put a

⏹️ ▶️ John tweet in there

⏹️ ▶️ Marco That is interesting well anyway, so and what it appears to be is a

⏹️ ▶️ Marco subset of UI kit ported to the Mac And so there are things and we just like

⏹️ ▶️ Marco you know with the UI prefix replaced with UX And so there’s things like you know you I think

⏹️ ▶️ Marco there’s like a UX navigation controller and stuff like that And you know there’s UX color or UX you know all this like

⏹️ ▶️ Marco Because normally, between UIKit on the iPhone and AppKit on the Mac, there are a lot

⏹️ ▶️ Marco of big differences, but a lot of also just like little superficial differences. Like the prefix

⏹️ ▶️ Marco for UIKit is just UI, the prefix for AppKit is NS. And so you have some classes

⏹️ ▶️ Marco like UIColor versus NSColor, and UIImage versus NSImage.

⏹️ ▶️ Marco And many of these classes that have these like superficial name differences aren’t that different. Or

⏹️ ▶️ Marco the Mac version supports some ancient stuff that no one really uses anymore, so you

⏹️ ▶️ Marco might as well just unify them. So there’s a lot of overlap that seems trivial,

⏹️ ▶️ Marco and many people have written C macros or utility classes

⏹️ ▶️ Marco to have a unified code base that shares some of this code between iOS and Mac more easily.

⏹️ ▶️ Marco So this appears to be Apple’s version of this on this one app

⏹️ ▶️ Marco in this one team, where this their translation layer to have the same code

⏹️ ▶️ Marco running on iOS and Mac. So the question is, is it just this one

⏹️ ▶️ Marco team? Is it just this one app? Or is this going to be a more widespread thing? Is it going to become public?

⏹️ ▶️ Marco And is this going to be the new unified UI framework so that you can share a lot more code between

⏹️ ▶️ Marco iOS and Mac? That’s all. Basically, nobody knows anything about that yet. Everyone’s just speculating.

⏹️ ▶️ Marco But that’s why this is interesting. What do you guys think

⏹️ ▶️ John guy English had a good point and it’s the analogy that it came to mind when I thought it was well so

⏹️ ▶️ John setting aside that Xcode 6.3 also needs to appears to use it according to this tweet

⏹️ ▶️ John guy pointed out Pro kit that framework remember that

⏹️ ▶️ Marco yeah yeah all the pro apps logic and everything

⏹️ ▶️ Marco, John yeah

⏹️ ▶️ John Aperture Logic what are the other apps that used it it was maybe maybe shake when that was

⏹️ ▶️ John out and not Final Cut mouth maybe Final Cut anyway a whole bunch of Apple’s apps that look different,

⏹️ ▶️ John like the window Chrome was different. It was darker and sometimes it was smaller. And they had they had their own little weird set of

⏹️ ▶️ John controls and everything. They use Pro Kit framework, which was, you know, a framework shared

⏹️ ▶️ John among Apple applications that gave a different UI. And I mean, I assume

⏹️ ▶️ John it wasn’t just look and feel. I assume it had other features as well. But the point is that it was a framework that was not for public consumption

⏹️ ▶️ John that Apple used on multiple applications that never became the future of AppKit.

⏹️ ▶️ John Right. So the idea that UX kit could just be a thing that Apple uses internally to make its

⏹️ ▶️ John applications This is a completely viable idea. It’s not crazy to think Oh, well now

⏹️ ▶️ John once they UX get like because Apple also does the opposite they they take frameworks

⏹️ ▶️ John They use them privately for a release or two and then make them public, right? So now we can’t tell Whether

⏹️ ▶️ John this is going to be one of those things that’s used privately and becomes public or is it just another pro kit that will Apple will use internally

⏹️ ▶️ John to make its life easier when it makes its applications, but it is not the future of making

⏹️ ▶️ John UIs on the Mac.

⏹️ ▶️ Marco There is some debate around this from smart programmers who are saying like, look, you really don’t

⏹️ ▶️ Marco want to have the unified framework because the Mac and iOS UI wise are different.

⏹️ ▶️ Marco And the very low level stuff, the foundation classes, that’s like the data structures, the networking,

⏹️ ▶️ Marco stuff like that, that all is unified already. And what’s mainly not

⏹️ ▶️ Marco is UI stuff. And there is a great argument to be made there that many people have made that

⏹️ ▶️ Marco that should be separate because like just porting an iOS app directly to

⏹️ ▶️ Marco Mac and using a lot of the iOS interface paradigms like navigation controllers and things like

⏹️ ▶️ Marco that, it doesn’t really work well on the Mac. It’s really not like that’s kind of a waste of what the Mac is

⏹️ ▶️ Marco good at. And it just kind of feels like you’re clicking an iPad app basically. But what about

⏹️ ▶️ John things like collection views, like the fancy iOS collection views that sort of reflow themselves

⏹️ ▶️ John and you know, or even just something like a better table view. I mean, they’ve improved the table. You’re getting rid of NSL and everything like those

⏹️ ▶️ John type of things kind of span the range. I mean, they might still have weird APIs like, you know, touches

⏹️ ▶️ John begin inside cell. And it’s like, what do you mean touches?

⏹️ ▶️ John, Marco There’s no

⏹️ ▶️ John you know what I mean? Like what you have to think is, look, this this framework exists and the class

⏹️ ▶️ John names make you think it’s very you like it. Like, why would Apple bother making this? And for the photos app, the

⏹️ ▶️ John obvious answer to me is the photos for the Mac app Looks like photos for iOS

⏹️ ▶️ John right down to zooming out and seeing that giant grid of like photos for this month or week or year like

⏹️ ▶️ John it is very clearly a Macification of the iOS photos app so UI

⏹️ ▶️ John wise, you know Ignoring like the back end and how it stores photos and the iCloud and everything like that

⏹️ ▶️ John So much it looks much more like hey someone ported iOS photos to the Mac than anything like hey Someone made a new

⏹️ ▶️ John version of iPhoto like it is it is just and so if you have the existing photos app which

⏹️ ▶️ John presumably uses UIKit and you wanted to make a Mac version of that, being

⏹️ ▶️ John able to reuse, if not that code directly, then like

⏹️ ▶️ John that code indirectly or the structure of the program, it would be really convenient to have something like UXKit

⏹️ ▶️ John where you can get the benefit of all that UIKit code and you know get some semblance

⏹️ ▶️ John of a Mac version up and running faster. That doesn’t answer the question of why it would be used in Xcode, but historically

⏹️ ▶️ John Xcode has been been used to dog food all sorts of weird stuff like garbage collection and what was the other one

⏹️ ▶️ John that it was dog food ark I think did a dog food ark first anyway that could also just be Xcode dog

⏹️ ▶️ John footing things because if you’re gonna experiment with weird technologies you should definitely do it on the application that developers

⏹️ ▶️ John used to write programs

⏹️ ▶️ Marco the the argument of you should keep them separate is weakened once you start looking

⏹️ ▶️ Marco at like what what things in iOS would you not have on the Mac and vice

⏹️ ▶️ Marco versa and I think that list is actually a lot smaller than you might expect if you’re

⏹️ ▶️ Marco just starting to make this argument. And if you look, as you said, collection view, that’s

⏹️ ▶️ Marco applicable to both. So many little components, UI control, UI image,

⏹️ ▶️ Marco UI image view, UI label, table view, text view, so many of these things.

⏹️ ▶️ Marco Actually, there’s not a great argument that they shouldn’t be the same on both. It’s really just the

⏹️ ▶️ Marco very high level structures, the very high level, like navigation concepts, navigation

⏹️ ▶️ Marco layout, that kind of stuff should be different on both. But that’s really a very small part of UI kit in

⏹️ ▶️ Marco the grand scheme of things.

⏹️ ▶️ John And you don’t even know like that you saw navigation controller, we don’t really push new things on. But like, there’s no reason you

⏹️ ▶️ John couldn’t make a Mac app that in one of its windows does a sort of UI navigation controller thing of

⏹️ ▶️ John pushing a new view on and popping it off. And like it may be it might be weird. But But arguably

⏹️ ▶️ John a lot of the existing OS X apps do a lot of iOS-y type things. I mean, hell, I think in Messages

⏹️ ▶️ John has buttons that aren’t buttons but are just colored text. You know, I think I pointed that out on my Yosemite review if I didn’t,

⏹️ ▶️ John I meant to. There’s this like a details button or something in Messages that is not a button, it is just blue text. It’s like, this

⏹️ ▶️ John is not iOS, what do you think you’re doing here? But people accept it. Like, it’s like, all right, whatever. I know when

⏹️ ▶️ John I click that I get details.

⏹️ ▶️ Marco For serving certain interests, as an iOS programmer doesn’t know much about the Mac,

⏹️ ▶️ Marco it would make me way more likely to start tackling a Mac app if this stuff was more consistent.

⏹️ ▶️ Marco If I just dive into the Mac and really am committed to it, I could work through AppKit pretty

⏹️ ▶️ Marco well. I could figure it out. That’s not the only reason I’m not making a Mac app, but

⏹️ ▶️ Marco it would definitely make me a lot more likely to make a Mac app and sooner, and it would make it a smaller undertaking

⏹️ ▶️ Marco if a lot of this stuff is unified, instead of having all these little superficial differences, some big, some small.

⏹️ ▶️ Marco And that has to play in somewhat to any decision they make to this. If

⏹️ ▶️ Marco Apple wants to encourage more Mac apps, if they want to populate the desolate,

⏹️ ▶️ Marco awful landscape of the Mac App Store, which is really sad in a lot of places, if they

⏹️ ▶️ Marco want to help populate that with more better apps, if they want to get more people making Mac

⏹️ ▶️ Marco apps, more people using the Mac for a lot of this stuff, have to make it easier for developers. Right now,

⏹️ ▶️ Marco all the people who are saying this shouldn’t be unified are all longtime Mac programmers.

⏹️ ▶️ Marco Longtime iOS programmers, I think, are very excited about this idea. Because

⏹️ ▶️ Marco we look at the Mac as, like, well, we could go here fairly easily but all this stuff

⏹️ ▶️ Marco is needlessly different.

⏹️ ▶️ John Yeah, and even if you made the core of your app, like, oh, it’s all written in sort of completely

⏹️ ▶️ John platform agnostic manner and it doesn’t really matter or I’m using some framework that’s on both places like core data

⏹️ ▶️ John or something. The UI part is like, you see like, Oh, and just, we’ll just put a different UI

⏹️ ▶️ John on top of it. I’m not going to say it’s the hard part, but it’s a surprising amount of work. And if you have to repeat it and keep them in sync

⏹️ ▶️ John and every time you want to add a feature, you have to add it in both places of a totally different code using different APIs. It’s just,

⏹️ ▶️ John it’s a lot of extra work. I’m not sure UX kit makes it, you

⏹️ ▶️ John know, lowers the barrier enough to really move the needle on the Mac App Store because it has

⏹️ ▶️ John other problems, you know, and it’s just so there’s so few Mac users. Like, I think you’d have

⏹️ ▶️ John to really make it a low barrier for someone. Hmm. I can address the market of like hundreds of millions of iOS devices

⏹️ ▶️ John or like a couple of Mac people like there’s like a million or two or five. Or like

⏹️ ▶️ John it’s so the iPhone is just such a monster. And that’s just one iOS device compared to the Mac. Right.

⏹️ ▶️ John But if this was their goal, like their long term goal, like we’re going to dog food this. We’re going to

⏹️ ▶️ John see if it’s possible, because we as Apple have a bunch of iOS apps that we’ve decided this is the right way to do photos

⏹️ ▶️ John with the stupid view where you zoom out and see everything is a big thing. And you put your finger or your cursor over it and see,

⏹️ ▶️ John you know, that’s the future of photos. We already wrote that app. Can’t we just get that to run on the Mac?

⏹️ ▶️ John Well, no, because X, Y and Z, it’s like, well, OK, so we have a job to do. We can use this UX framework

⏹️ ▶️ John to be the first people to try to do that. But Apple has way more resources to throw towards the successor to iPhone

⏹️ ▶️ John than the average, you know, developer with an iOS app who might be thinking about making a Mac app.

⏹️ ▶️ John So if Apple runs this experiment and decides, boy, this really makes porting much easier, then

⏹️ ▶️ John what do they do about it? Do they just say, like, how would they? Assume that this is

⏹️ ▶️ John a successful experiment inside Apple and assume that the goal of it was to see if this is something that developers might want for the reasons

⏹️ ▶️ John that Marco stated. How does Apple then at WWDC announce this as a

⏹️ ▶️ John thing and tell, like, what is the messaging? It’s like so you’re thinking you’re writing a Mac app.

⏹️ ▶️ John If you have an iOS version, then look at UX kit because you could reuse a lot of that same code,

⏹️ ▶️ John changing all the capitalized capital X’s or something. But otherwise, use app kit

⏹️ ▶️ John or is the message like this is the future of writing Mac applications? It just happens to look like the iOS one.

⏹️ ▶️ John But even if you never write an iOS Mac, we’re telling you you should use UX kit to write your Mac apps.

⏹️ ▶️ Marco Well, I honestly, I think if they actually unified it, it would just be called UI kit everywhere. Yep.

⏹️ ▶️ Marco That’s the direction they would go. They would work from iOS back to the Mac. And they would

⏹️ ▶️ Marco just bring over everything named UIKit that makes sense to have on the Mac. And also, one

⏹️ ▶️ Marco advantage they would have here is right now, they’re maintaining two different frameworks. They’re maintaining two different UI

⏹️ ▶️ Marco libraries. And AppKit is very, very old. And there’s a lot

⏹️ ▶️ Marco of cruft in there from the olden days. UIKit was like a

⏹️ ▶️ Marco rewrite of AppKit for the iPhone and to be more modern and to be more

⏹️ ▶️ Marco efficient and have all these new capabilities and be simpler in a lot of ways. UIKit

⏹️ ▶️ Marco is the rethink of AppKit. It is the rewrite of AppKit. They just didn’t replace AppKit

⏹️ ▶️ Marco with it quite yet.

⏹️ ▶️ John If they were going to call it UIKit everywhere though, doesn’t that come… Because the code is not the same.

⏹️ ▶️ John UXKit, I’m led to believe, is more or less just a wrapper around the existing AppKit APIs

⏹️ ▶️ John to begin with. And maybe they would gut that out later. But I don’t think you can pull that out because you have to maintain support

⏹️ ▶️ John for AppKit for a long long time into the future, right? So linking against the, if they

⏹️ ▶️ John called it UIKit, you couldn’t link against that framework if

⏹️ ▶️ John like, if one set of code is like the native code for the iOS devices and another set of code

⏹️ ▶️ John is the wrapper around AppKit. I don’t know how you could do that with the same name. It seems like,

⏹️ ▶️ John I think the reason the X is there, like, it just doesn’t make sense to me. Like it would seem,

⏹️ ▶️ John it’s not going to be a single unified codebase. It’s going to be two separate codebases and having two separate codebases in a framework

⏹️ ▶️ John with the same name on two platforms. I mean, I suppose you could pull it off as the SDKs are in different folders. You know, this is the iOS SDK

⏹️ ▶️ John and this is the Mac SDK, but it just looks like I mean, think about looking up documentation for like surely there would be differences.

⏹️ ▶️ John So I don’t know, like messaging wise, though, that’s we’ll get to this after the next

⏹️ ▶️ John sponsor. But that is a weird message that like. App We’ve been evolving

⏹️ ▶️ John and improving for a long time. But now, you know, it’s like I always

⏹️ ▶️ John wonder that when they bought next, like how I wonder how long the N.S. prefix will. I wondered initially, would they keep the N.S. prefix

⏹️ ▶️ John on everything? Because it’s kind of weird. You know, N.S. next step, like water, all these coca glasses of N.S. prefix. I bet there’s

⏹️ ▶️ John tons of people just starting out programming for the Mac and wondering what the hell is N.S. crap is about. But

⏹️ ▶️ John it’s held on for a surprisingly long time. Right. And, you know, if they get out

⏹️ ▶️ John from under and say, all right, This is the new thing and we call it UX kit and

⏹️ ▶️ John maybe in the future will be unified but for now we have UI kitting UX kit and Like I

⏹️ ▶️ John still think that they would be stuck maintaining three things App kit UX kit, but

⏹️ ▶️ John just on top of that and UI kit like so it wouldn’t be maybe long long-term It’s a unification,

⏹️ ▶️ John but I don’t the messaging just it seems weird to me.

⏹️ ▶️ Marco I mean that’s fair about maintenance the messaging I don’t think would matter. I mean look they have two languages now

⏹️ ▶️ John now. But one of them is clearly a successor to the other.

⏹️ ▶️ Marco I think it’s going to be longer term. And by the way, a lot of people are speculating that UXKit might be Swift

⏹️ ▶️ Marco only or Swift native. I think we can already tell it’s not just by

⏹️ ▶️ Marco inspecting the file and everything. But if you look at the timing of this,

⏹️ ▶️ Marco the Photos app was introduced at the same time as Swift Beta 1. When Swift Beta 1 was

⏹️ ▶️ Marco announced at WWDC last year, very few people inside Apple had even used

⏹️ ▶️ Marco it yet. So I think it’s extremely unlikely that there’s any Swift code in the Photos app.

⏹️ ▶️ John Well, there’s probably some Swift code. That’s the way they would… But I don’t think it’s like written from the

⏹️ ▶️ John ground up in Swift. And I think you’re right that this is an Objective-C framework. The whole point of Swift is you can call

⏹️ ▶️ John through to the Objective-C frameworks. And half of the stuff they did in Swift 1.2, which we didn’t even talk about, was

⏹️ ▶️ John making it less painful and less awkward to interoperate between Swift and Objective-C

⏹️ ▶️ John stuff by adding adding a whole bunch of annotations that you can mark up. And Apple, I’m assuming, is marking up its own

⏹️ ▶️ John Objective-C APIs with all these annotations that mean nothing to Objective-C, but totally let Swift know how it

⏹️ ▶️ John needs to write the adapter classes to be less annoying.

⏹️ ▶️ Marco Exactly. And I think that’s the biggest sign, as anything, that Objective-C is not going to go away

⏹️ ▶️ Marco two years from now. This is going to be a very long-term replacement.

⏹️ ▶️ Marco Right now, look at how many Apple classes are still using C++. C++ as there are

⏹️ ▶️ Marco so many APIs that are still in C++ that I don’t think we have to worry anytime soon that Objective-C

⏹️ ▶️ Marco is going to be just ended.

⏹️ ▶️ John Well, I mean, it could be ended in the sense that they tell you when you’re writing your application the only code

⏹️ ▶️ John you will ever write is Swift. Because you could get away with that because it’s like, I’m not limited. I can call all the existing

⏹️ ▶️ John frameworks and APIs. I can call them all from Swift, right? And I can do weird C-style stuff,

⏹️ ▶️ John too. So you could say, third-party developers, if you were starting a fresh new application and opening a new project

⏹️ ▶️ John in Xcode, write all your code in Swift and you’ll be fine. Like they’re not at that point yet, but that’s

⏹️ ▶️ John like the way they want to get. And that point could come way before all the objective C code is gone. Cause that’s going to take forever.

⏹️ ▶️ John Like the actual people at Apple are going to be writing objective C for a long time, but they can be telling all third party developers,

⏹️ ▶️ John we would like it if you just wrote all your code in Swift. Uh, and you won’t be limited

⏹️ ▶️ John in which API is you call it. Like the idea of like a Swift only or a Swift native API. But

⏹️ ▶️ John what’s the selling point of that other than ideological purity at this point and in

⏹️ ▶️ John the near future? I don’t, you know, surely that day will come, but unless

⏹️ ▶️ John there’s some big advantage in terms of speed or interface, it’s going to be difficult to justify it because

⏹️ ▶️ John then you’d be cutting off all the people with existing Objective-C apps, and there’s a lot of them.

⏹️ ▶️ Marco Yeah, and I would not expect a Swift-exclusive API

⏹️ ▶️ Marco for anything important to be available in the next, I don’t know, two years at least. I mean,

⏹️ ▶️ Marco I think it’s gonna be a while.

⏹️ ▶️ John Abba likes to move fast. They like to like, oh, it’s sooner than I expected. I didn’t think, you know,

⏹️ ▶️ John and in fact, they will probably do it with something important when they decide to do it, but it seems like it’s just way too soon now.

⏹️ ▶️ John So that probably means that whatever your estimate was two years, like maybe cut that in half. Because

⏹️ ▶️ John, Marco don’t they always

⏹️ ▶️ John surprise us where it’s like, you know, the way they herd everybody into

⏹️ ▶️ John whatever new thing they want to do is like the new hotness is only available with X.

⏹️ ▶️ Marco Yeah, but first of all, not necessarily on this level of the language level of what you’re

⏹️ ▶️ Marco doing, like the API level, not necessarily on that level. And also, I think the last time they did that,

⏹️ ▶️ Marco what was it, with Carbon? When was the last time

⏹️ ▶️ John they did that? Oh, no. The best example, I think, is how you can’t build applications for older versions

⏹️ ▶️ John of OSes with the newest version of Xcode. They want to push everybody to the newest version of Xcode. And that’s

⏹️ ▶️ John why people have to keep seven versions of Xcode running on old machines like that. They’re like, you can’t

⏹️ ▶️ John even target, you know, snow leopard anymore with this thing. And like they, they are pushing people up their

⏹️ ▶️ John OS support chain forcibly by saying, look, you’re going to have to have this version of Xcode because it’s the only way you can develop for the

⏹️ ▶️ John iPhone five, but you can’t develop for snow leopard with it. So, you know, all these people keeping these VMS

⏹️ ▶️ John alive with ancient versions of Xcode and the old SDKs, that is Apple aggressively pushing people way too

⏹️ ▶️ John fast, like way, like as soon as people are running VMS with old versions of your IDE, you know, you’re going too fast.

⏹️ ▶️ John And that is a very common thing that people do.

⏹️ ▶️ Marco Yeah, actually, a lot of Mac developers need to do that.

⏹️ ▶️ Casey I think it’ll be sooner. I tend to come down on this closer to John’s point of view than Marco’s. I think

⏹️ ▶️ Casey the push to Swift is going to be more aggressive and sooner than any of us expect.

⏹️ ▶️ Casey I think I’m on the edge. I almost want to say something will be

⏹️ ▶️ Casey Swift specific or this year, year, maybe at the end of the

⏹️ ▶️ Casey year, I think perhaps it’s more reasonable to say sometime in 2016, but I think it’ll be soon.

⏹️ ▶️ Casey I think it’ll be really soon. And certainly Swift is making some, some

⏹️ ▶️ Casey really significant steps and doing so very quickly. And what I keep thinking is,

⏹️ ▶️ Casey you know, Swift is supposed to make a lot of the dangers of objective C go away.

⏹️ ▶️ Casey And that’s of course causing a lot of, I

⏹️ ▶️ Casey don’t know about drama, but maybe doubt in the community, especially amongst those who have worked

⏹️ ▶️ Casey with Objective-C for a long time. But I think that if Swift

⏹️ ▶️ Casey prevents really silly programming errors, and if it’s a little more stable

⏹️ ▶️ Casey eventually, and it runs faster eventually, it’s in Apple’s best interest to push everyone

⏹️ ▶️ Casey that direction. And I think they will. they’ll do so really aggressively.

⏹️ ▶️ Marco Yeah, but I mean, I honestly I think most of the drama is already

⏹️ ▶️ Marco really fizzling out and I think you know it’s it’s only a matter it’s only a couple more Swift

⏹️ ▶️ Marco revisions. I mean look at how much they did in 1.2. It was a pretty substantial upgrade in a

⏹️ ▶️ Marco lot of ways and I don’t even use it yet but I could tell just by looking at what they changed and other people’s

⏹️ ▶️ Marco reactions to it it’s a pretty substantial upgrade. I’ve read a bunch of these blog posts of like we switched

⏹️ ▶️ Marco our big project to Swift or we built a big project in Swift and here’s how it went. And overall,

⏹️ ▶️ Marco it seems to be people are mostly okay

⏹️ ▶️ Marco with the language itself, with a few minor differences here and there, but mostly okay with the language itself.

⏹️ ▶️ Marco But they just complain that the tools are immature still. That’s working itself out pretty quickly, really.

⏹️ ▶️ Marco They just added the incremental compilation, which was probably the biggest complaint in its absence before.

⏹️ ▶️ Marco In less than a year, Apple has already eliminated almost everyone…

⏹️ ▶️ Marco they’ve eliminated most major complaints about the language. There’s still some minor complaints and there’s still

⏹️ ▶️ Marco some people who really object to certain things about it and that will probably never change, but for the most part they’ve

⏹️ ▶️ Marco already addressed many, many good complaints about it in less than a year.

⏹️ ▶️ John And they’re moving really fast. Like, they’re making big, big breaking changes. Almost so much like it’s frustrating,

⏹️ ▶️ John like, reading the documentation for the language and trying to learn the language just to the point you think you’re actually learning

⏹️ ▶️ John things, they change it all. And you’re like, but I just learned how it worked before, now it’s totally different again. And like, they don’t do

⏹️ ▶️ John it like in, there are minor ways, like, oh, we tweak this little syntax here, but there’s like big fundamental, like just wait until they add exceptions

⏹️ ▶️ John and regular expressions, people’s brains are gonna explode, right? This is why I haven’t learned it yet. This language

⏹️ ▶️ John is moving, yeah, I mean, this language is moving fast. And just, it’s like, wow, 1.2 was a big change,

⏹️ ▶️ John and be like, well, my program got five times faster and I didn’t change anything, and you know, like my compile times

⏹️ ▶️ John are lower, like, it’s still super young, and I think it’s probably still super buggy. And they’ve got a long

⏹️ ▶️ John way to go. But like, there’s the I think the inclination is to think, well, it’s young now. And there’s these

⏹️ ▶️ John big changes, but the rate of change will slow down. And I expect it to like, to not slow down

⏹️ ▶️ John to make people uncomfortable with the amount that it doesn’t slow down for the next couple of years, like at a certain point,

⏹️ ▶️ John it’s going to be kind of like, you know, the change fatigue with the OS go like, alright, already, like,

⏹️ ▶️ John my annoyances with whatever features in Swift are now dwarfed by my annoyance that you keep changing the language

⏹️ ▶️ John, Marco every

⏹️ ▶️ John three months. We understand you are addressing all of our problems and trying to make things better, but now

⏹️ ▶️ John I just want it to be stable so I can write some code and feel like I actually know the language. That’s gonna happen in

⏹️ ▶️ John like eight months if they keep up this pace.

⏹️ ▶️ Marco Yeah, hopefully. I mean, I said last year I was gonna wait about a year before I even looked at it,

⏹️ ▶️ Marco and so far that’s working out very well. I can see in passing, oh, they’re making all these big changes,

⏹️ ▶️ Marco but I have no investment in it. I haven’t even read the Apple Swift book yet, thing they release on

⏹️ ▶️ Marco iBooks for free. I haven’t even read that yet.

⏹️ ▶️ John That’s good because every page of it has changed by

⏹️ ▶️ Marco now. I know. And so I’d rather just wait until it settles down

⏹️ ▶️ Marco at least most of the way. I would expect within the next couple of

⏹️ ▶️ Marco years, I think it will be pretty stable even in a year from now.

⏹️ ▶️ John But I think the reason I don’t think it’ll ever really stay is built into this language is the

⏹️ ▶️ John idea that it is a versioned language and there’s no backward syntax compatibility.

⏹️ ▶️ John entire path forward, and we’ll see how this works is that like the ID is going to update your source code,

⏹️ ▶️ John like they’re not going to support Swift 1.0 1.1. You know, for like the source, like it’s not like

⏹️ ▶️ John I wrote this in Swift 1.0. And I’m going to be able to compile it in Xcode nine many years from now. No,

⏹️ ▶️ John you won’t know you can’t even compile that now. Probably like their whole strategy is source compatibility

⏹️ ▶️ John forget, I mean, maybe they’ll change their policy like that’s when it comes to the maturing point, they’re gonna say, Okay, now the new policy is,

⏹️ ▶️ John we will actually respect the sanctity of your source code and not require you to like, you know, use our refactoring tools

⏹️ ▶️ John to upgrade the syntax. But they’re not in that phase yet. They’re in the phase that says, we told you we’re going

⏹️ ▶️ John to break syntax compatibility, we are going to we’re never going to compile your your Swift 1.0 1.1 stuff

⏹️ ▶️ John anymore. So just get used to it. And you better upgrade to Swift 1.2. And by the way, 1.3 will do the same thing to

⏹️ ▶️ John you.

⏹️ ▶️ Marco Our final sponsor this week is automatic, your smart driving assistant on your smartphone,

⏹️ ▶️ Marco go to automatic.com slash So, Automatic is this little dongle

⏹️ ▶️ Marco that plugs into your car’s OBD2 port. It’s the same port they use at the mechanics

⏹️ ▶️ Marco or the dealers where they check it for error codes. It’s usually in the driver footwell. Automatic plugs into that and

⏹️ ▶️ Marco so all the information that the dealers can get and the mechanics can get out of your car, Automatic can get and

⏹️ ▶️ Marco it has a smartphone app that integrates with this and does cool stuff. So, one thing it does… So, by the way, this works

⏹️ ▶️ Marco on iPhones and Android phones, which is pretty great and it can show you

⏹️ ▶️ Marco by combining the smarts in your car with the smarts in your phone it shows you things like where

⏹️ ▶️ Marco you’ve driven and how efficiently you drive gives you feedback on your driving in real time

⏹️ ▶️ Marco that can save hundreds of dollars a year on gas they can even call emergency services

⏹️ ▶️ Marco for free in a serious crash so if your car if your car crashes and your phone you know

⏹️ ▶️ Marco is at all workable it can use your phone to call emergency services for you this could really seriously

⏹️ ▶️ Marco you know be a benefit here automatic also can diagnose any check engine

⏹️ ▶️ Marco light code so because it’s in that port that all the mechanics use if there’s any kind of error code

⏹️ ▶️ Marco that causes the check the check engine light to come on the car will act the car has like a lower level error code than that

⏹️ ▶️ Marco it’s just not showing you could use it lacks the display for that that’s why it just says check engine

⏹️ ▶️ Marco but usually there’s some lower level code and a lot of those codes are really obvious things that you can fix things like

⏹️ ▶️ Marco the gas cap isn’t sealed all the way you know stuff like that you can just fix that yourself or you know minor parts

⏹️ ▶️ Marco swaps you can do you know you can go to a mechanic instead of going all the way to the dealer and paying all this money so it can save you lots

⏹️ ▶️ Marco of money with check engine light codes it can give you lots of money savings on gas it can call

⏹️ ▶️ Marco the emergency services for free in a crash and it even has little useful things like parking reminders

⏹️ ▶️ Marco again it’s combining your car with your phone so it knows where you parked and you can

⏹️ ▶️ Marco use the automatic app on your phone to just find your car again. They even have integration with a few different

⏹️ ▶️ Marco things. So they integrate with the Nest Learning Thermostat. So for example, if you’re headed home

⏹️ ▶️ Marco and Nest has you in away mode, so your house is cold in the winter, Automatic knows you’re getting close to

⏹️ ▶️ Marco your home, so it will tell the Nest, turn the heat on. And so then by the time you get home, your house

⏹️ ▶️ Marco is nice and warm for your arrival. And even if you don’t have a Nest, they have integration with

⏹️ ▶️ Marco IFTTT, if this, then that. So with that integration, you can integrate countless other

⏹️ ▶️ Marco online services with your automatic device. So it’s really great. There’s also an API, you can download your

⏹️ ▶️ Marco driving data, you can subscribe to events, like when you start and stop the car, when you’re when your check engine light comes on, etc.

⏹️ ▶️ Marco There’s a whole API for use for whatever you want. And if you have an Android phone, they even have a feature

⏹️ ▶️ Marco called do not disturb mode. So that if you want, you can have it automatically mute your phone like buzzing

⏹️ ▶️ Marco or beeping while you’re driving. So you don’t get distracted by those notifications. So great stuff here, automatic

⏹️ ▶️ Marco comm slash ATP. This is normally about $100. There’s no subscription

⏹️ ▶️ Marco fees. This is one time upfront, just $100. There is, again, no monthly

⏹️ ▶️ Marco fee. You can buy the device, that’s it. Now, there’s a special offer for the podcast listeners, 20% off.

⏹️ ▶️ Marco So for you guys, by going to automatic.com slash ATP, it’s just $80, 20% off. So just $80,

⏹️ ▶️ Marco free shipping in just two business days, and they have a 45-day return policy.

⏹️ ▶️ Marco is really risk free fantastic deal. 80 bucks free shipping

⏹️ ▶️ Marco in two days and a 45 day return policy automatic.com slash ATP. Thanks a lot.

⏹️ ▶️ Casey In speaking of different ways of writing your user interfaces,

⏹️ ▶️ Casey a couple of things have happened over the last weeks or months, that few listeners

⏹️ ▶️ Casey have asked us to talk about. And the first actually might have even been a a year ago now is Async Display

⏹️ ▶️ Casey Kit. Do you want to tell us about that, John?

⏹️ ▶️ John Yeah, all this talk about UX Kit has like the idea, oh, UX Kit is a successor to

⏹️ ▶️ John App Kit, and App Kit has this cruft that UI Kit, you know, learned from App Kit and did things better,

⏹️ ▶️ John which is why it seems nicer to do a lot of things in UI Kit than it is in App Kit and everything. And

⏹️ ▶️ John Async Display Kit and the other topic we went through after about React,

⏹️ ▶️ John React Native rather, point to sort of a larger leap above both

⏹️ ▶️ John the app kit and the UI kit paradigm, particularly having to do with

⏹️ ▶️ John the requirements that certain things only be done on the main thread, laying out the UI drawing. And there are some

⏹️ ▶️ John exceptions to that, where you can try to do some of those things off the main thread. But generally, that leads to sadness,

⏹️ ▶️ John unless you’re super careful and know what you’re doing. And that’s a limitation

⏹️ ▶️ John kind of built into the framework, a framework that if you trace its lineage through, you know, OpenStep

⏹️ ▶️ John and NextStep app keep going way back in time, made sense when you didn’t have a multi-core CPU

⏹️ ▶️ John in your little handheld crazy phone. Like the multi, you know, symmetric multiprocessing was

⏹️ ▶️ John barely a glimmer in people’s eyes back then. Forget about these, you know, 12 core CPUs and everything like that.

⏹️ ▶️ John But the reality is that now we do have multi-core in everything, and even if you just offload

⏹️ ▶️ John some of that work to another core, it can be a big benefit. So Async Display Kit is a thing, I think it’s the thing that Facebook

⏹️ ▶️ John made for like it’s

⏹️ ▶️ John, Casey it’s

⏹️ ▶️ John native applications, the paper application where they wanted to do layout calculations,

⏹️ ▶️ John just basically math of saying how wide is this? How much room is it going to take up? Blah, blah, blah. And they wanted to do it

⏹️ ▶️ John in parallel, not on the main thread because they didn’t want to block the main thread. They wanted the main thread to be available to

⏹️ ▶️ John pick up events and process them and make the UI, you know, reactive, not to use that

⏹️ ▶️ John word. The next thing. And so they made AsyncDisplayKit, which is

⏹️ ▶️ John a thing on top of AppKit that lets you do UI type calculations

⏹️ ▶️ John in asynchronously and possibly in parallel in other threads and then

⏹️ ▶️ John do it in a nice way so that the actual layout gets done on the main thread as it has to to work with the thing, but you can actually do

⏹️ ▶️ John the calculations elsewhere. And that’s what makes me look at UXKit and think like,

⏹️ ▶️ John this can’t really be the future of anything, it seems just like an interim step because I would want to

⏹️ ▶️ John see a leap like UIKit was a nice step up from AppKit, but it was kind of like more like a cleaned

⏹️ ▶️ John up AppKit, but it didn’t revisit some fundamental assumptions in light of the

⏹️ ▶️ John hardware realities that we have today. And I think something like something that incorporated

⏹️ ▶️ John something like async display kit into the fabric of the framework would be much better than someone taking

⏹️ ▶️ John AppKit or UIKit and layering another framework on top of it to offload stuff to other threads and stuff like that.

⏹️ ▶️ Casey Yeah. So async display kit was most, uh, gained most of its,

⏹️ ▶️ Casey um, fame, I guess, from paper, which was, is an app

⏹️ ▶️ Casey that Facebook wrote as a kind of alternative to their traditional Facebook app.

⏹️ ▶️ Casey And it’s actually the app that I use on my phone because it freaking supports sending messages, which is nice.

⏹️ ▶️ Casey You don’t have to have a separate app for that, but anyway, it’s very pretty. And it, uh, the animations are very cool

⏹️ ▶️ Casey and it’s very nice. And that and async display kit powers it. Now, lately,

⏹️ ▶️ Casey um, Facebook has taken a different approach because react native is Facebook, right? I’m not making that up. Am I? Uh, I

⏹️ ▶️ Casey think you’re right. All right. Well, we’ll just assume I’m right. Why not? Uh, email me and tell me if I’m wrong.

⏹️ ▶️ Casey Uh, anyway, so react native is also by Facebook and react

⏹️ ▶️ Casey originated as, or at least to my knowledge, as a JavaScript

⏹️ ▶️ Casey front end framework, kind of, sort of, but not really at all like Angular. And

⏹️ ▶️ Casey then somebody at Facebook said, well, you know what? We could do something

⏹️ ▶️ Casey on the native side with this. And so there’s an unbelievably good video

⏹️ ▶️ Casey that I had seen by way of Andy Matuszak, who has been coming

⏹️ ▶️ Casey up a lot lately, actually, on the show. And it’s an overview by one of

⏹️ ▶️ Casey the developers of React Native at Facebook talking about how it works

⏹️ ▶️ Casey and kind of what it does. And I haven’t watched it for a week or two since whenever it came out.

⏹️ ▶️ Casey And so I can’t really get into the specifics because I’ll steer us into a black hole of incorrectness.

⏹️ ▶️ Casey But some of the stuff that it does was just unreal, including being able

⏹️ ▶️ Casey to mess about with your UI without doing another build. And so you

⏹️ ▶️ Casey can have your app running in the simulator, fart around with

⏹️ ▶️ Casey some stuff in Xcode, And it will refresh itself in the simulator without recompiling.

⏹️ ▶️ Casey And additionally, you could actually connect Chrome to the app, the running

⏹️ ▶️ Casey app, kind of like we talked about, I think last episode with, um, with web views, but this isn’t

⏹️ ▶️ Casey a web view. This is all real honest to goodness, native stuff. And so you can connect Chrome.

⏹️ ▶️ Casey They have some sort of interpreter connector, whatever, and you can connect Chrome to your native app,

⏹️ ▶️ Casey running react native and go inspecting it kind of like, Um, what was the third party

⏹️ ▶️ Casey thing that got Sherlock this year? Do you know what I’m thinking of? Oh yeah. The thing that exploded all the views.

⏹️ ▶️ Casey But yeah, so it’s kind of similar to that. And I, I haven’t played with it yet, but just watching this

⏹️ ▶️ Casey half an hour video, my mind exploded probably 15 times. Uh, reveal.

⏹️ ▶️ Casey Thank you. Uh, for the chat room, it was revealed that I was thinking. You’re not going to try and pronounce that? Uh, no.

⏹️ ▶️ Casey Uh, thank you. Person in the chat room, Marius. Sir, Rochi, that’s totally wrong.

⏹️ ▶️ Casey, Marco Anyway,

⏹️ ▶️ Casey this video is really, really incredible. And Marco, especially,

⏹️ ▶️ Casey I’d be curious… Well, you haven’t seen this, have you? No, of course not. Okay, never mind. So

⏹️ ▶️ Marco you’re useless. Hey, in my defense, I did spend all day today making another Go program. So

⏹️ ▶️ Marco I was in this century.

⏹️ ▶️ Casey Okay, well, that’s good. I would like to hear about that if we have time. But John, what are your thoughts on this React Native thing?

⏹️ ▶️ Casey Have you done React, the JavaScript framework at all?

⏹️ ▶️ John I retweeted a thing from like someone was making a joke, like a sign of the W3C. And it was one of those signs

⏹️ ▶️ John of

⏹️ ▶️ John, Marco the library. I said,

⏹️ ▶️ John there have been blank days since a new JavaScript framework had zero whiteboard.

⏹️ ▶️ John I’m pretty sure I know what React is and have seen it, like the JavaScript version for web applications.

⏹️ ▶️ John You can correct me if I’m wrong, Casey, because you’ve watched the thing, because I haven’t watched it yet. But React is the one where they do,

⏹️ ▶️ John where they have all the, Is it the one where they have like the DOM sort of as a structure

⏹️ ▶️ John not actually connected to the DOM and they do diffing against it to figure out what actually needs to be updated and that ends up being

⏹️ ▶️ John faster? It’s like, yep, it’s one of those crazy solutions that has to do with it. It’s not shadow DOM,

⏹️ ▶️ John Chris Deltini and thing. Oh, that’s a separate thing. And web components are related to this. But it’s like, you would think

⏹️ ▶️ John it would be so much slower to build these parallel structures in memory

⏹️ ▶️ John that aren’t the DOM, and then figure out what the changes are by diffing it against something else. And

⏹️ ▶️ John then only at the end after you’ve done this crazy diffing thing and it’s just these abstract memory structures that have no connection

⏹️ ▶️ John to the browser that you say, now finally I know what I have to update in the DOM and you do the minimal update to the DOM. But updating

⏹️ ▶️ John the DOM is so damn slow that doing that diffing ends up being way faster than doing it like the quote

⏹️ ▶️ John unquote direct way.

⏹️ ▶️ Marco It’s worth pointing out also the Flipboard thing on this topic where Flipboard came out, I think it was

⏹️ ▶️ Marco yesterday or the day before, it was very recent. And they launched a web version and then their engineering

⏹️ ▶️ Marco department posted this whole thing how they’re basically doing a react like

⏹️ ▶️ Marco uh diffing system in the middle of this whole system where they’re basically they basically rewrote

⏹️ ▶️ Marco part of webkit that just runs on a canvas it’s and it’s a very small part but

⏹️ ▶️ Marco still

⏹️ ▶️ John yeah that’s what they call it a web version i put scare quotes around a web because once your entire application is just a big

⏹️ ▶️ John canvas tag that you draw stuff in with your own framework like yeah i guess that’s the web but But like you’ve just

⏹️ ▶️ John reinvented active X controls

⏹️ ▶️ John, Marco like you.

⏹️ ▶️ Marco Oh, no, that’s that’s terrible. That’s really insulting. Come

⏹️ ▶️ Marco, John on. Not you know what I mean? But like you

⏹️ ▶️ John are not. It’s a difference. We just talk about this with flash like the web is. We know what the web

⏹️ ▶️ John is and anything that is a rectangle in a web page in which some other program runs is not the web.

⏹️ ▶️ John And Canvas is like the borderline of that. It’s like, well, is that the web or is it like

⏹️ ▶️ John you’ve written? You know, yes, you have a nice display layer and you could, in theory, do do everything

⏹️ ▶️ John yourself. They’re not they’re doing everything themselves, but it’s like, as many people point out in terms of like accessibility

⏹️ ▶️ John of a canvas native application, like unless you’re signing up to reimplement, you know,

⏹️ ▶️ John you I kid or app kit with all the accessibility things that are that are inherent there and support for all the tools.

⏹️ ▶️ John It strikes me a lot as a big rectangle on a Web page where other things happen, which may be fine for Flipboard,

⏹️ ▶️ John but I don’t think it’s that’s fine for Flipboard. Yeah,

⏹️ ▶️ John, Casey right. But but

⏹️ ▶️ John React is more like I we’re going to take the Web as it exists And we’re just going to find out a nicer

⏹️ ▶️ John way for you to write applications or what they think is a nicer way. And react has some weird

⏹️ ▶️ John stuff going on that, you know, they violate. They sort of sacrifice a lot of sacred

⏹️ ▶️ John cows. They’re the big things, I think, also, where they like mix JavaScript handlers

⏹️ ▶️ John in line with these fake things that look like tags, but really aren’t and freaks people out because it looks like you’re doing like the old style

⏹️ ▶️ John on mouse over equals whatever, but you’re not really because that’s not actually DOM markup. That’s just a way to communicate

⏹️ ▶️ John with the like. There’s a lot of weird things about React, but I think that’s all besides the point, because I

⏹️ ▶️ John think the important part of it is that it is a different model. It’s a very different model from AppKit and UIKit

⏹️ ▶️ John of how to make GUI applications. And it’s like, well, that’s for the web. The web is so different than native. It has

⏹️ ▶️ John to be different. And React Native is like, what if we take that same model and apply it

⏹️ ▶️ John to native things? Does that work? Is it actually better than using UIKit or AppKit? And some people apparently

⏹️ ▶️ John think it is. I think the jury’s still out on whether this new paradigm is the way to go. But

⏹️ ▶️ John I think this combined with Async Display Kit show two different potentially complementary

⏹️ ▶️ John approaches that are that show that are so different from App Kit and UI

⏹️ ▶️ John Kit and UX Kit that it’s like it makes UI Kit and UX Kit and

⏹️ ▶️ John App Kit look like Objective-C 2.0 and it makes these things look like potentially swift or something

⏹️ ▶️ John like I just feel like there’s a bigger leap to be had. And it’s like I would recommend that Apple

⏹️ ▶️ John not invest some huge amount of time unit making pushing some unified UI kit, UX

⏹️ ▶️ John kit type of thing for the future, because that transition will take a long time when you’re done with the transition. What you’ve got is basically now everything’s

⏹️ ▶️ John as good as you like it. And you like it may be nicer than that, get in important ways. But it

⏹️ ▶️ John is not sort of a. Large, it’s not as big a leap, potentially

⏹️ ▶️ John as big a leap as Swift potentially is over Objective C. Like I’m looking for the next big step, and I would say,

⏹️ ▶️ John refine what you have now, make AppKit better as you’ve been doing, make UIKit better as you’ve been doing,

⏹️ ▶️ John and get busy working on whatever the next big thing is. And if it’s something like React Native, fine. If it’s something that incorporates

⏹️ ▶️ John the ideas of Async DisplayKit, fine. If you think you can retrofit those to both UIKit and AppKit and let

⏹️ ▶️ John people do more things off the main thread, maybe try that too. But I’m not

⏹️ ▶️ John going to say this is my next Copeland 2010 type of thing, but I do look at these other frameworks and

⏹️ ▶️ John I’m not convinced that they’re the future, but they look different enough from the present that I’m interested in

⏹️ ▶️ John potential ideas for the future.

⏹️ ▶️ Marco Yeah, I agree. I think you’re totally right that if you’re going to make everyone do a

⏹️ ▶️ Marco big transition, if there is this other thing that has come up in computer

⏹️ ▶️ Marco science-y type circles and everyone thinks this is a really great idea and it turns out in practice to really be a really

⏹️ ▶️ Marco great idea, it is definitely worth considering. Is it worth, if you’re going to force

⏹️ ▶️ Marco people to go through a transition, to make a bigger leap like Swift?

⏹️ ▶️ John It’s not even like computer science-y, like just recognizing the hardware. The hardware is so different now. The frameworks

⏹️ ▶️ John we have are not a good match for everything being multi-core because of the main thread constraints.

⏹️ ▶️ John And GCD helps that a lot. Like GCD does help, but for UI code, it doesn’t help because it’s like certain things

⏹️ ▶️ John you have to do on the main thread or bad things happen. And so that’s like the Async Display Kit is

⏹️ ▶️ John like, we’re going to hack around that limitation of Apple’s frameworks and say, you just sit there framework, don’t

⏹️ ▶️ John worry. We’ll actually do the UI updates on the main thread. We’re going to do a whole bunch of other math over here in our sort

⏹️ ▶️ John of play world. And same thing with React, our sort of play world of, this is not the UI,

⏹️ ▶️ John but this is our little fake model of the UI so we can actually take advantage of parallel processing.

⏹️ ▶️ John And then we’ll get back to you with, OK, now your actual UI, or now your actual DOM, please do this change. And

⏹️ ▶️ John that is hacky and clever, but it shows that the current frameworks are just not a good fit

⏹️ ▶️ John for current hardware.

⏹️ ▶️ Marco Well, I think the multi-core hardware rendering main thread thing is kind of a red herring.

⏹️ ▶️ Marco Like, in practice, the reason why a lot of

⏹️ ▶️ Marco UI code now is tricky to write is not because drawing calls have to happen on the main

⏹️ ▶️ Marco thread. It’s because, ah, geez, is it declarative versus procedural?

⏹️ ▶️ Marco Whatever the… It’s a different paradigm is what I’m

⏹️ ▶️ Marco, John saying.

⏹️ ▶️ John It’s not that it’s tricky to write. It’s just that if you have performance concerns, you want

⏹️ ▶️ John to treat it more like a game engine where it’s like, if you’re going to do anything, you have

⏹️ ▶️ John to be done, because I have to pull the next event off the queue. You need to leave the main thread alone. Do not. That’s the

⏹️ ▶️ John whole thing of GCD. Stop blocking the main thread for crying out loud. I don’t care what you have to do. Get

⏹️ ▶️ John in, get out. I need to get the next event, because if it’s stuttery when it’s scrolling, it’s super bad. And that’s

⏹️ ▶️ John why AsyncDisplayKit has this cool, one of the classes they have is, say you’re going to show a big, giant grid of images,

⏹️ ▶️ John and they’re coming from the internet. You can’t wait to get all those downloaded to figure out what sizes they are so you can lay it out. It’ll

⏹️ ▶️ John take forever. So there’s like this procedural thing where like we’ll download super low res

⏹️ ▶️ John versions of those and asynchronously bring in the higher res versions. But just so you can get a scrollable

⏹️ ▶️ John correctly laid out thing as soon as possible so you can start scrolling it. That’s the type of thing that’s very difficult

⏹️ ▶️ John to do with the existing framework, which it’s like, they don’t expect sort of asynchronous updates to all

⏹️ ▶️ John this, like to all these features. It’s like, it should be easier than it is. And it’s not, it’s not

⏹️ ▶️ John because of like, like you said, declarative versus procedural, that’s part of it. you could say oh it’s easier if I could describe

⏹️ ▶️ John my UI in this way instead of writing a bunch of code to make my UI in this way but it’s like

⏹️ ▶️ John for large grids with lots of things on them I don’t want to block the main thread with the

⏹️ ▶️ John amount I don’t want my main thread to be blocked if n is really large for something

⏹️ ▶️ John that’s performance is is dependent on the number of items

⏹️ ▶️ Marco yeah but I think it’s it’s more you know like you said like with GCD we can already step off the main thread,

⏹️ ▶️ Marco come back later. It’s more of a paradigm shift. It’s not

⏹️ ▶️ Marco that the APIs have to happen on this main thread. It’s that the paradigm for how you update

⏹️ ▶️ Marco the UI. The way React does it, if you look… I don’t know React. So whenever I see

⏹️ ▶️ Marco snippets of React code, it just breaks my mind. I’m looking at it and I’m like, Oh my

⏹️ ▶️ Marco god, this is totally backwards, inside out, upside down, and in French.

⏹️ ▶️ Marco It looks so foreign to me because that’s so different from what I’m used to.

⏹️ ▶️ Casey Yeah, so let me jump in here. So one of the links is that we’re going to put in the show notes, why React Native

⏹️ ▶️ Casey matters. And this is by Joshaber. I’m guessing that’s Joshaber. Anyway,

⏹️ ▶️ Casey he says, right now we write UIs by poking at them, manually mutating

⏹️ ▶️ Casey their properties when something changes, adding and removing views, et cetera. This is fragile and error prone.

⏹️ ▶️ Casey Some tools exist to lessen the pain, but they can only go so far. UIs are big, messy,

⏹️ ▶️ Casey mutable, stateful bags of sadness. React lets us describe our UIs for a given state,

⏹️ ▶️ Casey and then it does the hard work of figuring out what needs to change. It abstracts

⏹️ ▶️ Casey all the fragile, error-prone code out away from us. We describe what we want, React figures out how to accomplish it.

⏹️ ▶️ Casey UIs become composable, immutable, stateless value types. React Native is fantastic news. And that’s

⏹️ ▶️ Casey building, oh, it’s Josh Abernathy, I’m sorry. That’s building on what you were saying, Marco, where this is just

⏹️ ▶️ Casey a whole different model of how you interact with user interfaces.

⏹️ ▶️ Casey And it makes a lot of sense. Maybe the particulars are a little bit wonky and I’ll

⏹️ ▶️ Casey concede that. But the premise of really this is just moving from

⏹️ ▶️ Casey one concrete state to another and it should just be a finite state machine, hopefully in theory,

⏹️ ▶️ Casey that is a really cool premise. And building on that, going back to Andy Matuszak,

⏹️ ▶️ Casey he tweeted a few days ago, we’ll put a link in the show notes. I say with confidence as a former UI kit author, React’s

⏹️ ▶️ Casey model for the UI layer is vastly better than UI kits. React Native is a huge deal.

⏹️ ▶️ Casey In another tweet, they’ve just got to figure out the interaction and animation pieces. And so he goes

⏹️ ▶️ Casey on just briefly, to all asking me what’s React filter rubble danger, you must watch the broader development landscape. Don’t get

⏹️ ▶️ Casey trapped in one platform. And I think that’s a really good call. And this is something very interesting that’s

⏹️ ▶️ Casey influenced from a web framework coming into Native. And it’s making

⏹️ ▶️ Casey some really interesting moves. And I wouldn’t be surprised

⏹️ ▶️ Casey if something along these lines gets adopted by Apple in the same way something along the lines of Reveal,

⏹️ ▶️ Casey which isn’t an apples to apples comparison, but Reveal was kind of Sherlocked. It wouldn’t surprise me if they took

⏹️ ▶️ Casey a very similar, spiritually similar approach to whatever

⏹️ ▶️ Casey replaces UI Kit and App Kit eventually one day maybe.

⏹️ ▶️ Marco Oh yeah, because React, I mean, it’s making big waves it’s making waves with a lot

⏹️ ▶️ Marco of the people who matter with such decisions. People like Andy Machusek, people who

⏹️ ▶️ Marco are developing these frameworks, people who are in important positions, or were, or know people,

⏹️ ▶️ Marco or the new people in those positions. It’s making big waves. I have heard so much about React.

⏹️ ▶️ Marco Every JavaScript framework out there besides React that’s come out in the last decade, I hear nothing about because

⏹️ ▶️ Marco I don’t care. React makes big enough waves that that I keep hearing about it. Like, I don’t know anything about

⏹️ ▶️ Marco Angular. Is that the one that has like a million different levels of factories? Ember

⏹️ ▶️ John and Angular, yeah. Like, you don’t, those are confined to the client side, but React is coming over to the native side. Like,

⏹️ ▶️ John I think to tie this together with Async DisplayKit was like, you know, we’re talking in two different

⏹️ ▶️ John things. Like, I was mostly talking about Async DisplayKit with the performance concerns, and you were talking about React as the paradigm thing. They’re connected

⏹️ ▶️ John though, because React’s functional thing, where like, you know, you operate on state and it’s a value

⏹️ ▶️ John type thing. that sort of, you know, lack of side effects where you just operate on your arguments

⏹️ ▶️ John and return a value and everything is sort of, you know, like just a value type and all that stuff

⏹️ ▶️ John that you see a lot of that in Swift as well. That allows you to parallelize this stuff. Because if you don’t have side effects, if you’re

⏹️ ▶️ John not, if it’s not just one giant big ball of mutable state, then you can only update one thread at a time. Otherwise, you get crazy conflicts.

⏹️ ▶️ John That’s what taught one of the many things that ties up get to its current paradigm, react, says, you know,

⏹️ ▶️ John react, anything display kit are connected, because if you use the react model, it doesn’t matter what thread you do these mutations

⏹️ ▶️ John are. It doesn’t matter. You can do them all in parallel the same like they’re side effect free. They’re pure functional. And so

⏹️ ▶️ John it lends itself to that type of UI model as opposed to the current model,

⏹️ ▶️ John which is we have this one thing. It is the state of the UI. Be super careful with

⏹️ ▶️ Marco it. And going back a sec to what Casey just said, like, it is not past Apple

⏹️ ▶️ Marco to steal good ideas. They do it all the time. And if something is making this big

⏹️ ▶️ Marco of a wave. And Apple’s engineers and top people, if Apple

⏹️ ▶️ Marco thinks it’s a good idea, they will do it. Or they will do something similar to it.

⏹️ ▶️ Marco And something like this is a pretty big deal. To change your entire UI API paradigm

⏹️ ▶️ Marco or to add a new one is a major deal. And this is not something that can happen

⏹️ ▶️ Marco in a year. This would be a big undertaking.

⏹️ ▶️ John It would have to be a skunkworks. But I think that the exciting thing about Swift is it showed us, Yeah, it was a skunk works, but it was

⏹️ ▶️ John essentially one guy who one very powerful guy who had proven himself with many other things

⏹️ ▶️ John that he had done in the company. It’s not just some random employee off in the corner somewhere, but for a long time,

⏹️ ▶️ John it was just one person. And I’m sure there’s lots of those one person type projects that may or may not go anywhere. But

⏹️ ▶️ John like it just goes to show that you don’t need like buy into the VP level to get the ball rolling or something like this.

⏹️ ▶️ John And maybe the ball starts rolling and then stops rolling, like as happened with like ZFS or whatever. You know, other

⏹️ ▶️ John things like it’s not guaranteed that it’s going to happen, but it seems like Apple is currently an organization in which

⏹️ ▶️ John something like this could start happening and get killed before we ever see it and something else comes along

⏹️ ▶️ John and maybe react is just the hotness today and then two years it’s something else like but it’s not outside the

⏹️ ▶️ John realm of possibility that Apple can innovate in this way on any subject other than file systems which they

⏹️ ▶️ John seem institutionally incapable of ever changing. Not that I’m bitter.

⏹️ ▶️ Marco And tying it back even though I really want to end on that but tying it back if they’re

⏹️ ▶️ Marco going to do something like a React-style UI framework, that would be a really

⏹️ ▶️ Marco good thing to start with Swift and to make Swift only. One of the things that

⏹️ ▶️ Marco makes React code look so weird is that it fits in very weirdly with existing languages, just

⏹️ ▶️ Marco like the syntax of declaring it and using it.

⏹️ ▶️ John The fact that it’s using JavaScript, like this is…

⏹️ ▶️ Marco Yeah, it’s really badly bolted on. I mean, not by its own fault, by the fault of the language really,

⏹️ ▶️ Marco but Swift is still squishy and generally more pokeable.

⏹️ ▶️ John But Swift is a much better fit. The whole idea of so many things being value types in Swift, not that that is a direct

⏹️ ▶️ John parallel to the idea of the UI state being a value type and everything, but it just shows that the headspace,

⏹️ ▶️ John where is Swift at in terms of immutable data? Well, it is much more on the React

⏹️ ▶️ John side of things than Objective-C is, because Objective-C is all about everything being mutating

⏹️ ▶️ John, Marco and,

⏹️ ▶️ John hey, just declare it as type ID whatever guys it’s all right uh where as Swift is like no

⏹️ ▶️ John you know we’re gonna pin things down lots of things that were reference types are becoming value types just

⏹️ ▶️ John because we’ve learned that you know making any string reference type just leaves more headaches and people forget

⏹️ ▶️ John to copy them and they have you know it’s like that is the mindset of Swift and so something

⏹️ ▶️ John using the good ideas in React and Async Display Kit written natively in Swift

⏹️ ▶️ John would be a very interesting successor to both UI Kit and App Kit from Apple so someone should start

⏹️ ▶️ John writing that now and in four years get back to me.

⏹️ ▶️ Marco Anyway give me a reason to learn Swift.

⏹️ ▶️ Marco, John Yeah that’ll be eight years later. Yeah. All

⏹️ ▶️ Marco right thanks a lot to our three sponsors this week Igloo, Hover, and Automatic and we will see you next week.

⏹️ ▶️ Casey Now the show is over they didn’t even mean to begin cuz

⏹️ ▶️ Casey it was accidental It was accidental.

⏹️ ▶️ Casey John didn’t do any research. Marco and Casey wouldn’t let him.

⏹️ ▶️ Marco Because it was accidental. It was accidental.

⏹️ ▶️ Casey And you can find the show notes at atp.fm.

⏹️ ▶️ John And if you’re into Twitter, you

⏹️ ▶️ Marco can follow them at C-A-S-E-Y-L-I-S-S.

⏹️ ▶️ Marco So that’s Casey

⏹️ ▶️ Casey Liss, M-A-R-C-O, A-R-M, Auntie Marco

⏹️ ▶️ Casey Armin, S-I-R,

⏹️ ▶️ Marco A-C, USA

⏹️ ▶️ John Syracuse. It’s accidental. They

⏹️ ▶️ Marco didn’t mean to. Accidental. Tech podcasts so long.

⏹️ ▶️ Casey What are we talking about? Oh, your Go thing. What is this about? you’re really getting into this Go

⏹️ ▶️ Casey thing.

⏹️ ▶️ Marco Yeah, I’m getting faster with it now. And today was the first time. My previous,

⏹️ ▶️ Marco the polar, the feed polar, that’s just one giant file. Because I didn’t want to

⏹️ ▶️ Marco figure out how do I break up things into different files and manage that in Go.

⏹️ ▶️ Marco Because it’s a pretty long file. And I should break it up now because it got

⏹️ ▶️ Marco longer once I finalized all the stuff I actually needed to be in the system fully.

⏹️ ▶️ Marco So tonight I was working on something else. So I have these two servers

⏹️ ▶️ Marco at high velocity that I started leasing per month

⏹️ ▶️ Marco about a month ago and I haven’t done anything with them yet. I bought them because they were having an insane

⏹️ ▶️ Marco sale that was just ridiculous for what you get for both hardware and bandwidth. Where now

⏹️ ▶️ Marco for a few hundred dollars a month I now have an unmetered gigabit of transfer,

⏹️ ▶️ Marco a gigabit per second unmetered of transfer. What? And I asked them, I’m like…

⏹️ ▶️ Marco Before I bought it, I’m like, Alright, so what’s your actual policy here? If I actually use all this,

⏹️ ▶️ Marco what if I was hosting big podcast files? If I made a podcast file host for us or whoever

⏹️ ▶️ Marco else? If we actually used all this bandwidth, would you cut it off?

⏹️ ▶️ Marco And they’re like, Nope. We actually… You can use it. That’s the point.

⏹️ ▶️ Marco So and it’s a pair of machines that are each 500

⏹️ ▶️ Marco megabit and they’re each as good as roughly as good as a six core

⏹️ ▶️ Marco Mac Pro. They have dual SSDs with RAID 1, 64 gigs of RAM.

⏹️ ▶️ Marco I mean it’s like these are insane machines. Six core Xeon 1660 V3s which are actually

⏹️ ▶️ Marco faster than the current Mac Pro CPUs because the Mac Pro seem to have skipped a generation

⏹️ ▶️ Marco which they sometimes do so I’m not surprised but there is a newer version of the Xeon chips that the

⏹️ ▶️ Marco Mac Pro uses that is out right now that Apple has not updated to and seems like they’re probably just not going

⏹️ ▶️ Marco to at this point. Anyway, so I have these servers that I bought because

⏹️ ▶️ Marco one thing I want to do is and the reason why I was so interested in having tons and tons of bandwidth

⏹️ ▶️ Marco available is I want to be able to launch a Twitter card

⏹️ ▶️ Marco for overcast player pages so that people who are browsing the Twitter app can play the podcast right

⏹️ ▶️ Marco there in Twitter cards. Twitter cards require that all assets that are loaded within them,

⏹️ ▶️ Marco including media files, are served over HTTPS. Some podcast

⏹️ ▶️ Marco hosts support HTTPS for their files, but most don’t.

⏹️ ▶️ Marco The first thing I wanted to write was an HTTPS proxy.

⏹️ ▶️ Marco There are a few of these that exist. There’s one—I forget what it’s called now—there’s one that GitHub wrote in Node.

⏹️ ▶️ Marco I’m sorry I forgot the name. Anyway, so there’s that one and that’s fine. I looked at it briefly.

⏹️ ▶️ Marco It’s mostly made for images but you know fine it would work the same way.

⏹️ ▶️ Marco I decided to try to write that in Go, a basic SSL proxy. And it’s so,

⏹️ ▶️ Marco it’s nothing, it’s like a hundred lines. I mean it’s almost nothing, it’s great. And I also have a

⏹️ ▶️ Marco few other things I wanted to try. I mentioned last week that I was using ImageX

⏹️ ▶️ Marco for my thumbnailing but it was costing me a fortune. So I’m moving

⏹️ ▶️ Marco my artwork thumbnail or to these boxes as well. So I wrote just one go

⏹️ ▶️ Marco program that contains those two functions, the SSL proxy and the

⏹️ ▶️ Marco and the artwork the artwork thumbnail or just those two functions implemented in go it listens over HTTPS

⏹️ ▶️ Marco and is its own server. There’s no server in front of it. There’s no NGINX or Apache or anything reverse proxying to it. It’s just its own

⏹️ ▶️ Marco server raw right to the internet. And that’s all these boxes do is run this program. So I’m hopefully

⏹️ ▶️ Marco going to be deploying that in the next day or so.

⏹️ ▶️ Casey Cool. And it didn’t take you that long to write, it sounds like?

⏹️ ▶️ Marco No, a few days. I mean, I’ve been sick. So my work hours, I can only really work a few hours at a time before I

⏹️ ▶️ Marco go lay down, which really sucks. But I’m extremely annoyed about

⏹️ ▶️ Marco that. That is by far the worst part about being sick is not how

⏹️ ▶️ Marco I feel, it’s that I can’t work. That’s what drives me nuts the most. Anyway, so that’s

⏹️ ▶️ Marco on its way out, at So if I was working full time at full capacity, this

⏹️ ▶️ Marco probably would have taken only two days. It has actually taken something like four days, but oh well.

⏹️ ▶️ John So how does your Go server handle the, I still don’t quite understand the concurrency model,

⏹️ ▶️ John but how does it handle if there are more incoming connections, then does

⏹️ ▶️ John it do multiple processes or is there a single process event driven? What does it look like on the machine?

⏹️ ▶️ Marco It can do multiple cores, but it is all, it’s for the most part, it’s single process

⏹️ ▶️ Marco event driven. But they use this concept, and forgive me, anyone who’s an expert listening, I’m not an expert yet on

⏹️ ▶️ Marco this. So this is a newbie overview of the way it works. But

⏹️ ▶️ Marco they use this thing called goroutines, which are these kind of threads.

⏹️ ▶️ John Cooperating sequential processes or something like that?

⏹️ ▶️ John, Marco Yeah, something

⏹️ ▶️ Marco like that. So it’s those things. And so it’s basically a very lightweight thread

⏹️ ▶️ Marco that exists within the app space. It is not an OS level

⏹️ ▶️ Marco, John thread.

⏹️ ▶️ John So how does it behave at the limits? If you overwhelm it with connections, do the other connections

⏹️ ▶️ John just wait? Do you exhaust the number of? I

⏹️ ▶️ John always look at what the behavior at the limits. That’s the only reason I would ever put another server in front of it. It’s like, well, I know how whatever will

⏹️ ▶️ John behave. I can set these limits on number of connections. I know people will wait. I know what will happen. I know when people

⏹️ ▶️ John will start getting timeouts or connections or whatever. Whatever the failure mode is, I can choose my failure mode. And

⏹️ ▶️ John I don’t know what the failure modes at all are for Go because I’ve never used it.

⏹️ ▶️ Marco So I was trying to do some research on that earlier today to try to figure out like do I need to put NGINX in

⏹️ ▶️ Marco front of it or something or can I just go without it? The responses to that question were for the most part

⏹️ ▶️ Marco a few people who did it, who just did it, roth the internet, who said it’s fine.

⏹️ ▶️ Marco A few people who said you should put NGINX in front of it because

⏹️ ▶️ Marco of separation of roles, which I think is total BS, honestly. Like that is not

⏹️ ▶️ Marco a good… Like the way those arguments were presented, none of them convinced me that they were valid arguments. That

⏹️ ▶️ Marco was not like… There’s nothing saying that having Nginx reverse proxying

⏹️ ▶️ Marco to this Go server is any more of a purity of roles than having the Go server

⏹️ ▶️ Marco serving itself. It has this functionality built into the language.

⏹️ ▶️ John The only reasons I could think of are the older reasons that we used to run proxy servers, in that

⏹️ ▶️ John if you don’t want to slow down the process… If a bunch of your clients have slow connections

⏹️ ▶️ John you don’t want to tie up your back end process doling out

⏹️ ▶️ John bits to the slow connections but when it’s an event driven thing that’s not really valid anymore because you’re not tying it up when

⏹️ ▶️ John it’s when it’s doling out bit slowly it’s doing other things because it’s you know multi-threaded and

⏹️ ▶️ John moving on to the next thing

⏹️ ▶️ Marco right and and like and the way like it seems like you would like the difference between

⏹️ ▶️ Marco nginx being tied up with all these connections and go being tied with all these connections because they both have that

⏹️ ▶️ Marco same event-driven style model, I don’t think one would be substantially better than the other at that.

⏹️ ▶️ John Yeah, and the failure mode is the other option, but the real question for me is, does Google put anything

⏹️ ▶️ John in front of its servers when it runs them? And if Google doesn’t do it, which I suspect they don’t because it seems like Go is designed to do this,

⏹️ ▶️ John then it’s like, well, if Google’s not doing it, you don’t need to do it either. If it’s designed to

⏹️ ▶️ John handle the traffic that Google expects, surely you can do your podcast image thing by having the Go app talk

⏹️ ▶️ John directly to them. But I know nothing about this, so I’ll be interested to see what the results are of your experimentation.

⏹️ ▶️ Marco That’s probably a bad example, just because Google is such an incredible scale. They probably have lots of stuff in between

⏹️ ▶️ Marco the public internet and their application servers, so that’s probably a bad example. But I would be

⏹️ ▶️ Marco interested to see medium-sized sites, to see what they

⏹️ ▶️ Marco, John do.

⏹️ ▶️ John Right, well, no, but I’m saying Google, do they intentionally put a layer there whose only purpose is to be, you know what

⏹️ ▶️ John I mean? I would suspect that the machines that their things are running on, the Go process is listening

⏹️ ▶️ John on the ports. And yes, there’s stuff in between, but it’s like, do they, you know, do they shove Nginx in there as essentially a proxy

⏹️ ▶️ John server for some reason? It makes much more sense to do that if you have a multiprocess

⏹️ ▶️ John backend because then you would be tying up an entire child process when really you should just shove the, put a big buffer on the proxy,

⏹️ ▶️ John have the child process ship the bytes out to the proxy, and then that child process is free to serve another request while the proxies

⏹️ ▶️ John have redoubled out those bits to the slow client. That’s like 1990s-era state-of-the-art web technology,

⏹️ ▶️ John but we’ve moved on from

⏹️ ▶️ Marco that. Right. And I saw there was one benchmark that somebody posted where they showed

⏹️ ▶️ Marco all the code they used, and there were a few complainers in the comments, but it seemed pretty valid,

⏹️ ▶️ Marco where they benchmarked a simple Go program, like a Hello World kind of thing. They’re like, simple

⏹️ ▶️ Marco Go program, raw versus Nginx a few different configurations and tweaks.

⏹️ ▶️ Marco And the Go program just had it destroyed Nginx in

⏹️ ▶️ Marco request rate per second with either A, B, or one of the other similar tools. It was way faster

⏹️ ▶️ Marco with just pure Go, because of course, it’s doing less.

⏹️ ▶️ John And you’re synchronizing two event-driven things. Like one thing is handling it, and they’re not going to be in sync of

⏹️ ▶️ John when I’m doing the work on behalf of this request. And then handing it back, it’s just, you’re just, yeah. It’s not

⏹️ ▶️ John just adding overhead. It’s like these two desynchronized event-driven things trying to talk to each other.

⏹️ ▶️ Marco Exactly. So that’s what I’m going to do. I mean, so what the way these servers are set up,

⏹️ ▶️ Marco they actually have none of my app on them. They don’t have any access to my main infrastructure.

⏹️ ▶️ Marco They don’t they don’t even read the database. They don’t have anything on them except this go program. There’s

⏹️ ▶️ Marco they don’t even have PHP installed. So and they don’t even have private net access

⏹️ ▶️ Marco back to the line node servers that are running the rest of the app. No connection whatsoever to the app just

⏹️ ▶️ Marco my app is able to write its files into it They go for just and it only has the go files so like

⏹️ ▶️ Marco the risk if these things get compromised is pretty small And if they go down these are really

⏹️ ▶️ Marco you know these are kind of accessory features It’s I’m gonna have a CDN or front of the artwork thumbnail or anyway

⏹️ ▶️ Marco I’m not and I’m not doing a CDN in front of the podcast bandwidth thing or the podcast SSL

⏹️ ▶️ Marco thing for two reasons number one the bandwidth cost would be extraordinary and I

⏹️ ▶️ Marco don’t think I would be able to afford it. Number two, the way this is working, Overcast

⏹️ ▶️ Marco does not proxy the files normally. And I only want to use this

⏹️ ▶️ Marco in areas where SSL is really required for usability or for functionality. So that would be

⏹️ ▶️ Marco things like Twitter cards, the web player to avoid mixed content warnings, things like that.

⏹️ ▶️ Marco In reality, that’s not most uses of Overcast. That’s not most plays, and it probably will never be.

⏹️ ▶️ Marco But regardless, I still don’t want to steal hits from people’s files.

⏹️ ▶️ Marco And so the way I’ve set it up that there is absolutely no caching of that SSL proxy’s

⏹️ ▶️ Marco assets. Every request that is made through that proxy has a corresponding

⏹️ ▶️ Marco request back to the origin server. And I know they’re probably not going to count my IP

⏹️ ▶️ Marco as unique. I am sending the X-Forwarded for and X-Real IP headers that

⏹️ ▶️ Marco are standard for proxies, I would imagine to prevent fraudulent download count increases,

⏹️ ▶️ Marco most stat services probably ignore those. For some of the big hosts, I already

⏹️ ▶️ Marco talked to Libsyn and I know SoundCloud. I won’t need to use it with them

⏹️ ▶️ Marco because I know how to do secure URLs for them reliably. So that

⏹️ ▶️ Marco should be fine, but either way I still want the downloads to be counted in some

⏹️ ▶️ Marco way as much as possible for the origin servers. So anyway,

⏹️ ▶️ Marco there’s no caching involved there, that’s intentional. But for the artwork, there is caching involved there. There’s going

⏹️ ▶️ Marco to be a CDN in front of it. So if these servers go down for any reason,

⏹️ ▶️ Marco it’s not going to be a massive deal. It’s not going to be like the whole app stops working or

⏹️ ▶️ Marco something big is ugly and broken. going to be a really small deal. And so I’m just

⏹️ ▶️ Marco going to try it. I’m you know, I have just this one seven megabyte go binary to

⏹️ ▶️ Marco put on the servers. And that’s it. There’s no dependencies. There’s no this very much appeals to me. There’s no configuration,

⏹️ ▶️ Marco really. The only sensitive thing on there is going to be the private key to the SSL certificate

⏹️ ▶️ Marco that it uses. That’s it. Like, so I think it’ll be interesting.

⏹️ ▶️ Casey That was much more in depth than I expected. That’s excellent. What else

⏹️ ▶️ Marco going on? You want to do titles? I think minutiae that has to be it. Yeah,

⏹️ ▶️ Casey but the combined AE, I don’t know what that’s called. That’s going to break a whole bunch of

⏹️ ▶️ Casey podcast clients, isn’t

⏹️ ▶️ Marco it? My shell script might break to embed the title. That’s

⏹️ ▶️ Marco, John a different

⏹️ ▶️ Marco, Casey issue.

⏹️ ▶️ Marco Yeah, well, it’s not really. I’ll just do… I’ll use iTunes to edit it or something else. Can you

⏹️ ▶️ Marco believe how like a lot of podcast producers, that’s how they embed the ID3 tags is they import

⏹️ ▶️ Marco the MP3 into iTunes and hit command I for the info panel

⏹️ ▶️ Marco, John and

⏹️ ▶️ Marco type in the stuff and then export. Like that’s crazy to me that anybody does that. They

⏹️ ▶️ John should use MP3 rage and pretend it’s 2002 again.

⏹️ ▶️ Marco Well, I’m using lame on the command line, which is pretending like it’s 2004.

⏹️ ▶️ Marco, John Similar error. Yeah, exactly. Why don’t you use a hex editor?

⏹️ ▶️ Marco Wow. Yeah, then you have to know UTF-8 for

⏹️ ▶️ Marco converting that character. That’s not going to work. Easy enough.

⏹️ ▶️ Casey Yeah, I think New Shay is probably the best one here.

⏹️ ▶️ John Is that is that a little A-E symbol actually pronounced like

⏹️ ▶️ John Shay, T-A-T, I don’t even know how to pronounce the little.

⏹️ ▶️ Marco Well, it depends on what language you’re talking about. If you’re talking about Latin or Greek, which is probably where it’s from,

⏹️ ▶️ Marco the answer is nobody actually knows and

⏹️ ▶️ Marco, Casey everyone’s

⏹️ ▶️ Marco going to think they know and they’re making it up. And so I think we’ll

⏹️ ▶️ Marco just we’ll use the wonderful AE ligature and we will just Tolerate the emails

⏹️ ▶️ Marco that come in because we love everybody’s email so much

⏹️ ▶️ John Including the people who tell you that’s not a ligature. I Think it is

⏹️ ▶️ Marco a

⏹️ ▶️ John ligature, isn’t it? I don’t know I’m just speculating about potential email we could

⏹️ ▶️ John, Marco get yeah

⏹️ ▶️ Marco as as Holgate in the chat room points out the HTML entity name for it AE

⏹️ ▶️ Marco lig so I’m pretty sure it’s a ligature

⏹️ ▶️ John yeah I don’t know I don’t know the technology you know what font and typeface and everything that’s there’s

⏹️ ▶️ John lots of distinctions that I have apparently not cared enough about to memorize.

⏹️ ▶️ John I know they exist, but I don’t know what’s right.