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

151: The Opposite of Final

We spend CES 2016 talking about USB-C hubs, Swift, and semi-smart watches.

Episode Description:

Sponsored by:

MP3 Header

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


  1. Follow-up-there
  2. More iPhone-headphone-port rumors
  3. Sponsor:
  4. Griffin USB-C MagSafe clone
  5. Hyper USB-C hub
  6. Sponsor: Igloo
  7. Swift Code of Conduct
  8. Swift “final” by default
  9. Sponsor: Warby Parker
  10. Future of Swift, Go, and Rust
  11. Ending theme
  12. Post-show: CarObjects
  13. Post-show: Less-smart watches


⏹️ ▶️ Marco Hello everybody we are live from Las Vegas with our CES

⏹️ ▶️ Marco extravaganza I thought it was extravaganza. Is it extravaganza? No, not really.

⏹️ ▶️ Marco No, I’m just kidding instead We’re gonna talk about Star Wars for three hours

⏹️ ▶️ John There’s a little exchange between one of our listeners and the ever

⏹️ ▶️ John watching ever listening up there folks They’re in the cloud. That’s why I see everything

⏹️ ▶️ John, Casey Peter Brockenhauer

⏹️ ▶️ John was tweeting at us about this and he said, and FYI, Up There is hosted on AWS. Little Snitch

⏹️ ▶️ John told me so. AWS is Amazon’s web services.

⏹️ ▶️ Marco And Little Snitch is a firewall program that tells you where your computer’s connected to.

⏹️ ▶️ John Yeah, and Up There on Twitter responded, not true, we built our own stack from the ground up

⏹️ ▶️ John and host our service on this stack. So I’m not quite sure what Little Snitch was on about. Maybe

⏹️ ▶️ John it connects to AWS or some ancillary things, but straight from the Up There horse’s mouth,

⏹️ ▶️ John they are not using AWS, they have built their own stack, which is what I was talking about in the last show, whatever mysterious technology they’re

⏹️ ▶️ John using, presumably the whole point of the company is not to write an iOS and a

⏹️ ▶️ John Mac app that connects to S3. Like, that’s not, you don’t, I don’t think

⏹️ ▶️ John Bertrand Sarlay would do a startup and focus on that because there’s a million of those things already.

⏹️ ▶️ Marco Well, I mean, they could have also just been working a layer above that. Like, they could have been using EC2 servers

⏹️ ▶️ Marco or like some other part of AWS as part of their, you know, just like how iCloud uses some

⏹️ ▶️ Marco AWS stuff and some Azure stuff, as far as we knew forever ago.

⏹️ ▶️ John Yeah, but that like, what would they use for me? Even EC2, like,

⏹️ ▶️ John I don’t know, it just seems, it seems counter, because that’s all there is. That’s all there is up there. There’s no, iCloud is built on top

⏹️ ▶️ John of this a whole bunch of other stuff. Like that’s just this, you could use S3 for the storage backend, or if

⏹️ ▶️ John you don’t want to have your own data centers or whatever, maybe you could EC2 for compute stuff, but I don’t

⏹️ ▶️ John know, I just always imagine whatever they’re doing being more interesting than that.

⏹️ ▶️ Casey Fair enough.

More iPhone-headphone-port rumors

⏹️ ▶️ Casey Any other follow-up?

⏹️ ▶️ John I threw in some follow-up just because it’s, I don’t know if there’s any information here, but

⏹️ ▶️ John it’s…

⏹️ ▶️ John, Marco You

⏹️ ▶️ Marco threw in some follow-up just because you couldn’t stand to not have any.

⏹️ ▶️ Marco, John No, I mean, like, I

⏹️ ▶️ John was, I had this in the topic section before, but I said, you know, we talked about this on a past show, and so it’s kind of follow-up, but I’m

⏹️ ▶️ John not sure how filled with information it is. So a friend of mine was messaging me today, and he’s like, so how do

⏹️ ▶️ John you feel about the headphone port going away from the iPhone 7? And I said, A,

⏹️ ▶️ John you obviously don’t listen to my podcast, And B, what

⏹️ ▶️ John are you talking about? Did I miss some news or something? He’s like, oh yeah, they were talking about it before, but it wasn’t confirmed until

⏹️ ▶️ John today. I’m like, what are you talking about? Like, I really thought that Apple had announced that there was gonna be no headphone

⏹️ ▶️ John port on the iPhone 7, but I forget that regular people don’t know what confirmed means. So this is

⏹️ ▶️ John a Forbes article. Wow. This is a Forbes article that says, the headline is, iPhone 7

⏹️ ▶️ John leaks confirm in single quotes, Apple abandoning headphone jack. I said,

⏹️ ▶️ John they did the work for you. They put it in scare quotes in the headline. At least they have the decency to say, confirm, I’m doing air

⏹️ ▶️ John quotes now, confirm. Anyway, more, so we talked a lot about this on a past

⏹️ ▶️ John show. More rumors, more supposed part leaks. This one has a

⏹️ ▶️ John neat little concept image because if you’re gonna have a rumor story, you gotta have someone do a mock-up image with the iPhone 7.

⏹️ ▶️ John And I’m looking at this mock-up image and what do you guys think? It looks a little

⏹️ ▶️ John thin to me, but anyway, this is more smoke for this potential fire of the headphone

⏹️ ▶️ John port going away, I don’t know. I think it’s too early to make any kind of call. But

⏹️ ▶️ John if I keep, not that Forbes has a great track record, but it’s making me think about it again. It’s making me

⏹️ ▶️ John think how Apple could explain this inevitability, if not this year, then next year, the year

⏹️ ▶️ John after, the year after. And I think a lot of the stuff in this article is a good way

⏹️ ▶️ John that they might explain it. The idea being that the phone would be smart about where it sends its

⏹️ ▶️ John audio output, depending on context. I wish all of Apple’s devices would get smarter this way.

⏹️ ▶️ John All of Apple’s services and devices. So if I’m listening on my wireless headphones, you know,

⏹️ ▶️ John I’m in my car, it’s playing through Bluetooth. I get out of the car, it’s just on my wireless earbuds or whatever. I

⏹️ ▶️ John sit down at my desk and it switches to outputting through the headphone jack of

⏹️ ▶️ John my computer or something,

⏹️ ▶️ John, Marco you

⏹️ ▶️ John know what I mean? Like situational awareness where you don’t have to be plugging and unplugging things, where it’ll just know based

⏹️ ▶️ John on your location or what other device is there, what your preferred sound output device is. that and then you say,

⏹️ ▶️ John see, isn’t that better than a headphone jack? And you say, yeah, if that actually worked, that would kind of be better than

⏹️ ▶️ John a headphone jack. And it lets you make your phone thinner, so everybody’s happy. I don’t

⏹️ ▶️ John know if that world is going to arrive in time for the iPhone 7, but it’s one way to sell this feature, I guess.

⏹️ ▶️ Marco Yeah, I mean, we talked about this to death a few episodes back, so I don’t think we should spend too much time on it, but

⏹️ ▶️ Marco I do think that the world of not having the headphone jack is probably on its way.

⏹️ ▶️ Marco I think as we discussed last time, it’s probably still a few years off. I mean, I think

⏹️ ▶️ Marco one of the biggest supports for this is to look at the MacBook One. And the MacBook One has

⏹️ ▶️ Marco two ports, the multi-purpose USB-C charging port and a headphone

⏹️ ▶️ Marco jack. And they couldn’t justify any other ports on that, but they could justify a headphone jack. And I think

⏹️ ▶️ Marco that goes to show just how often they’re used. And Bluetooth headphones do

⏹️ ▶️ Marco exist. They’ve been used for quite some time. There are some decent ones. There are very

⏹️ ▶️ Marco few good or even great ones. And there’s a lot of trade-offs to Bluetooth headphones

⏹️ ▶️ Marco that make them not only less good in some ways, but actually unusable for certain applications.

⏹️ ▶️ Marco So it’s… it is not a clean transition. I’m guessing that

⏹️ ▶️ Marco that one, like, kind of crazy, translated a million times from different languages story

⏹️ ▶️ Marco that we got back then, back a month ago or two, that one story about how there would just be a passive

⏹️ ▶️ Marco special lightning adapter for this new revision of the lightning port that would basically

⏹️ ▶️ Marco have a DAC on the phone and have it be able to send analog audio

⏹️ ▶️ Marco through a cheap passive adapter through the port into a headphone jack port through a little breakout

⏹️ ▶️ Marco cable. I think that’s pretty plausible. And so that, I think, is the most

⏹️ ▶️ Marco plausible explanation I’ve heard for why this might not be a big deal. If they can make a cheap little

⏹️ ▶️ Marco passive adapter like that and just sell that to you or even include one in the box if it’s really

⏹️ ▶️ Marco that cheap and passive, they probably won’t. It’ll be more likely they would sell it for $30. But we can dream.

⏹️ ▶️ Marco But I think where there’s smoke, there’s usually some fire. And I think there’s enough

⏹️ ▶️ Marco smoke around this that I would move it from unlikely to

⏹️ ▶️ Marco somewhat likely. I think if we if we consider that that like special lightning

⏹️ ▶️ Marco adapter passive adapter thing that makes it all that makes it more

⏹️ ▶️ Marco I don’t know digestible It’s like it makes it suck less

⏹️ ▶️ John basically With all these type of stories like there’s a build to the inevitability

⏹️ ▶️ John until we eventually get the real parts leaks Especially with the phones, you know as the date of the new phone approaches. We’re pretty far

⏹️ ▶️ John away now So I was thinking that this next round of stories about

⏹️ ▶️ John this rumor Nudge it slightly more towards the realm

⏹️ ▶️ John of possibility, but it’s still so far out that It’s within the realm of things that could end up being

⏹️ ▶️ John totally wrong, but we’ll keep watching We’ll keep watching it nudge ever closer I mean, we’ll basically know for sure when the

⏹️ ▶️ John real parts leaks come out because I don’t think we’ve had a Significant iPhone revision in a long

⏹️ ▶️ John time where we haven’t gotten to look at pretty much every piece of this thing Oh Disassembled before

⏹️ ▶️ John it arrives.

⏹️ ▶️ Marco I mean, we’ll probably know it by April or May

⏹️ ▶️ John And especially like this like you may not know everything like is Can you not you can’t figure out

⏹️ ▶️ John all the the software features obviously and then the hardware features sometimes are hard to tell from parts But things like

⏹️ ▶️ John does it have a hole for the headphone port to go in? We’ll be able to tell it just by looking at cases

⏹️ ▶️ Marco Yeah, and like the back case is often one of the very first parts to leak So it probably that’s I’m saying like

⏹️ ▶️ Marco we will probably know this one by the spring, you know, really

⏹️ ▶️ Casey All right. All right, what’s awesome these days, Marco?

⏹️ ▶️ Marco Our first sponsor this week is has more than 180,000 audio books

⏹️ ▶️ Marco and spoken word audio products. Get a free 30 day trial at slash ATP.

⏹️ ▶️ Marco If you want to listen to it, Audible has it. Listen to audio books from virtually every genre, anytime, anywhere.

⏹️ ▶️ Marco You can play Audible’s audio books on phones, tablets, computers, most Kindles, even iPods

⏹️ ▶️ Marco if you’re Stephen Hackett. Now audio books are great for flights, long road trips, even your daily commute. You

⏹️ ▶️ Marco may think you don’t have time to read books, but you’d be surprised how many audio books you can hear each year, even if you only

⏹️ ▶️ Marco listen to and from work every day. With more than 180,000 audio books and spoken word audio products,

⏹️ ▶️ Marco you will find what you’re looking for. We have a book recommendation, don’t we?

⏹️ ▶️ Casey Indeed, I believe John has one, and I have one if you’d like one as well.

⏹️ ▶️ Marco We’ll do John’s this time and yours next time, how’s that? Sounds good. Or do you wanna go first?

⏹️ ▶️ Casey Oh, no, no, no, it’s cool. Especially since John is gonna make fun of my book selection so we can definitely save that.

⏹️ ▶️ Casey Oh, let’s do yours then. I shouldn’t have said it. So I really enjoyed

⏹️ ▶️ Casey the book Ready Player One by Ernest Cline, which I made the mistake of listening to The Incomparable

⏹️ ▶️ Casey about it, and they basically spent an hour and a half talking about how terrible it is. Anyway,

⏹️ ▶️ Casey his second book came out, I believe it was in 2015, I could be wrong about that,

⏹️ ▶️ Casey and it’s called Armada, and it is not as good as Ready Player One, which at this point John

⏹️ ▶️ Casey is seriously rolling his eyes, but it is good. I did like it. If you happen to be a fan of Ender’s Game,

⏹️ ▶️ Casey you’ll like this and or Ready Player One. And it is also narrated by Will

⏹️ ▶️ Casey Wheaton, who is kind of an internet darling. And I mean that in a not sarcastic way and a not derisive

⏹️ ▶️ Casey way. So I definitely recommend it. It’s apparently just a shade under 12 hours. So

⏹️ ▶️ Casey that’s what, like two ATP episodes? And it’s available on Audible.

⏹️ ▶️ Marco So check it out today with more than 180,000 audiobooks and spoken word audio products. You will find what you’re looking

⏹️ ▶️ Marco for. Get a free 30 day trial today by signing up at slash ATP.

⏹️ ▶️ Marco That’s slash ATP. Thanks to Audible for sponsoring our show.

⏹️ ▶️ John Ready Player One is mostly harmless, silly garbage.

⏹️ ▶️ John Like, we really had fun.

⏹️ ▶️ John, Marco We

⏹️ ▶️ John, Casey had

⏹️ ▶️ John fun making fun of it on the Incomparable, but it’s also it’s all in good fun. Like I think I think

⏹️ ▶️ John just because we had a lot of things where it’s easy to ridicule the book and and uh

⏹️ ▶️ John poke at it and and find flaws it’s still a fun read like i don’t regret

⏹️ ▶️ John reading

⏹️ ▶️ Casey it i guess that

⏹️ ▶️ John makes me feel a little bit it’s not i don’t like to use guilty pleasure because i don’t like that concept but it’s kind of like

⏹️ ▶️ John it’s like junk food it’s like a bag of potato chips whatever just chomp it down it’s fine

⏹️ ▶️ Casey goodness all right well anyway um yeah you you should check out Audible.

Griffin USB-C MagSafe clone

⏹️ ▶️ Casey All right, so what else are we talking tonight talking about tonight? We see that

⏹️ ▶️ Casey Somebody has fixed apple’s grievous mistake with the macbook one.

⏹️ ▶️ John There’s two kinds of mistakes There’s just two things that I just happened to see recently and i’m sure there’s more

⏹️ ▶️ John Um, the macbook one has got the one little lonely Usb type c port on the side of it,

⏹️ ▶️ John but usb type c can do all sorts of stuff. Um That’s why

⏹️ ▶️ John it’s one port you can put the power through it and you can do all sorts of other things and so the first

⏹️ ▶️ John link in this two link set here is for a griffin device that you

⏹️ ▶️ John plug into your USB-C port on your MacBook one and it gives you back a MagSafe

⏹️ ▶️ John connector sort of basically a magnetic thing that if someone trips over the cord it will become disconnected

⏹️ ▶️ John now I find this interesting for a couple of reasons when we were first talking about the MacBook one

⏹️ ▶️ John you know we of course discussed the fact that this one connector also replaces MagSafe what what happened

⏹️ ▶️ John to MagSafe? Isn’t MagSafe great? Doesn’t everybody love MagSafe? Doesn’t everybody love being able to trip over a cord and not have

