0:00:00Just as a warning, um, A, I need one more stand hour before I go to bed, which means we need to end before midnight.
0:00:06[Laughter]
0:00:06You can stand while we podcast. You gotta get yourself a standing podcast desk.
0:00:10Have you gotten the nine o'clock hour yet?
0:00:12Uhhhh...
0:00:14No.
0:00:14Stand up now. Stand up.
0:00:16That's true. That's fair point. Oh, God.
0:00:19How long--you need like what, like one or two minutes of activity of standing?
0:00:22One minute. But I gotta like wiggle around and make the watch think that I'm standing.
0:00:27It should run in place. You can get if you're under your calorie count for the day you run. That's true
0:00:31What am I doing? How am I doing? Let's look
0:00:33Are you finishing all three rings on some kind of streak or are you just doing stand?
0:00:36Are you still a blue ring stud stand is the only thing I?
0:00:40Really care about I did have a really good streak going for a long time, but I'm I'm ever so lightly sick
0:00:46So I've been skipping my morning runs
0:00:49And so basically I'm just a sloth as I I'm realizing my true form as a sloth a blue ring sloth
0:00:55- A blue ring sloth, that's right.
0:00:57That's exactly it.
0:00:58- How'd you get the exercise minutes
0:01:00and not get the orange ring?
0:01:02- Because I'm out of shape,
0:01:03even despite all the running up and down.
0:01:05So getting exercise minutes is easier than you think.
0:01:08Wait, wait, wait, okay, we're good.
0:01:09Okay, we can start the show.
0:01:10- You got it?
0:01:11You got like a badge or anything?
0:01:12- Everything is all right now.
0:01:13- Are you in the right time zone?
0:01:15- Who knows?
0:01:17Am I in the right country?
0:01:18Is this what people tune in for?
0:01:19- In your preferred date format,
0:01:23why don't you put the year first
0:01:25so that it like, lexicographically sorts properly?
0:01:28- This is a good question,
0:01:29which probably won't make the show,
0:01:31but if I were editing, would make the show,
0:01:33and this is why I don't edit, by the way.
0:01:35(laughing)
0:01:37The reason you don't do ISO, what is it, 8601,
0:01:41is because if you're doing something
0:01:43wherein you're handling like,
0:01:46just an unbelievable amount of files,
0:01:48like let's say for the sake of argument,
0:01:50You had all of your pictures that you've ever taken
0:01:55in one folder because you're weird.
0:01:58So every single photograph you've ever taken
0:02:00is all in one folder or one directory, if you will.
0:02:03Were they ever called directories on the Mac, John,
0:02:05way back when, or is that just a DOS thing?
0:02:07- They were not.
0:02:08- Okay, so it's a DOS thing.
0:02:09Anyways.
0:02:10- What did, Unix calls them directories, right?
0:02:12- Oh, that's true.
0:02:13- Unix calls them directories, yes.
0:02:15- Oh, fair enough.
0:02:16Anyway, I digress.
0:02:17So if you had any photo you've ever taken
0:02:19in one folder/directory, then absolutely, 8601 that bad boy.
0:02:23But in my day-to-day use of a computer, easily 90% of the
0:02:29time that I'm looking at any date, I know by context that
0:02:33it is the current year.
0:02:34So why would I put year first?
0:02:37That just gets annoying and redundant.
0:02:39There are certain circumstances where
0:02:41years should go first.
0:02:42But generally speaking, the one true way to store a date is
0:02:47Day day, month month, year year.
0:02:50Because a day is smaller than a month,
0:02:52and a month is smaller than a year.
0:02:548601 is ridiculous, and anyone who says otherwise
0:02:58is preposterous, it is day, month, year.
0:03:02So unless you are doing machine sorting,
0:03:04in which case, yes, 8601 is fine.
0:03:06- So what I'm arguing for, which I guess is 8601,
0:03:09I forget, is year, month, day.
0:03:12- Correct, that's 8601.
0:03:13- The reason why this is better
0:03:16is that it is completely unambiguous
0:03:19because nowhere ever uses year, day, month.
0:03:24So if you see a four digit year up front,
0:03:26you know that the next number is going to be the month
0:03:29and the month that is going to be the day.
0:03:31In addition to the benefits of it being
0:03:34alphabetically sorted properly in lists,
0:03:37that's a side benefit.
0:03:39But the number one argument for it is that it's unambiguous,
0:03:42that you can use that format anywhere in the world
0:03:46and people will know how to read it.
0:03:48And the chance of error is very, very low.
0:03:50So that alone should win it.
0:03:52But also, you know, you're a programmer.
0:03:54The lexicographical sorting argument should work on you.
0:03:56And yes, you know right now this is the current year.
0:04:00Guess what, it won't be in a month.
0:04:01Like next month will be a different current year.
0:04:04And if you have a format that sorts correctly,
0:04:06no matter what year you are in
0:04:08or what year the stuff you're looking at is from,
0:04:11that seems like it would be a win.
0:04:12So the correct way to write a date in a file name
0:04:15or in an unambiguous context is year, month, day.
0:04:19- See, I can't disagree with you,
0:04:21because you're not wrong,
0:04:24but you're also not right,
0:04:27because I just don't like it, I don't like it.
0:04:29I'm the same person who doesn't put a zero
0:04:31in my URL slug, so I mean, who am I to talk?
0:04:34But to my eyes, I think we can all agree
0:04:37that Americans get it wrong,
0:04:38that month, day, year is just preposterous.
0:04:41It is truly and utterly stupid.
0:04:43You're trying to make us all agree on cheese here with this?
0:04:46Because I don't agree on cheese.
0:04:48Only you are agreeing on cheese.
0:04:50What does that even mean?
0:04:51American cheese is delicious.
0:04:53Month-day year is not preposterous.
0:04:55For file names, sure, it's preposterous.
0:04:56But for display purposes, which is what we were talking about last time, you're like,
0:05:00"Oh, I sent myself to Australia so my watch can display dates to me in that way."
0:05:04I don't want dates displayed to me in year, month, day.
0:05:07I want them in the U.S. system.
0:05:10The US system makes sense for display dates because –
0:05:12No, it doesn't.
0:05:13Yeah, it does.
0:05:14Month day is all you need to know almost all the time.
0:05:17And for disambiguation, hanging out on the right-hand side, because we read from right
0:05:20to left, if you need to look over there, yeah, there's year.
0:05:22We read from right to left?
0:05:23You know what I mean, left to right.
0:05:26No, you always go day month year.
0:05:28You always go day month year.
0:05:29No, no, not in this country, and you shouldn't do it that way because –
0:05:32Oh, not in this country, but we're wrong.
0:05:33We use Imperial.
0:05:35Month day makes sense.
0:05:37Month day makes sense for display purposes.
0:05:38No.
0:05:39that in your file name because that would be for the reasons Marco already outlined.
0:05:43No, this is preposterous, Jon. The reason you say month day is right is just because it's what
0:05:46you're used to. No, I'm saying, listen, there's an argument for it. It's not just like random or
0:05:51wrong. Like there, each one of these formats has its strengths and weaknesses and saying that we
0:05:55can all agree that month day is preposterous is saying that there are no advantages to it. There
0:05:59are. There is a sense, there is a mnemonic. There is a sensible system for why that date works,
0:06:05not just because we're used to it, which is obviously a big factor, but also there are things
0:06:08to recommend it, which is what I was just explaining. So it's not, you know, completely,
0:06:13it's not a completely write-off. It's only completely write-off in file names, because
0:06:17that would be dumb. I can get behind, I can get behind month-day when year is not a part of it. So
0:06:24March 17. Okay, fine. But that's the thing, like, you have that disambiguation, like, it's month-day,
0:06:29and then in cases where you feel like you need some disambiguation, like during the year
0:06:33changeover, or if you're doing distant future, distant past dates, you can throw on the year.
0:06:38See, but then if it's month, day, year, how does how are you a programmer? How are you a basically a robot?
0:06:43Say for human consumption for display purposes, not for naming your files, not
0:06:47it's still a month here. No, you're saying month, a year only because it's what you're used to.
0:06:51By doing what you're doing. It's like I do. I'm going to do all my temperatures in Celsius. I'm
0:06:55gonna have all my conversations in the United States and Celsius, right? No, Celsius is barbaric.
0:07:00No, but what I'm saying is like in this country, it's the way we do it. There's massive advantages
0:07:04to doing month day in this country because everyone else does it that way. And if you do
0:07:07it the reverse, you will confuse other people and potentially also confuse yourself, depending on
0:07:12whether you remember if you wrote it or not. No, I will concede that it is unusual in this country.
0:07:17However, don't you put that barbaric Celsius nonsense on me. Don't you even start, sir.
0:07:23Aside from the barbarism of Celsius for human temperatures, like, were you to use it, you'd be
0:07:30swimming against the tide in this country. Sure. And you'd have that same confusion. You should
0:07:35- We should just use kelvins,
0:07:36you don't have to have the degree symbol.
0:07:37There, problem solved.
0:07:38- All I'm saying is, all I'm saying is,
0:07:41I can see an argument for month, day, year.
0:07:44You're wrong, but I can see it.
0:07:46But let me make it plain that using Celsius
0:07:49for human felt temperatures, for ambient air temperatures,
0:07:54and only ambient air temperatures, is utterly ridiculous.
0:07:58And all of you heathens in Europe who say otherwise
0:08:01are unequivocally wrong.
0:08:02Look at the scale.
0:08:04Zero, it's cold-ish.
0:08:07100, you're dead.
0:08:09- Yeah, there's that famous GIF.
0:08:10- Right, it's not even a GIF, it's just an image.
0:08:12- Yeah, well. - In Fahrenheit.
0:08:14- Can be encoded as a GIF.
0:08:15- Zero, zero's really, really cold.
0:08:18100 is really, really hot.
0:08:20That's all you need to know.
0:08:21For ambient air temperatures.
0:08:22- You're such a millennial, it's not even animated.
0:08:26(laughing)
0:08:28When GIF is synonymous with animation,
0:08:31I'd like to do triple take him out like, "What is he about?"
0:08:35Breaking my brain.
0:08:37- Sorry, Jon.
0:08:38I'm sorry we're kids.
0:08:40Anyway, suffice to say,
0:08:42I can allow an argument that,
0:08:45I can allow the 8601 argument, I think you're wrong.
0:08:47I can allow the monthly year argument, I think you're wrong.
0:08:50But we should all agree, the official ATP stance on Celsius
0:08:54is that it is utterly preposterous and wrong
0:08:56for ambient air temperature.
0:08:58You wanna talk science-y things?
0:08:59Well, you should be using Kelvin, but fine,
0:09:00and use Celsius, but for ambient air temperature,
0:09:04it is wrong and Europe should be ashamed.
0:09:07Let's move on and let's start with some followup.
0:09:10The root bug post in the dev forums,
0:09:13that was the dev forums, not the support forums.
0:09:16And one or all of us got that backwards last week.
0:09:19- Yeah, that was my bad.
0:09:19I think we all started off saying the right thing,
0:09:22but I very quickly shifted into talking
0:09:24about the support forums.
0:09:26So the developer forums,
0:09:27you have to be a registered Apple developer
0:09:29even see them like they're actually authenticates so they're not open to the public.
0:09:32They are still pretty noisy and it's also true that they are not a "hey Apple come
0:09:37help me with my problem" thing like it is other developers talking to other developers
0:09:40and you have you know DTS support incidents or whatever for actual you know you pay money
0:09:47and then Apple can help you with stuff.
0:09:48So some of what we said is true but it's important not to confuse the two types of forums.
0:09:54The completely wide open public support forums are high volume and very noisy and people
0:09:59People talk about all sorts of things, dev forums are less so.
0:10:01All right, and related, apparently Gregory Beatty emailed productsecurity@apple.com about
0:10:07this bug on November 12th.
0:10:09Do you want to tell us about this?
0:10:10Yeah, a lot of people are asking about, you know, should Apple be poring over their forums
0:10:16or having some one or more employees look at all the both the dev forums and the support
0:10:21forums so they can see these bugs ahead of time and a lot of people saying, "Oh, posting
0:10:25this on Twitter isn't the way you're supposed to disclose this, blah, blah, blah.
0:10:28What you're supposed to do is email productsecurity@apple.com.
0:10:31And turns out somebody did actually do exactly the right thing, which is email productsecurity@apple.com,
0:10:36about this exact bug on November 12th, which is a long time ago.
0:10:40And I don't know if they just have a big backlog or didn't get to it or knew about it, but
0:10:45we're hoping they could just sweep it under the rug until their fix came out in a later
0:10:50update.
0:10:51I don't know what the story is, but I thought it was interesting that for all the yelling
0:10:55about the right and wrong way to report bugs
0:10:58and the right and wrong way for Apple to know about them,
0:11:00this particular bug, long before it was widely publicized
0:11:04and long before it was fixed,
0:11:06was submitted to Apple in the correct way.
0:11:09- Excellent.
0:11:11- The quote unquote correct way,
0:11:12because there was some argument that like,
0:11:13oh, you have to, you know, like responsible disclosure
0:11:17or whatever, where you tell the source of the bug
0:11:20about it first secretly to give them a chance to fix it
0:11:23and only if they don't fix it after a long, long time do you go in the public versus "irresponsible
0:11:28disclosure" where you just tell it to the public before, you know, at the same time
0:11:31the vendor finds out the public does.
0:11:34And there was some debate about what actually is the best way to do that.
0:11:39Obviously, if you hear this, you're like, "Oh, well, of course, a responsible disclosure
0:11:41where you tell the vendor first, that's the way to do it because it protects the most
0:11:44people.
0:11:45You don't want the bad guys to have a blah, blah, blah."
0:11:46But the problem with that approach in the past has been that the vendors are like, "Oh,
0:11:50thank you for telling us.
0:11:52We'll fix it when we get to it."
0:11:53And then you're sitting there waiting, going like, "How long do I have to wait before…?"
0:11:57You know, like maybe the bad guys already know about this.
0:11:59Just because I didn't tell the bad guys doesn't mean they don't.
0:12:01Just because I discovered it, maybe they discovered it now too.
0:12:04And so you're waiting, "Come on, come on, fix the bug, fix the bug."
0:12:06And then you have to know, "How long do I wait before it's okay for me to say in
0:12:09public what this thing is?"
0:12:10You know, and there was an article about it a couple years ago, which was about the much
0:12:16more bureaucratic process of submitting things rather than the informal just email Apple
0:12:20policy.
0:12:21And I'm not entirely sure that the -- in this world where information is, you know, so widely
0:12:30shared and it's so difficult to know what other people know, like how long have, you
0:12:37know, black hat hackers known about this bug?
0:12:39We don't know and they're not going to tell us.
0:12:42And the one thing we have learned from these type of incidents is that widespread publication
0:12:48of a bug gets it fixed really fast.
0:12:51submitting it through the proper channels does not always get it fixed really fast.
0:12:54So I'm not quite sure what the right thing to do here is.
0:12:56It's not clear cut.
0:12:57All right.
0:12:58And do you want to tell us about what Sean writes about XProtect?
0:13:03XProtect I think is either the internal or external, both names of the malware system
0:13:08that Apple has on macOS where they have signatures of malware and they periodically update that
0:13:14behind the scenes without you knowing about it.
0:13:16And I think I mentioned on the show, like, you don't even know that it's happening.
0:13:19Like they're updating that malware whenever the heck they feel like it and you have no
0:13:23choice in the matter.
0:13:24Although I think you can actually disable it or whatever.
0:13:26But on a default system you are getting these updates whether you like it or not unless
0:13:29you go into the system preferences and turn off the little checkbox that says you get
0:13:33these updates.
0:13:34But if you're wondering when they happen people are actually keeping track of it and you can
0:13:38look at this website.
0:13:39We'll put a link in the show notes.
0:13:41That tells you when the updates are and what things they protect against.
0:13:47there's even a little shell script that will tell you the last time it updated on your
0:13:51computer that you can run.
0:13:53Excellent.
0:13:54All right.
0:13:55So Ian Williamson writes in and says, "As someone who's previously had to join all of
0:13:59our company Macs to Active Directory in order to enforce corporate security policies, I
0:14:04wanted to confirm that yes, it causes a multitude of issues resulting in the spinning beach
0:14:08ball.
0:14:09Recently though, we're starting to disconnect them all and replace that with an Apple tool
0:14:12called Enterprise Connect, which communicates with AD in a much looser fashion."
0:14:16So in case you're not aware, because your name is Marco, or you don't really have a
0:14:20real job, Active Directory is the, I'm sure there's a term for it, is it LDAP?
0:14:26I don't even know.
0:14:27But it's the system by which many, many, many, many corporate environments manage users.
0:14:32And it's a Microsoft system.
0:14:34And it does not typically play terribly well with Macs, which I think is slightly on Microsoft's
0:14:40shoulders, but is largely on Apple's shoulders.
0:14:45And so I know that my IT guy at my work
0:14:48has been complaining and moaning about
0:14:51Apple's implementation of Active Directory,
0:14:53particularly recently because I think
0:14:55they might have redone it or something.
0:14:58It has caused him no endless amount of woes,
0:15:00and he is actively inquiring about this
0:15:03Enterprise Connect thing that apparently
0:15:05is only given to the coolest of clients of Apple's.
0:15:08So I don't know if you guys have anything to add on that.
0:15:10I'm sure Marco, you do, so let's start with you.
0:15:13- I really don't.
0:15:14This is an entire world that I know nothing about, and I'm very happy to continue knowing
0:15:20nothing about.
0:15:21I wish I could do that too, but alas, I cannot.
0:15:24This was a response to me guessing why my computer was, like, slow to wake, and I got
0:15:29beach balls all the time, and I was attributing to Active Directory mostly because I had previously
0:15:34had a Mac that was not on the Active Directory network, and it was just so—it was like
0:15:38a normal Mac.
0:15:39Like a normal—it was a desktop too, so that also helps.
0:15:41You'd wake it from sleep and it was immediately ready to go.
0:15:44Anyway, I was blaming activator who doesn't know.
0:15:48I think it was Margot who suggested turning off Power Nap and Hibernate and I did that.
0:15:53It did not really make any change as far as I can tell.
0:15:58So I think my computer was not hibernating and Power Nap was not an issue.
0:16:03I still – I left the lid.
0:16:05I closed the lid, walked to my next meeting, sit down, opened the lid and there's a fairly
0:16:09long period of time.
0:16:11a long period of time before I can even log in, either with Touch ID or otherwise.
0:16:15I usually give up on Touch ID after I've put my finger there for a while and nothing has
0:16:18happened.
0:16:19And then I type my password, nothing also happens.
0:16:20Like I don't even see the little dots appear on the screen.
0:16:23But very often it has registered my typed password, and if I just wait, including the
0:16:28return key that I hit, and if I just wait and wait and eventually it will unlock, and
0:16:32then I'll try to do something and then I'll get a beach ball.
0:16:33So I blame this on Active Directory.
0:16:35And Ian was writing in to talk about this Enterprise Connect thing, which is trying
0:16:39to make a looser coupling between Active Directory.
0:16:43Here's the thing.
0:16:44I don't know almost anything about Active Directory other than the fact that I am subjected
0:16:47to it.
0:16:50I don't know if my company, my company might already be using Enterprise Connect.
0:16:54I might be using the good version.
0:16:56Like for all I know, it is worse for people who are not using Enterprise Connect.
0:16:59So I really have honestly no way of knowing whether I'm currently using Enterprise Connect
0:17:03or not.
0:17:04If I'm not, I would love for my company to use it.
0:17:06But somehow I don't think that's in the cards because in general, like this time,
0:17:12in the grand scheme of things, complaining that your computer takes a while before you
0:17:15can use it when you open the lid, and you know, it's not that long, it's like, you
0:17:18know, maybe 20 seconds.
0:17:20That is a complaint that is probably falling on deaf ears in the grand scheme of enterprise
0:17:24IT.
0:17:25I just kind of wish I didn't have to deal with it.
0:17:29We are sponsored this week by Fracture, beautiful photo prints directly on glass.
0:17:33Visit fracture.me and save 15% off your first order
0:17:36with code ATP17.
0:17:39Fracture prints look amazing.
0:17:42You know, you should get your photos printed sometimes
0:17:43because if you just post them online like most of us do,
0:17:46after 12 hours they're off everyone's timelines,
0:17:48you'll never see them again.
0:17:50But if you get them printed, you have an actual artifact
0:17:52that you can hang up in your house or prop up on your desk
0:17:55or even better, give it as a gift to someone
0:17:58who will really enjoy it.
0:17:59And this could be something traditional
0:18:00like giving grandparents pictures of their grandchildren
0:18:03or their grand puppies, or it can be something fun
0:18:05that you do with your friends.
0:18:07Like maybe you send each other pictures
0:18:08that are inside jokes to you that you find funny,
0:18:11or just pictures of fun times you had together.
0:18:14Family, friends, coworkers, whoever it is,
0:18:16they make wonderful gifts.
0:18:17And Fracture knows this, so do a lot of other people.
0:18:20So if you wanna get it done in time for the holidays,
0:18:23please place your orders now.
0:18:25Because here's the thing, every Fracture,
0:18:26they care a lot about quality,
0:18:28so every Fracture is handmade by human beings
0:18:31in Gainesville, Florida, right here, right in the US.
0:18:34They are a green company operating a carbon neutral factory.
0:18:36They do things very, very well.
0:18:38But what this means, having all this human,
0:18:40you know, hand involvement here,
0:18:41is that the holidays, they get backed up sometimes.
0:18:44And so it's pretty close to the holidays now.
0:18:47They're already starting to get a large volume of orders in.
0:18:50If you want a gift in time for the holidays from Fracture,
0:18:52which I strongly recommend,
0:18:54'cause these prints look great.
0:18:55They go edge to edge, they're printed right on glass,
0:18:58you don't need to frame them,
0:18:59they fit well with any decor,
0:19:01They just look awesome, modern, clean, high quality,
0:19:04great colors, great contrast.
0:19:06So you want these things, but you gotta place
0:19:08those holiday orders now.
0:19:10Please don't wait.
0:19:11If you want 'em in a hundred holidays,
0:19:12place those orders now.
0:19:14They are wonderful.
0:19:15So check them out today at fracture.me
0:19:18and save 15% off your first order with code ATP17.
0:19:22If they ask you where you came from,
0:19:23make sure to tell them you came from ATP,
0:19:26our wonderful podcast here.
0:19:27So fracture.me and save 15% off your first order
0:19:30code ATP17. Thank you so much to Fracture for sponsoring our show.
0:19:34[Music]
0:19:37Last week I got just a little bit fired up with regard to the keyboard behavior on iOS.
0:19:46I have two pieces of follow-up about this. Number one, I had assumed it was all me and that I'm just inept.
0:19:52And I had a tremendous amount of people write in to say, "No, no, no, it's not just you. It's become hot garbage."
0:19:59garbage. Now, nobody could agree on when this happened. A lot of people said the same thing
0:20:05I did, which was right around iOS, or I'm sorry, it was iPhone 6-ish, whatever iOS was
0:20:11around that time. Some people have said, "No, no, no, it's actually with iOS 11," which
0:20:15I disagree with. But a lot of people said, "No, no, no, you are not alone. I cannot type
0:20:22on my phone anymore." That being said, I have been mildly browbeat by Mike Hurley to try
0:20:28Gboard, which is Google's third-party keyboard, which is pretty good, but I haven't tried
0:20:35that. And when I am typing rather than swiping, I feel like it's not any better, which makes
0:20:42me think this is a KC problem, not an iOS problem. And apparently it's also a tons and
0:20:47tons of listeners problem all at the same time, because if I can't type on the Google
0:20:53keyboard and I can't type on the Apple keyboard, then that makes me think I'm the problem.
0:21:00Or perhaps it was that Apple was uniquely good at figuring out what I meant and autocorrecting
0:21:08things, or perhaps the touch targets were uniquely good at being the way I expected
0:21:14them to be, and now they're not?
0:21:17Like somebody had suggested, I don't remember who it was, that maybe their touch targets
0:21:22got way bigger when they're predicting what you're gonna type. So like let's say I'm typing the word
0:21:27"their," t-h-e-r-e. Then so I type t-h-e and the touch target for the letter r because, you know,
0:21:35Apple thinks, "Oh, I bet he's gonna type in r." The touch target for r is just mammoth. And if
0:21:39I'm trying to type "they," then maybe I'll get t-h-e-r instead. Does that make any sense? It's
0:21:46a very, it's very hard to paint this word picture. But what I'm driving at is, you know, predictive
0:21:50touch target enlargement is a possible explanation, though that is completely supposition, and
0:21:57I have no facts to indicate that's true. But in any case, one way or another, I've been trying
0:22:03Gboard, and it's not really working for me so far, so it makes me think it's a Casey problem,
0:22:07but I don't know if you guys have any feedback on this one.
0:22:09I don't know if that means it's a Casey problem. It's like you said,
0:22:11that Gboard is a totally different keyboard, right? So that, we have no idea what,
0:22:17how you are at typing on Gboard.
0:22:19But you have the feeling, and many, many other people
0:22:22who wrote in also have the feeling
0:22:23that they were previously better at typing
0:22:25on the Apple keyboard.
0:22:27And the weird thing about the feedback,
0:22:28like I put it in here, it's like,
0:22:30basically that you're not alone,
0:22:31but incredible variance in the people.
0:22:33Some people saying it started two years ago,
0:22:35it started with iOS 10,
0:22:37it started when I changed to a bigger phone,
0:22:39it started when I changed to a smaller phone,
0:22:41and I don't know if you just tapped into some sort of
0:22:44like deterioration of mass deterioration of typing skills because it doesn't seem to be
0:22:50any common thread like not it's not like everyone agreed that ios 11 hosed it there was not that
0:22:55agreement but lots of people really feel like they are now worse at typing than these maybe
0:22:59they're just all getting older and it's like one of the first places that they're noticing
0:23:02that they're getting older um the only thing i saw that i think could be attributable to
0:23:09Software is people complaining about autocorrect going behind them and changing their last three
0:23:16words to something nonsensical. And I've noticed that as well. And I think that is a new software
0:23:21edition where it previously didn't used to like once you moved on from something, it would be
0:23:24like, oh, that's fine. But now it has like some kind of thing where it reconsiders the last five
0:23:28words you've written and says, oh, I see you were probably trying to write this sequence of
0:23:33nonsense five words and it goes back and corrects them. And that people find infuriating. And
0:23:38and infuriating, so do I.
0:23:39- Yep, I completely agree, and I'm glad you brought that up
0:23:41'cause I had forgotten about that,
0:23:42and yes, I've seen that behavior,
0:23:44and it is driving me bananas.
0:23:48Marco, any thoughts about this before I move on?
0:23:50- I mean, iOS changes autocorrect behavior
0:23:52in lots of versions.
0:23:54Like, you know, I'm sure iOS 10 changed it one way,
0:23:56iOS 11 changed it different ways.
0:23:58Now it does the machine learning,
0:23:59differential privacy corrections that are resulting
0:24:02in really embarrassing bugs like that, you know,
0:24:04turning into the A box thing and the IT from it thing.
0:24:09They're gonna work it out.
0:24:11I hope they do, but there's definitely changes here,
0:24:15but there's been changes before and they've worked it out.
0:24:17The only other thing I can think of
0:24:18that might be a factor for you
0:24:19is that you're also on an iPhone 10 now,
0:24:21which is a different physical size
0:24:23than what you were using for the last few years.
0:24:25So that's also probably contributing to just it's different
0:24:28and your body has to get used to it.
0:24:29- It could be, but I mean, this has been happening
0:24:32since before the Switch.
0:24:34That's what I mentioned last week, that are you sure it's not the size?
0:24:37And Casey said, well, it could be, but there are other factors as well.
0:24:40And everyone else who complained about it was very adamant that, no, it's not the size,
0:24:44except for the few people who said it was the size.
0:24:46But yeah, it's difficult in this type of thing because even if it's not machine learning,
0:24:52like yeah, machine learning is the type of thing where it's not like a human program
0:24:56with an exact set of rules for it to behave.
0:24:59It's supposed to learn on its own and improve.
0:25:00so it's very difficult to know exactly how it's behaving because it's very much data-driven.
0:25:04But even in the rules-based ones, if the rules are complicated enough and changed often enough,
0:25:08it still doesn't really help you nail down, "Is this a better system than the one that
0:25:13preceded it? Did our tweak to the set of static rules help or hurt?" It's kind of -- I mean,
0:25:19I'm not sure how you'd even measure that. It's like a typing satisfaction measurement.
0:25:25You just use face ID to look at the person's face and see if they're making a face like
0:25:29they just smelled something gross as I tried to type.
0:25:32Wow. Speaking of smelling something gross, tell me about your touch bar.
0:25:37Ew. What?
0:25:39Don't smell the touch bar. Do touch the glove. Don't smell the glove? Smell the glove.
0:25:44Sniff the glove? Come on, chat room, help me, I'm old and my brain doesn't work.
0:25:48I have no idea what you're talking about.
0:25:50Yeah, I noticed I didn't even bother asking you to. Yeah, well, that was wise. You know
0:25:54as well. Smell the glove. Okay, thank you. I feel a little bit better.
0:25:57- What was this about?
0:25:58- I converged on it eventually.
0:25:59- What is the history here?
0:26:00- I can-- - Oh, spinal tap?
0:26:01- Yeah, it's a good movie.
0:26:02You should watch it. - I've still never seen that.
0:26:04- You should watch it, it's funny.
0:26:05- I should turn it up to 11 when I do.
0:26:07- Yeah, there you go, you know something's from it.
0:26:09So I just wanted to mark this point in time
0:26:13where I got my 2017 Touch Bar MacBook Pro
0:26:15whenever it was a couple months ago,
0:26:17and I've been using it, and I do,
0:26:19despite the fact that it's mostly in clamshell on my desk
0:26:21when I go to meetings and travel around the office,
0:26:23I do use it as an actual laptop,
0:26:25And I really feel like I've given the touch bar a fair
0:26:30shake despite continuing to hit the escape button,
0:26:34or lack thereof.
0:26:36But I finally did something that I've
0:26:39wanted to do since day one, but I've been resisting,
0:26:41which is change that preference in the keyboard settings that
0:26:45tells it to-- the default setting is allow applications
0:26:49to change the touch bar so that when you're in Safari,
0:26:51you see Safari's thumbnails.
0:26:53And when you're in Mail, you see the Mail buttons and all
0:26:55that stuff, right? There's actually a setting in system preferences in the keyboard system
0:26:59preference that says don't do that. Just show me the system controls all the time. So the
0:27:07function keys and the media control and the sound things basically making it like a little
0:27:12static graphical version of the regular keys that are on the MacBook escape. And I resisted
0:27:17doing that because like look if you're going to give the touch bar a fair shake, use it
0:27:21how it's supposed to be used. Use it in the default settings, allow the applications to
0:27:24do all their stuff with it, but who knows, maybe there's some application that you use
0:27:27that you'll find the touch bar really useful.
0:27:30And that was not the case.
0:27:31And so, and I was finding it distracting as the touch bar changed from thing to thing
0:27:36as I command tabbed around, and so I just changed it to be static now.
0:27:39So now I'm effectively using little pictures of keys that never change, and I still wish
0:27:46they were regular keys.
0:27:47So I put me down in the category of, I can't say I'm anti-touch bar, because I just don't
0:27:52like laptops and so if I had to buy a laptop,
0:27:56it having a touch bar or not
0:27:57would probably be the least of my concerns.
0:27:59But I didn't find a place for the touch bar in my life.
0:28:03I just don't find myself looking at that part of the machine
0:28:07when I'm using it at all.
0:28:09And maybe it's just because I have old habits or whatever,
0:28:11but it didn't work out for me.
0:28:13- You were talking with some people
0:28:16in one of the slacks that were in together.
0:28:19And you were talking about,
0:28:22It wasn't window shade, but I can't think of what it was.
0:28:24So let's just call it window shade.
0:28:26And you were talking about, you know,
0:28:28how you still have window shade enabled again.
0:28:30It wasn't literally window shade,
0:28:32but you have window shade enabled even to this day
0:28:34because you can't live without it.
0:28:36- If you're using this example,
0:28:37people are gonna think I run window shade.
0:28:38Let's be clear, I do not.
0:28:39- Well, yeah, I know,
0:28:40but I can't remember what the hell it was.
0:28:42- You're talking about the classic Mac window layering.
0:28:45That's gotta be it, right?
0:28:46- Maybe, I don't know.
0:28:47It doesn't really matter.
0:28:48The point I'm driving at-
0:28:49- I think it's classic Mac window layering,
0:28:50if I remember the conversation correctly,
0:28:51which people don't know what that is, but anyway, I'm pretty sure that's what it was.
0:28:54So do you want to briefly describe what that is then?
0:28:56That's just when you click a window in classic Mac OS, any window on the screen, if the window
0:29:00belongs to a different application than the front-most one, like the window belongs to
0:29:06an application that's not currently the active one, it doesn't just bring that window to
0:29:10the front, it brings that window and all the other windows owned by that application to
0:29:14the front.
0:29:15And that's how I used the Mac for 16 years before Mac OS X came along that way, and that's
0:29:21That's how I like to use it.
0:29:23And so during the entire life of Mac OS X and on its Mac OS there have been various
0:29:28utilities that would change the Windows server behavior to act that way.
0:29:33But in the Mac OS X timeline, not only do you get that feature, but you also, most of
0:29:42the utilities I've used have allowed you to get back the other behavior.
0:29:44Because if you show up behavior something like, "Oh, what if I just want one window
0:29:47to come to the front?
0:29:48It's not what I want at all, right?
0:29:51It's just a matter of what you prefer because with the tools that I use, you're just changing
0:29:56what the default is.
0:29:57So for me, shift click brings a single window to the front and just regular click brings
0:30:01all the windows that belong to that application to the front.
0:30:04And some people may like the reverse where regular click just brings that one window
0:30:07and then some modifier click brings all the windows.
0:30:10Or maybe you never want all the windows to come, but how I work based on my habits, I
0:30:14want the default to be all windows come to the front.
0:30:15So I still do that.
0:30:16- I didn't even know, yeah, shift click doesn't do it
0:30:20by default, it doesn't seem, but anyway.
0:30:22- No, no, the utility, I think I'm using drag thing
0:30:24to do it right now, but there's various utilities to it.
0:30:26I think native, like the regular Mac out of the box,
0:30:29doesn't have a way for you to bring all the windows
0:30:31to the front, other than clicking the dock icon or whatever.
0:30:33Like there's no modifier click on a window to do it, I think.
0:30:37- In any case, the reason I bring all this up
0:30:39is because it struck me hearing you talk about this,
0:30:44that you and many other like old school Mac people
0:30:49created these habits over the course of years
0:30:53that either because you're petulantly stubborn
0:30:56or just used to it, and probably both to be honest,
0:31:01you just can't break yourself of them.
0:31:03And I am glad that the list of things
0:31:08that I have that are like that,
0:31:09I feel like is pretty small.
0:31:11Now, to be fair--
0:31:12- Oh, young child, yeah.
0:31:13Do you think it's the most small because your world hasn't yet changed that much?
0:31:16Just wait until everyone's in VR and you're gonna be like, "I insist on using my fingers
0:31:20because I used my fingers for a really long time."
0:31:22And you know what?
0:31:23And to that end, actually, the obvious answer to this is no, Casey, you still prefer Mac.
0:31:27So you're old and you're relying on old technology.
0:31:29So your point is fair.
0:31:31But it's just it's striking to me how you don't really like new things, Jon.
0:31:37That's not what it is at all.
0:31:38I think you're taking the wrong lesson for this.
0:31:40The lesson for this is like, what is the advantage for me changing my habits?
0:31:43There has to be an advantage.
0:31:44There has to be a reason for me to train myself out of doing something.
0:31:47Now one reason could be that there is literally no way to do it the old way.
0:31:50So guess what?
0:31:51That's the stick version.
0:31:52You have no choice.
0:31:54There is no more of that thing, so forget about it and whatever.
0:31:57But if there is a way to do it, it's a trade-off.
0:32:01What is the cost of enabling this way?
0:32:03Is it some hack that destroys your system stability?
0:32:06Is it something that you have to maintain and carefully upgrade and compile from open
0:32:11source software or is it like jailbreaking where every time a new OS comes out you have
0:32:14to get a new jailbreak or whatever?
0:32:16That would be the cost.
0:32:17And the benefit is you just get to continue to use your old habits.
0:32:20And it's not just habits in the case of window layering.
0:32:22The way I use Windows, like my entire system of dealing with Windows, this is an important
0:32:29part of it.
0:32:30The fact that I can grab a corner of a window that belongs to an application and bring all
0:32:34the windows to that application to the front, I don't have an alternate way to manage windows
0:32:39in that way.
0:32:40I want to bring all the windows to the front.
0:32:41I've got to go down to the dock icon,
0:32:43but that breaks my whole system of arranging windows
0:32:46spatially to have to use them as sort of grab handles
0:32:49and to have locality of cursor
0:32:51and not to constantly have to go down
0:32:53to the bottom of the screen
0:32:53or to the right or the left or whatever.
0:32:56So there are benefits to that system.
0:32:59And for this particular feature,
0:33:02the drawbacks in terms of system stability
0:33:05or maintenance of a weird program or anything
0:33:08just haven't been there.
0:33:09Unlike for example window shade which I ran for a little while
0:33:12But eventually it was clear that
0:33:13Apple was never going to add it and you really had to add some really nasty hacks to your system to use it
0:33:18So I I abandoned window shade
0:33:20But this I didn't abandon because it is a very minor change very cleanly implemented by multiple products
0:33:26That don't require any hacks to my system whatsoever. And so I keep doing it
0:33:31So it's the lesson is not never learn new things or don't pick up new habits or whatever
0:33:35The lesson is you know, don't don't blindly
0:33:39Abandon the old for no benefit if they're you know if it continues to work for you
0:33:44Yeah
0:33:45But the benefit is not having to do any sort of tweaking right like
0:33:48Something that Dan Benjamin said years and years and years ago
0:33:51Which I I don't 100% agree with but I understand his point was that like
0:33:56One should embrace the operating system defaults because it's that much less tweaking and finagling and in
0:34:02Messing about you need to do when you get a new machine
0:34:06You know because you can just accept the defaults and move on and to be fair like I have a
0:34:10Not insignificant list of software that I considered completely required for me to use a computer for example
0:34:16Alfred for example one password for example Dropbox, but in terms of like
0:34:23Tweaking the system. I don't feel like I'm that
0:34:26Particularly needy I I say that because I'm probably more needy than I realized, but I don't think I'm that bad whereas
0:34:34It seems like, Jon, maybe this is just your advanced stage, maybe it's your advanced experience
0:34:40with the platform, but it seems like you're more needy in this department than I am.
0:34:45Jon Streeter I think I'm using less stuff than you, as
0:34:47evidenced by my nice clean menu bar.
0:34:49But like, but Dan's argument, like we've had this discussion before.
0:34:53Dan's argument only makes sense if you are forced to live in a hoteling environment where
0:34:56you have to sit down in front of a fresh computer every day and start your work.
0:34:58Like we have migration assistant, we have upgraded installs of operating systems.
0:35:02Like this is not an issue at all.
0:35:04Like I don't spend time setting up my new Macs.
0:35:07Like for the people who do that,
0:35:08maybe it's a fun thing they like to do.
0:35:09I just want to refresh system and reset it up.
0:35:11I never reset up a machine from scratch.
0:35:12I just do an upgrade install or use migration assistant.
0:35:15All my stuff is already there.
0:35:16And it's not that much stuff.
0:35:18And drag thing I'm running anyway,
0:35:20because I like to have a thing on the screen
0:35:22that I can click on that just has applications in it,
0:35:24doesn't have minimized windows or folders in it.
0:35:27So I use that as a separate application,
0:35:30separate from its functionality for the window layering,
0:35:33but it just happens to also do window layering.
0:35:34So I'm getting a two for one
0:35:35out of that particular application.
0:35:36But no, there's not that much stuff.
0:35:38I have my favorite applications.
0:35:39I run, I think I run zero system hacks of any kind anymore.
0:35:44Like literally zero, like nothing is a kernel extension
0:35:49or a symbol plugin or anything like that.
0:35:52I don't, I run very few things
0:35:53that even display in the menu bar.
0:35:55I run favorite applications.
0:35:57I like BB edit.
0:35:58I like drag thing, which is the plain old application
0:36:01with no weird hacks.
0:36:02You know, I run Slack like we all do,
0:36:05whether we like it or not.
0:36:06- I was gonna say, do any of us really run Slack
0:36:08or does Slack run us?
0:36:10- Yeah, it's a fairly clean setup,
0:36:12and as we all know, it's not like I get new Macs so often
0:36:15that I'm constantly setting them up,
0:36:16and even if I was, migration system handles everything
0:36:19for me, like honestly, I don't see any particular advantage
0:36:22in being able to sit down in front of anybody's
0:36:24random computer and be able to use it comfortably,
0:36:27because first of all, it's not true for almost anybody.
0:36:30Like if you sit down there and hit Command + Space
0:36:31and Spotlight comes up, what are you gonna do?
0:36:33Where's your Alfred now, right?
0:36:34(laughing)
0:36:36I don't, the whole point is it accepts software.
0:36:39You can install things on it that make it nicer to use.
0:36:41That's why we like Macs.
0:36:42And so I have, I attach no benefit
0:36:45to being able to use a stock Mac comfortably.
0:36:48- So do you have your scroll direction as natural
0:36:51or the bogus old way?
0:36:52- I have it the old way.
0:36:54And again, it's a setting that I set once
0:36:57back when they changed that setting like seven years ago.
0:36:59I've never touched the setting again
0:37:00because it just migrates from computer to computer.
0:37:02Like it's, you know what I mean?
0:37:04- How long did you try natural scrolling, Jon?
0:37:06- Not at all, like what's the benefit?
0:37:07Apple added the option for that.
0:37:10Why would I try it?
0:37:11Like, you know, it's not, Apple added the option
0:37:14so I didn't feel like I had to run any hacks.
0:37:16If Apple takes away the option, guess what?
0:37:17I'm gonna switch scroll directions
0:37:18'cause what the hell choice do I have, right?
0:37:20But they haven't taken it away, it's still there
0:37:22and I clicked that checkbox once many, many years ago
0:37:25and I never think about it again.
0:37:27- So Marco, are you natural scrolling or no?
0:37:29- Didn't we talk about this recently?
0:37:31- I thought we did, I thought we did,
0:37:32but I couldn't remember the answer.
0:37:33- We did, but Casey tends to forget.
0:37:34- Yeah, I'm also old scrolling for the same reason,
0:37:37that basically, like, I tried natural scrolling
0:37:40when that option came out for like a half a day,
0:37:42and then I was like, nope, because--
0:37:44- God, you're both so old.
0:37:45- For the same reason, no, 'cause for the same reason,
0:37:47I was already used to it,
0:37:47and there was no pressure to actually change.
0:37:50So it's like, why should I go through the hassle
0:37:52of relearning this when I don't actually have to?
0:37:54and maybe down the road I will have to,
0:37:55but when that happens I'll learn it.
0:37:57Until then, I don't want to.
0:37:59- And do you spend time clicking that checkbox slot?
0:38:01No, you check it once and that's it.
0:38:04- Even at the frequency I buy new Macs,
0:38:06it isn't a big problem.
0:38:07We are sponsored this week by AfterSocks,
0:38:11bone conduction headphones.
0:38:12Go to ATP.AfterSocks.com to learn more.
0:38:15AfterSocks headphones work by bone conduction.
0:38:18This means small transducers rest in front of your ears,
0:38:21not inside or around them like most headphones,
0:38:23and they send tiny vibrations through your cheekbones
0:38:26directly to your inner ear,
0:38:27totally bypassing your ears themselves.
0:38:29So unlike every other kind of headphone,
0:38:31bone conduction leaves your ears completely open
0:38:34with nothing plugging them up or going around them.
0:38:36So this is great, first of all, for comfort.
0:38:38For me at least, I can't wear things that go in my ear,
0:38:41they just hurt.
0:38:42Aftershocks don't have that problem.
0:38:44They're also great for exercise and hot weather
0:38:46because they don't have some kind of giant ear cup
0:38:49making your ear all sweaty
0:38:50because there's nothing actually resting on your ear.
0:38:52It's just a little tiny thing that touches
0:38:54right in front of your ear.
0:38:55And they're also IP55 certified for water resistance
0:38:58in case you get really sweaty or it starts raining.
0:39:00And the biggest difference with Aftershocks,
0:39:01and this to me is what defines them.
0:39:03This is what defines whether they're right for you
0:39:05and this will either sound great or awful to you,
0:39:07is that nothing is blocking your ears at all
0:39:10so you hear all of the sound from the world around you
0:39:13in addition to what you're listening to.
0:39:15So this is actually not so great in like a very loud place
0:39:18like a subway station, but it's awesome
0:39:20if you're doing something like taking a walk outside
0:39:22or walking through a city where you need to be able to hear what's around you for practicality
0:39:27or safety reasons. They're also great while jogging or while cycling because you really
0:39:31don't want to be listening to anything that's going to block out sound when you're doing
0:39:34something where the environment around you matters. Also just around the house or around
0:39:38the office, you can do things like listen to a podcast or take a phone call while also
0:39:43hearing if say your kid upstairs wakes up from their nap or there's a knock on the door
0:39:47and it's the UPS person or something. So they're great for all sorts of situations where you
0:39:51You want to hear the world around you
0:39:53in addition to what you're listening to.
0:39:55The flagship model in the AfterSocks lineup
0:39:57is the Trex Titanium and the new Trex Air.
0:40:00These are both great options.
0:40:01I've had both now.
0:40:03I've had a few months with each one
0:40:05and you really can't go wrong with either one to be honest.
0:40:07The Trex Titanium is a little more pocketable.
0:40:09The Trex Air is a little bit lighter
0:40:11and a little more comfortable.
0:40:12So it's really up to you what your priorities are.
0:40:15They're both fantastic.
0:40:16You can't go wrong.
0:40:17Both of them have great battery life.
0:40:19They have a two year warranty
0:40:20And honestly, either one, you're pretty well off.
0:40:24So check it out today at ATP.aftershocks.com.
0:40:27Once again, ATP.aftershocks.com.
0:40:30And you can also use code ATP if you want to at checkout.
0:40:33Thank you very much to Aftershocks for sponsoring our show.
0:40:36(upbeat music)
0:40:38- All right, we should move on
0:40:40from these turf wars that I'm starting.
0:40:42And why doesn't somebody tell me about this link
0:40:44about Johnny Ive and him hearing our MacBook criticism?
0:40:48Yeah, there's been many Johnny Ive articles recently, most of them I've just insta-papered
0:40:52and haven't read, but this one had a quote that I wanted to pull.
0:40:55It was someone asking Johnny Ive about, you know, current Apple stuff and he was actually
0:41:00giving answers.
0:41:01And so here is a quote from this article, which we will link.
0:41:06This is Johnny Ive saying, "Absolutely, all of your feelings and feedback around the MacBook
0:41:10you use, we couldn't want to listen more.
0:41:13And we hear, boy do we hear."
0:41:15So this is not much of a statement, but it's merely confirmation that if you think Johnny
0:41:20Ive created the current line of MacBook and MacBook Pros and thinks they're perfect and
0:41:25has no idea that people have complaints about them, that is not the case.
0:41:30He pretty emphatically stated basically, "Yes, I have heard complaints about this computer
0:41:37and two things.
0:41:38One, we want to hear your feedback about it.
0:41:39It's not like we're saying we made a perfect thing and screw you if you don't like it.
0:41:43And two, they're definitely hearing it.
0:41:46So I think that was refreshing because there's so little communication inside Apple that
0:41:50you could have a bunch of podcasts where a bunch of people ramble on about how it seems
0:41:55like Apple's not listening to us or might live in a bubble and don't hear the things
0:41:59that we're saying, and that is not the case.
0:42:01Maybe.
0:42:03The Mac Pro roundtable this past spring was one of the most straightforward, honest, and
0:42:09almost apologetic statements to the public
0:42:12Apple has ever really given.
0:42:14That was the only one of the only times
0:42:16they've ever kind of done a mea culpa on like,
0:42:18yeah, this product we kind of messed up
0:42:20and we're gonna fix it.
0:42:21I don't think we're gonna get one of those
0:42:24for the problems of the current generation of MacBook Pro,
0:42:28but this is about as close as you can get.
0:42:30(laughs)
0:42:32This statement to me says,
0:42:33this was not some off the cuff accidental thing
0:42:37that he let slip out.
0:42:38I'm sure he thought about that before he said it
0:42:41and knew what he was saying.
0:42:42And I think this is as close as they're going to come to,
0:42:46there's been a lot of negative feedback
0:42:48about this generation of laptops and we hear you.
0:42:52- Yeah, and we don't know what they're gonna do about it.
0:42:54It could be that what they do still doesn't satisfy,
0:42:57satisfy some people, doesn't satisfy others,
0:42:58but you can't say at this point
0:43:00that they have their heads in the sand,
0:43:02which is a thing that you could have said
0:43:03because they're so bad about giving
0:43:05any sort of transparency to their thinking
0:43:07Because all you hear is the earnings call
0:43:09and about how many of these things they're selling
0:43:10and how their profits are great.
0:43:12And it's like you have this fear that like,
0:43:13maybe they think everything is awesome
0:43:14because they're selling more.
0:43:16And their customer sat is great
0:43:18and their average seller price is going up
0:43:21and they've sold more Macs than they ever sold before.
0:43:24Like everything looks good.
0:43:25And you worry that your concerns are irrelevant
0:43:30because who cares what you think about the keyboard?
0:43:31If tons of people are buying them, then you're wrong.
0:43:34And Apple should do what sells more Macs
0:43:36makes more customers happy, right?
0:43:37And that is the fear of being marginalized.
0:43:40But to hear this direct feedback that, boy, do we hear,
0:43:44like that not only do we, oh yeah, we hear some people have
0:43:47problems, but like that Johnny Ive in particular is probably
0:43:50getting an earful about like, you know, slim line keyboards
0:43:53that he insisted on or whatever, who knows what the
0:43:55particular details are.
0:43:56But I, you know, I like the idea of communicating to the
0:43:59public something that says, we acknowledge you.
0:44:04And merely acknowledging doesn't mean we agree with you, doesn't mean we're going to do what
0:44:12you want, but it does say we're not sticking our head in the sand and pretending you don't
0:44:18exist and also that we're not disregarding you.
0:44:21They could have said, like kind of what he said about Apple Park, which is another quote
0:44:25that I didn't pull from here, which is like, "I don't understand when people complain about
0:44:28Apple Park," because essentially like, we didn't build it for you.
0:44:30You don't work for Apple.
0:44:31people who work at Apple, and we know how people who work at Apple work, and you don't,
0:44:36so stop complaining about our building. Like, we're not building a house for you. That's
0:44:41a different kind of feedback, which is like, we hear you, but we think you are not, what
0:44:45is it, you don't have standing.
0:44:47We hear you, but we don't care.
0:44:49Yeah, you don't have standing. You're not a party in this conversation. Like, do you
0:44:52work at Apple? Then maybe we'll listen to you about how much you like the place where
0:44:55you have to work if you work at Apple. Or, you know, you don't have to, because they're
0:44:58on the old campus too. But anyway, but if you don't work at Apple, you can have your
0:45:02opinions but we're not going to listen to it because we're building the place where
0:45:07Apple employees were. And obviously, I feel like if someone was more of an Apple nerd,
0:45:12they could come back with Johnny and say, "Yeah, but Apple employees also have complaints
0:45:16about this spaceship." And so you could say, "These aren't my complaints. I'm really conveying
0:45:20to you the things that I've heard Apple employees tell me anonymously or otherwise about how
0:45:24how they want to have private offices and blah, blah,
0:45:26it's a separate thing.
0:45:27But clearly, Johnny was not ready
0:45:30to accept that feedback about Apple Park,
0:45:34but he seems ready to accept the feedback about the laptops.
0:45:38The question is, what happens next
0:45:41or what has already happened?
0:45:42Because as we talked about before,
0:45:43the timelines on hardware designs are long.
0:45:45And for all we know, eight months ago,
0:45:47they already made a radical right turn
0:45:49about their keyboard plans for the next line of laptops.
0:45:52And we'll find out when they're released.
0:45:54Here's hoping.
0:45:55- All right, Ask ATP, and we begin with Josh Keegan,
0:45:59who writes, "I grew up a huge book reader, my wife did too.
0:46:02Combined, we have three or four bookcases
0:46:04full of paperbacks and hardcovers.
0:46:05I recently decided that we should get rid of them.
0:46:07They seem archaic to me now in the age of e-books.
0:46:09My wife disagrees, and so they remain.
0:46:11Do you guys have a lot of books in the house?
0:46:13Does keeping paper books seem old-fashioned to you?"
0:46:15Let me start by saying having us adjudicate
0:46:17your marital deliberations is probably not a wise choice,
0:46:22but that being said,
0:46:23I, we, Aaron and I are both pretty big readers, Aaron more so than me. I feel like I just
0:46:30don't have time for it, probably because I'm spending too much time on Twitter because
0:46:33I'm an idiot. But nevertheless, I do enjoy reading novels. I do quite like reading a
0:46:40physical book. If I, if I can, I prefer a physical book over anything else, unless I'm
0:46:45traveling. But anyways, I don't see a problem with books. If you don't need the space for
0:46:49anything else. I don't know why you would get rid of them, but I am not one that is
0:46:53deeply bothered by, I'm gonna say clutter, although it doesn't sound like
0:46:58it's clutter since it's all contained in a book. Yeah, stuff, thank you. So I say my
0:47:03vote is keep them unless you have a reason for that space, but that's just me.
0:47:06Marco, what do you think? We have some books. They're in a bookshelf in the
0:47:10living room. It's a nice big built-in thing, and it would look weird if it was
0:47:13empty, and so we keep a whole lot of books there. We don't actually really add
0:47:19add or remove or use the books there very often.
0:47:23And so most of the books just sit there and look pretty,
0:47:26but that is a useful function.
0:47:27They look pretty on these giant shelves
0:47:29that are built into our house.
0:47:30And if they were gone, it would be weird.
0:47:32So, you know, like what you just said, Kees,
0:47:34like I don't really, I don't see any problem
0:47:36with having them there.
0:47:37They're not causing any harm.
0:47:38They don't have any needs really.
0:47:40And there's nothing else that we would put on those shelves
0:47:44at the moment.
0:47:45So if that ever changes, if we really need the space,
0:47:47or if for some reason we want to tear those shelves
0:47:49out of the walls, then sure, I will push
0:47:52to get rid of them then, but if they're not
0:47:55causing problems for you, I don't see why
0:47:59you'd get rid of them.
0:48:00- I like books.
0:48:02I have collected books since I was very young,
0:48:04not just for the words on the pages,
0:48:06but to the point where I would buy multiple copies
0:48:08of a book I liked because I like the books as objects,
0:48:12special editions of books, leather-bound versions of books,
0:48:15books with fancy illustrations or shiny covers
0:48:17really thick paper stock. I like books as objects in addition to liking the words in
0:48:23them. When I went to work for what was at the time the largest ebook seller in the world,
0:48:28back in the early days before Amazon even got into the game, I got converted to ebooks
0:48:34pretty much wholesale. So I prefer to actually read books in electronic form, but I still
0:48:40have a huge soft spot for the physical books. I would do the things where I would buy the
0:48:46book and read it in e-book form, but then buy the first edition hardcover just to put
0:48:50on the shelf that I literally never opened.
0:48:53So I'm obviously very pro-book.
0:48:57My problem is if you were like this and you really like books as physical objects and
0:49:02you're not fantastically wealthy, eventually you will run out of room to put books.
0:49:07Our house is essentially overflowing with books, with most bookshelves double and triple
0:49:10stacked with books in the attic, and so now I've mostly put a moratorium on buying more
0:49:15or paper books because I don't want to displace any books that I have.
0:49:20So right now I mostly only buy very large, beautiful coffee table books filled with illustrations
0:49:26or like those really gigantic, awesome Making of Star Wars books that have lots of words
0:49:33and illustrations in them that would be difficult to do in electronic form unless someone gives
0:49:38me my 27-inch iPad Pro.
0:49:39So I am all for physical books, but like so many physical objects, if you continue down
0:49:46that path, you will probably eventually run out of room for books.
0:49:50Craig writes, "Why does Apple refuse to make desktop backlit keyboards?
0:49:54Gaming keyboards go crazy with neon lights.
0:49:56Do you think Apple would ever make a desktop keyboard with just enough light to see your
0:49:59keys?"
0:50:00I have a hard time answering this question because I can touch type and I have been able
0:50:05to for a very long time.
0:50:07So having lights on my keyboard does not really help me.
0:50:12I presume that they don't really have any interest in this because it would cause the
0:50:17battery on your Magic Keyboard to drain even faster.
0:50:19And yes, I know it's easily rechargeable.
0:50:21You don't have to harpoon a turtle to do it.
0:50:24But nevertheless, it's nice not having to plug my keyboard in, but once every month
0:50:27or two.
0:50:29And so I don't think they will, personally, but I don't know.
0:50:33That's my two cents.
0:50:34Mark, we went to you first last time.
0:50:35So Jon, what do you think?
0:50:38Even if you touch type, the reason they have the light-up keyboards on the laptop is they
0:50:41think people will be using them in dark places, and yeah, you can touch type, but can you
0:50:45touch type the media keys?
0:50:46Can you touch type the function keys?
0:50:48Most people can't.
0:50:49Like, it's just too far of a reach and they're just too weird and you occasionally have to
0:50:51glance and see, you know, where is, you know, F7 or where is the pause key or, you know,
0:50:58whatever.
0:50:59I mean, hell, with these new keyboards you can't even touch type the arrow keys.
0:51:01Yeah, well you can eventually if you feel for the little divider on the two havesy keys
0:51:06for top and bottom before you go to the left or right, but anyway it's annoying.
0:51:10So I think there is a place for backlighting on keyboards even for Touch Typus, but for
0:51:14desktop keyboards if you're using a desktop keyboard in a dark place that's kind of your
0:51:19choice probably.
0:51:21Like it's not like a laptop where you may find yourself on a plane where everybody's
0:51:23sleeping or you know in an environment where the lighting is not ideal and like I said
0:51:28you do have the charging difficulty.
0:51:30So I don't think Apple is opposed to backlit keyboards.
0:51:32I wouldn't expect any neon ones.
0:51:36I feel like it's a thing I can see Apple shipping if they could sort out the battery issues.
0:51:42They would probably ship it just because someone will get an idea that it's a useful thing
0:51:47to have and they can charge a little bit more money for the backlit version.
0:51:50They would do it.
0:51:51But honestly, unless someone inside Apple is really passionate about this, I just see
0:51:56them leaving it as a third-party opportunity as they say.
0:51:59Because if they haven't come out with one by now,
0:52:00they obviously don't think it's a big need.
0:52:02- You know, using PC gaming keyboards
0:52:05that are full of LEDs as an example
0:52:07is not a good example of why Apple should do this.
0:52:10'Cause those things are hideous.
0:52:12And I think if Apple knows those exist,
0:52:15which I kinda hope that no one there knows,
0:52:17but if they do know, they would use that as an argument
0:52:19why not to make these things.
0:52:21But yeah, also as you mentioned,
0:52:23it would have to be charged significantly more frequently.
0:52:26Also, I think that the need for it is less on desktops
0:52:29because desktop screens are so much bigger
0:52:33and you keep them so much brighter usually
0:52:34because there's no battery concern,
0:52:36but there's a pretty good chance
0:52:37just the light from the screen lights up the keys
0:52:40enough to show you where the keys are
0:52:41even in a pitch dark room.
0:52:43So I think the need for it is significantly lower.
0:52:46It does however just look cool.
0:52:47Like when it's done right, like the way apples are done
0:52:49with subtle white lighting as opposed to blue LEDs,
0:52:53When done tastefully like that, it can look really cool.
0:52:56It just looks like a nice luxury product,
0:52:57like on the laptops.
0:52:58This isn't to say that they should never do it,
0:53:01but I don't think they will just because, again,
0:53:02the charging needs, the less actual physical need for it,
0:53:06'cause you can see your keyboard usually more in desktops,
0:53:10and also that the desktop keyboards
0:53:13are just a pretty low priority for Apple.
0:53:15They don't really redesign them that often
0:53:16or put that much effort into them.
0:53:18So from that point of view, I think it would be very hard
0:53:22to argue that Apple should put in the effort
0:53:26to make that happen on a hardware line
0:53:29that they update, what, every 10 years?
0:53:32- All right, and finally, Pradhan Stathev writes,
0:53:35"How does dynamic ad targeting and podcasts work?
0:53:38"Ad companies say they can target listeners,
0:53:40"but Marco has said that you can only really know
0:53:42"how many downloads the MP3 podcast file gets,
0:53:45"and that's about it when it comes to data,
0:53:47"save for proprietary apps."
0:53:48And then he added, this one is for Casey.
0:53:52I'm not sure why because I feel like I am deeply
0:53:54in a ill-equipped answer to this question.
0:53:56But this sounds like it's two different things to me
0:54:01all rolled into one or maybe I just would like someone,
0:54:04Marco, I guess, to clarify.
0:54:06So when I hear dynamic in podcasts,
0:54:09what I think is there are podcasts,
0:54:14I don't know, servers, for lack of a better description,
0:54:16or networks where they know that an ad starts at 10 minutes
0:54:21and it is two minutes long.
0:54:23And they can run an ad in that spot for a week or two
0:54:28and then change that ad to be something else.
0:54:31And they'll re-encode, or I'm assuming re-encode the MP3,
0:54:34and for two weeks it'll be the next ad,
0:54:36and then so on and so forth.
0:54:37But what Prodan is talking about is different than that,
0:54:41if I'm not mistaken, which is,
0:54:42oh, Casey is a white male that is in his mid-30s,
0:54:47let's give him these ads as opposed to different ones.
0:54:50So Marco, can you kinda tell me what this is all about?
0:54:53- Yeah, the latter theory you have is the more correct one.
0:54:57So the reason this came up, and the reason I put it in here
0:55:01as a question I wanted to answer is that a lot of people
0:55:04are starting to hear what are pretty clearly
0:55:08dynamically on-demand inserted ads
0:55:11in usually popular podcasts.
0:55:13This past year, there have been a lot of major podcasts,
0:55:18like from major producers,
0:55:20like some of the public radio producers
0:55:22and some of the big networks,
0:55:23major producers are now frequently using
0:55:26dynamic ad insertion.
0:55:27And what this is is new ads can be inserted
0:55:31on every download, on every request that the file gets.
0:55:35Every download request from a client or a web browser
0:55:39can have different ads in it.
0:55:40They don't do every encoding, they do it by splicing,
0:55:43because the MP3 file format is very, very easy to splice,
0:55:46which might lead into a future topic
0:55:47I don't know if we ever get to it.
0:55:50So basically what they do is your download request
0:55:53from your podcast player or your web browser
0:55:56hits their basically ad-splicing server
0:55:59and based on your IP address and anything you can glean
0:56:03from your headers, which fortunately for a podcast app
0:56:06is pretty minimal, but it can at least tell usually
0:56:09which podcast app you're using, what kind of device
0:56:12and what OS version it has, and from your IP address
0:56:17your IP address, it can derive your approximate location.
0:56:20Now, if it's a big ad network, and if it's integrated
0:56:24with web ads, then they can also derive other things
0:56:28that a web browser can pick up, and they can correlate
0:56:32that data based on your IP address, and maybe some idea
0:56:37of what your phone model is, they can then correlate that
0:56:40with other data they have from other sources,
0:56:42like maybe Facebook or Twitter, or other big ad networks,
0:56:45and they can figure out more about you.
0:56:47But all the podcast app is providing is
0:56:50whatever they would get if you fetched, say,
0:56:53an image off their servers, which is your IP address
0:56:56and a user agent header, that's it.
0:56:59But that is enough that a lot of people report hearing
0:57:03an ad for a local car dealership in the middle of a podcast
0:57:08from a national provider, and that creeps people out,
0:57:11and they wonder what's going on.
0:57:12A lot of times they blame Overcast, or they ask me,
0:57:14"Hey, what's this? How did this work?"
0:57:16But yeah, this is just these big publishers
0:57:18are now very, very frequently using
0:57:20these dynamic ad insertion platforms.
0:57:22And the way it works is pretty simple.
0:57:24As I say, they derive whatever they can
0:57:26from your IP address and the user agent header,
0:57:28and then they throw in an ad.
0:57:31And MP3 is a very forgiving and simple format.
0:57:35It's very, very easy to take chunks out of and splice in.
0:57:38So in their CMSs, when they produce the shows,
0:57:41they just say, "You can put an ad at
0:57:43these two timestamps in the show.
0:57:46The main problem I have with it as a listener,
0:57:48first of all, is that it's kind of creepy
0:57:50and the ads are pretty, oftentimes pretty low value ads
0:57:53because they're things like car dealerships
0:57:55and it just turns into basically what radio ads were,
0:57:57which is not something any of us should ever aspire to
0:58:00because they're really, you know,
0:58:01bargain basement, low price, low value ads.
0:58:04So hopefully that's not the world
0:58:06we're heading towards here.
0:58:08But also, it causes other problems.
0:58:10So for instance, the MP3 file format specifies length
0:58:14in about three different ways,
0:58:17and a lot of times these splicing ad platforms
0:58:21don't update them all correctly.
0:58:23So it causes weird problems in players like mine
0:58:27where sometimes certain files will say,
0:58:30"End two minutes early,"
0:58:31because that's the amount of ad they injected
0:58:33and they forgot to update the duration
0:58:34or their platform didn't do it right or something like that,
0:58:37or seeking will be slightly broken or something like that.
0:58:40The other major problem is even if you get past
0:58:42the technical hurdles there, because the ads they insert
0:58:45are not consistent lengths, it starts to erode the value
0:58:50of timestamp links.
0:58:51So you can't, for instance, say, oh, you gotta hear
0:58:54this NPR podcast at 17 minutes.
0:58:59Because the 17 minutes when you download the file
0:59:02might be a different part of the file than what the person
0:59:05who's telling you that had in their copy of the file.
0:59:08Because if you had 10 minutes of ads in yours
0:59:10and they had seven minutes of ads in theirs,
0:59:11you're gonna be three minutes off.
0:59:13So it erodes the value of sharing timestamps
0:59:16and of referring to timestamps,
0:59:19which I think is very damaging to the spread of podcasts.
0:59:23But ultimately, I don't have any real say in this.
0:59:26They're gonna do what they're gonna do.
0:59:27They are doing it.
0:59:29I've tried to argue with some of these producers
0:59:30they shouldn't be doing this, but they are anyway.
0:59:32So oh well, this is the world we live in now.
0:59:34And that's how it works.
0:59:36It's pretty basic and I wish it didn't work that way,
0:59:40but it does.
0:59:41The good thing is that it can't ever get as bad
0:59:44as web tracking.
0:59:46You know, when you fetch a webpage,
0:59:48your browser executes code on that page's behalf
0:59:50that has any JavaScript embedded,
0:59:52which these days it always does.
0:59:53So the amount of data that a webpage can collect about you
0:59:57is way higher than the amount of data
1:00:00that a podcast publisher can collect about you
1:00:02because when your podcast has to download the file,
1:00:05it's just playing a media file.
1:00:07It is not executing arbitrary code supplied
1:00:10by the publisher.
1:00:11So they can't add any more tracking
1:00:14or collect any more data or observe your behavior
1:00:16any more than a person at this IP address
1:00:19and using this app downloaded this file.
1:00:22That's it, that's all the information they have.
1:00:24Again, they can correlate that if they know more
1:00:27about that IP address from other sources.
1:00:30But as far as the podcast player's concerned,
1:00:32that's all it's giving them.
1:00:34The scary thing though is, and the thing that people don't think about, is that they do
1:00:37have a source for correlation.
1:00:39They know so much about your IP address because chances are very good that in the recent past
1:00:43you have hit a web page somewhere that had some Facebook embedded widget that got your
1:00:48Facebook cookies that now knows who you are on Facebook that now knows your entire social
1:00:51graph and your first and last name and the last thing you bought from Amazon.
1:00:55Those ad networks, that's all they're doing is correlating a user activity across multiple
1:00:59platforms and just synthesizing it into this up-to-date knowledge about a particular person
1:01:04or IP address or combination of IP address and user agent and whatever else they can
1:01:09glean from your device.
1:01:10Like that's all these networks do.
1:01:12And so even though the podcast player is not revealing, is revealing the minimum it possibly
1:01:16can about you, once they go off to the side and look up all the other stuff, that's how
1:01:21they know like that you're shopping for toilets.
1:01:24And now it's time to show you a toilet.
1:01:25They know where you live.
1:01:26They know who your friends are.
1:01:28They know you've been shopping for toilets and they're going to insert a toilet ad and
1:01:31that seems terrifying, but it's because of all the rest of the internet, particularly
1:01:35the web, not because of the podcast player.
1:01:38That's why these things are creepy, the idea that they aggregate and centralize this knowledge
1:01:42so that there's almost nothing you can do on the internet where they can't figure out
1:01:46who you are through those kinds of correlations.
1:01:51So I don't know what the solution is, but the relative purity of podcasts doesn't actually
1:01:58save us from anything.
1:01:59And even for stuff like show notes, if you can put HTML in show notes, it's only a matter
1:02:04of time before one or more podcast applications pre-render the show notes and are not as scrupulous
1:02:10as Overcast about allowing what appears in an HTML and just sort of take the easy way
1:02:14out and just throw some content from a feed into a web view, and that executes and it
1:02:18a little tracking blip and embeds a Facebook widget and runs JavaScript and who knows what
1:02:23else. So the web has a way of seeping into many different corners of applications and
1:02:29if you're not constantly fighting against that tide, it's really easy for creepy stuff
1:02:34to sneak into your application.
1:02:37We are sponsored this week by Linode, my favorite web host. Go to Linode.com/ATP to learn more
1:02:43and use code accidentalpodcast10 to get a $10 credit.
1:02:47Linode is the best web host I have ever used.
1:02:51I have, trust me, a lot of experience
1:02:54with hosted web servers going all the way back
1:02:55to the year 2000, and I've hosted literally hundreds
1:03:00of servers and VPSs since then
1:03:03at probably 10 or 15 different web hosts,
1:03:06and Linode just kicks their butts.
1:03:08It's so much better on so many levels.
1:03:10That's why I move everything there now.
1:03:12It is just so much more pleasant to use.
1:03:14Their pricing is incredibly compelling.
1:03:17Plans start at just $10 a month.
1:03:19Linode now offers two gigs of RAM
1:03:21at that $10 a month level.
1:03:23This is pretty much unheard of in the web hosting industry.
1:03:26I mean, the resources you get for $10 a month at Linode,
1:03:28I used to pay hundreds of dollars a month
1:03:30for not that long ago.
1:03:32And they have all sorts of great features.
1:03:33They have managed backups,
1:03:35they have managed load balancers, which I use.
1:03:37They're wonderful.
1:03:38They have managed stats if you want that.
1:03:40They have both managed and unmanaged services
1:03:43for your actual Linodes themselves.
1:03:45So if you need help, it's available to you,
1:03:47but it's mostly made for unmanaged people
1:03:48who want to run it yourself,
1:03:49and they have all sorts of great documentation
1:03:52and tutorials just to learn how to run a Linux server
1:03:55if you have any questions.
1:03:56In fact, chances are, if you've ever Googled
1:03:59for some kind of answer on how to run a Linux server,
1:04:01you've probably come across their help documentation,
1:04:03even if you weren't using Linode,
1:04:04because that's how good it is,
1:04:05that it ranks highly in the search engines
1:04:06because people keep using it.
1:04:08Linode stuff is so great, it's so easy to use.
1:04:11$10 a month gets you two gigs of RAM in a virtual server,
1:04:13you have full root access,
1:04:14you can install whatever you want, it's wonderful.
1:04:17So check out Linode today, I highly recommend it.
1:04:20It is the only web host you should be looking at
1:04:22if what you're looking for is straight up web hosting.
1:04:24Go to linode.com/atp and use promo code
1:04:28accidentalpodcast10 to get a $10 credit.
1:04:31Thank you so much to Linode for hosting all of my stuff
1:04:34and supporting this show.
1:04:35[Music]
1:04:39Thursday night, I'm laying in bed and I'm looking at, you know, Twitter or what have you, and
1:04:45I'm starting to see that that people in the future are very perturbed. And they're perturbed because
1:04:54apparently some of their phones are endlessly rebooting. And I'm starting to see, like, text
1:05:00messages or slack messages from friends who live in the future and they're
1:05:04saying oh my god something is deeply wrong change your phone's clock what
1:05:11change your phone's clock because once you hit Friday the I'm sorry once you
1:05:17hit so I guess was Friday night doesn't matter for one of these days once you
1:05:20hit overnight at like 1215 suddenly your phone will go bananas I think it was
1:05:27Friday night into Saturday. That's my bad.
1:05:29- Yeah, it was into December 2nd.
1:05:30- Yep, so change your phone, Casey.
1:05:34Either turn off all notifications,
1:05:35which there is no big red abort switch for notifications,
1:05:39so you have to go into every single app and turn them off,
1:05:42or change your clock such that you will never roll over
1:05:47the very early morning of December 2nd,
1:05:49which is what I did.
1:05:50And that causes a whole new world of problems
1:05:52that are not terribly interesting,
1:05:53but it was a pain in the butt.
1:05:55- That was my first question I was gonna ask you
1:05:57when I was going, living backwards in time,
1:06:00going through your old Twitter past
1:06:01and seeing that you and lots of other people, not just you,
1:06:04went with that option.
1:06:06Like something's wrong, we're not quite sure what it is
1:06:08at this point in time, but one of the suggested solutions
1:06:11is to set your clock back.
1:06:12And a bunch of people who I felt like should know better
1:06:15said, I'll do that, I'll set my clock back.
1:06:17- Whoa, whoa, whoa, slow down.
1:06:18What are my options?
1:06:20So I have three options to my mind.
1:06:22I can wait and see and potentially end up with a phone
1:06:26that is not bricked but is damn near useless. I can pray that I don't get zapped by this
1:06:32bug, or I can set my clock back and just deal with some inconveniences.
1:06:37**Matt Stauffer:** Yep. And both of those two options are better
1:06:39than setting your clock back. In general, I would say, as a computer user rule of thumb,
1:06:46this didn't used to be true, but has been true for the past, I don't know, decade or
1:06:50so.
1:06:51**Brian Stauffer:** Since SSL?
1:06:52Yeah, probably, but actually maybe even before that, don't change the date on your computer
1:06:57because unbeknownst to you, tons of things on your computer and especially on your phone
1:07:03don't work if your date is not the real date.
1:07:09Things like iMessage, which you probably care about a lot, like texting is a very popular
1:07:13application on phones these days.
1:07:14Oh, it worked.
1:07:15It was very weird, but it worked.
1:07:16SSL, all those things.
1:07:18They're not saying they will instantly break, but they can break.
1:07:21Websites, popular websites that you use, applications that like many,
1:07:25many things depend on the date.
1:07:27So like the options you listed, like you could cross your fingers and hope,
1:07:31you could wait for a different thing.
1:07:34Another one is you could just shut down your phone and wait with your phone turned
1:07:37off. So at the very least, you know,
1:07:39like whatever data is on your phone is safe because the thing is off. Right.
1:07:42And then just find out what the dust is going to sell.
1:07:44But you know for a fact that changing the date
1:07:48is gonna mess some things up.
1:07:49Maybe a few things, maybe a lot of things.
1:07:51And the main reason I wouldn't change it in this case
1:07:54is in a sort of an unknown type scenario
1:07:56where you don't know what the deal is.
1:07:57Like, is this a big bug?
1:07:58Is it a little bug?
1:07:59What's the fix gonna be?
1:08:00Is Apple gonna have a thing?
1:08:01There's so many unknowns,
1:08:03I wouldn't wanna add to the noise with date stuff.
1:08:06And this happened with a lot of people
1:08:07who would set their date back
1:08:08where once the bug fix was out,
1:08:10they're like, oh, it fixed the bug,
1:08:12but now I can't FaceTime with people and it's because they had set the date back and now
1:08:16there's face ID whatever was yeah and now they're suffering from the fallout of their
1:08:20attempted fix so it's counterintuitive if you haven't dealt with any of the things but
1:08:25perhaps surprisingly changing the data on your computer or phone can and will cause
1:08:29all sorts of weird problems that are difficult to attribute or diagnose and won't give you
1:08:33nice error messages that say oh you changed your date so I would suggest that if that
1:08:38among all the options that you have, pick that one last.
1:08:42Pick that one after, you know,
1:08:44prefer the option of simply turning off your phone.
1:08:47- I disagree.
1:08:48- I'd also add to the list of problems that it causes,
1:08:51possible sync bugs and possible data loss
1:08:53with apps that sync.
1:08:54- Yes, yes.
1:08:55- Because a lot of sync engines are,
1:08:56a lot of sync engines try to resolve merges,
1:08:59changes, and conflicts using time.
1:09:02This isn't always the best approach,
1:09:03but this is basically how a lot of them do it anyway, so.
1:09:06- Sometimes it's all,
1:09:07and then that's all you've got,
1:09:08depending on how the sync service works.
1:09:09- Right, and there's all sorts of methods to sync,
1:09:11but using time to help resolve who changed what last
1:09:15and whose version of this should be the authoritative version
1:09:18is a very, very common way to do it.
1:09:20So if you change your date back,
1:09:22not only are you causing a whole bunch
1:09:24of other weird stuff to happen,
1:09:27for instance, you've now created two copies of December 1st
1:09:32in your computing environment,
1:09:34And so things can be written to the file system
1:09:37or things can be changed or things can be dated
1:09:39in a way that makes them seem like they were sequential
1:09:42in one direction but they were actually sequential
1:09:44in the other direction.
1:09:45Or there's so many weird things that can happen.
1:09:48This doesn't usually happen with daylight saving time bugs
1:09:50because A, that doesn't actually change
1:09:52the underlying Unix time value of the computer,
1:09:54and B, you're normally asleep between two and three
1:09:56in the morning so it doesn't usually affect you
1:09:58'cause you're not usually using your computer at that point.
1:10:01But changing your clock back by a whole day
1:10:04gives you a large opportunity to make a whole bunch
1:10:08of changes and create data and make edits to things
1:10:11and things like that in a way that will very much
1:10:14confuse software and cause weird bugs to happen
1:10:16that you might not immediately see.
1:10:18- See, and I understand that, but I think two different
1:10:22comments in the chat room kind of sum up my opinion.
1:10:24Psycho Machead said, "Tons of things not working
1:10:26"is better than everything not working,"
1:10:28and I agree with that, because you guys aren't wrong.
1:10:30You're absolutely right.
1:10:32But I didn't know at the time, and I knew I was about to go to sleep for the evening
1:10:37and cross into this no man's land, I didn't know at the time how bad the error was.
1:10:41I heard it was just a constant re-spring, but I didn't know if it was a constant re-spring
1:10:45every two seconds, every two minutes, every two hours.
1:10:50And I wanted to leave myself the ability to say, I don't know, do a software update without
1:10:56having to worry about the re-spring happening every two seconds.
1:10:59Now, as it turns out, it was not every two seconds.
1:11:02It was every like two or three minutes.
1:11:03But I didn't know at the time, and I knew I was about to go to sleep.
1:11:07But like Marco said, data loss, like turning your phone off is still the preferable one
1:11:11like until the dust settles.
1:11:13Because if you had a sink engine that now thinks the server side version is newer than
1:11:17your day old data, which is actually updated a second ago, and it overwrites your locally
1:11:22edited information with stuff from the server.
1:11:24Like you haven't actually done anything, but you merely change the date back.
1:11:26so it's confused about what the latest stuff is,
1:11:28and it brings that, like, you could have data loss,
1:11:31whereas, you know, the re-spring thing,
1:11:33or even just the restarting,
1:11:35there was not a mention of data loss in that,
1:11:37and either way, if you wanna avoid it entirely,
1:11:39turn your phone off, shut it down,
1:11:41and wait to find out what the deal is.
1:11:42That is the safest possible default.
1:11:45And I'm not saying, like, you know,
1:11:46saying it's not the end of the world,
1:11:48like, you made a call,
1:11:50you probably knew the risks better than most people.
1:11:52This is mostly for other people who think
1:11:53that changing the data has no risks associated with it,
1:11:56emphasize that it has lots of risks and the fallout from it can ripple through for a long
1:12:02time and can be hard to distinguish problems caused by you changing the date and problems
1:12:08caused by the bug and problems that still linger after the bug is fixed.
1:12:12And like I said, I think that happened.
1:12:13People who changed the date had problems when they tried to apply the software update because
1:12:17they had changed the date.
1:12:18See, but the thing is, though, we didn't know, or at least I didn't know at the time I made
1:12:24this decision what was going to happen. And I don't think just turning off my phone and
1:12:29waiting to the next day and trying on another device to see what the fix was, that to me
1:12:34is not a valid option. Because what if, for the sake of discussion, it was a re-spring
1:12:38every two seconds? How am I going to accomplish anything at that point? So my phone goes off
1:12:45and everything's working. By that I mean I turn it off Friday night, everything's working.
1:12:50Saturday morning I wake up and I turn it on
1:12:53Immediately re-springs re-springs re-springs now. What do I do?
1:12:57Well, you don't turn on that you don't turn on the phone until you know
1:13:00there's a fix like or do you know what the situation is because like
1:13:02Information came out like we don't know what we don't know now
1:13:05But presumably by the next day you wake up and you read here's what the deal is. Is there a fix?
1:13:10Is there not a fix? How bad is the bug?
1:13:11What are the possible workarounds was like, you know?
1:13:14Like waiting for more information to come out essentially because more information did come out in about a day
1:13:17you learn the shape of this bug, you learn what it actually caused, you learn multiple
1:13:22workarounds including the date thing, and by then people were learning about the problems
1:13:25about having the date bug.
1:13:27I'm just saying patience, right?
1:13:29And no, your phone's not going to fix itself when it's turned off, but it's also not going
1:13:32to get worse.
1:13:33So presumably, Apple will fix this.
1:13:35Apple's not going to allow this.
1:13:36If it's an important bug, it's not like Apple's going to be silent for six months about this
1:13:39bug and no one can turn on their phones.
1:13:41You're not going to be stuck with a turned off phone forever.
1:13:43There will be a fix.
1:13:45And the more serious it is, the sooner the fix will be.
1:13:47So I guess that is perhaps the most annoying option, but is also the most conservative
1:13:52and probably the safest.
1:13:53And that's why I would rank it above changing the date, because that's more of a risky option.
1:13:57It's a way like, can I do something that will expose me to a small amount of risk, but let
1:14:01me not have to, let me continue to use my phone, essentially.
1:14:04Yeah, that's exactly the math I did.
1:14:06And to me, being able to still use my phone was worth that risk.
1:14:10And I'm not saying that I'm right, but I'm just saying I stand by the decision I made
1:14:14the time. But anyway, as it turns out, it was not as dire as I thought. And to be honest, John's
1:14:20approach in retrospect was the best answer, which would have been to turn off your phone, just wait
1:14:26it out, see what happens. And as I think I said a moment ago, it turns out that I guess something
1:14:32with local notifications was causing an error within springboard. And springboard is, you know,
1:14:37the the home screen among other things. And so springboard would crash every two or three minutes.
1:14:41And this was only if you had an app that used a local notification.
1:14:45And if you're not an iOS developer, that may not mean a lot to you.
1:14:49And so a local notification to a user looks identical in almost every scenario, actually
1:14:55every scenario I can think of, to a push notification.
1:14:57But the difference is rather than coming from an external to your device server, it's coming
1:15:01from your phone itself.
1:15:03So your phone is either saying, maybe in a background process, "Oh, I would like to
1:15:08have a notification show up. Or perhaps in the case of like, "Do, D-U-E. Hey, this person
1:15:14has asked for a reminder about this thing they want to do at nine o'clock in the evening.
1:15:20The person has asked to be reminded that ATP is being recorded, and so they'll schedule
1:15:26a reminder locally on the device for nine o'clock on Wednesday evening." And those were
1:15:31the things that were causing the problem. And by the time I woke up, there was actually
1:15:36a fix available. And before we talk about what that fix was, do we have any other commentary
1:15:41about the bug itself?
1:15:42Yeah, I do. Before you get to Marco's commentary, the best solution obviously is always luck,
1:15:49which is what I have going for me today because I was way behind in Twitter. So like I said,
1:15:53I'm reading about the bug like hours and hours, like I'm reading hours and hours old tweets.
1:15:57So the whole rest of the world knows how it turns out already, but I don't know. I'm reading,
1:16:01you know, five hours ago tweets, right? And I'm like, huh, look at this bug and I'm rolling
1:16:04through and so I'm learning about it in real time on my phone.
1:16:07All the while I'm like, I can't wait to see how this turns out.
1:16:10Is it going to turn out that my phone is affected by it?
1:16:12I'm like, well, it's not rebooting to Springboard constantly, right?
1:16:15So I guess I'll…
1:16:16You won't believe what happens next.
1:16:17Yeah, right.
1:16:18So basically I lucked out because I guess I don't have any applications that do local
1:16:21notifications.
1:16:22So I got to read the story of my present backwards in time and that was fun.
1:16:29And so yeah, if you can rely on luck, I highly recommend it.
1:16:33- My solution was to be a member of multiple Slack groups
1:16:36where Casey was also a member.
1:16:38Because on the night of December 1st,
1:16:41when this was all coming out,
1:16:42like right before midnight
1:16:43that it was going to start happening,
1:16:45Casey posted in every Slack that he was in
1:16:48about this horrible thing.
1:16:49- I was very nervous.
1:16:50- I read his Slack things backwards in time too.
1:16:52I'm like, "Oh wow, Casey really went all out
1:16:54"warning the world about this bug."
1:16:56- Well because again, at the time,
1:16:58I didn't have a whole lot of facts.
1:16:59But what I did know was that people in the future,
1:17:03that I mean in like Australia and New Zealand were having serious problems with their phones.
1:17:07And so these are all, like, especially in the slacks, you know, I didn't really sound
1:17:11the alarm too heavily on Twitter, but for my friends in Slack, I want you guys to be
1:17:17able to react and do something about this. Be that turn off your phone, be it set your
1:17:20clocks, whatever the case may be. Because the initial reports, of course, because it
1:17:24was a game of telephone, was, "Oh my god, your phone is going to explode if you cross
1:17:28I think it was 1215 on Saturday morning.
1:17:31And so, yes, I was spamming everyone,
1:17:34but I stand by that as well,
1:17:35because I would much rather, you know, roles reversed,
1:17:38I would much rather see Marco or John spam me
1:17:41in two or three different slacks and say,
1:17:42"Oh God, set your clock back."
1:17:44And at least be, or make a decision, you know,
1:17:46what I wanna do, rather than have Marco or John be like,
1:17:50"Eh, I'm sure it's fine."
1:17:51- Well, and I appreciate it,
1:17:52'cause that's how I heard about it,
1:17:53because like, so I had like a night,
1:17:55like I think, I forgot I was doing that night,
1:17:57but I was like, you know, spending time with family,
1:17:58so I wasn't browsing the internet,
1:17:59I wasn't on Twitter that night,
1:18:01and as I mentioned in previous episodes,
1:18:02I don't have Twitter on my phone anymore,
1:18:04so I don't browse Twitter on my phone,
1:18:05so I was getting ready, I was brushing my teeth
1:18:07and reading my phone, because I'm a hopeless
1:18:09technology addict and I read my phone
1:18:10while I brush my teeth.
1:18:11- Yep.
1:18:12- Right?
1:18:13(laughs)
1:18:14You gotta hold the toothbrush like straight down
1:18:16so Face ID will recognize you.
1:18:18Then you first open it up.
1:18:19Anyway, how else are you gonna spend two minutes?
1:18:22Thinking?
1:18:23No.
1:18:24(laughs)
1:18:26So anyway, so I'm brushing my teeth
1:18:29and I started seeing all these messages from you
1:18:31and I started thinking, and by that time,
1:18:33we had known by that point,
1:18:36this was like four minutes before midnight,
1:18:39but we knew at that point that it had to do
1:18:42with recurring local notifications only.
1:18:45So as I'm sitting there brushing my teeth,
1:18:47I'm like, oh my God, wait, okay.
1:18:49Quick inventory of household devices,
1:18:51what's gonna be a problem?
1:18:52Like, all right, all my stuff's on the beta, so I'm fine.
1:18:55Tiff, oh no, her stuff is not in the beta.
1:18:58I'm thinking like, what's the fastest way
1:18:59I can solve this problem in the next four minutes?
1:19:02Well Tiff's trying to like read her phone in bed,
1:19:03like you know, read Instagram and like go to sleep.
1:19:06And I rush in, I run into the bedroom.
1:19:08- Grab it out of her hand.
1:19:10- I run into the bedroom with the toothbrush in my mouth.
1:19:12I'm like Tiff, uninstall your water reminder app
1:19:16sometime in the next four minutes.
1:19:17(laughing)
1:19:19She's like what, why, like just do it.
1:19:21What, and she's like freaking like why?
1:19:23'Cause she could tell I was super freaked out about it.
1:19:25She had no idea what the hell I was talking about.
1:19:27Because I realized that like, I was thinking like,
1:19:28thinking through what she would have on her phone
1:19:31that would send recurring local notifications.
1:19:34She had some kind of like,
1:19:35drink more water reminding application.
1:19:37So I knew that was a thing.
1:19:39And I like, I finished my speech, ran back in,
1:19:42had like two minutes left.
1:19:43I was like, are there any other apps
1:19:45that you have on your phone that send you notifications
1:19:48that are not from a big company?
1:19:50Because the thing is like, every other app
1:19:52from a big company is going to send
1:19:55remote push notifications.
1:19:56They're never gonna use local.
1:19:57They're only gonna ever use remote.
1:20:00The only apps that really ever use local notifications
1:20:03at all are apps that really need to, for some reason,
1:20:06like reminding apps or alarm apps or to-do apps,
1:20:10or Overcast, that's an implementation detail.
1:20:12And so, and I knew because it was recurring
1:20:15local notifications, that cuts out a lot
1:20:18of potential app types.
1:20:21Very few apps use recurring local notifications.
1:20:25So that's why this was a huge problem.
1:20:29It was a huge problem only for people
1:20:31who use a relatively small subset of app types.
1:20:34So this was actually not nearly as bad
1:20:37as it could have been.
1:20:38I mean if this was a problem with anybody
1:20:39who had any kind of notifications,
1:20:41that would have been a much bigger problem than it was.
1:20:44And it was pretty big, but it could have been way worse.
1:20:48So anyway, so she got off okay after reinstalling
1:20:50the Water Reminder app, 'cause I was even thinking,
1:20:53like, can I install a beta in four minutes?
1:20:56Nope, that's not gonna be fast enough.
1:20:59Didn't have the profile installed, it's not gonna work.
1:21:02Yeah, so anyway.
1:21:03How did Apple solve this problem, Casey?
1:21:06- So as it turns out, and we've kind of put these pieces,
1:21:09not the three of us, just in general,
1:21:11the communities put these pieces together after the fact,
1:21:13as it turns out, iOS 11.2 is due to come out this week,
1:21:16and I've heard conflicting reports,
1:21:18what day of the week it was supposed to come out
1:21:20and it doesn't really matter to be honest, but--
1:21:22- It probably wasn't Friday night at midnight.
1:21:24- Yeah, exactly.
1:21:26So, 11.2 was in the hopper, so to speak,
1:21:30and it was imminently going to be released.
1:21:32And so, one would assume that it had been heavily QA'd,
1:21:37it was pretty much ready to go,
1:21:38and they were just waiting to make sure
1:21:40that their servers were up to snuff,
1:21:42that the emergency response team was there and ready to act
1:21:47when they hit the go button,
1:21:49or whatever it is that Apple does
1:21:50when they release new iOS point release.
1:21:53And so if you think about it,
1:21:56Apple had a couple of choices, right?
1:21:57They can-- - I'm kind of imagining
1:21:59like Johnny Ive in a totally white room
1:22:03with a big white button on a perfectly formed
1:22:06wooden Apple Store table. (laughing)
1:22:09- Go.
1:22:10It wouldn't even be labeled though.
1:22:11- No, he hates buttons.
1:22:13It would just be a spot on the table--
1:22:15- Yeah, exactly. - That he would have to just
1:22:16apply some pressure to,
1:22:18it would be a force click button.
1:22:19- He just gives it a meaningful look,
1:22:20he doesn't have to touch it.
1:22:21(laughing)
1:22:24- But anyway, the point is that,
1:22:27Apple all kidding aside, had basically two choices.
1:22:29They could either put together a fix just for this issue
1:22:32and try to emergency QA test it
1:22:35and try to put together an emergency patch
1:22:37and start shipping this patch.
1:22:39Or it was very quickly obvious that people on the beta
1:22:42were not having this problem like Marco had said.
1:22:44And so they could alternatively just say,
1:22:47you know what the hell with it 11.2 wasn't supposed to go out like Marco said at midnight
1:22:52Eastern on a Friday evening and gosh knows that if you've ever done anything with software
1:22:58You never want to deploy on a Friday night because that means you're you're really on a Friday at all
1:23:02Because that means your weekend is all but assuredly screwed. But at this point they were screwed anyway, so we why not and
1:23:08What they ended up doing was releasing 11.2 early which I think was a smart choice
1:23:15I mean, it's easy for me to armchair a quarterback, but hey, that's what we do.
1:23:19To me, I think that was the best choice they could have made, but it certainly had its
1:23:23own set of penalties, in no small part because, say, the release notes, for example, if I'm
1:23:29not mistaken, mentioned Apple Pay Cash?
1:23:33Is that what it's called?
1:23:34Basically, Peer2Peer or Apple Pay.
1:23:36Apple Venmo.
1:23:38Apple Venmo/Apple Square Cash.
1:23:39Well, anyways, so that was mentioned in the release notes, and then all of us, including
1:23:43went to go find it and it wasn't there and we were like,
1:23:44"Well, what's going on here?"
1:23:46And as it turns out, there was a server-side switch
1:23:48they needed to flip, which I think they did Monday?
1:23:51Or it was early this week, regardless.
1:23:53But, you know, it was clear that this was not
1:23:55their intention, but given the hand they had
1:23:58in front of them, I think this was the best decision
1:24:00they could have made.
1:24:01I mean, Marco, would you say that you would do
1:24:03the same thing in their shoes?
1:24:05- I mean, I don't really have enough information
1:24:06to know what their options really were here,
1:24:07but probably, I mean, see, like I was using the 11.2 beta
1:24:11for a while and it seemed fine to me,
1:24:13but that's just one person.
1:24:14If it was truly just a couple of days from release,
1:24:19then yeah, that seems like a totally fine solution.
1:24:22The problem is embarrassing.
1:24:24The fact that they keep having problems with iPhones
1:24:27related to date and time is concerning.
1:24:32For things like alarms not going off in certain days
1:24:34for people and weird daylight savings bugs.
1:24:37I am definitely concerned
1:24:40the number of bugs that iOS specifically has
1:24:45about local date and time issues.
1:24:49I thought we were done with those a few years ago
1:24:50and apparently we're not, and that I think could use
1:24:53some investigation on Apple's part, maybe some auditing
1:24:58and some, you know, really making sure that code is solid
1:25:00because we shouldn't be having those kinds of bugs in 2017.
1:25:04You know, Apple's better than that.
1:25:06But as for the actual fix they did to fix this
1:25:09horribly embarrassing bug.
1:25:11Yeah, it seems fine.
1:25:12- You know, and I should also mention,
1:25:14there was something going on with Mac OS as well,
1:25:16and I never really got a clear read on what it was,
1:25:19but like-- - Have you guys heard
1:25:20that month 13 is out of bounds?
1:25:22(laughing)
1:25:22- I have heard that.
1:25:23- Have you heard the good news about month 13?
1:25:26- Tell me again why I should update to High Sierra.
1:25:28- Month 13. (laughing)
1:25:30Is it in bounds, or is it out of bounds?
1:25:32I forget. (laughing)
1:25:33- You'll never know.
1:25:34No, but it wasn't even the month 13 thing.
1:25:36There's something to do with Spotlight, I think,
1:25:38or something like that.
1:25:38I forget exactly what it was, but there was a,
1:25:41not widespread, but medium spread,
1:25:44I don't even know if that's really a phrase,
1:25:46but a medium spread bug that was affecting,
1:25:48I believe High Sierra as well,
1:25:51and I can't remember what the hell it was,
1:25:52but it was something to do with like your menu bar
1:25:55or spotlight or something like that.
1:25:57- I haven't seen that one.
1:25:58And I'm afraid to look at my console
1:26:01for the month 13 messages, but.
1:26:02No, the month 13 one is still going on, isn't it?
1:26:05- Did 10 point whatever, point two fix it?
1:26:07I looked at the release notes for it briefly and I thought the very first item would be
1:26:11month 13 is now no longer out of bounds.
1:26:14We've added a new month 13 to the calendar to fix this bug.
1:26:17Yeah, people aren't so far as to find the code in core foundation that runs this assertion
1:26:22that is printing this message.
1:26:25I know in the grand scheme of all things we've talked about with the springboard crashing
1:26:31repeatedly and whatever the problem was last week that I've already forgotten, month 13
1:26:37out of bounds, which to be clear, what we're talking about is a message that appears in
1:26:41the console on your Mac that repeatedly tells you that month 13 is out of bounds.
1:26:45Like multiple times per second, like slowing down your Mac.
1:26:48Yeah, it depends on where it's coming from, what applications you have running, but it
1:26:53sounds like, you know, well whatever, your Mac still works, you just got a bunch of noise
1:26:55in the console, not a big deal.
1:26:57But something about the sort of, you know, the hygienic programmer in me finds that one
1:27:05All the more bothersome because it hasn't been fixed, and sort of knowing that your
1:27:09computer is emitting 10 or 20 of this identical log message per second every second every
1:27:16day that you're using it, and Apple hasn't fixed it, kind of like, gnaws at the back
1:27:21of my mind.
1:27:23It doesn't sit well with me.
1:27:27Regardless of the actual implications, like, "Oh, they use a database format, and it coalesces
1:27:31duplicates, and really it's just incrementing a counter, and you're not actually storing
1:27:34duplicates and blah blah blah, but like whatever, I don't care about the technical things.
1:27:38Like it's just, you know, and maybe also as a server-side programmer, noise in logs is
1:27:44bad.
1:27:45Noise in logs prevent you from seeing signal.
1:27:47Stop spewing stuff to logs.
1:27:49Like it's the thing that makes you go around the company with the big virtual stick and
1:27:52bop people on the head and say, "Stop, stop filling the logs with crap.
1:27:56If you're debugging, fine, debug and then turn off your log messages.
1:27:59Like keep the logs clean."
1:28:01So I really hope that month 13 will no longer
1:28:04be out of bounds.
1:28:06- Yeah, that's the one big thing.
1:28:07When they introduce this new logging framework,
1:28:09I think it was what, last year or the year before?
1:28:12When they introduced the new logging framework,
1:28:14like they tattered like, oh, it's so lightweight,
1:28:16you can just leave incredibly verbose logging
1:28:18enabled all the time and the system will handle it
1:28:20because like, oh, it's so efficient
1:28:22and if no one's looking at the log,
1:28:25it doesn't get written anywhere or something like that.
1:28:27There's all sorts of details that make it super efficient.
1:28:29But yeah, I'm with you.
1:28:30Like first of all, looking at console,
1:28:32or even the Xcode developer log,
1:28:35is nearly useless since this change.
1:28:37Because the apparent message within Apple
1:28:41when they did this was,
1:28:42now that we've made logging really cheap,
1:28:44we can just dump diarrhea in the logs
1:28:47constantly from everything.
1:28:49And it makes it really hard to actually look at the logs
1:28:53when you're having a problem
1:28:54and find anything useful at all.
1:28:56Or to run anything on a tethered device with Xcode
1:29:00and even if you do the whole OS, whatever,
1:29:03OS disable mode, disable, whatever that macro is
1:29:06you're supposed to set, it doesn't actually work.
1:29:07It doesn't actually do what you want.
1:29:09And it's just like, every part of iOS and macOS
1:29:13now just dumps so much crap to the log
1:29:16that it has made the log useless.
1:29:18And not only for developers, but also just for users.
1:29:21Like sometimes, some forum answer will be like,
1:29:23"Hey, go look at console.app for something like this,"
1:29:26and that might tell us an answer.
1:29:28I really strongly disagree with the Apple way of doing this now where logging tons of
1:29:36unnecessary crap all the time is considered okay because they made logs really cheap.
1:29:40Yeah, and for the developers, I think it's actually more reasonable to say, "Oh, just
1:29:45whitelist your application.
1:29:46Use our filtering features to just see logs from your applications."
1:29:49But for users, console has historically been, granted, one of the last resorts, but when
1:29:55and you're really desperate to see what the deal is,
1:29:58you will probably find yourself launching console
1:30:02and saying, "Maybe there's a messaging console
1:30:04"that will let me know what the problem is."
1:30:07And in that case, you can't run any filters
1:30:09because you don't know what you wanna filter.
1:30:11You don't know what application or what part of the system,
1:30:13you don't know what to filter for, you can't whitelist,
1:30:15you could selectively blacklist
1:30:17if you had eliminated sources of things,
1:30:19but sort of an overview of like,
1:30:22"Hey, is anything weird going on in my system?"
1:30:23That's why in server-side applications,
1:30:26the general best practice is to not have noisy log,
1:30:28to have at least one log that is basically,
1:30:30when everything's okay, the log is relatively quiet
1:30:34or there's only one kind of log message there.
1:30:36Or like in some way where you can say,
1:30:38look, if anything other than this normal state
1:30:40appears here, we have a problem.
1:30:42And the normal state may be total quiet,
1:30:44which would mean that every single line
1:30:46to this log means there's a problem.
1:30:48Or the normal state could mean
1:30:49log messages of this type are fine,
1:30:51but if you see any other kind of log message,
1:30:53that's an indicative of a problem.
1:30:54That's what you need.
1:30:55If you just have a big dumping ground,
1:30:57no matter how good your filtering facilities are,
1:30:58no matter how good you are at keeping up your white lists
1:31:00or blacklists of filtering, it's very difficult to,
1:31:04especially in the case of an emergency,
1:31:06you have no place to look anymore
1:31:08where a human being can look at it and say,
1:31:09does that look normal to you?
1:31:10It's like, I don't know, it's just a bunch of crap.
1:31:13Is it more crap or less crap than we were before?
1:31:16And then finally, like month 13 is out of bounds,
1:31:18it represents some kind of error.
1:31:20Is it a programming error?
1:31:21Is it a data error?
1:31:22whatever the source of the error is,
1:31:23is an assertion that it's failing,
1:31:24and we all agree that there is no month 13
1:31:26in the calendar that we all use,
1:31:28so something somewhere is wrong,
1:31:29so someone should fix it,
1:31:30so we don't have to see that message 20 times a second.
1:31:32- Should this be a log message?
1:31:34Shouldn't this be an assertion?
1:31:35Shouldn't it crash?
1:31:36Like that's--
1:31:37- Yeah, let's, you know.
1:31:38- By the way, also, for the record,
1:31:39I have 10.13.2 on my laptop.
1:31:42I just booted it up.
1:31:44This log, I'm still getting month 13
1:31:46is out of bounds errors in the console,
1:31:47so 10.13.2 does not fix this bug.
1:31:49It also doesn't fix my font smoothing bug,
1:31:51because the unchecking the use font smoothing
1:31:54when available box still is completely broken
1:31:58now what, three months after the release of this OS,
1:32:01two major point releases in.
1:32:03If you have that box off,
1:32:04everything is still completely broken.
1:32:06So thanks Apple.
1:32:08Why am I being pushed so hard to use this OS?
1:32:10Why is this being pushed forcibly through my app store?
1:32:13Promote it when it's ready.
1:32:15It's not ready.
1:32:17Sorry.
1:32:18- Anyway, the month 13 thing,
1:32:20I don't think crashing is probably appropriate
1:32:21Because if it's a data-driven error, the data is bad, the code is not.
1:32:24The code is just telling you the data is bad in a verbose way, in the tradition that you
1:32:28just said of like, "Oh, if you find something wrong and you're not going to throw an exception,
1:32:32just log it so you'll know about it."
1:32:34But if it happens 20 times a second, it's not great.
1:32:36So I'm assuming this is some sort of data bug where some piece of data somewhere, either
1:32:41from the network or on the system, has a bad date in it, or some bad date math added 1
1:32:46to a 12 and got a 13.
1:32:49reason for the code in question to throw an exception in that case because it could be
1:32:53inside some important subsystem that doesn't want to like take down the whole system just
1:32:56because it got some bad data or whatever.
1:32:58I'm just saying find where the bug is and fix it.
1:33:00And obviously it is less urgent than everything else we've talked about.
1:33:03But you know, irrationally, like I said, hygiene-wise, for me it feels mentally urgent to me that
1:33:10this stopped being on in the console.
1:33:15So not a good week for Apple last week.
1:33:18Between the root bug and this bug, it's just not good.
1:33:23But not actually, I'm gonna say not, you know, so it's not good, lots of bugs, but not actually
1:33:26that bad either, because in the grand scheme of things, Apple, like, either through luck,
1:33:31partially through luck, but also partially through things working the way they're supposed
1:33:34to, Apple got fixes out in a timely manner.
1:33:39The fixes more or less work, plus or minus some minor fixes to the fixes.
1:33:44The user base in general, you know, could have been much worse, but it wasn't.
1:33:50I mean, the reasons Marco said local notifications only, the fact that the fixes came out pretty
1:33:55quickly.
1:33:56I'm not sure if any of these things even made it out of the little tech nerd circle onto
1:33:59like the evening news or whatever into the wider world.
1:34:02Like was there a front page New York Times story about everybody's iPhones bricking?
1:34:05Like that would be worse, right?
1:34:06So it was unfortunate and there was definitely some bad luck involved, but there was also
1:34:11some good luck.
1:34:12I think Apple more or less functioned the way it's supposed to.
1:34:15Oh, you've got an emergency and a bug, all hands on deck, let's fix the problem, and
1:34:20they fixed it.
1:34:21So you can get pessimistic about the fact that there's all these bugs, and we've
1:34:25talked about that at length, but I'm mostly satisfied that Apple handled the situation
1:34:31the way you would expect a professional good organization to handle the situation.
1:34:35Yeah, I would agree with that.
1:34:37- Yeah, I mean, they're not like, as angry as I am
1:34:41about how crappy they're treating High Sierra right now,
1:34:44and how it should not be,
1:34:45it should not have been released, period.
1:34:47Like this OS is still a beta,
1:34:50and should not have been released,
1:34:52and if they insisted on releasing it,
1:34:53they should not be promoting it as hard as they are,
1:34:55they should not be automatically prompting people
1:34:57to install it as much as they are,
1:34:59but all that being said, they are making software,
1:35:02bugs happen, they are fixing them.
1:35:04You know, bugs happen on both platforms now,
1:35:06Like this isn't just a Mac thing, like iOS has problems,
1:35:08Mac has problems, as long as they fix the problems,
1:35:11they're doing their job.
1:35:12Yeah, but High Sierra is not ready.
1:35:15- I mean, I don't know why you say that.
1:35:17I have it on every one of my machines and it's been fine.
1:35:20- It's just very upset about font smoothing.
1:35:22- Apparently.
1:35:23- Well, and root and month 13, like,
1:35:25it's not that it has one problem.
1:35:28High Sierra has lots of problems.
1:35:31- I don't know, I mean, it depends on
1:35:33if you encounter the problems.
1:35:34Like, if, the example is that I had all these trepidations
1:35:38about installing it, right?
1:35:39And then eventually I just did install it
1:35:41on my wife's computer and it's been fine.
1:35:43I mean, I'm sure her console is filling right now
1:35:45with month 13 being out of bounds.
1:35:47But beyond that, it's more or less works.
1:35:49It's hard for me to gauge like,
1:35:51what is the stability of this thing
1:35:52across the entire user base?
1:35:54Some people have more problems with it than others.
1:35:56None of us have the Windows Server crashing bug,
1:35:58which would certainly be something
1:36:00that would make us all screaming
1:36:01that we shouldn't have upgraded, right?
1:36:03'cause if your computer crashes every 30 to 60 minutes,
1:36:07like, party crashes, kernel panics, that's bad.
1:36:09But I don't know, I feel like Apple probably knows
1:36:14what the stability's like.
1:36:15Certainly it feels shakier than we wish
1:36:18the Mac operating system ever would feel,
1:36:21but early releases of all major updates are like that.
1:36:24And certainly, as we said in the last show,
1:36:25it doesn't live up to the billing as a stability release,
1:36:29like as it was pitched.
1:36:31But it's hard for me to gauge exactly how dire it is.
1:36:34And I still remember the bad old days of 10.5.0
1:36:38and even 10.6.0 and like, oh, the zero releases back
1:36:40in the old days were just so much worse.
1:36:43Like, you may make your computer unusable,
1:36:46but Mark goes right in that they didn't push those.
1:36:47So they didn't automatically download those
1:36:49and throw things in your face to tell you to upgrade.
1:36:50Like no one even knew Leopard was out
1:36:52until most of us had suffered through 10.5.0,
1:36:5510.5.1 and 10.5.2.
1:36:57So it's a different world.
1:37:00- Yeah.
1:37:01Tell us about your iPhone, John.
1:37:03- Do we have time for this?
1:37:04I guess we do.
1:37:04My iPhone is full.
1:37:05- What is that?
1:37:07So wait, what size did you get?
1:37:09- I didn't, here's the thing.
1:37:11When--
1:37:11- Oh, here we go.
1:37:12- We've all seen the Google ads where they,
1:37:14like part of their advertising campaign is they show up
1:37:16that little dialogue that says like, never see this again.
1:37:19And it's a little iOS dialogue.
1:37:21It comes up and says like, whatever it says,
1:37:23your iPhone is full or you're out of storage.
1:37:24I don't remember the exact wording,
1:37:25but that's been an ad campaigns for Android devices,
1:37:28specifically for Google Android devices, I think, for a while now. And I had never seen
1:37:33that. And so when it appeared, my first question was, "How big is this phone?" Because I'd
1:37:39forgotten. It's an iPhone 7. I bought it a long time ago. I don't remember what size
1:37:42I got. I was surprised to learn that I got a 128, which I normally don't do. Like, I
1:37:48normally get the smaller size, so I'm like, "Oh, I don't have that much stuff on it, and
1:37:51it's not a big deal." It used to be that, you know, back in the old days, when the cameras
1:37:56on phones and iPod Touches really sucked. The biggest thing on your phone or iPod Touch,
1:38:03which I keep saying because that's what I had at the time, was your music. And I was
1:38:07like, "Oh, I'm not going to put my whole music collection on there. I'll just put my three-star
1:38:10plus playlist on there," which is like the songs that I like from my music collection
1:38:14essentially. I'll just put them on there and that's not that big. And that's the biggest
1:38:17thing that's going to be on my phone and my music collection doesn't grow that much. So
1:38:20all I need to do is get a phone or iPod Touch that fits my music collection and I'll be
1:38:24fine but now the cameras on phones and maybe iPod touches are super awesome and
1:38:29we all take lots of pictures with it and the pictures are big and I filled my
1:38:34128 gig phone with yes my music collection which doesn't get that much
1:38:38bigger very often but with photos I filled it with photos so you know you go
1:38:43to the dollar box office says go to manage storage you look at what's taking
1:38:46up all this room and you're like guess what photos and then second place music
1:38:50And then third place, everything else, right?
1:38:53So now I'm in this situation, and I'm like,
1:38:55I saw this ad came in, and I'm like, yeah.
1:38:56But if your phone fills up, you can fix that, right?
1:38:59It's pretty easy to fix.
1:39:00And to its credit, iOS has this pretty nice storage management
1:39:03screen where it will suggest a whole bunch of things
1:39:06you can do to get space back.
1:39:07And it will tell you exactly how much space
1:39:09you'll get back in priority order, the biggest things
1:39:11first.
1:39:12You can do the thing where you let the operating system offload
1:39:15apps that you don't use.
1:39:15And it tells you what the consequences of that are.
1:39:17And it tells you how much space it'll save.
1:39:19get rid of attachments on messages and it tells you how much space you'll save.
1:39:22You can delete messages older than a year and it tells you how much space that will save and all sorts of stuff like that.
1:39:27I was really impressed with that screen, which I'd never seen before.
1:39:30My problem was I didn't want to do any of those things.
1:39:33What I wanted to happen was iCloud photo library to say I am now going to eject photos that you haven't
1:39:40looked at in a long time and save only the tiniest of thumbnails for them and I'm gonna do that across your entire photo library
1:39:46shrinking it dramatically and I should have done that
1:39:4917 hours ago when I saw you were running out of room on your phone, but I didn't.
1:39:53Instead I waited for your phone to completely fill up and stopped you in the middle of filming
1:39:56a video of your cute dog.
1:39:58And popped up literally in the middle of filming a video of my cute dog and popped up a dialogue
1:40:01that says, "Your phone is full."
1:40:03I'm like, "Well, make it unfold."
1:40:05Like the whole point of optimized storage on my phone, get rid of photos that I haven't
1:40:09looked at.
1:40:10Like I have thousands of photos that I have never looked at on my phone.
1:40:13Get them off my phone.
1:40:14That's the whole point of optimized storage, right?
1:40:17And I know people have had the same frustration on their Mac.
1:40:19They're like, they set their Mac to optimized storage
1:40:21and their Mac's disk fills up and they're like,
1:40:24come on photos, optimized storage.
1:40:26The whole point is they're stored in the cloud.
1:40:28I don't need the full res ones here.
1:40:30Download them on demand,
1:40:31get the full res ones off of my system.
1:40:33So I didn't know what to do.
1:40:35So I'm like, I guess I'll try deleting some big apps.
1:40:38I guess I'll finally delete GarageBand that I never used
1:40:40'cause it's like 600 megs or whatever.
1:40:42I deleted some stuff thinking, maybe it's just a lag.
1:40:46Maybe the photos thing just takes a little while
1:40:50to catch up and it'll flush stuff out.
1:40:52But sure enough, like a couple hours later,
1:40:54phone full again.
1:40:55I deleted some more stuff.
1:40:56Next day, phone full again.
1:40:57Like every time I try to take a picture,
1:40:59it would happen literally when I'm taking pictures
1:41:00and videos, just like on the ads,
1:41:02'cause that's when the thing would fill up
1:41:04or hit some threshold.
1:41:05So I was like, I have no choice.
1:41:09I have to basically turn off iCloud Photo Library
1:41:12to convince it to delete these photos off my Mac,
1:41:14'cause it's just not doing it.
1:41:16So I turned off iCloud Photo Library and it said, "Do you want to keep these photos in your Mac or do you want to trash them?"
1:41:21I said, "Go ahead and trash them because they're all safe in the cloud, they're all safe on my Mac, like, you know, there are a million different places, I don't need them to be on my phone, I never look at them on my phone anyway."
1:41:30And by the way, remember, the photos on my photo library is not the family photo library. It's just my photos.
1:41:37The family photo library belongs to my wife, so I'm only talking about a tiny subset of the vast amount of photos I have.
1:41:43I have and I import all of my photos into the family photo library like painfully manually. There's no good way to do this
1:41:50So I wasn't really worried about the data, right?
1:41:54because it's not it's not the real photos and they're all new things so I told it to delete my photo library and
1:42:00And I click delete and it went through and now it's like it's removing space and I'm seeing space come back
1:42:05I get many many gigs free. I'm like, I ought to solve this problem and
1:42:10And then I found myself in the managed storage screen.
1:42:13I guess I was just trying to look up what the progress was
1:42:14or whatever.
1:42:15And I noticed in the managed storage screen it said,
1:42:18"Here's some things you can do to save space."
1:42:20And one of the top items was,
1:42:23"You should enable iCloud Photo Library
1:42:25'cause that'll save you 50 gigs."
1:42:27I was like, "What?
1:42:28(laughing)
1:42:29"How will enabling iCloud Photo Library save me 50 gigs?"
1:42:34Is it thinking, "Well, I see on your phone
1:42:36you've got gigs and gigs of photos,
1:42:38but if you enable iCloud Photo Library,
1:42:40I can upload all those to the cloud
1:42:42and then dump the full res versions,
1:42:43leaving only the thumbnail, saving you 50 gigs?
1:42:46Like that's the only way I could reason about that.
1:42:48Like that's how it was telling me
1:42:49you would think it would save space.
1:42:50And I would say, "Look, let me tell you,
1:42:52"I had it enabled and that's when my phone filled
1:42:54"and it didn't seem like it saved me space."
1:42:55But anyway, because it offered that to me,
1:42:58I said, "All right, I'll take that bet phone.
1:43:01"I'll enable my phone phone library right now.
1:43:03"Let's see if you save me 50 gigs of space."
1:43:06- You're beating me up about setting my clock back
1:43:08and this is the sort of thing that you do?
1:43:10Like I said, to clarify, these photos are all safe and sound somewhere else.
1:43:13This is not the real family photo library.
1:43:16This is just me versus the phone to see.
1:43:18If you're going to tell me that I'm going to save 50 gigs, I'll enable it.
1:43:22And so I enabled it.
1:43:23And I think what I did was I enabled it so quickly after I had disabled that it hadn't
1:43:27deleted all the photos on my phone.
1:43:29It had just deleted many, many gigs of them.
1:43:32And I re-enabled it.
1:43:34And it went through this thing that said, "Uploading photos."
1:43:37I was like, oh no, is it uploading duplicates of these photos?
1:43:40Surely it knows that it has already uploaded all these.
1:43:42And it did, it figured it out.
1:43:44It said, I gotta upload like 9,000 photos,
1:43:47and it was like, yup, I'm all done.
1:43:48Because all those photos were already uploaded,
1:43:50so it didn't actually re-upload them, no duplicates.
1:43:53And then it just sat there in a steady state.
1:43:55So I'm like, well this technique worked.
1:43:58Disable icon photo library, tell it to delete,
1:44:00wait a short time for it to delete several gigs,
1:44:03then re-enable it, let it figure out
1:44:05that everything that's on the phone
1:44:06has already been uploaded,
1:44:07and let it just say, well, there's nothing for me to do.
1:44:08I guess everything's fine on this phone.
1:44:10So that is my update on my full phone.
1:44:14I'm not sure if I dealt with it in the right way.
1:44:17I'm not sure what the right way really would be.
1:44:20And just to go through the things that I didn't wanna do,
1:44:24I didn't wanna delete message attachments
1:44:25just because I'm stubborn and I'm waiting
1:44:27for that stupid iCloud message sync thing to happen
1:44:30so that all my messages would be in the cloud
1:44:32and I could delete them locally.
1:44:33Like I didn't want, you know, people send me cute videos.
1:44:36I don't want to save them to my video library, but I don't want them to be gone, right?
1:44:39I did want to delete a bunch of applications, especially ones that I might not be able to
1:44:42re-download from the store, although there's fewer of them these days because of the 64-bit
1:44:46thing that kills a lot of my cool 32-bit apps.
1:44:48R.I.P.
1:44:49Flight control.
1:44:50Yeah.
1:44:51I didn't want to delete any big games and stuff that I play, because I may not play
1:44:57them that often, but when I do want to play them, I like the fact that it's there and
1:45:00I can just launch it and play with it.
1:45:03I didn't want to delete any of my music because I already had a minimal set of my music on
1:45:06there and I didn't want to stream music like it was just another option that I could have
1:45:09done but I like the fact that the music is on there.
1:45:12What I did want to happen was for the photos to flash out.
1:45:14So anyway, I took the phone up on its bed and it sure didn't save me 50 gigs but my
1:45:19phone is no longer full again and I guess what this means is the next time I get a phone
1:45:22I'll be sure to get the 256 or whatever the biggest size the offer is because now I'm
1:45:26apparently one of those people who fills his phone.
1:45:28I will say a useful tip that somebody told me somewhere,
1:45:32or I found somewhere when I was setting up my laptop last,
1:45:35is on iOS, you're screwed.
1:45:38You're up to the iCloud gods to do what they need to do
1:45:40with optimizing storage, which they seem to not do reliably.
1:45:44But on the Mac, I strongly recommend this tactic,
1:45:48where if you're gonna have your main Mac
1:45:51download all the files and download originals, fine.
1:45:54Do it normally.
1:45:55If you're gonna use iCloud Photo Library
1:45:57and have it optimize storage on a Mac.
1:45:59If you have an idea of how much disk space
1:46:02you want that to use at most,
1:46:04create a sparse bundle disk image
1:46:07and locate your photos library on that
1:46:10and you can just have it auto mount
1:46:11by adding it as a login item in your login items.
1:46:14And so I have a disk image called photos
1:46:16that I set as a maximum size of,
1:46:18I think it was like 20 gigs that I chose,
1:46:20something like that.
1:46:21That's why I've been doing it on my new old laptop.
1:46:25and it is wonderful because it filled that up
1:46:29maybe two thirds of the way and then just stopped.
1:46:32And so now I can control exactly how much disk space
1:46:36it uses and it will never exceed the limit
1:46:40on this sparse bundle.
1:46:42It's glorious.
1:46:44I don't know why this isn't a setting.
1:46:46They should just have a setting.
1:46:48- Can you imagine some other way to implement that feature
1:46:50that doesn't involve this image?
1:46:51Imagine if they just had a setting for it.
1:46:52- Yeah, maybe, yeah, an action of storage limit setting.
1:46:55That would be amazing, but they don't have that.
1:46:58So in the absence of them being willing to add
1:47:01such an incredibly useful, obvious setting
1:47:03that everyone needs on a laptop,
1:47:04because the SSDs are expensive and small,
1:47:06make a sparse bundle disk image and disk utility,
1:47:09and you can locate the photo library on that,
1:47:11add it as a login item, and it automatically mounts,
1:47:13and everything just works, except you have a defined limit
1:47:16to how big your photos library can be,
1:47:18and it will stay under it.
1:47:19It is wonderful.
1:47:21I was going to make fun of the inefficiency of the solution because now you've got like
1:47:23another layer of pseudo file system that all your I/O is going through, which, you know,
1:47:28can't be efficient.
1:47:29But I do something even worse for network time machine backups.
1:47:33And what I probably should be doing is I think what both of you use is quotas on Synology.
1:47:37You just have the quotas per user, right?
1:47:39Yep, works great.
1:47:40Yep.
1:47:41I think I actually do have the quotas set, but I think I'm slightly over-provisioned in
1:47:44typical fashion.
1:47:46So usually if things start to fill up, I use the TMUTIL thing to delete historic backups,
1:47:51because at least in the case of time machines, there is a physical way for me to do what
1:47:54the system should be doing anyway, which is cleaning up old backups.
1:47:57But sometimes it gets cranky when you get close to too much space.
1:48:00So I have on my network time machine volume a non-sparse disk image as a space-filling
1:48:08placeholder.
1:48:09Like many gigs of a space-filling placeholder.
1:48:13If I ever get to the point where I'm really super full and a time machine needs like too much needs scratch space to get
1:48:20It out of its bind guess what I take the space filler chuck it in the trash empty. You know it delete it
1:48:25Resolve the time machine thing and put back the space filler which is I you know it's disgusting it reminds me of that awesome story
1:48:31I hope it's not a pocket world is one of my favorite internet stories of the
1:48:36Experienced game developer who has some mandate to fit all some I figure I'm gonna messing up details
1:48:42but to fit all the assets for this game in a certain amount of memory and
1:48:45It's like getting to be crunch time and they have to ship and they're like, you know
1:48:49200 K
1:48:51This is the old days of PC gaming like 200 K over their RAM limit and they can't figure out how to ring any more RAM
1:48:56Out and at the beginning of project he'd made a two megabyte RAM buffer as a static variable and in some C file
1:49:01He just comments that line out and says done ship it
1:49:04My thing is obviously much worse than that and not clever at all
1:49:08But it is it is a thing that I do and it has actually come in handy
1:49:11I want to make so much fun of you, Jon, but that is actually very, very clever.
1:49:16It's not.
1:49:17It's stupid.
1:49:18I should use quotas, but I'm just saying it's a thing I do.
1:49:19Well, fair.
1:49:20Fair.
1:49:21I mean, is that that much worse than a micro-freezy sparse bundle hack?
1:49:23Yeah, well, you know, the sparse bundle, like, the sparse bundle thing just makes me so angry
1:49:28about how these automated systems, like, for version one, fine, but this is obviously a
1:49:32thing that people want.
1:49:33They want more control over how much space your thing is taking, and if the optimized
1:49:36thing really worked the way it was supposed to, where you don't have to worry about,
1:49:39take care of it, no one would complain.
1:49:41Like, that's a great goal, but many years later, on all their systems, their sort of
1:49:45optimized storage thing does not work the way people expect.
1:49:49Like there's, it lets it fill up, it doesn't catch it before it fills up, in scenarios
1:49:53where you're, it's not like, I'm not like I'm flooding, I mean, I suppose video I am
1:49:56kind of flooding the phone with lots of data, but like, it's not unforeseeable by the system
1:50:02that we're getting close to the disk storage limit, and when it does hit the limit, it
1:50:06It seems like no part of the system scrambles to get your space back.
1:50:09They're like, "Yeah, you've hit your limit.
1:50:10No, we're not going to do anything about it.
1:50:12Like, maybe, maybe that demon will wake up and consider thinning some, but maybe it won't.
1:50:17Like, we're not in a hurry.
1:50:19Is it wise?
1:50:20Is there some urgency about this?
1:50:21Perhaps you should go to the settings app on the managed storage screen so you can clear
1:50:23that red badge."
1:50:24Well, it makes you look at that, by the way.
1:50:26It makes you look at that managed storage screen to clear that badge every time it tells
1:50:29you that message.
1:50:30I know that because it would tell me that message a lot.
1:50:32And there's no way to get rid of it until you go into that screen and let it grind away
1:50:36and say, "Here's all the things you can do to save space."
1:50:37I'm like, "You know what you can do to save space?
1:50:40"Get rid of some photos."
1:50:42- Goodness.
1:50:43- Thanks to our sponsors this week,
1:50:44Fracture, Aftershocks, and Linode,
1:50:46and we will see you next week.
1:50:48(upbeat music)
1:50:50♫ Now the show is over
1:50:53♫ They didn't even mean to begin
1:50:55♫ 'Cause it was accidental
1:50:57♫ Accidental
1:50:58♫ Oh, it was accidental
1:51:00♫ Accidental
1:51:01♫ John didn't do any research
1:51:03Marco and Casey wouldn't let him 'Cause it was accidental
1:51:07It was accidental And you can find the show notes at ATP.FM
1:51:14And if you're into Twitter You can follow them at C-A-S-E-Y-L-I-S-S
1:51:22So that's Casey List M-A-R-C-O-A-R-M
1:51:30T-M-A-R-C-O-R-M-N-S-I-R-A-C-U-S-A-C-R-A-C-U-S-A-C-R-A-C-U-S-A
1:51:37It's accidental (It's accidental)
1:51:40They didn't mean to accidental (Accidental)
1:51:45Tech broadcast so long
1:51:50How's the weather up there Marco?
1:51:52Uh, cold? Rainy?
1:51:54How's the forecast though?
1:51:57- Oh, ha, ha. - There it is.
1:51:59- There we go.
1:52:02It's Overcast.
1:52:03- Nicely done, nicely done.
1:52:06We'll be here all week, kids.
1:52:08Anyway, so you've released a Mac app.
1:52:12Congratulations.
1:52:12- Yeah, my second Mac app.
1:52:13Don't forget Quitter.
1:52:15- Yes, that's true, that's true.
1:52:17- I noticed that on my system the other day
1:52:18when I was command spacing it.
1:52:19I think I mistyped and Quitter came up.
1:52:21I'm like, "Oh yeah, I remember that."
1:52:23- Yeah, so I released Forecast.
1:52:24It's a Mac app.
1:52:25It's for producing your own podcasts.
1:52:27It is an MP3 encoder and chapter tool
1:52:30and lets you input some of the MP3 metadata
1:52:33right in the app.
1:52:34And this, I mentioned this on this show
1:52:37a number of times over the last two years or so
1:52:41that I've been developing it.
1:52:42It is a parallelized version of the LAME MP3 encoder
1:52:47under the hood.
1:52:48The parallelization is actually done fairly boringly.
1:52:52It's done entirely outside of LAME.
1:52:54But LAME is a terrible name.
1:52:56That's kind of like an ableist problem name now,
1:52:59but this was named a very long time ago
1:53:00before we were as aware of these things,
1:53:02and I didn't name it,
1:53:03but it happens to be the best MP3 encoder.
1:53:05So I apologize for the terrible name,
1:53:07but it is called the Lame MP3 Encoder.
1:53:09It is the, pretty much the only way
1:53:13you can encode an MP3 legally today
1:53:17without using software that had a preexistent deal
1:53:20with the Fraunhofer Institute
1:53:22that was the creator of the MP3 originally
1:53:24back in like the late 80s and it was them
1:53:28whose patents expired this past spring.
1:53:30When their patents expired, they stopped licensing
1:53:33their encoder at any price.
1:53:35Believe me, I tried.
1:53:36So the only way to encode MP3s legally today
1:53:39if you don't already have a copy or a license
1:53:41of the lame MP3 encoder like Apple does
1:53:43with iTunes and Logic is to use the lame open source project.
1:53:48So anyway, that's what Forecast does
1:53:51And the parallelization happens outside of that.
1:53:54I basically split the file into chunks,
1:53:57send them each to a copy of the regular standard
1:54:00libmp3 lame that comes with the source distribution
1:54:03from Homebrew, rejoin those chunks after they are encoded
1:54:08into one MP3 file.
1:54:09Because as I mentioned earlier in the show,
1:54:11during the question about dynamic ad insertion,
1:54:13MP3 file format is easily spliced and easily rejoined
1:54:17and hacked up like that without causing too many problems
1:54:20as long as you're a little bit careful.
1:54:21So that's what it does.
1:54:24And it is optimized for the workflow that me
1:54:29and some of my podcaster friends have,
1:54:33which is we create MP3 chapters as markers in Logic Pro.
1:54:38You can also do this from Adobe Audition.
1:54:42And I don't think there's a good way to do it
1:54:44from Audacity, unfortunately.
1:54:45I know people are trying.
1:54:46I'm not yet aware of a way to do it.
1:54:49but anything that can export markers as metadata
1:54:54in a WAV file, forecast will try to import that as chapters.
1:54:58You can also create them manually,
1:55:00but I wouldn't recommend that because the interface
1:55:02for doing so is awful because I don't do that.
1:55:05So, also it's all a table view with Cocoa bindings
1:55:09and that makes a bunch of weird little behaviors
1:55:12and inconsistencies and bugs that I need to get rid of
1:55:14by dumping Cocoa bindings, but that's a lot of work
1:55:17and I haven't gotten there yet.
1:55:18Anyway, so I released this app,
1:55:21and I released it for free for lots of reasons
1:55:23that I don't know if I can talk about it if you want to,
1:55:24if you care.
1:55:25I've talked a little bit about some of this stuff
1:55:26on Under the Radar, but I don't know,
1:55:29what do you guys wanna know?
1:55:30Where should I start here?
1:55:32- So what was the motivation?
1:55:33It was simply just efficiency?
1:55:36- Yeah, pretty much.
1:55:36It was, you know, I wanted, first of all,
1:55:40the way I was encoding this show before
1:55:42was by using the command line version of Lame.
1:55:46And I was doing that, you know,
1:55:48I wasn't using the built-in MP3 encoder in Logic,
1:55:50which is the Fraunhofer encoder,
1:55:52which is actually a little bit better quality
1:55:54for low bit rate speech, and also a little bit faster.
1:55:58But I wasn't using that because I wanted,
1:56:00as part of my workflow, to automate things
1:56:03like putting in the right artwork for the show,
1:56:06putting in the right podcast title
1:56:08and episode number and everything.
1:56:09So I had some shell scripts to do that before,
1:56:12and I would shell out to the lame MP3 encoder
1:56:15on the command line.
1:56:16and encoding an episode of the show
1:56:18would take like four or five minutes.
1:56:20And you know, to an impatient programmer,
1:56:22that's just death.
1:56:23Like, just have to sit there and wait.
1:56:25And every time, like if I wanted to change the file,
1:56:28would have to then wait another five minutes
1:56:30for it to re-encode, and it was a pain.
1:56:31So, and I've always loved hacking audio stuff.
1:56:36As you can tell from some of my career choices,
1:56:38always loved it, always loved dealing with audio.
1:56:41And so I decided, you know what,
1:56:43There has to be a way to make this parallel.
1:56:46I have all these cores sitting around doing nothing
1:56:49on my computer while one core works its butt off
1:56:52for five minutes.
1:56:53This is incredibly offensive to me.
1:56:55Let me figure out a way to solve this.
1:56:58And in addition, I realize like if I control
1:57:02like a GUI version of the encoder,
1:57:04I can save myself some time in other ways.
1:57:07For instance, we host this podcast on Squarespace.
1:57:09Well, we host the website and the feed on Squarespace.
1:57:12the files are hosted at Libsyn.
1:57:14And that's a setup I recommend, by the way.
1:57:16But anyway, the Squarespace requires that you paste in
1:57:20the file size and the duration of the podcast file
1:57:25that you're hosting elsewhere.
1:57:27It doesn't just fetch that, it requires that you paste it in.
1:57:29So I figure like, oh, if I can have a tool that like
1:57:32helps me easily copy those things to the clipboard,
1:57:33I can save a few steps there.
1:57:35If I have a tool that can maybe pre-fill certain things
1:57:39based on what I did last for that same podcast,
1:57:41and save some time there. I also wanted to get involved with chaptering my show, our
1:57:48show. And, you know, the Germans kind of convinced me to do it. The Germans are frustratingly
1:57:52right a lot of the time. And, man, I love the Germans. Anyway, so they convinced us
1:57:59all over time. They wore us down and convinced us all that we should probably have chapters
1:58:03on our show and wanted to do that. And I was not happy with the state of the tools to do
1:58:07that two years ago, they were pretty minimal
1:58:09and almost non-existent.
1:58:10And so I wanted to basically solve all these problems
1:58:14at once and so I did, I made an app that was basically
1:58:18my ideal app for podcast encoding and post-production work.
1:58:22I basically made it for myself to save myself time
1:58:26and it does dramatically, so it saves me tons of time
1:58:28every week now that I produce multiple shows
1:58:32and even if I just produced this one,
1:58:33it would still be worth doing.
1:58:35So, and I had a private beta with many of our
1:58:38podcasting friends, probably most notably the people
1:58:43at Relay, Mike, Steven, Jason Snell, they were wonderful
1:58:47beta testers and they uncovered lots of little bugs
1:58:50over the years and we've hopefully fixed them all.
1:58:54And here we are.
1:58:56- So why free?
1:58:57And I know you talked about this on Under the Radar,
1:58:59but what's the kind of short, short version?
1:59:02The main reason is that my expected number
1:59:06of paid customers for this,
1:59:07like if I would have charged money for this,
1:59:10the total number of paid customers I would expect to get
1:59:14is maybe 100.
1:59:15Like there aren't that many podcast producers
1:59:18relative to other professions.
1:59:20Among podcast producers, there aren't that many of them
1:59:24who are willing to try some random tool like this from me.
1:59:28And because the volume would be so low,
1:59:31I would have to price it at like 50 bucks or more
1:59:35to make it worthwhile.
1:59:36And I just figured the market would be so small
1:59:40that, you know, if this was a paid app,
1:59:43the market would be so small that the total amount
1:59:45of money I would make from this is not that great.
1:59:50And the cost of supporting an app that was paid
1:59:54to that level is very high.
1:59:56Like if someone pays 50 bucks for an app or more,
1:59:59they expect a certain level of support for that money.
2:00:02And I did not want to offer that level of support
2:00:05for the anticipated very low customer volume
2:00:07that this would probably generate.
2:00:09And then secondarily, I realized like,
2:00:11there's actually like strategic benefits to this
2:00:14for Overcast, where if I supply the encoder
2:00:19and I control the encoder's UI and features
2:00:23for a bunch of popular podcasts,
2:00:24and I also control the podcast app,
2:00:27then I can do cool features.
2:00:29I can implement new features, I can extend the
2:00:32implementations of current features.
2:00:33So for instance, one of the features that observant
2:00:36listeners might have noticed in ATP and in Overcast
2:00:40over the last couple of months is that I've had the ability
2:00:43to basically create invisible chapters.
2:00:47Chapters that don't show up in the chapter list,
2:00:50but that at a certain time stamp show a certain image
2:00:53or a link or both, but just are not in the table of contents,
2:00:58not in the list of chapters.
2:01:00This is part of the MP3 chapter spec.
2:01:02They actually say like, oh, not every chapter
2:01:04needs to be a member of a table of contents.
2:01:06You could, for instance, just show something
2:01:09at a certain time, but no apps implemented that,
2:01:12both in the encoding or the playing side.
2:01:15Because I controlled the encoder on the player,
2:01:17I implemented that.
2:01:18And so now we have this cool feature
2:01:19that we can do with podcasts,
2:01:20where you can have invisible chapters.
2:01:23So if you want to show a certain link, like right now,
2:01:26or a certain picture right now,
2:01:28without disrupting the semantic structure of the chapter
2:01:31that you're currently in, or if you want to show links
2:01:35or images at certain times without having the rest
2:01:38of the show even have chapters,
2:01:41without having a chapter structure
2:01:42for the rest of the show at all, you can now do that.
2:01:46That's a cool feature, and I'm only able to do that feature
2:01:48because I control an encoder and a player.
2:01:52And so I realized the more people who use this encoder,
2:01:57the better it works out for Overcast
2:01:59and for podcasting as a whole.
2:02:01And so I decided, you know what,
2:02:03because of the combination of those strategic benefits
2:02:06and the fact that any paid income
2:02:09would probably be pretty small
2:02:10and would probably bring a large support burden
2:02:12for that smallness,
2:02:14I decided free was the better approach.
2:02:18So it's free.
2:02:19- But it's not just free.
2:02:22You have an interesting business model, sort of,
2:02:25at the bottom of the forecast page
2:02:27at overcast.fm/forecast.
2:02:30- Oh yeah, I say something along the lines of like,
2:02:32you know, if you use this and you find it useful
2:02:35for your podcasts, I would appreciate
2:02:37if you occasionally promoted Overcast.
2:02:39And you don't have to do it, it's not a requirement,
2:02:41and if it's a show where that doesn't make sense,
2:02:43I was thinking of like, You Look Nice Today.
2:02:46Like, you know, it's not really in production anymore,
2:02:47but like, a show like You Look Nice Today,
2:02:50or even like Due By Friday, which I kind of use
2:02:52or spiritual successor, it doesn't make sense
2:02:56to promote things in a show like that.
2:02:58That doesn't contextually fit.
2:03:00It would sound weird.
2:03:02So I don't want you promoting overcast in a show like that.
2:03:05But if you have a show which most people do,
2:03:07of like, at the end you have like,
2:03:10oh please, you know, rate us on iTunes
2:03:11and subscribe and stitch here or whatever else,
2:03:14occasionally throw an overcast there.
2:03:16That's it, that's my business model.
2:03:17It's like, if you feel like it and if you can,
2:03:20I'd appreciate if you promoted Overcast sometimes.
2:03:23But you don't have to.
2:03:25- Where are you hiding this application?
2:03:26I read the webpage when you linked it on Twitter,
2:03:28but now I'm looking for it.
2:03:29Marco.org/apps doesn't list it.
2:03:31That seems like an oversight.
2:03:32- Yeah, I still have a lot of places I need to update this.
2:03:34It was kind of a soft launch.
2:03:35I've basically launched it on Twitter.
2:03:37The Overcast site does not link to it from anywhere yet.
2:03:40(laughing)
2:03:41- So where is it?
2:03:42I'm realizing I don't even know--
2:03:44- Overcast FM/Forecast.
2:03:46- All right.
2:03:47I don't even know what the icon looks like.
2:03:49- The icon is a tongue-in-cheek joke.
2:03:52It was created by the wonderful ForgottenTowel,
2:03:57the designer who does all of the Relay FM artwork.
2:04:02I hired him to do this icon and--
2:04:04- It's so good.
2:04:05- 0.9, come on, you're better than that.
2:04:09- What is it, a 1.0, no.
2:04:11- You released it, you gotta go with 1.0.
2:04:13- Yeah, Apple released High Sierra too.
2:04:14- Don't you know that Simver has weird problems
2:04:17with version numbers that begin with zero?
2:04:18- I don't know that.
2:04:20- Anyway, I should probably put the icon on the app page.
2:04:27- I downloaded it to see the icon, so what is the joke?
2:04:29- You don't get the joke?
2:04:30Oh, it's so good.
2:04:32It's the German flag, but an F.
2:04:35- All right, yeah, I see that.
2:04:36I thought it was like some sort of,
2:04:37I should have known, some sports thing,
2:04:39like the sports logo or something,
2:04:40but yeah, I see the German flag colors now, yes.
2:04:43- Yeah, and a few Germans got it,
2:04:44and therefore they made it worth it.
2:04:46- So how do you, I look at this application
2:04:48And how do you feel about,
2:04:52I mean, I know this is just like a utility
2:04:54and you're like, you don't really care that much
2:04:55about the UI.
2:04:56It's very utilitarian applications
2:04:57for all the reasons you listed
2:04:58and even some part of the UI you don't even use.
2:05:01But it also doesn't look like you spent much time
2:05:05worrying about what the window would look like.
2:05:08Like you might have,
2:05:09if this was gonna be a commercial application,
2:05:10like it just kinda, it's just kinda there.
2:05:12Like it's not, things aren't badly aligned
2:05:15except for maybe it's a little bit too much space
2:05:17between the buttons and the rest of the thing.
2:05:18but it certainly is not a particularly showy application,
2:05:23let's say.
2:05:24- No, it really isn't at all,
2:05:25and I take full ownership of that,
2:05:27that this is not a pretty UI,
2:05:29this is not a highly polished UI.
2:05:31If you do what I said I'd never do,
2:05:34which is if you manually enter chapters,
2:05:37it's really unpolished.
2:05:39So this is not something that I'm really proud of the UI.
2:05:44This to me is a highly functional app.
2:05:47Most of what I, and I mentioned on this show
2:05:50a few times before, that I also have a tool
2:05:53that helps align double ender files
2:05:56and remove drift in them.
2:05:58This is not that tool.
2:06:00And I understand why people think it might be
2:06:02'cause I talked about that tool before.
2:06:03This is a separate tool.
2:06:04That tool is an even less polished command line app
2:06:08(laughs)
2:06:09that has tons of weird bugs and edge cases
2:06:11if you don't use it exactly the way I use it.
2:06:14And even then sometimes if you do.
2:06:15(laughs)
2:06:16And so that is nowhere near releasable state.
2:06:19It doesn't even have a GUI at all,
2:06:21and even the command line version
2:06:22is really not particularly releasable.
2:06:25This is a small step above that.
2:06:27This has a GUI, it is not a good interface,
2:06:30it is not a polished interface,
2:06:32but this is a tool for pro workflows that are like mine.
2:06:36Even if no one else ever uses it,
2:06:42it works great for me, and so I'm happy with that.
2:06:45It's hard to justify spending a lot of time on it,
2:06:48like polishing it up, when I also am maintaining overcast
2:06:51and having to update that and move that forward
2:06:53and everything.
2:06:55So it's probably never gonna be incredibly polished
2:06:58in the UI.
2:06:59I just wanna make sure that it's really useful.
2:07:02And so, you know, like many Pro Tools,
2:07:05it's kind of ugly, but just functional.
2:07:08- You should add a drawer.
2:07:09- I actually had a drawer in one of the early versions.
2:07:13- Yeah, 'cause I was thinking like,
2:07:15you know, it would be, like one of the things
2:07:17that is an obvious next step for features for this app
2:07:20is to have a little player, and to have it like
2:07:23preview and simulate like, you know,
2:07:25how the chapters would look in a player,
2:07:27and be able to seek to them and play them and everything
2:07:29to make sure that they're right.
2:07:30- You gotta bring back the old visualizer from Overcast.
2:07:33- Yeah. (laughs)
2:07:34I still have all that code, obviously.
2:07:36Yeah, and so if you're gonna add a player to this,
2:07:38a drawer is kind of the obvious way to do it.
2:07:41- No, it is not the obvious,
2:07:42- It's the obvious joke way to do it.
2:07:44Didn't they just deprecate that this year?
2:07:47- I probably, no I mean I wouldn't do it,
2:07:49but I was tempted to do it.
2:07:51(laughing)
2:07:53- A floating brush metal window is the clear way to do that.
2:07:55- Oh yeah, definitely.
2:07:56- Textured, sorry it's not brush metal.
2:07:58- Yeah, textured, yeah.
2:07:59Looked like iSync.
2:08:00- All right, so I have two questions for you.
2:08:03Number one, do you have any kind of analytics anywhere,
2:08:06just so you know, was this market as small as you thought,
2:08:09or have you had 11 D billion downloads
2:08:12and turns out you might have miscalculated?
2:08:14- I can figure this out now or later.
2:08:18I don't need to do this in the app and so I haven't yet.
2:08:21In order to distribute this app outside of the App Store,
2:08:24which, and honestly, I wasn't trying to make
2:08:26some kind of giant political statement
2:08:27by not being in the App Store.
2:08:29There was just no need for me to be in the App Store,
2:08:31so I wasn't, I didn't feel that it was worth
2:08:33the burdens of being in the App Store for no benefit really.
2:08:38So, I'm not in the App Store, so I had to build in
2:08:42distribution functionality, I had to build in auto updating.
2:08:45And the way you do auto updating in Mac apps
2:08:47is through the Sparkle framework.
2:08:49That's how pretty much everyone does it.
2:08:51Everyone who uses a Mac app that is not from the App Store
2:08:54has seen the little windows that say,
2:08:56like, you know, an update's available,
2:08:57do you wanna install it now, or, you know,
2:08:58run it later, or skip this version,
2:09:00and you would click install now,
2:09:01and it shows like a little like, you know,
2:09:03progress bar, and then it quits and relaunches the app.
2:09:05There's a reason why those are the same
2:09:07across pretty much every app.
2:09:08They all use the same framework called Sparkle.
2:09:10And so the way Sparkle works is once a day or whatever,
2:09:15when you launch the app, it checks a server's RSS feed,
2:09:20and it's a special RSS feed that is for versions of the app.
2:09:24So for me to distribute this,
2:09:27I had to basically build all that.
2:09:28And when I made Quitter, I built like a very,
2:09:31very basic version of that that's just basically
2:09:33all like shell scripts that would generate static files
2:09:36and then upload them to my server.
2:09:38For forecast, this is an Overcast product.
2:09:39I wanted this to live on the Overcast servers.
2:09:42I wanted to finally do a little bit better of a job,
2:09:44so I kind of made my own crappy little version
2:09:47of iTunes Connect for it, where I can upload a build,
2:09:51and a script on the server reads the build number
2:09:55and the version number out of that build,
2:09:57signs it for a Sparkle update mechanism,
2:10:01like there's a signature involved, so signs it for that,
2:10:05and then creates like an entry,
2:10:07then I can enter release notes in that entry
2:10:09and I can say whether it's released or not.
2:10:11So I can actually very easily add a thing to this system
2:10:15that remembers how many people check that RSS feed every day
2:10:19and reports to me roughly how many users there are.
2:10:22Or I can just log like how many downloads the file has,
2:10:25which I also don't do.
2:10:25- Sure, sure.
2:10:26- I probably should be doing that, but I'm not.
2:10:28But overall, the response I've gotten on Twitter so far
2:10:34has been huge.
2:10:36It's been way bigger than I expected.
2:10:39And I think this is really a good sign.
2:10:41There's a lot more podcast producers out there
2:10:46than the people I know.
2:10:48It isn't so many that I regret releasing it for free.
2:10:55I think if it wasn't free, many of them wouldn't try it
2:10:57because they don't know me and this is just
2:10:58some random thing.
2:10:59But because it's free, it is spreading pretty wide.
2:11:04wider than I expected it to spread so quickly,
2:11:05especially since I'm linking to it
2:11:06from nowhere on the site.
2:11:08So yeah, so far it's going pretty well.
2:11:12- Good.
2:11:14And because it's my favorite thing to ask,
2:11:18what was the either hardest or crummiest part
2:11:20of the entire process?
2:11:22And I think that your Under the Radar episode
2:11:24talked about a lot of the like,
2:11:27oh, the app is done, but there's so much more to do.
2:11:30And like you were talking about,
2:11:31like your Marco Connect, you know,
2:11:33or your fake iTunes Connect and all that had to be written.
2:11:35But over the entire process from start to finish,
2:11:39including all this administrivia you had to do,
2:11:41what would you say was either the hardest
2:11:43or the most difficult or crummiest part to deal with?
2:11:47- By far the hardest part of this app
2:11:50is just learning AppKit.
2:11:53It's learning how to make Mac apps.
2:11:55I had made Quitter before and I made a couple
2:11:58of little experimental dumb crap before that.
2:12:00But this is the first time that I really have made
2:12:04a Mac app of any kind of substance.
2:12:07Now the good thing is, you know,
2:12:10AppKit provides a lot of really rich functionality built in.
2:12:14So like the entire document model,
2:12:16I don't have to worry that much about like,
2:12:18windowing, opening, saving, save as, stuff like that,
2:12:22like a lot of that comes for free.
2:12:24And so that's pretty great.
2:12:25But the way that the actual UI works,
2:12:29like the way those table views work
2:12:30and the text fields inside the table views,
2:12:33and the formatters and the bindings to an array controller
2:12:36and all this weird stuff, to an iOS developer mainly,
2:12:40it might as well be Android.
2:12:41Like it's so different from the way iOS works
2:12:44that it's like starting over from zero.
2:12:49So I'm making Mac apps as though I'm a complete novice
2:12:53because for the Mac I am.
2:12:55That has been the hardest part is that
2:12:58I'm used to working at a certain speed and proficiency
2:13:01and design proficiency on iOS that I just don't have
2:13:05when making Mac OS apps.
2:13:07So that's been a very, very slow learning process.
2:13:10And it's also just harder on the Mac because the APIs
2:13:13have a lot more legacy because they're much older.
2:13:16So the APIs are a lot clunkier.
2:13:18They have not gotten nearly as much attention
2:13:20in the last decade as iOS has.
2:13:22So they are, in many ways, a lot harder to use
2:13:27or have a lot of antiquated or clunky things
2:13:29you have to do to use them.
2:13:31And the biggest problem with all of it is that
2:13:34because iOS is so incredibly popular
2:13:37and Mac OS development relatively isn't,
2:13:40it's very hard to find answers if you have questions
2:13:43for Mac OS development.
2:13:44There's not, like with iOS, you can search anything
2:13:47under the sun and you're gonna get a thousand Google results,
2:13:51half of them are gonna be really great tutorials
2:13:53on exactly what you have to do
2:13:55or great Stack Overflow answers on exactly the problem
2:13:58you're having, and a Mac OS, that's not the case
2:14:02most of the time.
2:14:03Most of the time what you're searching for,
2:14:04you will get either nothing helpful,
2:14:07or like one ancient mailing list post
2:14:10that you have to scan through the web version
2:14:12of a mailing list to find somebody who might
2:14:14maybe be talking about what you're talking about.
2:14:16It's a very different world.
2:14:19- I'm just trying to think of an excuse
2:14:20to use this application.
2:14:20Maybe I should produce a podcast.
2:14:22(laughing)
2:14:24- It's funny, you're on so many podcasts,
2:14:27but you've never produced one.
2:14:29- Drop artwork here, okay, why are you yelling at me?
2:14:32- It looked better.
2:14:33I don't know, this isn't like, me designing macOS apps,
2:14:36it's like the way everyone designs Windows apps.
2:14:39It's like, I don't know what the hell's good here,
2:14:41like just throw something there that looks good to me.
2:14:43- This is where you start using the guide snap things
2:14:46in Interface Builder, or did you not use
2:14:47Interface Builder for this at all?
2:14:48- No, I use it, and I use the guide snap things.
2:14:50No, I mean, and I told you, I built most of the interface
2:14:52the Cocoa bindings, just so I wouldn't have to learn
2:14:55a lot of the intricacies of table views.
2:14:57- And then all the experienced Mac developers
2:14:59scolded you for it.
2:15:00- Yeah, and then everyone's like,
2:15:01"Oh yeah, I don't use Cocoa bindings."
2:15:01I was like, "Yeah, thanks a lot."
2:15:03It is really nice to do certain,
2:15:05and you know, Cocoa bindings are great
2:15:07for really simple stuff like enabled/disabled states
2:15:11of certain buttons, tracking certain properties
2:15:14or things being nil or things like that.
2:15:16It's, there's a lot of value to Cocoa bindings,
2:15:19but for me to fix the main problem the app has,
2:15:22which is the manual entry of chapters
2:15:24is very clunky and weird,
2:15:26that is going to basically require dumping bindings
2:15:29for the table view.
2:15:31And that's gonna be, you know,
2:15:33I'm not gonna say it's gonna be a huge pain,
2:15:35but it's gonna be a decent amount of work at least.
2:15:38Especially because I'm totally unfamiliar with it.
2:15:40If it was iOS, I could do it in half a day.
2:15:43But because it's Mac OS,
2:15:44it's gonna take me a lot longer than that.
2:15:45And the good thing is that the app
2:15:47has gotten such a strong reception
2:15:49that I'm actually motivated to do things like this.
2:15:51to fix weird bugs that don't affect me personally.
2:15:54But I do have to also keep that in check with,
2:15:56this is not my primary job, my primary job is Overcast,
2:16:00and I need to make sure that Overcast
2:16:02is not going to suffer from me working too much on Forecast.
2:16:06The good thing is I don't think it's very likely,
2:16:08because I've been working on a forecast for two years.
2:16:12And the way I usually work on it is,
2:16:14I fix some things I've wanted to fix for a while,
2:16:18like for over a week,
2:16:20and then I don't touch it for six months.
2:16:22And then I spend another week tweaking it up,
2:16:25and then I go to the six months without touching it.
2:16:27Because it pretty much works,
2:16:28like it doesn't need a lot of attention.
2:16:30So hopefully this won't be a huge time sink,
2:16:33and I don't think it will.
2:16:35- How is Forecast choosing where to put its window
2:16:37when I hit Command + N?
2:16:39- I don't know.
2:16:40- Running a number generator?
2:16:43- I mean, so there's that weird like thing,
2:16:45interface builder, that little like window graphic thing
2:16:48where you say like, all right,
2:16:49position it kind of in the middle of the window on the left or something like, there's something
2:16:52in interface builder that lets you specify that.
2:16:54>> It is kind of in the middle on the left. I'm just, I wondered if this was a conscious
2:16:58choice or it's, it does remember, it does remember the window position between quits,
2:17:02which I'm assuming you're picking up for free as part of like the save restore.
2:17:05>> I think so.
2:17:06>> Same thing. But if you close all the windows and hit command N, a new window appears in
2:17:09a location that, I mean it's not random, it's always the same place, but it's like off center
2:17:14to the left kind of the middle vertically.
2:17:16- Yeah, I've selected that in the thing
2:17:19in Interface Builder that does that.
2:17:21I wasn't aware that was a global,
2:17:22I figured it would just use the last one
2:17:23and that would be like the very first time
2:17:26it ever made a window it would create it there.
2:17:27- No, no.
2:17:28- No, all right, see this is the problem.
2:17:30Like, I don't know how to do this on Mac OS yet.
2:17:33- That's fine, I don't know.
2:17:35The other thing that surprised me
2:17:36is that you use a Mac every day,
2:17:37but like, you know, when you laid out
2:17:39like the preferences dialog,
2:17:40that's laid out like no preference dialog in any Mac app.
2:17:42And you use Mac apps all the time.
2:17:44Like you see preference dialogs, but--
2:17:46there's like three preferences.
2:17:48- I know, I know, and yet surprisingly,
2:17:50laid out in kind of a weird Marco kind of way.
2:17:54(laughing)
2:17:56And the thing is, this is the thing I wanna emphasize,
2:17:58just because you use a Mac application all the time
2:18:00doesn't mean you consciously know,
2:18:02like if I'm making a dialogue from scratch
2:18:04and I have like two text boxes,
2:18:06two radio buttons and a button,
2:18:08how do I put them so it looks like correct?
2:18:11- Right, and I had so, like this stuff took me so long
2:18:15to try to figure out because I am not a Mac developer.
2:18:18It was very, very slow going.
2:18:23Again, it's like I was a novice,
2:18:24'cause for the Mac, I am a novice.
2:18:27And even using a Mac for all these years.
2:18:30- Yeah, that's what I'm saying.
2:18:30You don't think about it if you're not actually
2:18:32dragging the controls out,
2:18:33'cause when you see a Mac dialog box,
2:18:35you're like, oh, it looks more or less right,
2:18:36but then you see one, it doesn't quite look right.
2:18:37There's something off about it,
2:18:38but you can't quite place it,
2:18:39and it's like, what would fix this?
2:18:41Is it just because the button on the bottom is centered?
2:18:45What is the problem with that? I don't know. Anyway, it's fine. I appreciate you.
2:18:51Your icon does look like a sports logo though. I don't know why I keep thinking that.
2:18:53[BEEPING]