⏹️ ▶️ John it yank your computer off the, you know, the thing or break your adapter or whatever? Isn’t MagSafe a great feature? Why would they get

⏹️ ▶️ John rid of it? And my question, which I still don’t have an answer to because I don’t have one of these and neither do any of us,

⏹️ ▶️ John was maybe you don’t need MagSafe because maybe the USB-C connector is so small that if you trip over it

⏹️ ▶️ John it just pops out anyway, harmlessly. Like it’s the connector is so small that MagSafe is no longer

⏹️ ▶️ John needed. I still don’t know if that’s the case. Obviously Griffin thinks that people think

⏹️ ▶️ John it’s not the case or maybe they know themselves it’s not the case but they’re saying hey buy this adapter whose sole

⏹️ ▶️ John purpose is to provide a magnetic breakaway connection for the power

⏹️ ▶️ John for your laptop and I don’t know like I feel like I would buy this

⏹️ ▶️ John thing buy the laptop by itself and I would see is tripping over the I mean I don’t know how I would find out

⏹️ ▶️ John maybe I’d find out by yanking thing onto the floor and watching the screen crack or something maybe just do some experiments to see

⏹️ ▶️ John But boy, it seems a long way to go to fill the one and only port on your thing with this giant adapter, $40

⏹️ ▶️ John giant adapter, not yet available, that gives you a big magnetic

⏹️ ▶️ John thing? Weird product, weird product.

⏹️ ▶️ Marco Yeah, this is, I don’t know. You know, whenever there’s a computer or technology thing

⏹️ ▶️ Marco that comes out and lacks something that came before it. There’s always a market

⏹️ ▶️ Marco for third parties to come in and offer the comforts of the previous thing

⏹️ ▶️ Marco in some kind of bolt-on thing that costs between $40 and $100. This is true

⏹️ ▶️ Marco of all technology, whenever any progress is made. And sometimes it’s worth using, usually it’s

⏹️ ▶️ Marco not. In this case, and you know, Griffin stuff, I’ve had, honestly, I’ve had mixed

⏹️ ▶️ Marco success with Griffin stuff, so I’m not even sure I would trust this to work and be

⏹️ ▶️ Marco of high quality. So I don’t know. I don’t really see

⏹️ ▶️ Marco why people would want to go through the hassle of this and, as you said, to kind of like

⏹️ ▶️ Marco bulk up that port, ruin that port. I don’t know. It doesn’t seem… It seems like this is a problem that

⏹️ ▶️ Marco is not worth solving because the solution to it is too clunky itself.

⏹️ ▶️ John I don’t even know if it’s a problem. The other thing is, there’s no USB passthrough. This take your one and only

⏹️ ▶️ John port this fills it with power and that’s it so you know they did I can’t believe

⏹️ ▶️ John they didn’t provide a pass-through so you could be sure about that that that makes it suck really yeah

⏹️ ▶️ John so for $40 to fill the one port anyway it shows like that that’s kind of how product companies

⏹️ ▶️ John work like you said you hit the nail right on the head saying someone always makes one of these things that is mostly to make people

⏹️ ▶️ John like you said feel more comfortable I used to have MagSafe and regardless of whether I need MagSafe

⏹️ ▶️ John now I want to still have it because it makes me feel comfortable. Maybe it’s needed I don’t know. I haven’t done the experiment

⏹️ ▶️ John and as far as I know Nobody has but

⏹️ ▶️ Marco another solution to this would be if Apple just put enough battery life in that laptop that you wouldn’t need to plug it In all day

⏹️ ▶️ John You gotta plug it in sometime Even if you’re just putting it somewhere to charge and someone walks by your desk and

⏹️ ▶️ John yanks the thing

⏹️ ▶️ Marco Yeah, but the MacBook one has has pretty mediocre battery life among the rest of the lineup. It’s pretty small.

⏹️ ▶️ Marco Yeah The Skylake revision will presumably get noticeably better but it’s still

⏹️ ▶️ Marco going to probably require being plugged in if you’re using it all day.

Hyper USB-C hub

⏹️ ▶️ John So the next one is another thing that takes advantage of the versatility of the

⏹️ ▶️ John USB type-c port. It is even bigger It’s a big like rectangular thing that pokes

⏹️ ▶️ John out the side of your MacBook one, but it gives you a whole mess of ports It gives you two big

⏹️ ▶️ John normal size USB It gives you SD card looks like a CF card and also has to pass through for

⏹️ ▶️ John USB C And this one is from hyper

⏹️ ▶️ Casey This looks nice to me. I was just talking at work today with someone So I think I’d mentioned in the past

⏹️ ▶️ Casey that where I’m working these days there are cinema displays everywhere Or well really Thunderbolt displays I should

⏹️ ▶️ Casey say and I’ve always been so jealous because I’ve always kind of wanted one of those So that I could just sit my laptop

⏹️ ▶️ Casey down plug in just a couple of cables and then I’d be connected to Ethernet and my microphone And and whatnot and

⏹️ ▶️ Casey and this is a $50 on sale You know like kind of mini docking station

⏹️ ▶️ Casey and although it doesn’t have Ethernet which is a little bit of a bummer This is the sort of thing that if I

⏹️ ▶️ Casey had a MacBook One, I would absolutely stick one of these on my desk and make it a little easier to use.

⏹️ ▶️ Marco Yeah, I mean, like what’s promising about this too is like, you know, there have always been similar products, although never

⏹️ ▶️ Marco very many of them, for Thunderbolt. And they were always basically from like $200 and up.

⏹️ ▶️ Marco So this, it’s promising that USB-C stuff is so cheap to make, even though

⏹️ ▶️ Marco it is obviously a little more limited, like technically, than Thunderbolt. But this is nice.

⏹️ ▶️ Marco What’s it, a few more interesting things. First of all, this is very, very small and it like seems to fit the profile

⏹️ ▶️ Marco pretty well of the laptop. So that’s nice. Yeah,

⏹️ ▶️ John it is small, but like it’s compared, it’s a small laptop compared

⏹️ ▶️ John to the size, it adds significantly to the laptop percentage-wise, I feel like. Like it changes you from your little

⏹️ ▶️ John tiny portable thing to something that’s really big. And here’s the thing that worries me a lot when I look at it.

⏹️ ▶️ John Is the USBC port the only mechanical connection between this, again, like

⏹️ ▶️ John small in absolute size, but large in relative size, is that the only connection to the thing? Like,

⏹️ ▶️ John what if you tried to pick this thing up from the side with the adapter on it and accidentally grabbed a little bit below the USB-C port, would

⏹️ ▶️ John you twist and crack the thing off? And it doesn’t seem to have any other means of connecting

⏹️ ▶️ John itself to the thing other than the USB-C, but I’m sure it’s lightweight and everything. It just, what it looks like

⏹️ ▶️ John is extending your laptop sideways by an inch, but it’s not. It’s like, I

⏹️ ▶️ John don’t know, It just seems like it is a lever made to break that connector.

⏹️ ▶️ Marco Yeah, that’s a good point. Well, and again, you can look at this stuff. I think if you’re going

⏹️ ▶️ Marco to be connecting things to your MacBook on a regular basis, the

⏹️ ▶️ Marco MacBook One is probably not the right model for you. We know a lot of people who have these things,

⏹️ ▶️ Marco most of whom love them. And the number one thing we hear from these people who

⏹️ ▶️ Marco love them whenever the port conversation comes up is they don’t really ever plug anything in. So it’s fine.

⏹️ ▶️ Marco And I think if you’re going to be plugging things in, just get either an Air or the

⏹️ ▶️ Marco presumed soon-to-becoming Skylake 13-inch Pro, which should probably be

⏹️ ▶️ Marco pretty competitive thinness and lightness-wise to the 13-inch Air. But we’ll see.

⏹️ ▶️ Casey Yeah, I dig this, though. Especially the price, like you said, Marc. I mean, that is stunningly cheap.

⏹️ ▶️ Marco Yeah, $50. I mean, you can’t get a Thunderbolt cable for $50. Seriously. Well, you

⏹️ ▶️ Marco probably can now. Please don’t email me. But you couldn’t at first.

⏹️ ▶️ John It reminds me of a PC peripheral because it’s like a CF card reader.

⏹️ ▶️ John, Marco Really?

⏹️ ▶️ John No, it’s not. It’s not.

⏹️ ▶️ Marco Oh, no. It’s SD and microSD.

⏹️ ▶️ John Yeah. Oh, yeah. Maybe I’m misjudging the size then because everything is relative to the size of the MacBook and I keep forgetting how darn small

⏹️ ▶️ John that thing actually is. So yeah. But anyway, the SD and the microSD,

⏹️ ▶️ John if you took out those two slots, then you wouldn’t have such a long lever with which to crack off

⏹️ ▶️ John the USB-C connector but you know then there would be it’s almost as if I think like go full

⏹️ ▶️ John length and just add like seven more slots or go even shorter and just add

⏹️ ▶️ John the full-size USB you know and the pass-through I don’t know I don’t know anyway people apparently buying

⏹️ ▶️ John them so like I said and you can’t really go that far wrong for 50 bucks and

⏹️ ▶️ John and I would definitely recommend this for people who have their laptop on their desk like not for people

⏹️ ▶️ John who are constantly picking it up and carrying it from place to place, or if you want to travel with it, and if you want to be on

⏹️ ▶️ John the plane, but you have plain old USB peripherals that you need to use, or you want to be swapping

⏹️ ▶️ John SD cards to do, but pulling pictures off cameras while you’re sitting in your plane seat, I wouldn’t want this

⏹️ ▶️ John thing hanging out the side while I’m trying to handle my thing on the tray. Anyway.

⏹️ ▶️ Marco Well, see to me, I think this would actually, I would go the opposite way. I would say for a desk, you’d want something

⏹️ ▶️ Marco with one cable that plugs in, and then has some kind of breakout box with the other stuff in it. That way you

⏹️ ▶️ Marco can kind of get it away from the side of the computer and not have the stress on there every single day and

⏹️ ▶️ Marco kind of make a cleaner desk if you can hide that stuff somewhere behind the desk or under it or whatever. Whereas

⏹️ ▶️ Marco this one I think would be better for travel because you get adaptability to these three different

⏹️ ▶️ Marco port types in one small thing that doesn’t have itself its own cable. So for

⏹️ ▶️ Marco like size and tidiness in a travel bag full of other cables and adapters and computer junk,

⏹️ ▶️ Marco this would actually be a big win I think.

⏹️ ▶️ John I was saying on the desk, mostly because then there’s less chance of someone

⏹️ ▶️ John lifting it up and cracking the thing off. You know what I mean? Because it’s like laying flat on the desk.

⏹️ ▶️ John, Marco Yeah.

⏹️ ▶️ John And you can manipulate it and stick the things into it. But you’re right, like on a desk even better would be a cable that snakes away from the thing.

⏹️ ▶️ John And it does work well for travel in terms of clutter, but I don’t know, it just makes me nervous

⏹️ ▶️ John just looking at it. Like I keep looking at the close-up pictures, it’s like it really is just that little tiny connect there.

⏹️ ▶️ John It just doesn’t seem right.

⏹️ ▶️ Marco Yeah, that would make me nervous as well, to be honest.

⏹️ ▶️ John I mean, it’s not, and the thing is, I think you’re not going to break the computer with that. You’re going to break the adapter, because the computer has

⏹️ ▶️ John the aluminum case, like laser cut opening around that. That’s not, you’re not going to break the computer by twisting the

⏹️ ▶️ John thing. I feel like you’re going to break the, or maybe it would be just a battle between the two pieces of aluminum to see

⏹️ ▶️ John which one. I don’t know. It’s the world’s least interesting

⏹️ ▶️ Marco battle.

⏹️ ▶️ John, Marco Yeah.

⏹️ ▶️ John Well, it’s exactly, all these people are doing like the, what was it? MKBHD

⏹️ ▶️ John or whatever was doing his stabbing the the iPhone 6 supposed iPhone 6 screens with

⏹️ ▶️ John a knife and everything We need the even more boring Equivalent of that of let’s let’s stress test the connector

⏹️ ▶️ John on this USB hub type thing because that’s that’s our Domain if we had a YouTube channel will be all USB hubs

⏹️ ▶️ Marco Okay, you heard you heard it here first hyper shop send us one of these to review along with a MacBook

⏹️ ▶️ Marco one that you Don’t want and we will do this test on the air for you.

⏹️ ▶️ John Marco will film it on his fancy still image camera that’s also kind of a video camera.

⏹️ ▶️ Marco Yeah, yeah.

⏹️ ▶️ Casey Oh goodness. All right, anything else on this thing?

⏹️ ▶️ Marco I can’t believe this is the news this week. It’s like, it’s, this is like, this is why I hate CES because

⏹️ ▶️ Marco the only news that happens is either like pie in the sky stuff that will never come out

⏹️ ▶️ Marco or like USB port news.

⏹️ ▶️ Marco, John It’s like, it’s nothing. It’s not some CES news like

⏹️ ▶️ John people keep sending me the stories about the like OLED TVs that are going to be shown

⏹️ ▶️ John or announced That’s yes, and maybe they have been by today But I haven’t caught up on the stories and I basically just

⏹️ ▶️ John wait for CS to be over and then find the summary stories to Pick out the three things that were actually good or interesting

⏹️ ▶️ John at CES and then just read that that’s really all but I CES is good for people who are interested

⏹️ ▶️ John in TVs you either find out that like it’s a it’s not an interesting year where nothing good has happened

⏹️ ▶️ John or you find out like oh everyone is still obsessed with 3d or everyone is still obsessed with curved screens or some other gimmick that you don’t

⏹️ ▶️ John like this year the gimmick seems to be high dynamic range which I am interested in

⏹️ ▶️ John and I hope is an emerging standard and will be like this is a picture it’s a legitimate picture quality

⏹️ ▶️ John improvement not something that’s gimmick like 3d and not something that’s ridiculous

⏹️ ▶️ John like the curve so I I’m glad for that to be

⏹️ ▶️ John the new thing this year but if it’s the new thing this year that means all the televisions that have any kind of support

⏹️ ▶️ John for this this year are gonna be like the very first generation that tries to support it and maybe they’re competing standards

⏹️ ▶️ John and that’s all got to work itself out so it’s still not time to buy a TV but I would like to read

⏹️ ▶️ John about that but I haven’t yet so I don’t think CES is a total loss it’s just like a 98%

⏹️ ▶️ John loss

⏹️ ▶️ John, Marco Wow

⏹️ ▶️ Marco what a low bar that we’ve said oh god so so

⏹️ ▶️ Marco John your summary of the TV news coming out of a CES is

⏹️ ▶️ John I haven’t read it yet that’s my I will give next week I will know more but my summary is it seems like

⏹️ ▶️ John I dynamic range is the thing this year and I don’t know whether everyone is over the curve screen thing yet

⏹️ ▶️ Marco breaking we should we should actually say I would love to send you to Las

⏹️ ▶️ Marco Vegas for this week

⏹️ ▶️ Marco, John just just Just to

⏹️ ▶️ Marco capture the misery of that trip. I would go for that if it was just to

⏹️ ▶️ Marco film you being there.

⏹️ ▶️ John Nobody wants to go to CES. Nobody does.

⏹️ ▶️ John, Marco That’s the

⏹️ ▶️ John thing that I think people

⏹️ ▶️ John, Marco don’t

⏹️ ▶️ John understand. For those of us who know a lot of people who cover

⏹️ ▶️ John CES as part of their job, nobody likes it. People like going to, back in the day, people

⏹️ ▶️ John liked going to Macworld to cover it. If you’re interested in Apple stuff, people like going to WWDC. People

⏹️ ▶️ John like going to Google I.O. If you’re interested in Google stuff, Nobody likes going to see us. Nobody. I think a lot

⏹️ ▶️ John about, who is this for? And I guess it’s, is it for like retailers or

⏹️ ▶️ John advertisers?

⏹️ ▶️ Casey John, it’s the Consumer Electronics

⏹️ ▶️ Casey, Marco Show,

⏹️ ▶️ Casey come

⏹️ ▶️ Marco on. Oh no, no. I mean, it seems like there’s a lot of legitimate reasons for some people to be there. It seems like there’s a lot of like

⏹️ ▶️ Marco meeting with the reps that happens in private meetings that can be very useful to people. But to actually be

⏹️ ▶️ Marco on the show floor, I don’t really know who that’s for necessarily. besides like people who

⏹️ ▶️ Marco are tasked with covering it and who as you said usually hate this just job because it is grueling and

⏹️ ▶️ Marco and pretty pretty uh… intense

⏹️ ▶️ John but even people who mean with the reps behind closed doors i think they like the meetings but they wish they can meet basically

⏹️ ▶️ John anywhere in the world of the cds like i’ll come to your city where is your

⏹️ ▶️ John company located i will fly to your city and do and i guess maybe it’s not just i’ve just never heard anyone

⏹️ ▶️ John say i can’t wait to go to see yes nobody not vendors, not people

⏹️ ▶️ John who are going to meet with vendors. Like maybe the only circles on traveling are like people who are like

⏹️ ▶️ John some a buyer for a big store chain, like the best buy person or something who wants to go to see what they’re going

⏹️ ▶️ John to buy for that. Maybe they look forward to it. It just seems it’s like the worst of it. Think of

⏹️ ▶️ John everything that’s bad about conferences and concentrated and then I can multiply it by five. It’s kind of like he three

⏹️ ▶️ John used to be but at least he three was exciting for people who weren’t there. Like even when he three

⏹️ ▶️ John was at its worst. I’ve never been to three but I know a lot of people have. Even when E3 was at its worst, it was just completely overblown

⏹️ ▶️ John and nobody really, you know, was exhausting and nobody wanted to cover it. It was exciting for people who weren’t

⏹️ ▶️ John there because you would say, I can’t wait to see what’s announced at E3. So, you know, if you want you wanted

⏹️ ▶️ John to read the coverage you’d get excited but my impression of CES is that people who are there don’t want to be there

⏹️ ▶️ John and people who aren’t there don’t want to read about it. It’s mysterious.

⏹️ ▶️ Marco Our second sponsor this week is Igloo. Go to

⏹️ ▶️ Marco for an intranet you will actually like. Anyone who has worked in a corporate environment knows how painful

⏹️ ▶️ Marco intranets can be. The content is stale, the interface is ugly, and you can’t access it on your phone or any

⏹️ ▶️ Marco kind of modern device made after the year 2010. Now Igloo is an intranet you will actually like because

⏹️ ▶️ Marco it is designed with modern technology and modern sensibilities for real usability.

⏹️ ▶️ Marco Igloo gives you the flexibility to get your work done, you want, where you want, and on whatever device

⏹️ ▶️ Marco you want. They are truly building a product meant for 2016 and beyond, not the 90s.

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

⏹️ ▶️ Marco projects all in one place. Everything can be optionally social, with comments,

⏹️ ▶️ Marco like buttons, revisions, messages, and anyone can add content based on their permissions,

⏹️ ▶️ Marco with drag and drop widgets and a what you see is what you get editor. And Igloo makes use of responsive

⏹️ ▶️ Marco web design, so it looks fantastic on all of your devices. Whether they exist today or whether

⏹️ ▶️ Marco they’re going to come out tomorrow, it’ll already look good because it is fully responsive, modern web design with

⏹️ ▶️ Marco modern social and collaborative features so that you won’t have your employees going out to

⏹️ ▶️ Marco use things like Dropbox and Twitter and all this stuff that is public, that you want

⏹️ ▶️ Marco to keep this stuff inside your company, inside your internet. Igloo is very corporate-friendly.

⏹️ ▶️ Marco They’re very secure. all these granular permissions, all the stuff that you need to sell it to your company.

⏹️ ▶️ Marco It’s even free to use forever for up to 10 people. So check it out today.

⏹️ ▶️ Marco slash ATP. Free to use up to 10 people and very reasonably priced after that. And at any size,

⏹️ ▶️ Marco you get a free trial. So check it out today. slash ATP for that free trial.

⏹️ ▶️ Marco Get started now. Thanks!

Swift Code of Conduct

⏹️ ▶️ Marco Thanks a lot to Igloo, the intranet you will actually like.

⏹️ ▶️ Casey So, a few weeks ago we started talking about Swift being open sourced and then

⏹️ ▶️ Casey we got sidetracked by, I’m not even sure what, but here we are again, scraping at the bottom of the barrel.

⏹️ ▶️ Casey So why don’t we talk a little more about Swift open source and actually talk about something that’s cool, which is the Swift Code

⏹️ ▶️ Casey of Conduct. Or if you want to talk about the Mac Pro some more. So about the Swift Code of Conduct.

⏹️ ▶️ John Yeah, we’ll get to the equivalent of that. Well, we’ll get to some programming topic after this, but the code of conduct is a thing

⏹️ ▶️ John that has been happening over the past, I’d say year or so has become more popular. Every

⏹️ ▶️ John sort of open source project or volunteer based community thing or conferences

⏹️ ▶️ John around sort of any sort of ad hoc collection of people, especially

⏹️ ▶️ John in the tech world, has been starting to have an actual written down code of conduct. That is exactly

⏹️ ▶️ John what it sounds like. sort of a set of rules or expectations

⏹️ ▶️ John of behavior. Like, just to give examples, you could have a code of conduct for, I don’t

⏹️ ▶️ John know, a website where people join and want to talk about knitting. And the code of conduct could say,

⏹️ ▶️ John if you want to participate in our knitting forums and talk about knitting, we don’t want you to

⏹️ ▶️ John use curse words or whatever. And then you can decide, hey, I don’t want to be part of a community where I can’t curse.

⏹️ ▶️ John So you won’t join that knitting community, right? but it sets clear expectations. Like here is how we expect

⏹️ ▶️ John people to behave. And it gives you something like if someone misbehaves, you can point into the code of conduct and say, hey, we have a

⏹️ ▶️ John code of conduct here. This is how it’s going to be. These are the rules. If you don’t like it, you should go someplace that has a different set of rules.

⏹️ ▶️ John And it’s like that for open source projects or conferences where like, hey, I’m going to show up to this conference. It’s

⏹️ ▶️ John going to be a conference in my favorite programming language. And there’s going to be talks and everything. What are the expectations?

⏹️ ▶️ John What kind of behavior is and isn’t allowed? what, how, how are the people in this community expected

⏹️ ▶️ John to behave? Uh, there’s been minimal pushback to the idea of a code of conduct. Cause a lot of nerds

⏹️ ▶️ John are very literal minded and don’t really see the nuances and things as a

⏹️ ▶️ John, Marco well,

⏹️ ▶️ John a code of conduct doesn’t actually make people behave in a certain way. You’re right. It doesn’t, but by writing it down,

⏹️ ▶️ John you’re setting expectations like you do for kids or whatever, or any, any sort of, uh, it just, it’s,

⏹️ ▶️ John it’s more comfortable to know what is expected because that lets everybody decide

⏹️ ▶️ John if they want to be a part of a community with this set of sort of rules and guidelines. If you

⏹️ ▶️ John know, if we’re getting the knitting thing, if you think not being allowed to curse is stupid, you know

⏹️ ▶️ John right away this is not the knitting community for me. I should go someplace else where people are knitting and also like

⏹️ ▶️ John to curse, right? And on the other stuff in terms of like

⏹️ ▶️ John making jokes at other people’s expense or like any sort of

⏹️ ▶️ John aggressive behavior and even just writing down stuff like no violence, no hitting other people. So again, it’s mostly like

⏹️ ▶️ John you do for little kids. You set the expectations of, you know, here’s how you’re expected to behave in preschool. No biting your

⏹️ ▶️ John friends. We expect you to share. When the teacher is talking, we expect you to listen. You know, everybody

⏹️ ▶️ John eats at this time and naps at this time or whatever. It doesn’t mean that’s all gonna happen, but you just want to write it down.

⏹️ ▶️ John And like I said, the pushback is mostly of people thinking that,

⏹️ ▶️ John are you saying if we don’t have a code of conduct, we allow those things or this stuff should go without saying or writing it down,

⏹️ ▶️ John makes it seem like we’re we are telling people that are coming here that are going to behave badly, why do we need to write down stuff

⏹️ ▶️ John like don’t murder people, like they should know that already, or you’re trying to make it sound like we’re a bunch of murderers here.

⏹️ ▶️ John Or really what’s under the covers a lot of it is, say, just coming up with

⏹️ ▶️ John the code of conduct can be like, especially on like programming projects or whatever,

⏹️ ▶️ John like if there are debates about technical issues, which we’ll get to in a second, debate the issue.

⏹️ ▶️ John Don’t debate the person. Don’t. No ad hominem attacks when you’re discussing some feature of some programming

⏹️ ▶️ John language or open source project. Don’t call the other people, the other person, a jerk or an idiot.

⏹️ ▶️ John Do not attack the person or that person’s personal history. Keep your debate to the topic at hand.

⏹️ ▶️ John And again, this may sound like, yeah, these all sound like reasonable rules, whatever. It’s like little things to do for kids.

⏹️ ▶️ John But at a certain point, people push back against it. An example is the Linux kernel mailing

⏹️ ▶️ John list where Linus Torvalds or Linus or however you want to say it,

⏹️ ▶️ John the creator of Linux, very often is, uses very salty language. So again, like

⏹️ ▶️ John the knitting forum, Linux kernel mailing list, totally allowed to use curse words that’s in, you know, if they had a

⏹️ ▶️ John code conduct, which I’m not sure if they do, but if they did, it would be in there, because that’s that’s sort of what they expect.

⏹️ ▶️ John And has been known to say pretty mean things about people not just about their thing you know

⏹️ ▶️ John like it’s it’s a it’s a there is a fine line am I calling when I say this is the stupidest

⏹️ ▶️ John idea I’ve ever heard I’m kind of criticizing the idea but I’m also kind of being mean about it or whatever

⏹️ ▶️ John anyway that community has pushed back against the idea of trying to be more civil to each other or more civil

⏹️ ▶️ John to each other’s ideas or anything like that so that’s you know that’s the kind of community they want if you were to come in there and they were

⏹️ ▶️ John to try to come with a code of conduct and they make a set of rules that past behavior doesn’t fit into the people with that

⏹️ ▶️ John past behavior feel like they’re now being excluded from the community that they’re an important part of. Anyway, all

⏹️ ▶️ John this is a big rambly way to say that Swift is doing what I think is the right thing, which is from the

⏹️ ▶️ John very beginning having a code of conduct, and I looked at the code of conduct and it seems pretty sane

⏹️ ▶️ John and pretty tame and I think it is a good thing for anybody, whether it’s

⏹️ ▶️ John in a preschool or a knitting club or an open-source project or a website or a or web

⏹️ ▶️ John form or anything, to write down their code of conduct as early as possible

⏹️ ▶️ John and revisit it as needed and amend it and clarify and so on and so forth just to have

⏹️ ▶️ John a starting point and a guideline instead of just assuming everybody will behave and all agree about what proper behavior

⏹️ ▶️ John is.

⏹️ ▶️ Casey It’s pretty sad that it’s come to this point, but I think that the

⏹️ ▶️ Casey one universal internet truth is that even if you don’t act like a petulant child

⏹️ ▶️ Casey upfront, anyone on the internet is but the smallest push away from being a petulant

⏹️ ▶️ Casey child. And I agree with you that this is a good thing to have. This reminds me of the post by,

⏹️ ▶️ Casey was it Randy Harper, is that right?

⏹️ ▶️ Marco That shows what happens if you don’t have a code of conduct and if you don’t think about these issues.

⏹️ ▶️ Casey Right. So she had posted, this is FreeBSD, or well, the woman who used

⏹️ ▶️ Casey to be known as FreeBSD Girl, she posted recently a really, really good and

⏹️ ▶️ Casey not terribly long post about how she was treated in the BSD community, and it’s really pretty deplorable. And

⏹️ ▶️ Casey you could argue, just like Marco just said, that that is in no small part because they didn’t really have an established code of conduct.

⏹️ ▶️ Casey And then even when they did, if you believe what she says, which I do, they didn’t act

⏹️ ▶️ Casey fairly once there were issues escalated, which is really

⏹️ ▶️ Casey too bad. But we’ll put a link to that in the show notes. And if you work in any sort of community,

⏹️ ▶️ Casey I highly recommend reading her post because it was fascinating.

⏹️ ▶️ John And a code of conduct, as many people point out, does not guarantee good behavior because there’s issues of enforcement

⏹️ ▶️ John and there’s debates about how should things be enforced? Is it enforceable at all? Like another

⏹️ ▶️ John reason people shy away from code of conduct is they think it opens up this big can of worms and they all have to debate. But these are these are important

⏹️ ▶️ John things to talk about. And it’s better to talk about them before anything has happened, like sort it

⏹️ ▶️ John out amongst yourselves, not in not in light of some actual event, because it’s so much harder to

⏹️ ▶️ John figure it out. And like, you know, it’s very difficult to come up with a good set of rules and to

⏹️ ▶️ John figure out how you’re going to enforce them and to follow through on it. But it’s so much better to

⏹️ ▶️ John engage in that process than to bury your head in the sand, because engaging that process will first of all, for people

⏹️ ▶️ John making the policies, it will force you to think about things like hopefully you’ll go and say, let me look at other people’s code of conducts.

⏹️ ▶️ John Let me look at what they wrote down. And I think collectively, all the codes of conducts of various communities

⏹️ ▶️ John and open source projects are getting better by looking at each other in the open source kind of way and say, what have they written down?

⏹️ ▶️ John How they phrase this? What kind of Oh, I didn’t even think of that. We should put that in too, because I believe in that, but it wouldn’t have even occurred to me

⏹️ ▶️ John to write it because I’m not in that group of marginalized people. And I didn’t realize that was the thing we had to write down. But I totally

⏹️ ▶️ John agree with it now that I see it. And you know, get it all down ahead of time. And then

⏹️ ▶️ John you’re going to have, you know, incidents and then And you have to figure out how to deal with them. And then you look at how

⏹️ ▶️ John other people dealt with events. And read Randy’s thing and say, here’s how this community tried

⏹️ ▶️ John to deal with this event. And here’s how it went badly. How can we avoid that? What kind of policies

⏹️ ▶️ John can we have in place to help with it? No one’s going to be perfect. It’s not a guarantee of anything. It just shows that you are

⏹️ ▶️ John engaged in the process, that you are committed to the idea that you can manage your community

⏹️ ▶️ John to be what you want it to be, to be a more welcoming community, to be a

⏹️ ▶️ John successful community for the kind of people that you want. You can make a code of conduct that sets totally different

⏹️ ▶️ John kinds of rules, but it’s so much better to just think about, like, who do I want? Who do I want here?

⏹️ ▶️ John Do I want people who are really technically skilled, but also really, really angry and mean all

⏹️ ▶️ John the time? If you want that, like, write into your code of conduct, like, that there’s an expectation

⏹️ ▶️ John that you’ll be berated and cursed at. And we will only accept people who

⏹️ ▶️ John have, you know, the highest of skills. Like, build the community you want for yourself, whatever it is that you want.

⏹️ ▶️ John But it’s much better to to take on that task as an actual

⏹️ ▶️ John thing, rather than falling ass backwards into it. It’s sort of like you just end up with this community

⏹️ ▶️ John and you’re not quite sure how you got there. So that’s what I think the important part is. And and Swift is

⏹️ ▶️ John very sensible and they’re coming relatively late in the game because Swift wasn’t an open source project until recently.

⏹️ ▶️ John And I think they’re benefiting from all the other code of conducts that have come before

⏹️ ▶️ John them. And at this point, it’s kind of the type of thing where if you

⏹️ ▶️ John are a community or an open source project without a code of conduct,

⏹️ ▶️ John people are going to ask why. Why don’t you have one? Maybe you should think

⏹️ ▶️ John about it. Not that they’re saying you’re bad or anything, but they’re saying you may not have thought too much about this, but

⏹️ ▶️ John history has shown that this is a good thing to have and the act of thinking about it will lead you to be

⏹️ ▶️ John a better community.

⏹️ ▶️ Casey Great.

Swift “final” by default

⏹️ ▶️ Casey All right, what else is going on with Swift?

⏹️ ▶️ John This is a programmery topic. I don’t know if Marco talks about all these on Under the Radar,

⏹️ ▶️ John but I saved one for here. I don’t think you got to this one because it’s kind of esoteric, but I continue to follow

⏹️ ▶️ John the Swift evolution mailing list or try to follow anyway. It’s still still pretty high volume where people talk about the future

⏹️ ▶️ John of Swift and make proposals and debate them and go

⏹️ ▶️ John through all sorts of other things. This big process of evolving Swift is becoming more

⏹️ ▶️ John formalized with different phases of whatever. Anyway, this one particular proposal that I thought

⏹️ ▶️ John started to get at the heart of what seems to be one of the big internal struggles between

⏹️ ▶️ John Swift and the Community formerly known as the Objective-C development community

⏹️ ▶️ John I guess they’re still not as that but anyway all the people are writing all the code in Objective-C and Apple is

⏹️ ▶️ John saying you guys should think about moving to Swift at some point because we are and

⏹️ ▶️ John This is a debate around things that are allowed and disallowed, static

⏹️ ▶️ John and dynamic, you know, free or clamped down. And this particular one is

⏹️ ▶️ John about whether classes should be final by default in Swift. As in,

⏹️ ▶️ John if you don’t say anything one way or the other and you define a class in Swift, should that class be

⏹️ ▶️ John subclassable and amendable and be able to be, you know, extended and have things overridden?

⏹️ ▶️ John Or by default should it be all closed up and you can’t screw with it. And it’s not really a question

⏹️ ▶️ John about capability, because no one is saying all classes should be all closed up

⏹️ ▶️ John and final, or all classes should be open. It’s just a question of what the defaults are. And the defaults

⏹️ ▶️ John have two effects. One is, obviously, it affects the actual

⏹️ ▶️ John code, because a lot of people just take the default, right? You know, and so if no one does anything,

⏹️ ▶️ John and they just declare class, they don’t know about this particular keyword, I don’t think about it, what do they get by default?

⏹️ ▶️ John And the second thing is, by choosing the default, if people think about it for a little bit, they’ll

⏹️ ▶️ John see it’s like a signal from the design of the language. We think most of your classes should be like

⏹️ ▶️ John this. It’s the default. But if you have special needs, make your class

⏹️ ▶️ John like this. And like, I think in Java, you know, the default

⏹️ ▶️ John is not final. I don’t know anything about Java. I think that’s the case. And so what they’re saying is, by default,

⏹️ ▶️ John in Java, if you declare a class, you can subclass it. But that’s we think that’s the common case.

⏹️ ▶️ John But if you have special needs, like say for performance reasons, or you really don’t want people extending

⏹️ ▶️ John your class, you can declare it to be final by adding this other keyword. And so that means that most

⏹️ ▶️ John people who just like, yeah, Java class, blah, blah, blah, blah, blah, they’re all getting classes that can be subclass and extend and all that

⏹️ ▶️ John other stuff, because that’s the default. And also philosophically speaking, it’s so clear that

⏹️ ▶️ John Java really expects people to subclass your stuff. And that the exception to the rule is, oh, you wanna make your thing

⏹️ ▶️ John final and be all closed off or whatever. Sorry if I’m getting this Java default

⏹️ ▶️ John thing backwards. I haven’t touched Java in a really long time.

⏹️ ▶️ Marco Somebody named javanut13 in the chat says it is not final by default, and I think they

⏹️ ▶️ Marco would probably know because their name is javanut.

⏹️ ▶️ John Well, yeah, there’s no way they could have changed their username to javanut.

⏹️ ▶️ John, Marco No. Anyway,

⏹️ ▶️ John yeah, I think my recollection, anyway, so the proposal for Swift is to default to final,

⏹️ ▶️ John and this would make Swift one of those languages saying most of the time when you make classes

⏹️ ▶️ John we expect them to be like done but sometimes you might want someone to be able to extend

⏹️ ▶️ John your class and in that case we want you to have to put a special keyword or whatever

⏹️ ▶️ John in there to say oh other people like I’m writing a base class and other people are supposed to subclass

⏹️ ▶️ John me and override these three methods to do this other thing and this is really again it’s not really

⏹️ ▶️ John like a technical debate because both things would still be possible this is really a sort of battle for the heart and soul of

⏹️ ▶️ John what Swift is and what Objective-C has been. I pulled a little quote out

⏹️ ▶️ John here from Jordan Rose who I think is someone at Apple, although it’s very difficult to tell in the Swift Evolution list

⏹️ ▶️ John when people are speaking for themselves as users of Swift or as contributors to the open source product

⏹️ ▶️ John and when they’re speaking as Apple employees. Kind of implicitly, no one is ever speaking for Apple

⏹️ ▶️ John because no one speaks for Apple except for Tim Cook I guess. But when there’s an at in their email

⏹️ ▶️ John address, like does, I don’t know, Does their opinion carry more weight? I still haven’t quite sorted

⏹️ ▶️ John out the sort of uneasy dance between at

⏹️ ▶️ John people like Apple employees working on Swift and the unwashed masses of the Swift community

⏹️ ▶️ John and how that power balance works. And most for the most part,

⏹️ ▶️ John the back and forth has been very polite and mostly useful. I think that mostly people realize, look,

⏹️ ▶️ John Apple’s doing most of the work here. Apple made the language. Apple is going to do most of the work here. So while we can have some input,

⏹️ ▶️ John the bottom line isn’t, are you going to develop Swift on your own? Are you seven people are going to take Swift and run with it?

⏹️ ▶️ John No, probably not. So all you can really do is give your opinion. But anyway, a

⏹️ ▶️ John lot of what this default final thing comes down to is the expectation by Objective

⏹️ ▶️ John C programmers that any sort of framework, anything in the framework that’s like not behaving correctly,

⏹️ ▶️ John or that you’re making a subclass of that you can just override methods that you want

⏹️ ▶️ John to behave in a slightly different way. Like you can do a lot of interesting things with

⏹️ ▶️ John UIKit and AppKit by overriding things in subclasses, even

⏹️ ▶️ John things that, you know, overriding them in ways maybe that, you know, to turn something into a no-op

⏹️ ▶️ John or to make something have an aside effect when it didn’t have before or even to do things like in the Objective-C runtime, reach

⏹️ ▶️ John in and do what I think they call method swizzling where you just reach in there and you screw

⏹️ ▶️ John with the implementation of a base class, not even in a subclass, but But you say, you know, you’ve got a blah method. I would

⏹️ ▶️ John like your, I’ll save a reference to what the original blah method was, but instead point your entry for the blah method

⏹️ ▶️ John to my code that will do some other crap and then call your code and that will modify everybody who uses this class. Not my subclass,

⏹️ ▶️ John but the base class everywhere. And those are the types of things you can do when classes are

⏹️ ▶️ John not entirely closed off, when you have access to their guts and you can screw with them. And then, you know, subclassing above and beyond

⏹️ ▶️ John that. So again, get back to what Jordan Rose said here. He says, supporting arbitrary code

⏹️ ▶️ John injection someone else’s framework is a non-goal for Swift, perhaps even an anti-goal. If you replace

⏹️ ▶️ John a method on someone else’s class, you don’t actually know what semantics they’re relying on. Of course, Apple code will have bugs in it.

⏹️ ▶️ John Trying to patch over those bugs in your own code is 1. obviously not an answer Apple would support, but also 2.

⏹️ ▶️ John fraught with peril, and 3. likely to break in the next OS release. This is referring specifically to

⏹️ ▶️ John third-party developers saying, when things are open and able to be screwed with,

⏹️ ▶️ John sometimes that’s the only way we can ship our damn app because you’ve got a bug somewhere deep in your framework. And

⏹️ ▶️ John sometimes we can you know, a subclass isn’t enough for us to fix. Sometimes you have to reach into the guts and and mess with a method

⏹️ ▶️ John just to make our app not crash. We can’t wait for you to fix the bug Apple and a point one release because that could be

⏹️ ▶️ John two months from now and we need to ship now and our application doesn’t run on the new OS that you’re

⏹️ ▶️ John about to release. So we’d love to be able to go into some framework thing and nuke

⏹️ ▶️ John one of your methods or mess with it in a certain way to work around some strange bug or even if it’s just

⏹️ ▶️ John a simple like an animation bug or something that crashes your app, but nobody else’s app.

⏹️ ▶️ John Third party developers are used to be having the freedom of the object to see runtime to mess with these things. But Swift

⏹️ ▶️ John really doesn’t want that type of thing to happen. Swift would like it if in the future

⏹️ ▶️ John that the you know that it’s not you know, it’s not something I want to support. They don’t want you to be able to reach into anyone’s

⏹️ ▶️ John framework apples or anybody else’s and say, Oh, you have a bug in there. I’m going to fix your bug for

⏹️ ▶️ John you or I want your thing almost does what I want. But this is one behavior it doesn’t have. I would like it that

⏹️ ▶️ John if you did this one thing it actually didn’t trigger this other action. So I’m just gonna reach into your guts and screw with it.

⏹️ ▶️ John And programmers who get used to that freedom it’s kind of like a it’s a last resort

⏹️ ▶️ John but it’s nice that it’s there. But if you are a developer of frameworks you don’t want anyone reaching into the guts

⏹️ ▶️ John of your crap and messing with it because like you don’t know what you don’t know what the semantics of my framework are. You don’t

⏹️ ▶️ John know what invariants your violet you’re violating by messing with that value. I don’t

⏹️ ▶️ John want you touching this member variable you’re not even supposed to know exists that might disappear in the next

⏹️ ▶️ John OS version. I don’t want you messing with anything inside my code because you don’t have the source code, you don’t understand it. Even

⏹️ ▶️ John if you did, it’s my framework. It’s supposed to be like a black box to you. Just use the public API. Don’t mess with my implementation.

⏹️ ▶️ John I thought this battle, which is, we’ll link to the MJ Size

⏹️ ▶️ John blog post that links to a bunch of this discussion and to the mailing list itself, Swift Evolution

⏹️ ▶️ John mailing list. I thought this discussion was fascinating because it really does get at the heart of

⏹️ ▶️ John the old guard versus the new guard in Swift. And I really wanted to hear both of your opinions

⏹️ ▶️ John as I guess I don’t know what the C sharp world is like, but I do know what the objective C world is like. So

⏹️ ▶️ John Marco, if he’s ever had to reach into some objective C framework and screw with it to get his application to ship

⏹️ ▶️ John and Casey, what he thinks of this entire battle between the world of

⏹️ ▶️ John framework authors versus the world of application developers.

⏹️ ▶️ Marco I mean, I’ve never had to swizzle to do anything. That to me is

⏹️ ▶️ Marco over the line of like, you really, really shouldn’t do that. That is more dangerous.

⏹️ ▶️ Marco Subclassing things that aren’t intended to be subclassed,

⏹️ ▶️ Marco especially in UIKit, I do that a lot. Or not a lot, but I’ve done that

⏹️ ▶️ Marco numerous times over the years. I’m pretty sure Overcast does a little bit of that.

⏹️ ▶️ Marco Reimplementing my own methods to override parent methods in those subclasses that

⏹️ ▶️ Marco aren’t intended to be overridden, I’ve done that. I totally get it from the developer perspective

⏹️ ▶️ Marco of almost always there is something you want to do in an app that there’s

⏹️ ▶️ Marco just no other way to do it besides subclassing some UI kit thing

⏹️ ▶️ Marco and re-implementing my own child version of a method and just hoping I call super at the right time

⏹️ ▶️ Marco if I have to at all and just hoping nothing bad happens, testing it on the one release that

⏹️ ▶️ Marco I have access to and then shipping it and hoping it doesn’t break in the future. That to me

⏹️ ▶️ Marco and this is all like you know you’re subclassing, when I do this I’m subclassing public methods

⏹️ ▶️ Marco so there is some documentation on them, some public expectation of how they should behave,

⏹️ ▶️ Marco they’re fairly stable. So that has never actually caused problems that I know of

⏹️ ▶️ Marco to do that that way. And there really have been a lot of these occasions where

⏹️ ▶️ Marco there’s a limitation in the public API. There’s just no

⏹️ ▶️ Marco better way to do this or there is no way to do this at all. And so you

⏹️ ▶️ Marco have to do stuff like that. This is one of those things where in theory it would be nice if you never had to

⏹️ ▶️ Marco do this and if you could then have all the technical advantages of not doing this

⏹️ ▶️ Marco in a similar way that in theory it would be nice if every Mac app was sandboxed

⏹️ ▶️ Marco you know and then in practice these these strict technical limitations get in the way

⏹️ ▶️ Marco of reality and real-world use and they they kind of require

⏹️ ▶️ Marco a level of of competence and perfection and expansiveness from Apple

⏹️ ▶️ Marco and its frameworks that in in reality probably won’t come and so it’s

⏹️ ▶️ Marco one of the things like in theory it’s great in In theory, having everything be final by default

⏹️ ▶️ Marco and having no overrides possible, that sounds great for academic

⏹️ ▶️ Marco theoretical safety. But in practice, I don’t think modern developers

⏹️ ▶️ Marco with Apple’s frameworks are really able to go that way. The reality

⏹️ ▶️ Marco is just that it doesn’t support that. Apple is not that great, and developers

⏹️ ▶️ Marco aren’t that flexible to be required to avoid this entire class of

⏹️ ▶️ Marco functionality and possible bug avoidances and bug fixes that

⏹️ ▶️ Marco simple things like subclass overrides can provide.

⏹️ ▶️ Casey You know, it’s really hard. Let me start by just quickly establishing that C Sharp unsurprisingly

⏹️ ▶️ Casey takes the same approach to this as Java does, except where you say final, I would say sealed. So

⏹️ ▶️ Casey he’s…

⏹️ ▶️ Casey, Marco Totally

⏹️ ▶️ Casey different language, I swear. Yeah, right. Exactly. It isn’t a Java clone. No, not at all. So yeah,

⏹️ ▶️ Casey so it’s sealed classes to me, not final, but everything else is exactly the

⏹️ ▶️ Casey same and they are not sealed by default. And in fact, it is striking, even within Microsoft frameworks,

⏹️ ▶️ Casey to see something that’s sealed. That’s very peculiar. That being said,

⏹️ ▶️ Casey I think the problem is that—and John, you alluded to

⏹️ ▶️ Casey this earlier—so much Much of Objective-C seems to be about subclassing,

⏹️ ▶️ Casey and over time, even from my perspective as someone who doesn’t

⏹️ ▶️ Casey live in it, it seems like that’s starting to go away between blocks, between—should

⏹️ ▶️ Casey I add something else on the tip of my tongue? Anyway, it’s going away. But a lot of legacy Objective-C

⏹️ ▶️ Casey seems to be about subclassing, and subclassing when

⏹️ ▶️ Casey the author of that class hasn’t deliberately decided for that to be subclassed

⏹️ ▶️ Casey is inherently dangerous. And so much of Swift seems to be about,

⏹️ ▶️ Casey at least in comparison to Objective-C, about preventing danger, about having stronger typing,

⏹️ ▶️ Casey about doing more compile time to check and make sure you’re not doing something stupid.

⏹️ ▶️ Casey So much about Swift seems to be about preventing danger and about being safer. And

⏹️ ▶️ Casey having carte blanche access, with a few exceptions, to subclass anything

⏹️ ▶️ Casey is inherently dangerous. And so it seems

⏹️ ▶️ Casey to me that the academic answer is unequivocally

⏹️ ▶️ Casey that classes should be final by default. That being said,

⏹️ ▶️ Casey one of the things I’ve struggled with lately, and a co-worker of mine that we’ve worked together on a couple of projects

⏹️ ▶️ Casey lately. It’s been a really interesting experience because he is extremely

⏹️ ▶️ Casey academic, or at least that’s the way I think of him. He really likes to do things by the book, and he really likes

⏹️ ▶️ Casey to do things the rightest way possible. By comparison—of course, I like to do that too—but

⏹️ ▶️ Casey by comparison, I feel like I’m considerably more pragmatic or perhaps loosey-goosey,

⏹️ ▶️ Casey is maybe how he would describe it. I would say pragmatic. And I come down,

⏹️ ▶️ Casey I think, in the same way that Marco does, that yes, academically, everything should be final by default,

⏹️ ▶️ Casey but realistically, I don’t see how that’s really possible. And what I think,

⏹️ ▶️ Casey looking at it from my point of view, what’s difficult about this is, Apple has a tendency to kind of

⏹️ ▶️ Casey assume they know better than everyone. And so even

⏹️ ▶️ Casey if we had classes final by default, I think

⏹️ ▶️ Casey it’s pretty clear that Apple wouldn’t allow classes to be extended and subclassed

⏹️ ▶️ Casey very often because they tend to assume, we know better than you, you shouldn’t touch this. And

⏹️ ▶️ Casey while in principle that should be true, that Apple should know better than us, in reality there’s

⏹️ ▶️ Casey so many just minor bugs and issues and things that developers need

⏹️ ▶️ Casey to do in order to get around small problems, that I don’t think that’s reality.

⏹️ ▶️ Casey And so in the end, the academic in me says, yes, it should be final

⏹️ ▶️ Casey by default. But I come down with Marco that this seems to be a little

⏹️ ▶️ Casey too broad and a little too aggressive a change to be right.

⏹️ ▶️ John Is there an objective C, like at keyword or something, for doing the equivalent of final or sealed? I don’t

⏹️ ▶️ John think it’s possible. So my take on this so far from looking at this thread and thinking about it a lot

⏹️ ▶️ John is that Swift seems to be like Casey pointed out like the whole thing with

⏹️ ▶️ John Swift is it’s trying to be trying to be

⏹️ ▶️ John less open less open to interpretation less open to possibilities

⏹️ ▶️ John than Objective-C in terms of will this variable be initialized when will it be initialized can I what can I guarantee

⏹️ ▶️ John about these things do I at what point do I have a half initialized object floating around somewhere

⏹️ ▶️ John in my thing, like, well, you know, can I be sure that this method I’m calling is going to exist in this thing?

⏹️ ▶️ John How sure can I be? How sure do I want to be? Some of that is for performance, some

⏹️ ▶️ John of that is for safety, some of it is for both, but that is definitely the direction Swift is going. It’s trying

⏹️ ▶️ John to have its cake and eat it too. Like, oh, we do things that are safer. And we do things that are faster.

⏹️ ▶️ John And we can do it with, you know, with with less typing and less code, less code means fewer

⏹️ ▶️ John bugs. And so you know, more power, more safety, more speed, everything’s good, right? But less

⏹️ ▶️ John flexibility is kind of floating around and they’re rattling around. All right, more power, more safety, more speed. Is it

⏹️ ▶️ John as flexible as it used to be? Well, how do you define flexibility and app kit and the objective

⏹️ ▶️ John C API’s have really, really have been built around the ideas of subclassing so much

⏹️ ▶️ John so that it seems like it’s the expectation, if not of the framework offers, then at least

⏹️ ▶️ John of the application developers that if you have some kind of problem,

⏹️ ▶️ John maybe you can solve it with a subclass, right? Maybe that class does everything you need, but you need to add a little extra functionality.

⏹️ ▶️ John So subclass it. And categories are like, subclass too much trouble because there’s a million other places

⏹️ ▶️ John inside the framework that use NSString? Eh, throw a category in NSString. Now all your NSStrings have a route 13

⏹️ ▶️ John method. Yay, like, very sort of open to,

⏹️ ▶️ John like, this is, this is a giant world of toys. And you can screw with that world twice.

⏹️ ▶️ John And Swift tries to do some of this with those extensions, which are like categories like, oh, you want to throw a method on on every

⏹️ ▶️ John string or number in your thing? Go ahead. You want to make a new operator that works on all integers, you can

⏹️ ▶️ John do that, like, yeah, go nuts. But it tries to do it in a safer way. So given that

⏹️ ▶️ John safety is such a concern of the language. I think it’s natural,

⏹️ ▶️ John it fits the Swift language to say, final by default. And

⏹️ ▶️ John furthermore, I think that the technique of building user interface libraries,

⏹️ ▶️ John where everything is assumed to be subclassable by everybody, leads to a substantial amount of the

⏹️ ▶️ John sadness that that necessitates the weird subclassing and eventually in rare cases, the swizzling

⏹️ ▶️ John to happen because not because like the application developers are bad. But because the people

⏹️ ▶️ John making the framework aren’t giving like when they’re writing, you know, all these classes

⏹️ ▶️ John that make up the frameworks that people use, they’re not thinking about

⏹️ ▶️ John designing for subclass ability versus not there, they’re in whatever mindset they’re in. It’s like,

⏹️ ▶️ John someone could subclass me, so I should make this class subclassable. But they’re also probably thinking,

⏹️ ▶️ John but who’s going to subclass this one? Or they’re thinking, when I need to update this class, boy,

⏹️ ▶️ John I’m about to update this class in a new major version of this OS. What about people who subclass

⏹️ ▶️ John the old one? Am I breaking their crap by changing it? And it’s like, well, I can’t know, I can’t really know what they did in their subclasses.

⏹️ ▶️ John Like, I had no real way of expressing the things that I didn’t expect to vary versus the things that

⏹️ ▶️ John I did. And if they overrode this method and, and did some weird thing, or there was some, you know, timing or

⏹️ ▶️ John ordering thing, having to do with this that I don’t know what the subclasses are doing. And the

⏹️ ▶️ John thing I think that final defaults will force people to do is,

⏹️ ▶️ John especially framework authors, think more about which parts of this framework should

⏹️ ▶️ John be subclassable. Like, what are the extension points? What are the things that can

⏹️ ▶️ John vary versus the things that can’t vary? Maybe they’d come to the same decision. This is the other thing

⏹️ ▶️ John about the final default, maybe it turns out that the people who are writing UI kit or whatever, like, the next

⏹️ ▶️ John Swiftie version, you know, because they’re writing core foundation in Swift, as they work their way up the stack, maybe those people

⏹️ ▶️ John who are writing those frameworks will come to the same conclusion that all the same classes that you can override in UIKit that you’d also be

⏹️ ▶️ John able to override in some Swiftie equivalent of the same type of UI

⏹️ ▶️ John framework. Like that they would, they would, you wouldn’t lose any flexibility at all. But at least they will

⏹️ ▶️ John have been forced to think about it. I would imagine what they’d come up with is to

⏹️ ▶️ John to reduce the surface area of things that you can mess with. To make

⏹️ ▶️ John it clearer what what classes you’re expected to subclass and maybe to

⏹️ ▶️ John document it better like how you’re how you’re expected to subclass like how does a well-behaved subclass

⏹️ ▶️ John of this thing you know is it possible to subclass this in a way that makes that will break

⏹️ ▶️ John with the next update of this thing or just making some classes not subclassable at all because you’re not supposed to mess with that if you really

⏹️ ▶️ John need to mess with it you should instead extend it or use composition to

⏹️ ▶️ John make your object have one of these instead of be one of these. And it just

⏹️ ▶️ John seems like a more natural fit to Swift to me because I think long term forcing everybody involved

⏹️ ▶️ John by changing the default forcing everybody involved to think more about subclassing instead of it just being

⏹️ ▶️ John the default like well of course I can subclass everything it’s like it’s my it’s like you know it’s my right it’s like

⏹️ ▶️ John the first dominion freedom of speech and freedom to subclass, thinking more about it

⏹️ ▶️ John will cause everybody involved, both the framework authors and the programmers, to try to

⏹️ ▶️ John reduce the sort of the anti-pattern that we see in the existing frameworks where

⏹️ ▶️ John everything is up for grabs and anytime something updates, nobody is really sure about what they’re breaking because they have no

⏹️ ▶️ John idea what people subclassed and how.

⏹️ ▶️ Casey So I understand all of that, but the problem I come down on is

⏹️ ▶️ Casey I don’t think Apple would be a good citizen of this mindset. And this is

⏹️ ▶️ Casey what I was saying earlier, that Apple would assume, no,

⏹️ ▶️ Casey all of our stuff is flawless, we don’t want you to subclass this, there’s no reasonable

⏹️ ▶️ Casey reason for you to ever have to subclass this, so we’re not going to allow you to. And I

⏹️ ▶️ Casey don’t think that they would be pragmatic enough to realize,

⏹️ ▶️ Casey well, we don’t see any particular reason that anyone would need

⏹️ ▶️ Casey to subclass this class, but you never know and you shouldn’t hurt anything

⏹️ ▶️ Casey if you do, so we’ll just allow you to. What is the opposite of the final keyword

⏹️ ▶️ Casey in Swift? Whatever it may be. So we’ll mark it as not final. And

⏹️ ▶️ Casey I just don’t think they’ll be a good citizen of this environment. I think other framework authors might because they

⏹️ ▶️ Casey seem to be less aggressive, for lack of a better word, but

⏹️ ▶️ Casey I just don’t think Apple would be a good citizen of that environment.

⏹️ ▶️ Marco No, I mean, modern Apple is restrictive by default in many

⏹️ ▶️ Marco ways towards developers. And in most ways that has worked out well for them.

⏹️ ▶️ Marco And so that pattern of being restrictive by default is

⏹️ ▶️ Marco something that is so ingrained in them that I don’t think they’re going to

⏹️ ▶️ Marco revert course in that. I mean, Objective C is only as flexible and loosey-goosey

⏹️ ▶️ Marco as it is because it’s ancient and it came from a time and a culture

⏹️ ▶️ Marco and a company that was very different from today’s Apple, and where dynamism

⏹️ ▶️ Marco was the goal and was considered very advanced for the time. Now,

⏹️ ▶️ Marco modern Apple does things like this where like you know Swift will be all locked

⏹️ ▶️ Marco down and rigid and strict and final by default that

⏹️ ▶️ Marco like I see them doing this mostly because it just fits in with

⏹️ ▶️ Marco the way they see with the things they see now as being correct. And in many ways

⏹️ ▶️ Marco these things go in waves in programming you know like we’ve programming is not a

⏹️ ▶️ Marco young practice anymore it’s been going on for decades things go in and out of fashion

⏹️ ▶️ Marco and you know and there are trends and there are fashions and there are you know fads and everything

⏹️ ▶️ Marco and open versus closed loose loose typing versus strict typing

⏹️ ▶️ Marco dynamic versus static like all these things go in and out of fashion at different times often

⏹️ ▶️ Marco just reacting to what was popular previously I think is going cycles

⏹️ ▶️ Marco and we’re in a cycle now where what is in fashion today is

⏹️ ▶️ Marco strictness and formalism and compile-time check, compile-time safety.

⏹️ ▶️ Marco Apple is right up there with everyone else with Swift in that regard

⏹️ ▶️ Marco and also in just the environment that apps run in with being with you know iOS being

⏹️ ▶️ Marco locked down, sandboxed, everything, Mac App Store being sandboxed only if anybody still uses the Mac App

⏹️ ▶️ Marco Store, a whole separate discussion, having technical blocks in front of calling

⏹️ ▶️ Marco private APIs and App store apps, things like that. This is the direction Apple

⏹️ ▶️ Marco is going and has been going for quite some time. So I agree that this is not…

⏹️ ▶️ Marco I wouldn’t expect today’s Apple to… if given a choice to redesign something

⏹️ ▶️ Marco from scratch as they have with Swift, to take the option to say, you know what? We’re going

⏹️ ▶️ Marco to let people subclass our stuff. No, they’re looking for ways to lock it down. And I think,

⏹️ ▶️ Marco ultimately, I think what we’ve learned as a profession, as programmers,

⏹️ ▶️ Marco over the last few decades of having popularized OO programming.

⏹️ ▶️ Marco I think what we’ve learned is that subclassing really is messy and has tons

⏹️ ▶️ Marco of anti-patterns and tons of potential for weird unforeseen bugs

⏹️ ▶️ Marco and problems and a lot of dysfunction that becomes possible with OO programming. And of course this is true of everything.

⏹️ ▶️ Marco But I think as a working programmer, I look around at my friends

⏹️ ▶️ Marco and I see people who are all programmers who are kind of evaluating, like people who are smart, like Brent

⏹️ ▶️ Marco Simmons, kind of evaluating how we should be doing things moving forward. And subclassing in

⏹️ ▶️ Marco general is going out of fashion very quickly among programmers. Not

⏹️ ▶️ Marco just among Apple and Swift, but among all programmers I know, subclassing is really out. It

⏹️ ▶️ Marco is going out. It is possibly out now. So you can look

⏹️ ▶️ Marco at Apple and you can say, as I have, that I really don’t see them choosing any differently on this if given

⏹️ ▶️ Marco the choice. I see them going final by default just because it’s Apple and that’s how they are these days.

⏹️ ▶️ Marco But also, I think there’s enough support from programmers now for that. You can’t

⏹️ ▶️ Marco really say Apple is exclusively at fault, ignoring what everyone’s saying. I think you

⏹️ ▶️ Marco can say you can make a good case for there being enough support that Apple’s kind of making the right call for the whole community.

⏹️ ▶️ Casey Yeah, and that’s the thing. So to look at it from the flip side, you know, we don’t

⏹️ ▶️ Casey know the sorts of things that Apple has to deal with. You know, we don’t know the

⏹️ ▶️ Casey sorts of crazy, ridiculous hacks that third-party developers do that aren’t as

⏹️ ▶️ Casey skilled as the Brent Simmons of the world. You know, what makes a Brent Simmons really good

⏹️ ▶️ Casey at what he does is that he knows when a hack is the right answer and when it’s

⏹️ ▶️ Casey not. And typically, since it’s being called a hack, the answer is not often. But

⏹️ ▶️ Casey we don’t see the sorts of BS they have to put up with by the really shoddy developers that aren’t really thinking

⏹️ ▶️ Casey things through properly. And so I think if I were

⏹️ ▶️ Casey in Apple’s shoes, it’s easy to get lulled into trying to lock things

⏹️ ▶️ Casey down because you genuinely do feel like you know better. And when you’re looking at all these really disgusting

⏹️ ▶️ Casey hacks, you do know better. It’s not just a feeling of knowing better, you do know

⏹️ ▶️ Casey better. But the problem is, it’s just the bazooka approach to something

⏹️ ▶️ Casey that really you need a scalpel for. And, I mean, I think what makes this discussion

⏹️ ▶️ Casey so fascinating, what makes me enjoy engineering—sorry, Dr. Drang—so

⏹️ ▶️ Casey much is that it’s these sorts of difficult decisions

⏹️ ▶️ Casey that make our job so much fun to weigh these options and figure out, well, what is

⏹️ ▶️ Casey the right answer?

⏹️ ▶️ Marco Well, and also, I think you can look at modern-day Apple as, in being in this position of

⏹️ ▶️ Marco authority, if you look at things like the App Store restrictions, like private API restrictions, like sandboxing

⏹️ ▶️ Marco on both platforms, but especially on the Mac, I think if Apple presented with the option

⏹️ ▶️ Marco of, do you let developers ship something that needs to ship? And this is like,

⏹️ ▶️ Marco as you mentioned, like this is, you know, you might be able to say, well, if you’re if you’re smart enough, you’re allowed

⏹️ ▶️ Marco to break the rules. But that isn’t first of all, that isn’t usually true. And you still generally shouldn’t

⏹️ ▶️ Marco because a it’s still a bad idea and be you probably aren’t smart enough.

⏹️ ▶️ Marco But and even even for the people who are smart enough, they still probably shouldn’t be doing that because everyone

⏹️ ▶️ Marco is dumb at some point while programming. And you know, the idiot

⏹️ ▶️ Marco who wrote that was probably just your past self. But anyway, if you look

⏹️ ▶️ Marco at like the problems of shipping things and the problems of like you know in the real world, especially like

⏹️ ▶️ Marco so much of the business these days is consulting. And as you know, like from being a consultant,

⏹️ ▶️ Marco shipping is often of utmost priority above things like

⏹️ ▶️ Marco doing things in exactly the best architectural way or by best practices. You know, you just

⏹️ ▶️ Marco got to ship stuff and that’s it. But that isn’t all. That isn’t Apple’s problem. And Apple doesn’t necessarily

⏹️ ▶️ Marco play by those rules with the way it treats other developers. If Apple is given

⏹️ ▶️ Marco the choice of letting developers ship more functional stuff more quickly

⏹️ ▶️ Marco at the expense of security or restrictions or calling private

⏹️ ▶️ Marco APIs, Apple doesn’t choose to let them ship things. Apple says, you know what? That’s not our problem,

⏹️ ▶️ Marco we would rather have you not ship a product at all, or ship a lesser product,

⏹️ ▶️ Marco or ship a later product, than break any of these rules. And there’s no better example of that

⏹️ ▶️ Marco than everything that’s ever happened in the Mac App Store. Like, Apple would rather lose apps to the

⏹️ ▶️ Marco app stores and to their platforms. They would rather lose apps completely, or have apps

⏹️ ▶️ Marco be reduced functionality and lose features over time, or

⏹️ ▶️ Marco never have certain features. They would rather not allow those things or have fewer apps or have later

⏹️ ▶️ Marco or worse apps than have apps that are in a more permissive environment.

⏹️ ▶️ John I’m not sure everything they do in the Mac App Store has that much forethought. I think there’s a lot of unforeseen consequences, unforeseen

⏹️ ▶️ John by Apple as well. They have a goal in mind, they didn’t realize it would be difficult to get from there, from

⏹️ ▶️ John here. So I think that’s off to the side a little bit. Getting back to something that both of you said earlier about

⏹️ ▶️ John what will Apple do? You can’t trust Apple with this because they’re going to lock everything down because that’s the kind

⏹️ ▶️ John of company that they are. I think it’s appropriate

⏹️ ▶️ John for Apple to be more conservative because they’re not just a company that writes a bunch of

⏹️ ▶️ John frameworks people use, they are the platform, they are the foundation, they are the thing upon which everybody

⏹️ ▶️ John else builds. They should be more conservative than you are with your own

⏹️ ▶️ John classes and stuff. That’s their role. So not that Swift is just made for them,

⏹️ ▶️ John but But in any language, if there are tools to be conservative

⏹️ ▶️ John and to try to reduce the service area, try to reduce the public API, try to reduce the number

⏹️ ▶️ John of things that other developers call into, like they do with like, you know, stopping private APIs on their app stores, and that’s

⏹️ ▶️ John all part of the same process. They shouldn’t do that. That’s because they’re underneath everything

⏹️ ▶️ John else. So they have a responsibility to be more solid

⏹️ ▶️ John and more resilient to people doing crazy things top of them than the people who are building on top

⏹️ ▶️ John and your application code be all loosey-goosey all you want you can get away with that because the people building

⏹️ ▶️ John layers below you don’t get to be as loosey-goosey and for Apple say Apple does

⏹️ ▶️ John that and they follow through on what you think is their instinct to close stuff up which I’m not entirely sure that they would because again it would be the same people

⏹️ ▶️ John who are app getting UI kit doing the thing and UI kit isn’t any more closed than app kit they just change

⏹️ ▶️ John the change the vectors change the they knew which things would be more likely to vary which is why UI

⏹️ ▶️ John kit seems like so much nicer to deal with an app kit because they learned oh, when people use this kind of thing, mostly they want to vary

⏹️ ▶️ John x, y and z. And so we’ll build our classes to make those things very but anyway, if Apple was to close things

⏹️ ▶️ John off in the new swift frameworks or whatever,

⏹️ ▶️ John that would basically force people like developers like, well, I can’t work around this anymore, because I can’t even subclass this thing and override

⏹️ ▶️ John your thing because your stupid framework is all closed off and I don’t have your source code and it’s a binary framework. So the only thing

⏹️ ▶️ John left for me is to file bugs. And what that will mean is that many more developers are forced

⏹️ ▶️ John essentially to like they have no workaround. They have to tell Apple, hey,

⏹️ ▶️ John I can’t make my button, you know, tint color on this button blue in this scenario, because

⏹️ ▶️ John there’s, you know, because of the way the framework works, I have no access to that little knob to turn

⏹️ ▶️ John and I can’t subclass it and do that. So please, like, you know,

⏹️ ▶️ John I’ll file the bug and and I can’t ship my app you’re preventing me from shipping app because there’s no workaround

⏹️ ▶️ John and Apple in response to this has added pressure to consider these requests because they

⏹️ ▶️ John can’t say oh yeah no that’s a bug but for now just you can just work around about overriding this method like there

⏹️ ▶️ John is no workaround both parties no geez there’s no workaround we didn’t think about this this way

⏹️ ▶️ John that people use the framework so they can’t get it that they can’t change this this thing that seems eminently reasonable to change.

⏹️ ▶️ John That’s going to force Apple to reconsider. Maybe if we

⏹️ ▶️ John don’t have a way to do this, can we have can we provide a supported way to do this? And there’s much more motivation

⏹️ ▶️ John to provide a supported way to do this if it’s really a common thing that tons of developers are asking, and there is literally no

⏹️ ▶️ John work around and there’s no work around because of what Apple did. And the workaround isn’t Oh, just open that class up the work, you know, this, the

⏹️ ▶️ John fix is, well, we don’t want to just open the class up, because we know what kind of problems that leads to it ties

⏹️ ▶️ John everyone’s hands in the future and makes it so that an SOS upgrade could break your app and stuff. But if

⏹️ ▶️ John people really want to change this thing, we should provide a supported way to change it. Because there

⏹️ ▶️ John is no workaround. And so you would hope like, what you’re hoping like this is like all the best laws that you’re hoping

⏹️ ▶️ John that it motivates everyone involved to behave better. Like this is, this is something pressing

⏹️ ▶️ John in on a system and you’re hoping what it causes to happen is for the system to shape itself around this pressure and this this

⏹️ ▶️ John force to become a better thing, making everybody become better. It’s difficult for more people.

⏹️ ▶️ John It’d be easier if they could just do whatever the hell they want, but then you just had to both chaos. Right. And

⏹️ ▶️ John in general, the larger issue about this whole thing, about Swift and frameworks and Apple being a foundation layer and everything is,

⏹️ ▶️ John you know, less code and increased safety is what you need when you want

⏹️ ▶️ John to create large, complicated systems. And our systems keep getting better and keep getting more complicated. And one of the biggest tools we

⏹️ ▶️ John have to fight against that is reduce the number of things that can go wrong, reduce the number of things

⏹️ ▶️ John that you can do, make more things deliberate and less things accidental.

⏹️ ▶️ John Ding! Yeah, and I think that’s in the spirit of Swift, and it’s just

⏹️ ▶️ John in the spirit of the demand center technology. Mark talked about this going in cycles and dynamic versus static or whatever. I think

⏹️ ▶️ John all, like, some of that stuff does go in cycles, but increased safety is an arrow

⏹️ ▶️ John in one direction. very rarely do we see the world of writing programs

⏹️ ▶️ John for that arrow to reverse and say we had this kind of safety where it was impossible to scribble over memory but we’d like to

⏹️ ▶️ John add that in in the next language that we propose. It always goes towards more abstraction and more safety and that safety can take different

⏹️ ▶️ John forms, people can be misguided about what you need to provide that safety or how, you know, because small talk

⏹️ ▶️ John is pretty darn safe but it certainly looks nothing like Swift, right? So

⏹️ ▶️ John the move towards higher level languages and increased safety, however that may manifest, that is an arrow that is essentially

⏹️ ▶️ John always going in one direction. And I think just the gyrations in getting there and the different paths towards that goal

⏹️ ▶️ John are separate. And so is the dynamic versus static. Because you can have an eminent, again, like small talk, an eminently

⏹️ ▶️ John dynamic language that is very, very safe. And you can also have an eminently static language that is

⏹️ ▶️ John also very, very safe. So static and dynamic,

⏹️ ▶️ John I think, does go in cycles, not just based on fashion, but based on theory and everything like that. But increased

⏹️ ▶️ John safety, everybody always wants that. And that’s the direction I think Swift is going. So I, I don’t know if

⏹️ ▶️ John this I forget who proposed this, it might have been a third party proposal or whatever. But bottom line for me is,

⏹️ ▶️ John I think that since this doesn’t change capabilities, all it does is make everyone

⏹️ ▶️ John involved think about things differently. And because the default will be different than objective C, I hope it will cause

⏹️ ▶️ John everyone involved to to think differently than they used to think about it, and

⏹️ ▶️ John that Apple will nail more things down, and it will cause more inconvenience for developers, and Apple’s will send the feedback, and then

⏹️ ▶️ John developers will send the feedback to Apple, and Apple will be forced to think about the feedback and provide a way to do it,

⏹️ ▶️ John because they’re reasonable requests and there is literally no workaround, and the end result should be for users, programs

⏹️ ▶️ John that have fewer bugs, third-party applications that break less frequently with OS upgrades, and just generally

⏹️ ▶️ John more solid, stable code for everyone going forward.

⏹️ ▶️ Marco Our final sponsor this week is Warby Parker. Go to slash ATP.

⏹️ ▶️ Marco They make buying glasses online easy and risk-free. Order your free home try-ons

⏹️ ▶️ Marco today. So Warby Parker offers contemporary eyeglasses that are extremely affordable and fashion

⏹️ ▶️ Marco forward. Glasses should be viewed as a fashion accessory, not costing as much as an iPhone. Warby

⏹️ ▶️ Marco Parker offers prescription eyeglasses starting at just $95, including prescription lenses.

⏹️ ▶️ Marco And they also have a titanium collection starting at just $145, which includes premium Japanese

⏹️ ▶️ Marco titanium and Frank’s non-rocking screws. They also offer prescription and non-prescription sunglasses.

⏹️ ▶️ Marco So even if you’re 20-20, there’s still something for you at Warby Parker. All Warby Parker glasses

⏹️ ▶️ Marco include anti-reflective and anti-glare coatings, an excellent hard case. We have one of these in our house. This thing’s built

⏹️ ▶️ Marco like a tank. The hard case they come with, it’s awesome. And a cleaning cloth, all at no additional charge.

⏹️ ▶️ Marco Whether your eyesight is pretty good or absolutely abysmal, they have you covered with a wide range of prescription

⏹️ ▶️ Marco options, from simple reading glasses to advanced digital freeform progressive lenses.

⏹️ ▶️ Marco For those of you with very strong prescriptions, they offer ultra-thin high-index lenses to avoid the Coke

⏹️ ▶️ Marco bottle look. Now buying glasses online sounds like it would be tricky. Warby Parker makes it easy and risk-free.

⏹️ ▶️ Marco Their Home Try-On program lets you order five pairs of glasses to evaluate for free. They ship them

⏹️ ▶️ Marco to you for free, and you can try them on in the comfort of your own home and get feedback from anybody around you

⏹️ ▶️ Marco if you want to. You can keep them for up to five days, then you can send them back also for free with their prepaid

⏹️ ▶️ Marco return label and there’s no obligation to purchase anything. If they aren’t for you, you can just stop

⏹️ ▶️ Marco right there and you spent nothing. You’re done. If you decide they are right for you, they can get started on your order

⏹️ ▶️ Marco right away. They can get prescription glasses to you within 10 business days and usually even faster.

⏹️ ▶️ Marco They also believe in giving back to the world. For every pair of glasses Rory Parker sells, they distribute another pair to somebody in

⏹️ ▶️ Marco need. So whether you could use a nice pair of eyeglasses, reading glasses, or even sunglasses, go to

⏹️ ▶️ Marco slash ATP, order your free home try-ons today. With

⏹️ ▶️ Marco free shipping both ways and no obligation to buy.

Future of Swift, Go, and Rust

⏹️ ▶️ Marco Once again, that’s slash ATP. Thanks a lot to Warby Parker for sponsoring

⏹️ ▶️ Marco our show.

⏹️ ▶️ Casey So John, what does open source Swift mean for the future of Go and Rust? I

⏹️ ▶️ John don’t know. I just thought it was an interesting question. So there’s a lot of languages out there that are very similar in spirit

⏹️ ▶️ John and visually even, or the ideas behind them. Make a language that

⏹️ ▶️ John is kind of like C, but without the nasty pointer stuff that is

⏹️ ▶️ John fast like those compiled languages, but that has lots of more safety guarantees where the compiler

⏹️ ▶️ John can figure out all sorts of stuff for you. So you don’t have to do manual memory management, but you get the speed of a language like

⏹️ ▶️ John CRC plus plus. So go rust and Swift all kind of fall into

⏹️ ▶️ John that family. And they’re all relatively new. Open source Swift, as we saw

⏹️ ▶️ John from the project being open and the crazy activity on the Swift evolution mailing list, and just the sheer

⏹️ ▶️ John number of iOS developers who this is this language is potentially for. And they’re

⏹️ ▶️ John just even just a general excitement at WWC when Swift was announced in the first place that Swift is

⏹️ ▶️ John pretty popular just because it belongs to Apple. Like if Swift had just been a project, you know,

⏹️ ▶️ John off to the side by some random person, we wouldn’t be having these shows about it. But it’s because it’s coming from Apple

⏹️ ▶️ John that it’s very popular. Go is from Google, another big company, they use it internally. That

⏹️ ▶️ John is a tractor to pull on go being very popular is also made by some of the folks that made C so that

⏹️ ▶️ John has some you know celebrity cachet behind it. Rust I think is from the Mozilla folks

⏹️ ▶️ John primarily. I don’t know the full backstory on Rust but so if you have to compare the sizes

⏹️ ▶️ John of these communities you would think that like Apple and Swift is the most powerful.

⏹️ ▶️ John Not because they’re a bigger more important company than Google but merely because Google uses all sorts of languages. Google uses

⏹️ ▶️ John a lot of Java, Google uses Python, Google uses Go so It’s not as if there’s

⏹️ ▶️ John like this one Google language. And if there was, Go probably wouldn’t be it. But with Apple, Apple has

⏹️ ▶️ John been for a long time now, objective C, it’s their one language, and they’re moving over to Swift.

⏹️ ▶️ John So they kind of speak with one voice. All the Apple would is behind that one arrow, right? Google would

⏹️ ▶️ John have to come in second with Go, and like, yeah, Google does have lots of different languages and has always been kind of like encouraging

⏹️ ▶️ John of using lots of different languages. And they have Dart, their own language, and all sorts of things. Lots of languages are

⏹️ ▶️ John mixing around in there. But Google is a big company, and they write a lot of stuff, and Go is a fairly important

⏹️ ▶️ John language. And then finally, Google has more

⏹️ ▶️ Marco languages than I have Mac Pros. That’s, yeah. They just, they make a new language every six months.

⏹️ ▶️ Marco You never know where it goes.

⏹️ ▶️ John So it doesn’t have much behind it. And then Rust, I think, is even smaller, because, well, Mozilla,

⏹️ ▶️ John they make a web browser and a bunch of other stuff, and they’re important, but, and Rust is really interesting,

⏹️ ▶️ John and it’s not like you have to use all these languages, general purpose languages that you could use for anything, but they all have communities

⏹️ ▶️ John around them. They’re all fairly open and you could in theory, write anything you want in Go. Marco even wrote a thing for

⏹️ ▶️ John overcast in Go and Rust you could use to write any kind of, and same thing with Swift, right? But Swift coming

⏹️ ▶️ John on the scene and being similar to those other two languages and having the full weight of Apple behind it

⏹️ ▶️ John could potentially do one of two things. Either it could suck people away from those things and they can say, well,

⏹️ ▶️ John I was interested in Go and Rust, but Swift seems very similar and it just seems to be like more popular and has a better IDE

⏹️ ▶️ John and I keep hearing about it and whatever, or I like it better or something like that. just because Apple’s behind it.

⏹️ ▶️ John Or I could have the opposite effect where it’s like, I wasn’t going to consider one of these alternate languages.

⏹️ ▶️ John But now that Swift is out, it seems like all bets are off. And what used to seem safe, C, C++, or C sharp or Java,

⏹️ ▶️ John that’s all then busted. Now it’s time for me to try it all sorts of new languages. So maybe go and rest receive a

⏹️ ▶️ John huge influx of activity and pull requests and people contributing to their communities as well.

⏹️ ▶️ John As we’ll check back in a year and see, you know, I don’t know how you’d measure this, maybe like go to GitHub or whatever and see like, what happened

⏹️ ▶️ John to the go and rest communities. And you know, is there any way we can measure that?

⏹️ ▶️ John Was the effect of swift to cause those communities to swell in importance and those languages to mature and become more

⏹️ ▶️ John popular? Or was the effect to sort of pull people away from those two communities and have them

⏹️ ▶️ John sort of wither more now that the giant son that is swift is shining down from WWDC

⏹️ ▶️ John every year.

⏹️ ▶️ Marco All right. All right. Thanks a lot to our three sponsors this week igloo

⏹️ ▶️ Marco and warby parker and we will see you next week

Ending theme

⏹️ ▶️ Casey Now the show is over, they didn’t even mean to begin, Cause

⏹️ ▶️ Casey it was accidental, oh it was accidental.

⏹️ ▶️ Casey John didn’t do any research, Marco and Casey wouldn’t let him, Cause

⏹️ ▶️ Casey it was accidental, oh it was accidental.

⏹️ ▶️ Casey And you can find the show notes at ATP.FM

⏹️ ▶️ Casey And

⏹️ ▶️ John if you’re into Twitter, you can follow them at

⏹️ ▶️ John C-A-S-E-Y-L-I-S-S

⏹️ ▶️ Casey So that’s Casey Liss, M-A-R-C-O-A-R-M, and

⏹️ ▶️ Casey T. Marco Armin,

⏹️ ▶️ Marco S-I-R-A-C-U-S-A-C-R-A-Q-U-S-A It’s

⏹️ ▶️ Casey accidental, they didn’t

⏹️ ▶️ John mean to. Accidental, accidental, tech podcasts

⏹️ ▶️ John so long.

Post-show: CarObjects

⏹️ ▶️ John I wouldn’t even tell if this is what a Casey put in here, rip web objects. I think I might have. Rip?

⏹️ ▶️ John You mean RIP?

⏹️ ▶️ John, Casey Yes.

⏹️ ▶️ John As in what does this mean for web objects? Yeah. I don’t know. Web objects is a mystery to me.

⏹️ ▶️ John It’s a mystery to

⏹️ ▶️ Marco everyone. I mean I don’t know anything about web objects but I do know that it is

⏹️ ▶️ Marco blamed for a lot of the shortcomings of Apple’s web services and

⏹️ ▶️ Marco I would guess it’s probably not all about web objects.

⏹️ ▶️ Marco, John I’m

⏹️ ▶️ Marco guessing that But it’s much more about like the entire rest of the stack. And that

⏹️ ▶️ Marco is probably a small part of the problem, if it’s even still part of the problem at all.

⏹️ ▶️ John It’s probably connected to it. But just like the consequences, what does it mean? What are the consequences that spin

⏹️ ▶️ John out from the fact that you’re using WebObjects? Well, then we have to have it on this platform. Or well, then we have to have it on this OS. And well,

⏹️ ▶️ John the way WebObjects applications work is they have to be factored in this way. And you can’t really split this up from that. And this isn’t

⏹️ ▶️ John horizontally scalable. And these are tightly coupled instead of loosely coupled. we can’t replace this with a better version

⏹️ ▶️ John of this component. You know, there’s consequences that ripple outwards from my objects. So web

⏹️ ▶️ John objects itself I would think is not a big deal, but I don’t know. I just wonder with a technology like

⏹️ ▶️ John that, that just seems to be like the only person left in the world using it as Apple, which is fine. But at a certain

⏹️ ▶️ John point, like every company, even if you’re Google has to be like, is this going to be a thing we do?

⏹️ ▶️ John If it is, we should probably make it open and try to get other people to use it because if it’s just us using it, we’ll kind of do a crappy job.

⏹️ ▶️ John Like, it’s better to get everybody else on board, like they’re doing with Swift or Go or Rust,

⏹️ ▶️ John than to try to say, oh, we just use this internally. We can support our own weird web framework

⏹️ ▶️ John indefinitely, can’t we? Maybe not.

⏹️ ▶️ Marco What else is going on? You want to talk about the Chevy Bolt that Sam the Geek suggested in the

⏹️ ▶️ Marco chat? The what? Is that the smaller Volt? Yeah, it’s battery only.

⏹️ ▶️ Marco It claims up to a 200 mile range, which would be substantial.

⏹️ ▶️ Casey $30,000. It’s not attractive. It looks like the i3.

⏹️ ▶️ Marco Yeah, I saw an i3 in person again the other day. It’s one of those things, like

⏹️ ▶️ Marco whenever a new model of a new like crazy design comes out, at first it seems like

⏹️ ▶️ Marco wacky and crazy and ugly and then over time you kind of get used to it as you see them more and more and it gets

⏹️ ▶️ Marco less new. The i3 has not followed that progression for me. The i3 every

⏹️ ▶️ Marco time I see it is worse than the last time I saw it. Oh, it’s so

⏹️ ▶️ Casey bad. Yeah, I didn’t I didn’t read anything about this I’ve thought about it in the past

⏹️ ▶️ Casey like I’m not in the market for a car, but wait, aren’t you though? Kind of for Aaron well for Aaron.

⏹️ ▶️ Casey Yeah, but not for me But I’ve been thinking and this would not be for Aaron. It would be for

⏹️ ▶️ Casey me. I Rarely drive more than 100 miles in a week Maybe

⏹️ ▶️ Casey like my commute up until I went and did staff log, which is Marco’s favorite thing my commute was like

⏹️ ▶️ Casey five minutes. And so I would drive maybe 10 miles in a day, maybe.

⏹️ ▶️ Casey You could take a hoverboard to work. Yeah, pretty much. Which, by the way, I just realized tonight that the hoverboards

⏹️ ▶️ Casey everyone are talking about is like a segue without the handlebars. I had no idea what everyone was talking about.

⏹️ ▶️ Marco Basically, yeah. I mean, it’s a lot simpler and less sophisticated, but that’s basically it.

⏹️ ▶️ Casey Yeah, I didn’t realize that was a thing. But anyway, there’s no reason for me

⏹️ ▶️ Casey not to have an electric car because I drive very little. It would absolutely charge itself

⏹️ ▶️ Casey overnight. There’s no reason for me not to have one, except that every

⏹️ ▶️ Casey single electric car I’ve ever seen other than the Tesla is either hideous,

⏹️ ▶️ Casey slow, or both. And I’m just not into that. So good at Tesla.

⏹️ ▶️ Casey I need to work like three jobby jobs.

⏹️ ▶️ Marco So we’re sponsored this week by

⏹️ ▶️ Casey four

⏹️ ▶️ Casey, Marco more

⏹️ ▶️ Casey people.

⏹️ ▶️ Casey, Marco Exactly.

⏹️ ▶️ Casey I need three more jobby jobs or you guys need to Not take sponsorship

⏹️ ▶️ Casey money for the next like six months and then maybe we can think about it I don’t know. But uh, this is interesting.

⏹️ ▶️ Casey I guess

⏹️ ▶️ John the bolt looks like a American Prius is what it looks like. Yeah, kind of

⏹️ ▶️ John like it’s small It’s a small fabulous car is not like the Model S where it’s trying to

⏹️ ▶️ John be like a full-sized Regular shaped car that also happens to be electric

⏹️ ▶️ John The some what was that other one I forget what the name of the company was but some kind of me basically taking Tesla’s and Putting

⏹️ ▶️ John a different body on them.

⏹️ ▶️ John, Casey Oh, yeah

⏹️ ▶️ John Faraday or something is that

⏹️ ▶️ Marco what that was

⏹️ ▶️ John about? Yeah it’s like the Tesla like the little the thing you see in the Tesla store in the

⏹️ ▶️ John mall just like the battery and the drivetrain and the wheels and then they build a different car on top of it and

⏹️ ▶️ John Sell it for presumably more money and it seems silly

⏹️ ▶️ John, Casey and yeah

⏹️ ▶️ Casey And it was it was it’s like the FF zero or something like that that which which made me happy because it’s

⏹️ ▶️ Casey a play on the F-Zero Super Nintendo game which I love.

⏹️ ▶️ John If it was they would be

⏹️ ▶️ Marco sued.

Post-show: Less-smart watches

⏹️ ▶️ Marco Speaking of which, how about that Apple Watch clone from this Swiss mechanical watchmaker?

⏹️ ▶️ John Did you see the black Milanese loop?

⏹️ ▶️ Marco Yeah, I saw it on a rumor site. That looks interesting. But I mean, there’s no reason why

⏹️ ▶️ Marco Apple couldn’t do that off the top of my head, unless there was some kind of manufacturing challenge. But I’ll tell you what,

⏹️ ▶️ Marco so right now, I’m still on my mechanical watch thing, but but the black,

⏹️ ▶️ Marco the space black link bracelet that I got, I don’t know, six months ago now, for my

⏹️ ▶️ Marco Apple Watch, that black DLC coating is the real deal. It is

⏹️ ▶️ Marco still flawless, and any kind of stainless steel band, or the stainless steel watch

⏹️ ▶️ Marco itself gets scratched to hell in like a second. The black, the space black with the DLC on

⏹️ ▶️ Marco it is just literally like it mine has no scratches on it

⏹️ ▶️ Marco at all like it like it is crazy how good that coating is

⏹️ ▶️ Marco so I I welcome Apple adding more options that have DLC because that is

⏹️ ▶️ Marco it’s just awesome it is just so good

⏹️ ▶️ John this mechanical Apple watch is just not good I don’t understand what there’s

⏹️ ▶️ Casey yeah I just looked ahead at the moment you started talking it that’s Wow

⏹️ ▶️ John Why? Like, Apple had to make it like that. You don’t.

⏹️ ▶️ Marco And to me, like, this, it’s like, the world of mechanical watches, if you look at mechanical

⏹️ ▶️ Marco watches and the appeal they have, and you look at the complaints that mechanical

⏹️ ▶️ Marco watch people have about the Apple Watch, one of the big complaints is that the Apple Watch just isn’t that

⏹️ ▶️ Marco attractive of a watch. So why would you make one that looks just like

⏹️ ▶️ Marco it? Like, it seems, first of all, Apple’s gonna sue the crap out of you and make this stop immediately.

⏹️ ▶️ Marco Second of all, why? Third of all, they’re only selling it

⏹️ ▶️ Marco in gold, so it’s like 25 grand. I think they’ve

⏹️ ▶️ John got to make enough money to pay for lawyers.

⏹️ ▶️ Marco, John Who’s

⏹️ ▶️ Marco going to buy that? Who’s going to spend 25 grand on that? Yeah,

⏹️ ▶️ John I don’t know. It just seems silly, but I mean, it’s

⏹️ ▶️ John like these watchmakers, like, what’s going on? What’s exciting in the watch world? This entire year, all we heard about

⏹️ ▶️ John a stupid apple watch how can we get in on that excitement somehow how about

⏹️ ▶️ John we make it like we can make a smart watch it’s like we don’t know how to do that how we make a regular watchers make it look

⏹️ ▶️ John like the Apple watch all right

⏹️ ▶️ Marco yeah similar like the the tag Hoyer I don’t know how this pronounced I’m assuming

⏹️ ▶️ Marco it’s tag or tog Hoyer their smart watch that they released a few months

⏹️ ▶️ Marco ago it’s It’s like the, it looks just like a regular, like, you

⏹️ ▶️ Marco know, round mechanical watch face, but it is just a black

⏹️ ▶️ Marco screen, like the Apple Watch most of the time it seems like, and then like, you know, it turns on, and it has a face that looks like a Tag

⏹️ ▶️ Marco Heuer watch. You know, but like, to me again, like that kind of ruins the point. If you’re gonna

⏹️ ▶️ Marco have a watch where the screen’s black all the time, and then eventually you look at it, and you glance at it, and there’s like a computer that you have to manage,

⏹️ ▶️ Marco then I think the Apple Watch is the one to get, because if you want a computer watch, that seems like it’s probably

⏹️ ▶️ Marco the best computer watch. Right, like I don’t get it. Like now that I’ve seen this world just a

⏹️ ▶️ Marco little bit, I totally see the value of a good mechanical watch, and I totally

⏹️ ▶️ Marco see the value of a computer watch. And I don’t think those things should be crossed. I think crossing

⏹️ ▶️ Marco them destroys the value of both, really. This is gonna get now e-mail from all the watch people.

⏹️ ▶️ Casey Oh, we’ve already gotten, I’ve gotten a lot of stuff from the from the watch people,

⏹️ ▶️ John you know I’ve been thinking in the watch world and speaking like smart watches and mechanical watch and everything I’ve been

⏹️ ▶️ John impressed so far anyway Still by the way another year but impressed with how Fitbit

⏹️ ▶️ John has reacted to the challenge of the Apple watch reacting by

⏹️ ▶️ John Basically making newer and more capable series of things that are mostly featureless

⏹️ ▶️ John bands with very simple screens incorporated into them in subtle ways. I saw

⏹️ ▶️ John a picture of the president wearing one. I know a lot of people have the newer Fitbits. Like, they found, kind

⏹️ ▶️ John of in the same way that the Pebble didn’t, or maybe, you know, Pebble had some good ideas too, but like trying to find

⏹️ ▶️ John like, how am I different than the Apple Watch, but still a valuable product? Like, what is the road that is still

⏹️ ▶️ John available to me to go forward? And Fitbit seems to be, I mean, who knows? They could be like the Flip.

⏹️ ▶️ John Remember the Flip camera back in those years before the iPhone shot video?

⏹️ ▶️ Marco Oh yeah, the Flip camera had a really great business for like three years.

⏹️ ▶️ John Yeah, right. And so it still remains to be seen if it bit will find a way like out of the woods, but

⏹️ ▶️ John so far like their reaction to in the post Apple watch time has been pretty good.

⏹️ ▶️ Casey No, they found it. It’s it’s the Fitbit blaze.

⏹️ ▶️ Marco Is that a real thing?

⏹️ ▶️ Casey Yeah, look at it. That’s that’s how they’re getting away from the Apple watch.

⏹️ ▶️ Marco That’s the thing. Looks like an Apple watch with the with the quarters punched

⏹️ ▶️ John out. This is not the way I would say you would go towards it. But I’m talking about the the other Fitbit

⏹️ ▶️ Marco products. The Wythings Activity Steel, this I think is a more…

⏹️ ▶️ Marco This is a better competitor. At least I haven’t seen one in real life, but on their website, it looks really nice.

⏹️ ▶️ Marco This is the kind of thing… I can see buying that and valuing that rather

⏹️ ▶️ Marco than an Apple Watch before I could see the big Fitbit corner

⏹️ ▶️ Marco cut off Apple Watch. I don’t know. It’s a smart approach. It’s

⏹️ ▶️ Marco mostly a mechanical watch, basically. I mean, it’s a quartz probably, but it’s mostly a regular watch

⏹️ ▶️ Marco with some very slight activity tracking and sleep alarm kind of thing. So it

⏹️ ▶️ Marco still has all the battery advantages of a regular watch. It’s low cost. It’s only under 200 bucks. Long battery. It

⏹️ ▶️ Marco can be more attractive.

⏹️ ▶️ John Yeah.

⏹️ ▶️ Marco I think from these pictures, it looks pretty attractive. Who knows what it looks like in real life, but it looks

⏹️ ▶️ Marco pretty decent, under 200 bucks, activity tracking built-ins, like that seems

⏹️ ▶️ Marco like that’s a better kind of approach to try to compete with the Apple Watch, rather

⏹️ ▶️ Marco than to be a full feature computer platform because you’re not gonna do that if you’re Ythings

⏹️ ▶️ Marco or Fitbit. You’re not gonna be able to compete on that front.

⏹️ ▶️ John Yeah, the Blaze looks more like a fitness, like totally focused on fitness GPS type thing,

⏹️ ▶️ John but I was thinking of the Charge and the Charge HR and even the Flex, like the evolution of the Flex into

⏹️ ▶️ John increasingly large rubbery bands with a tiny little screen that appeals to people

⏹️ ▶️ John for athletics, like it’s for activity and athletics, just so focused on fitness. Fitbit’s right in the name.

⏹️ ▶️ John I guess they do have a clear path, like Fitbit. Like we’re not gonna be a general purpose platform

⏹️ ▶️ John for smartwatching. Everything we do is gonna be about fitness. And so you can make this whole line of products

⏹️ ▶️ John with a similar value proposition of we track the stuff that you do and your heart rate and your activity and we connect

⏹️ ▶️ John to your smartphone with an app and do all that stuff, but there’s no real brains in our thing. It’s just an accelerometer and a tiny

⏹️ ▶️ John simple screen and some magic invisible Bluetooth that just, you know, make it work. And even the Blaze thing looks

⏹️ ▶️ John like, you know, like those Garmin GPS things, like a really fancier

⏹️ ▶️ John version of a thing you wear when you exercise. I do not buy the one where they show like the woman in like with jewelry

⏹️ ▶️ John with her fancy purse. I do not buy that scenario at all for this thing

⏹️ ▶️ John because it is huge and I absolutely don’t buy it Anything oh boy looks bad.

⏹️ ▶️ Marco Yeah, the one where like it’s like that They’re like it’s a woman and a man going on a date a man’s wearing a whole suit And it’s like he’s wearing

⏹️ ▶️ Marco a suit with this watch like yeah

⏹️ ▶️ John I didn’t know this existed may have to take back some of my my credit to fit But the other things I see them around

⏹️ ▶️ John a lot I see them around a lot of regular people and They so clearly have because they’re

⏹️ ▶️ John so cheap compared to the Apple watch and they’re so like not disposable But they’re like

⏹️ ▶️ John they’re made of plastic and they’re rugged and they’re there They have such a clear purpose

⏹️ ▶️ John and they’re simple and you don’t have to worry about rebooting them or updating the

⏹️ ▶️ John OS or getting apps for them. Again,

⏹️ ▶️ John remember the flip camera. We’ll come back to this in a year and see how

⏹️ ▶️ John, Marco this is all

⏹️ ▶️ John shaken out.

⏹️ ▶️ Marco Yeah, I mean, I really do think there’s going to be a healthy market for inexpensive,

⏹️ ▶️ Marco more focused smartwatches that are not full-fledged app platforms.

⏹️ ▶️ Marco Because you could argue, looking at the Apple Watch, how the Apple Watch really isn’t a great app platform

⏹️ ▶️ Marco either. It tries to be, and maybe it will be in the future, but at the moment it isn’t.

⏹️ ▶️ Marco And what people tend to like most about the Apple Watch is the stuff that

⏹️ ▶️ Marco a $200 less capable watch with a longer battery life probably could

⏹️ ▶️ Marco do most of. You know?

⏹️ ▶️ John Yeah, like this withings or withings thing. Like, you know, it’s the old, as the price of compute drops to zero,

⏹️ ▶️ John Eventually smart guts go into everything just because it’s so freaking cheap. Like, why

⏹️ ▶️ John would you have just a regular quartz watch without some very basic accelerometer, step tracking,

⏹️ ▶️ John and computer smarts, and wireless connectivity? Because eventually the thing that does all that on one tiny

⏹️ ▶️ John system in a chip five years from now, it’s like, that costs less than the little metal bar

⏹️ ▶️ John that we use to connect the straps. Like, just put it in, it’s free. And so everything has some amount of smarts

⏹️ ▶️ John in it, and then Apple is making the high-end one where they’re always pushing the envelope. Like what kind of crazy computing stuff can we put

⏹️ ▶️ John in here? But it’s like, you know, like the internet of things. Eventually it’s just like, we’re gonna put a smart chip

⏹️ ▶️ John in everything and we think that will make it better. And it probably won’t in the beginning, but it just becomes so cheap that

⏹️ ▶️ John you just do it because you can and you just try to like find a use for it. And eventually, hopefully we will

⏹️ ▶️ John find. In the same way that electricity came into everything. And you know, like everything didn’t have electricity. Oh, I need electricity

⏹️ ▶️ John for a light bulb. Well, what about electricity in the thing that heats your house? You don’t need

⏹️ ▶️ John electricity for that, you just shovel coal in. What about electricity in the thing that cooks your food? Well, you just

⏹️ ▶️ John put wood in the stove. What about, you know, toasting your bread? I just put it in the oven. Why, does electricity need

⏹️ ▶️ John to be in everything? It’s just gonna make everything worse. And in the beginning it did, but eventually everything’s got freaking electricity.

⏹️ ▶️ John So that’s gonna be the same with CPUs. Not everything has CPUs now, but it

⏹️ ▶️ John is inevitable. They will, in the same way they all get electricity, because, and we’ll have to endure

⏹️ ▶️ John these stupid years where

⏹️ ▶️ John, Marco adding it makes everything worse.

⏹️ ▶️ John You know, like I’m absolutely sure that the first electric stoves were hated by everybody

⏹️ ▶️ John who was used to the quote-unquote real stoves that didn’t have electricity, but eventually we worked it out. And even today,

⏹️ ▶️ John some people still have giant gas stoves, but I don’t know. Computers coming.

⏹️ ▶️ John Watch out.

⏹️ ▶️ Marco Yeah, I don’t know. As I said last time, and now that I’ve spent

⏹️ ▶️ Marco some time wearing a mechanical watch, it is really nice to have something

⏹️ ▶️ Marco that does not need to be charged or have software updates. Like it’s so nice because

⏹️ ▶️ Marco everything else in my life now has to be charged and require software updates. And

⏹️ ▶️ Marco by the way, works, you know, 97% of the time, but

⏹️ ▶️ Marco not that last 3%.

⏹️ ▶️ John Even the crappy mechanical ones, that’s what I’m talking about. When the compute comes everywhere, it’ll be so small

⏹️ ▶️ John that you won’t need to charge it all the time. Like it’ll probably charge itself from the motion of your wrist or something. And you won’t need to update it with software

⏹️ ▶️ John because it will do so few things and it will be a fixed set of functionality but there will still be a CPU in there.

⏹️ ▶️ John Like in the same way that half of these vacuums you’re testing probably have some microprocessor somewhere inside them, you never need to update

⏹️ ▶️ John it, you’re never going to update it, it just does what it’s going to do, you don’t even know it’s there, you don’t have to think about charging it because you plug it in,

⏹️ ▶️ John but it’s in there. In the same way all of our cars have a bazillion computers in them now, for the most part we’re not running software, well

⏹️ ▶️ John Marco is now, but most of us are not running software updates on our computer, on our cars, but they’re

⏹️ ▶️ John just, they’re filled with CPUs. So that’s the progression. If you’re still thinking about it

⏹️ ▶️ John and having to charge it and run software updates, that’s clearly like on the on the leading edge of

⏹️ ▶️ John adding computers to things. When we stop even knowing there’s a computer in it, that’s the trailing edge of adding

⏹️ ▶️ John computers to things. I don’t know if cars are on the trailing edge because cars have this whole other revolution of

⏹️ ▶️ John having their interiors become computerized, but the engines have long since been computerized and that that ship has

⏹️ ▶️ John kind of sailed, but now we’re computerized and all the rest of the I’m trying to think of another example of something in our house, maybe

⏹️ ▶️ John washing, maybe dishwashers or washing machines that used to just be like circuit boards with a bunch of fixed

⏹️ ▶️ John circuits and stuff. And eventually they just all got CPUs and we don’t think about it and you don’t update them and you don’t

⏹️ ▶️ John have to charge them and it’s not a hassle and they don’t crash because what they do is so stupid and so simple

⏹️ ▶️ John and you know, for the most part, I don’t know, maybe I’ll come

⏹️ ▶️ Marco with a better example. Yeah, that’s fine. Like, like the stuff that’s basically like, you know, a sealed box where like

⏹️ ▶️ Marco you can’t to get a firmware update for your dishwasher. I’m sure it’s possible for service people to do it, but

⏹️ ▶️ Marco that isn’t something that consumers are expected to ever do, or even able to do. Because

⏹️ ▶️ Marco what they do is so simple and basic, you hope there would be no need for such a thing. But

⏹️ ▶️ Marco where the danger of being annoying and unreliable comes in, is when you have something as complicated

⏹️ ▶️ Marco as an app platform. A device that has an app platform, like a smartwatch, that

⏹️ ▶️ Marco is complicated. So now you’re expected to have a smart watch, a phone,

⏹️ ▶️ Marco maybe a tablet, certainly a computer or one of those things. So you have all these devices and

⏹️ ▶️ Marco then your cars are getting smarter, they have software that, whether it gets updated

⏹️ ▶️ Marco or not, it probably needs to.

⏹️ ▶️ Marco, John My

⏹️ ▶️ Marco car now does not have over-the-air updates the way Tesla does, but it has plenty

⏹️ ▶️ Marco of software bugs that should be fixed. They just don’t get fixed.

⏹️ ▶️ John platform thing is interesting because I think we’re in the process of trying to figure out what things should be platforms and

⏹️ ▶️ John what things shouldn’t. I think like, for the most part, thus far, we’ve decided that washing machines should not be application

⏹️ ▶️ John platforms. I think we’re all pretty much in agreement there so far. But people are willing to try things that should

⏹️ ▶️ John watch as be application platforms. Should phones should like should televisions.

⏹️ ▶️ John We’re finding out the answers to those things. Now I think we pretty much found out phones. Yes, they should probably be application platforms

⏹️ ▶️ John as to televisions. Jerry kind of maybe still out watches, jury’s still

⏹️ ▶️ John out. Cars, I think you’re figuring you’re gonna figure that out for us, Marco, right? I mean,

⏹️ ▶️ John maybe like, this is not really, you know, everything is potentially on but they can’t all

⏹️ ▶️ John be there is no future where everything is an app platform in the way that we think of that platforms today, but

⏹️ ▶️ John everything will have CPUs everything for all you know, everything could be getting magic wireless software updates, you know, again, as

⏹️ ▶️ John the as the price of computing drops to zero as the power consumption of computing drops to zero, as it

⏹️ ▶️ John becomes just so damn cheap. And so power, you know, and like

⏹️ ▶️ John ubiquitous net wireless networking everywhere with low power, you just put it in everything.

⏹️ ▶️ John And if you can come up with the sort of the wireless internet enabled equivalent of the

⏹️ ▶️ John dumb embedded CPU that’s in your rice cooker that does the fuzzy logic to figure out when to stop cooking your rice.

⏹️ ▶️ John If that has some little minor bug, or even if they just want to patch something because the International Data Authority

⏹️ ▶️ John decides we’re going to skip January 15th in the year 2027 for some reason or whatever, that

⏹️ ▶️ John all the devices in your house will wirelessly get updates to handle that date thing and you

⏹️ ▶️ John won’t think about it, that’ll be great. Like that’s a, that’s a potential cool future and it’s eminently possible,

⏹️ ▶️ John but it still doesn’t make you a Ruggs Cricker or an app platform because that just doesn’t make any sense, you know, practically

⏹️ ▶️ John speaking, because what would you use it for? You just want it to be reliable and like you said with the BMW, it may

⏹️ ▶️ John have bugs and you would like it if those bugs could be fixed, but you don’t want to deal with that crap. Nobody wants to deal with it. You just

⏹️ ▶️ John want it to happen automagically with no possibility of error. Like the rules for embedded systems

⏹️ ▶️ John are so different than the rules for things that are app platforms. And then when we’re out there on the bleeding edge, like the Apple watch and

⏹️ ▶️ John smartphones and our PCs perpetually on the bleeding edge, that’s where things get all unreliable and crappy

⏹️ ▶️ John and it’s just a whole different set of rules there. And getting back to the swift discussion, if they can try to

⏹️ ▶️ John drag those leading edge platforms towards more safety at the price of more restrictions,

⏹️ ▶️ John as long as they do it in a sane way and understand what the consequences can be, unlike these sort of unintended consequences of

⏹️ ▶️ John trying to drag the general purpose Mac platform to be like a smartphone with sandboxing, then I think

⏹️ ▶️ John things can work out eventually. will all mostly be dead but I plan to live for a long time so we’ll see.