PodSearch

ATP

115: Empathy for the Machine

 

00:00:00 ◼   ► Learn about the cat game.

00:00:02 ◼   ► It's more boring than I thought it was.

00:00:04 ◼   ► I thought you get to play with the cats or something.

00:00:06 ◼   ► I thought it was interactive in some way, but they just show up.

00:00:08 ◼   ► Yeah, it's just like real cats.

00:00:10 ◼   ► You don't really interact with them.

00:00:11 ◼   ► You just kind of feed them.

00:00:13 ◼   ► Right.

00:00:14 ◼   ► You're just so excited that they exist and that you exist at the same time.

00:00:17 ◼   ► Oh, look, a cat!

00:00:18 ◼   ► And that's it.

00:00:19 ◼   ► You don't get to play with the cats.

00:00:20 ◼   ► You don't get to throw them toys.

00:00:21 ◼   ► It's just they show up, leave you crap, and then leave.

00:00:25 ◼   ► Yeah, they don't really care about you.

00:00:27 ◼   ► They just care about your food.

00:00:29 ◼   ► - And you can't even interact with them.

00:00:31 ◼   ► - Right, just like real cats.

00:00:33 ◼   ► - Don't like it.

00:00:33 ◼   ► - Don't like cats.

00:00:34 ◼   ► (electronic beeping)

00:00:36 ◼   ► - Are we talking about this Microsoft stuff at some point?

00:00:38 ◼   ► - I think we should, even though in the grand tradition

00:00:41 ◼   ► it's like happened today and nobody knows about

00:00:43 ◼   ► anything about it, but whatever, we all read headlines,

00:00:45 ◼   ► right, it's all it takes.

00:00:47 ◼   ► - Yeah, we're pundits, all we need is a headline.

00:00:49 ◼   ► - Well, this is pretty much all you guys

00:00:50 ◼   ► because I was really not following any of this.

00:00:53 ◼   ► I was using my Apple Watch all day,

00:00:55 ◼   ► which you guys can't say anything about.

00:00:57 ◼   ► (laughing)

00:00:58 ◼   ► - Damn it, Marco.

00:00:59 ◼   ► - But I don't know anything about the Microsoft stuff.

00:01:01 ◼   ► So I think we have a lot of stuff to cover

00:01:03 ◼   ► from subsets of us.

00:01:04 ◼   ► - Yeah, we'll be taking turns.

00:01:06 ◼   ► And we might as well start, as we always start,

00:01:09 ◼   ► with Jon taking the turn of follow-up.

00:01:12 ◼   ► - Yeah, I thought we had a lot of follow-up this week,

00:01:13 ◼   ► but now that I read through it, it's just long,

00:01:15 ◼   ► but I don't think it will take a long time

00:01:16 ◼   ► 'cause they're all small items.

00:01:18 ◼   ► - Famous last words.

00:01:19 ◼   ► - Everyone look at the timestamp.

00:01:21 ◼   ► - Oh, I was right last time I said that.

00:01:23 ◼   ► We got through it quickly, I think we will today too.

00:01:25 ◼   ► - Okay.

00:01:26 ◼   ► - So the first one is from Jon Tall,

00:01:28 ◼   ► giving us more color, as they say in Apple earnings calls,

00:01:32 ◼   ► about the Seagate, the bad Seagate hard drive thing

00:01:37 ◼   ► that we talked about.

00:01:38 ◼   ► And this is from 2011.

00:01:41 ◼   ► And he says it was actually a bug in their firmware.

00:01:44 ◼   ► And specifically, it was a bug in a counter

00:01:47 ◼   ► that kept track of how many times the drive had spun up.

00:01:50 ◼   ► And the counter would overflow,

00:01:51 ◼   ► and it would make the drive think that it was brand new,

00:01:55 ◼   ► that it had never been spun up.

00:01:57 ◼   ► And the reason the firmware would use this count is,

00:02:00 ◼   ► apparently when it's brand new,

00:02:01 ◼   ► it spins up really quickly.

00:02:03 ◼   ► And when it gets older,

00:02:04 ◼   ► it takes a little bit longer to spin up.

00:02:06 ◼   ► And the reason the hard drive wants to know

00:02:07 ◼   ► how long it takes to spin up,

00:02:08 ◼   ► is it wants to know when it's safe

00:02:10 ◼   ► to put the heads on top of the disc.

00:02:11 ◼   ► If you, we should put the link

00:02:13 ◼   ► to the Wikipedia hard drive page,

00:02:14 ◼   ► or maybe a how stuff works page or something.

00:02:17 ◼   ► If you don't know how hard drives work,

00:02:19 ◼   ► they have these little heads that look kind of like the,

00:02:21 ◼   ► what does it call the, in a phonograph case,

00:02:24 ◼   ► the tone arm or whatever.

00:02:26 ◼   ► - Well, the stylus. - Something like that.

00:02:27 ◼   ► Well, the stylus is the needle,

00:02:29 ◼   ► but I think you are talking about the tone arm, I think.

00:02:32 ◼   ► I don't even pay that much attention

00:02:34 ◼   ► as much as I have this reputation

00:02:36 ◼   ► for being obsessed with vinyl, I'm not even sure.

00:02:38 ◼   ► - You know, hard drives sound better than SSDs.

00:02:40 ◼   ► - Oh my God.

00:02:41 ◼   ► For people who don't know how hard drives works,

00:02:43 ◼   ► trying to explain it as an analogy for records,

00:02:46 ◼   ► which they probably might have never seen,

00:02:48 ◼   ► and even I who grew up with records

00:02:49 ◼   ► don't know what the heck the parts are called.

00:02:50 ◼   ► Anyway, it's a little arm that goes over the disc,

00:02:53 ◼   ► and it's got a little reed head on it

00:02:55 ◼   ► there's usually top and bottom of the disk and it's got a little read head that reads

00:02:58 ◼   ► a little, you know, the magnetic thing that reads little blips on the disk of magnetic

00:03:03 ◼   ► poles or whatever.

00:03:06 ◼   ► That head is really, really close to the disk.

00:03:08 ◼   ► That head cannot touch the disk because if it touches the disk it ruins it because the

00:03:12 ◼   ► disk is spinning very fast and it's made of, I don't know, some kind of metal, glass, whatever

00:03:17 ◼   ► material in the head is actually pretty hard and if it touches it, that's a head crash

00:03:20 ◼   ► that will put a big gouge in the disk and you basically ruined it.

00:03:23 ◼   ► and that's where the term crash in computers comes from.

00:03:26 ◼   ► - Is it where it comes from?

00:03:27 ◼   ► - Yeah, it's hard drive heads crashing into the bladders

00:03:30 ◼   ► and therefore killing the drive and you lose your data.

00:03:33 ◼   ► And originally when you say my computer crashed,

00:03:36 ◼   ► that was what you meant.

00:03:37 ◼   ► - I'm not sure if that's true, so listeners,

00:03:39 ◼   ► you can come in and tell us whether that's crazy.

00:03:41 ◼   ► All I know about is the bug that was the moth

00:03:42 ◼   ► that flew into the big machine and got caught

00:03:44 ◼   ► in the trip as the original bug.

00:03:45 ◼   ► But anyway, so it wants to know when is it safe

00:03:48 ◼   ► to bring the heads onto the disks,

00:03:50 ◼   ► 'cause when the disk is off, the heads are off on the side.

00:03:52 ◼   ► They're not over the discs at all.

00:03:54 ◼   ► They're parked.

00:03:55 ◼   ► Exactly.

00:03:56 ◼   ► In the parking lot.

00:03:57 ◼   ► Why does it matter how fast the disc is spinning?

00:03:59 ◼   ► Can't you just bring the heads out whenever the heck you feel like it?

00:04:01 ◼   ► No, because the thing that keeps the heads from touching the disc is a tiny cushion of

00:04:05 ◼   ► air between the head and the disc.

00:04:07 ◼   ► And it's super tiny.

00:04:08 ◼   ► Like they always show the diagram that shows like a human hair next to the gap.

00:04:11 ◼   ► And the human hair dwarfs the gap between the heads and things.

00:04:14 ◼   ► So they have to be really really close, but can't touch.

00:04:17 ◼   ► And so it's really important that the disks be spinning fast enough for the heads to be

00:04:23 ◼   ► able to safely move on to it.

00:04:24 ◼   ► And if that counter overflows and the mechanism, the hard drive thinks that it's a brand new

00:04:29 ◼   ► disk and it's probably spun up right away, it sends the heads out, they crash into the

00:04:32 ◼   ► disk and it kills them.

00:04:33 ◼   ► And so this is a firmware bug that causes a hardware failure that affected a lot of

00:04:38 ◼   ► Seagate drives, apparently.

00:04:40 ◼   ► All right.

00:04:41 ◼   ► We will put a link to HowStuffWorks that on page 95 of the slideshow.

00:04:47 ◼   ► What page was that?

00:04:49 ◼   ► On page, I think it's seven of that slideshow, they show what Jon is describing.

00:04:54 ◼   ► So we will have that in the show notes.

00:04:56 ◼   ► I wanted to jump in and do a very brief piece of follow-up.

00:05:01 ◼   ► I am talking to everyone on Aaron's MacBook Air, the one that went for a little swim last

00:05:06 ◼   ► week.

00:05:07 ◼   ► So this is going to be a short show?

00:05:08 ◼   ► Yeah, it's going to be a real short show.

00:05:11 ◼   ► It actually, knock on my glass desk,

00:05:15 ◼   ► has been doing just fine.

00:05:17 ◼   ► I'm not expecting that to continue on forever.

00:05:19 ◼   ► I'm expecting it to just, bzzt.

00:05:22 ◼   ► - Well, I guess we lost Casey.

00:05:24 ◼   ► - (laughs) I'm just kidding.

00:05:25 ◼   ► - Anyway.

00:05:26 ◼   ► - Yeah, moving on.

00:05:27 ◼   ► But no, all kidding aside, it is fine.

00:05:30 ◼   ► I am surprised by that.

00:05:31 ◼   ► I have heard several conflicting reports

00:05:33 ◼   ► as to how much Apple would charge me to fix this

00:05:36 ◼   ► if it does eventually fry.

00:05:38 ◼   ► I've heard a couple hundred dollars.

00:05:41 ◼   ► I've heard, "Well, maybe a genius will take pity on you."

00:05:44 ◼   ► I've heard, "$800 and anywhere in between."

00:05:48 ◼   ► So hopefully I'll never have to find out,

00:05:50 ◼   ► but as of tonight on Wednesday, what is it?

00:05:54 ◼   ► The 28th, 29th, or something like that, 29th.

00:05:58 ◼   ► Wednesday, the 29th of April,

00:05:59 ◼   ► it is still working much to my surprise.

00:06:01 ◼   ► So I'm very happy about that.

00:06:03 ◼   ► - Oh, you made that website though,

00:06:05 ◼   ► like the Death Watch website, right?

00:06:06 ◼   ► - Yeah, I did.

00:06:08 ◼   ► I did actually make a Death Watch website.

00:06:10 ◼   ► And what I did was I found a site somewhere

00:06:14 ◼   ► that would create a launch DP list for me.

00:06:17 ◼   ► And that launch DP list would then just launch cURL

00:06:21 ◼   ► and tickle a URL on my website, but it's very unreliable.

00:06:25 ◼   ► And so part of the reason I haven't publicized this link

00:06:28 ◼   ► is because it reports Aaron's Mac as being broken

00:06:33 ◼   ► and dead way more often than it actually is broken and dead.

00:06:38 ◼   ► - Yeah, I went to it and I saw that it was dead too.

00:06:40 ◼   ► And I said, "Well, for a second I was upset, and then I said, you know what, that's probably

00:06:44 ◼   ► just a monitoring failure."

00:06:45 ◼   ► Exactly.

00:06:46 ◼   ► And so the reason I haven't given this to the internet is because as much as I know

00:06:50 ◼   ► everyone would be doing it out of the goodness of their hearts, and I'm not being sarcastic,

00:06:53 ◼   ► I mean that, I would be getting hourly, if not minute-by-minute reports that Aaron's

00:06:58 ◼   ► computer is dead, I must check on it, go look right now, oh my God, it says it's dead.

00:07:02 ◼   ► When in reality, it's probably user error with me and LaunchD, but one way or another,

00:07:07 ◼   ► It's just not a very reliable mechanism for monitoring the Mac.

00:07:11 ◼   ► So there is a website for it.

00:07:12 ◼   ► I will not be sharing the link because it's not a very good link and it's not worth paying

00:07:16 ◼   ► attention to.

00:07:18 ◼   ► But it is alive.

00:07:19 ◼   ► And did you, you said that you went to a website to generate a launchd file.

00:07:24 ◼   ► Is that right?

00:07:25 ◼   ► So I don't know anything about launchd and I was originally going to use cron.

00:07:28 ◼   ► I was going to set up a cron job, but I can never get cron syntax right.

00:07:32 ◼   ► And so I was figuring out, okay, well, what do I have available to me?

00:07:36 ◼   ► You know, can I just do a scheduled task sort of thing?

00:07:38 ◼   ► And maybe there's an easier way of doing this that I just didn't think of or stumble upon but one way or another

00:07:43 ◼   ► I ended up going to this website that generated this just silly

00:07:48 ◼   ► Humongous p-list for launch D. And again, I don't really know what I'm talking about, but

00:07:56 ◼   ► apparently what launch D does is it you give it this p-list and you say on the

00:08:02 ◼   ► fifth minute of the zeroth hour

00:08:05 ◼   ► go run this command. On the 10th minute of the 0th hour, go run this command. On

00:08:09 ◼   ► the 15th minute of the 0th hour, and this continues through all 24 hours of the

00:08:13 ◼   ► day. And so because of that, this plist was enormous. Maybe that's not how

00:08:18 ◼   ► it's designed to be used. If it's not, it doesn't really matter. To be honest, I

00:08:22 ◼   ► don't really care, but I tried to do that real quick and I thought it was working,

00:08:26 ◼   ► but not so much. I put a link in the show notes to an app that will make launchd

00:08:31 ◼   ► P-lists for you because there are much more verbose.

00:08:35 ◼   ► And Casey's saying that he didn't know cron syntax

00:08:38 ◼   ► off the top of his head is the most Windows developer thing

00:08:40 ◼   ► I've ever heard him say.

00:08:41 ◼   ► (laughing)

00:08:43 ◼   ► I know it and I, yeah.

00:08:44 ◼   ► Yeah, so anyone who has ever done server side development

00:08:47 ◼   ► on any platform other than Windows knows how to write cron.

00:08:50 ◼   ► - Hi, John.

00:08:51 ◼   ► Well, and I find Launch D's syntax completely inscrutable.

00:08:55 ◼   ► - Yeah, now that's why there's like, yeah,

00:08:56 ◼   ► I don't think Casey's crazy to get help doing that

00:08:59 ◼   ► because it is like cron is easy.

00:09:00 ◼   ► It's just a bunch of items and they're in a weird order and you memorize it and if you

00:09:04 ◼   ► forget man5 crontab to refresh your memory, whatever, to see if this version supports

00:09:09 ◼   ► the /5 syntax or not.

00:09:11 ◼   ► Anyway, the lunchd stuff is way more complicated and I bet only the people who develop lunchd

00:09:16 ◼   ► at Apple have memorized all the options and all the different things you can add there.

00:09:20 ◼   ► And even if you're going to do it quote-unquote by hand, you'd use Apple's plist editor because

00:09:24 ◼   ► who writes plist by hand, right?

00:09:26 ◼   ► Animals.

00:09:27 ◼   ► Yeah.

00:09:28 ◼   ► There's the thing it's lingon or whatever is named after the the barrier the fruit

00:09:32 ◼   ► I have a version of it somewhere on here

00:09:34 ◼   ► Be careful because you can screw up your system with that like it lets you see I think all the p-lists for like the system

00:09:40 ◼   ► Wide things and if you're like what is this? I don't understand this I can delete that right just you know be careful out there

00:09:44 ◼   ► Does it taste like IKEA? Yeah, it's nice. I will put the

00:09:49 ◼   ► Site I used in the show notes as well as well

00:09:52 ◼   ► It's launched zero with calm and again

00:09:55 ◼   ► All it does is you say, "When do you want this thing to run?"

00:09:57 ◼   ► And it generates this humongously verbose launch DEP list.

00:10:00 ◼   ► - Photos. - Photos.

00:10:03 ◼   ► - Yep, this is from Andrew Woods.

00:10:05 ◼   ► He is making sure that we know that Photos

00:10:08 ◼   ► does a whole bunch of stuff in the background

00:10:10 ◼   ► even after it's done importing.

00:10:12 ◼   ► Said that an activity monitor on his 2010 MacBook Pro

00:10:15 ◼   ► showed it pegging all four cores,

00:10:18 ◼   ► all four virtual cores for a long time.

00:10:20 ◼   ► So his recommendation was to check activity monitor

00:10:23 ◼   ► Wait until things have settled down and things really are idle before judging his performance as I think I said in the last show

00:10:29 ◼   ► I did like I'm looking at activity monitor

00:10:31 ◼   ► I'm making sure that it's that I don't see the cloud deep process still grinding away or whatever. You know, I

00:10:36 ◼   ► Let it I really let it get into that steady state over the course of many days where I didn't see anything in top

00:10:42 ◼   ► Or whatever and then just try to do this down. So I was judging it

00:10:44 ◼   ► After it had gone to an aisle state

00:10:46 ◼   ► It's even worse

00:10:47 ◼   ► Of course if it's in the middle of doing face recognition or even uploading to iCloud or anything like that

00:10:52 ◼   ► but that's something if someone if you are trying photos for the first time and you're not accustomed to launching activity monitor and

00:10:58 ◼   ► Sorting by CPU and seeing if anything is grinding away

00:11:01 ◼   ► There will be a period of time after the import is quote unquote done when things are still going on

00:11:06 ◼   ► So you should let it stew

00:11:08 ◼   ► See if you ran I stat menus you would know immediately

00:11:13 ◼   ► Whether these things were taking up all your CPUs or not

00:11:16 ◼   ► No, because it doesn't tell you which process is hurting your CPU for all you know

00:11:19 ◼   ► - Oh, it could be kernel_task,

00:11:21 ◼   ► and then that doesn't help you much, does it?

00:11:23 ◼   ► I see nothing about it.

00:11:24 ◼   ► - No, you just click on the thing

00:11:25 ◼   ► and it shows you all the top processes.

00:11:27 ◼   ► - Yeah, I just click on the dock icon

00:11:29 ◼   ► and it shows me all the top processes too,

00:11:30 ◼   ► but including their names and I can sort them.

00:11:32 ◼   ► And when I'm done looking at it, I quit the app,

00:11:34 ◼   ► so it's not there updating every three seconds.

00:11:36 ◼   ► - Oh, Jon.

00:11:37 ◼   ► - Scanning the entire process table

00:11:38 ◼   ► and the operating system,

00:11:39 ◼   ► acquiring and releasing kernel locks

00:11:41 ◼   ► over and over and over again with nobody looking at it.

00:11:44 ◼   ► (laughing)

00:11:47 ◼   ► This is called empathy for the computer.

00:11:49 ◼   ► (laughing)

00:11:50 ◼   ► - That's what you're trying to instill

00:11:51 ◼   ► and programmers should all have empathy for the machine

00:11:53 ◼   ► because it makes you write code that isn't stupid.

00:11:56 ◼   ► (laughing)

00:11:58 ◼   ► - We're done, I don't even know where to go from here.

00:12:00 ◼   ► - Thanks a lot to our three sponsors this week.

00:12:03 ◼   ► That's a real thing though, empathy for the computer.

00:12:05 ◼   ► I keep saying that and people look at me like I'm crazy,

00:12:07 ◼   ► but don't you guys feel that to some degree

00:12:09 ◼   ► when you write code that like, I don't know,

00:12:11 ◼   ► just something as simple as like hoisting an invariant

00:12:13 ◼   ► out of a loop, why are you doing that?

00:12:16 ◼   ► You just do it like, 'cause you have to sort of,

00:12:18 ◼   ► put yourself in the position of the computer

00:12:21 ◼   ► and of the different machinery

00:12:22 ◼   ► and you just feel guilty about making some process

00:12:24 ◼   ► be repeated over and over again

00:12:27 ◼   ► when you know the result is going to be the same.

00:12:29 ◼   ► It's like you're just wasting everybody's time.

00:12:30 ◼   ► You're just wasting battery.

00:12:32 ◼   ► You're wasting, I mean, it's negligible, it's stupid,

00:12:34 ◼   ► it's premature optimization, blah, blah, blah.

00:12:35 ◼   ► But if you have no empathy for the computer,

00:12:38 ◼   ► then you just do everything in a ridiculous way

00:12:40 ◼   ► and your entire program is just one giant gray haze of,

00:12:44 ◼   ► there's no hotspot.

00:12:45 ◼   ► That's just like a complete soup of super slowness.

00:12:49 ◼   ► So I think empathy with the computer is an important skill that programmers should acquire.

00:12:54 ◼   ► So why do you program in a scripting language?

00:12:57 ◼   ► Because you have empathy with the computer, but you don't want to be flipping toggle switches,

00:13:01 ◼   ► right?

00:13:02 ◼   ► You don't want to be setting your bits and magnetic core memory by hand, right?

00:13:05 ◼   ► It's a balance, but no matter what level you're programming at...

00:13:08 ◼   ► There's nothing between those two.

00:13:10 ◼   ► Well, no, what I'm saying is like, it's even more important when you're in a higher-level

00:13:13 ◼   ► programming language, right?

00:13:14 ◼   ► Now, to some degree, you don't have control over some things.

00:13:17 ◼   ► But if you know that, for example,

00:13:18 ◼   ► if you're in a high-level programming language

00:13:20 ◼   ► and function calls are relatively expensive compared

00:13:22 ◼   ► to how fast it is to, say, jump to an address in an assembly

00:13:25 ◼   ► program, you're like, do I really

00:13:27 ◼   ► need to get all the arguments into the right registers,

00:13:31 ◼   ► to put the address I want to jump into the right register,

00:13:33 ◼   ► to jump to that register, to do all the stuff for the return

00:13:36 ◼   ► value, put that into the right place, return, pop the stack,

00:13:39 ◼   ► make a new stack frame, do all that stuff.

00:13:41 ◼   ► Do I really need to do that, or could I inline that here?

00:13:42 ◼   ► Like, that is empathy with the compiler.

00:13:44 ◼   ► and at every level that works.

00:13:46 ◼   ► And in a higher level language,

00:13:47 ◼   ► you have to know which things are slow

00:13:48 ◼   ► in your high level language and which things,

00:13:50 ◼   ► which things can you avoid and which things can't you.

00:13:52 ◼   ► And in any language, it doesn't matter what the language is,

00:13:55 ◼   ► high level, low level, medium level,

00:13:55 ◼   ► there's some things that just apply all the time.

00:13:57 ◼   ► Don't do something over and over again

00:13:59 ◼   ► when the result is gonna be the same.

00:14:01 ◼   ► Don't make copies when you can pass around references

00:14:04 ◼   ► if your language supports that concept.

00:14:07 ◼   ► It doesn't really matter how it's implemented.

00:14:08 ◼   ► You could have, "Well, I can make a copy,

00:14:09 ◼   ► "but under the covers I know the language is smart enough

00:14:11 ◼   ► "to do copy on write and it's really efficient,"

00:14:13 ◼   ► or whatever, but I don't know.

00:14:14 ◼   ► I guess it comes down to somewhat knowing

00:14:16 ◼   ► how your language is implemented,

00:14:17 ◼   ► but I think it's more important

00:14:18 ◼   ► when you get into higher level languages, not less, right?

00:14:21 ◼   ► Like, because the higher level languages have the potential

00:14:23 ◼   ► to put something innocuous that,

00:14:25 ◼   ► if you knew how the language is implemented

00:14:27 ◼   ► or know what is particularly slow in this language,

00:14:29 ◼   ► you'd be like, "Oh man, really? Seriously?"

00:14:30 ◼   ► Whereas when you're down at assembly,

00:14:32 ◼   ► you might feel some empathy, but in general,

00:14:34 ◼   ► almost everything you do is fast,

00:14:36 ◼   ► there's very little you can write a line at a time

00:14:37 ◼   ► that's gonna make things super slow.

00:14:41 ◼   ► - Wow, this took a turn, I was not expecting.

00:14:45 ◼   ► - Our first sponsor this week is Backblaze.

00:14:48 ◼   ► Go to backblaze.com/atp.

00:14:51 ◼   ► Backblaze is unlimited and unthrottled online backup

00:14:56 ◼   ► for just five bucks per month for a whole computer

00:14:58 ◼   ► or anything plugged into it.

00:15:00 ◼   ► Backblaze is awesome.

00:15:02 ◼   ► I use them myself, I've used them long before

00:15:05 ◼   ► they were a sponsor.

00:15:06 ◼   ► My wife uses them, my mom uses them,

00:15:09 ◼   ► everybody I know who I can convince to use them,

00:15:12 ◼   ► which isn't very hard, everyone uses a back blaze,

00:15:16 ◼   ► except Casey, and it is so great because,

00:15:20 ◼   ► you know, online backup in general,

00:15:21 ◼   ► this protects you from so many great,

00:15:23 ◼   ► so many problems that you might not think might affect you,

00:15:27 ◼   ► but when you start thinking about

00:15:28 ◼   ► your current backup strategy,

00:15:29 ◼   ► like if your backup strategy is a time machine drive

00:15:32 ◼   ► connected to your computer,

00:15:33 ◼   ► then anything that happens to the environment of that

00:15:38 ◼   ► can disturb and kill both of them.

00:15:40 ◼   ► So things like a fire, a flood, theft,

00:15:43 ◼   ► power surges, stuff like that,

00:15:44 ◼   ► all those things can take out your computer

00:15:47 ◼   ► and anything that's plugged into it.

00:15:48 ◼   ► Online backup is great for just peace of mind.

00:15:51 ◼   ► Just like to have that final fail safe

00:15:53 ◼   ► in your backup strategy,

00:15:54 ◼   ► if you know that's gonna be there no matter what.

00:15:57 ◼   ► And Backblaze is by far my favorite

00:16:00 ◼   ► of the online backup services.

00:16:02 ◼   ► So they just released a new version, 4.0.

00:16:05 ◼   ► This is now, it now has multi-threaded backing up,

00:16:09 ◼   ► which allows for even faster upload speeds.

00:16:11 ◼   ► And this especially helps if you are somewhere

00:16:14 ◼   ► in a part of the world where you're far from

00:16:17 ◼   ► one of their CDN nodes and, you know,

00:16:22 ◼   ► because of latency with uploading tons of small files

00:16:24 ◼   ► and everything, having multi-threaded things,

00:16:26 ◼   ► being able to run amongst these things in parallel

00:16:28 ◼   ► really helps upload speeds if you're around the world.

00:16:32 ◼   ► Backplays is huge, they've been around forever.

00:16:34 ◼   ► They have over 150 petabytes of data backed up.

00:16:38 ◼   ► Over 10 billion files have been restored.

00:16:41 ◼   ► Not just backed up.

00:16:42 ◼   ► Over 10 billion files have been restored by their customers.

00:16:45 ◼   ► They know the backups work.

00:16:46 ◼   ► They are tested constantly.

00:16:48 ◼   ► Backblaze client runs native.

00:16:51 ◼   ► This is native code on Mac and Windows PCs.

00:16:54 ◼   ► This does not use Java or anything else.

00:16:56 ◼   ► It is real native code.

00:16:58 ◼   ► So it's fast.

00:16:58 ◼   ► It's efficient.

00:16:59 ◼   ► You don't have to install any garbage runtimes.

00:17:02 ◼   ► You can access your data in Backblaze.

00:17:04 ◼   ► anywhere you are, if you log into a web browser

00:17:07 ◼   ► or if you use their app on iOS or Android,

00:17:10 ◼   ► you can log in and pull a file off that,

00:17:12 ◼   ► maybe you're on a trip and you wanna get a file

00:17:14 ◼   ► off your home computer that's backed up to Backblaze,

00:17:16 ◼   ► you can just go do that, you can restore one file

00:17:18 ◼   ► onto your device.

00:17:20 ◼   ► About 25% of their restores are for just one file

00:17:24 ◼   ► to do this exact use case.

00:17:26 ◼   ► It's very, very easy and if you need everything back,

00:17:28 ◼   ► everything you've backed up, if you have a total loss

00:17:30 ◼   ► and you need everything backed up,

00:17:32 ◼   ► You can download it.

00:17:33 ◼   ► You can even order a USB hard drive with everything on it.

00:17:37 ◼   ► So stop putting this off.

00:17:39 ◼   ► Look, backing up is so important.

00:17:41 ◼   ► And with online backup, it is easier than it's ever been.

00:17:44 ◼   ► I really cannot recommend this enough.

00:17:46 ◼   ► You really, really should have online backup.

00:17:48 ◼   ► And if you're gonna have online backup,

00:17:49 ◼   ► the one I recommend is Backblaze.

00:17:51 ◼   ► So stop putting it off.

00:17:53 ◼   ► Start getting back up today.

00:17:54 ◼   ► Backblaze.com/ATP.

00:17:56 ◼   ► Five bucks a month per computer for unlimited space

00:18:00 ◼   ► and unthrottled speeds.

00:18:02 ◼   ► There's no add-ons, no gimmicks, no additional charges,

00:18:04 ◼   ► no upsells.

00:18:05 ◼   ► Five bucks per month per computer.

00:18:08 ◼   ► Unlimited space.

00:18:09 ◼   ► That's all you need to know.

00:18:10 ◼   ► Risk-free, no credit card required trial.

00:18:13 ◼   ► Go to backblaze.com/atp.

00:18:15 ◼   ► Really, check it out.

00:18:16 ◼   ► Risk-free trial, just go today.

00:18:17 ◼   ► Backblaze.com/atp.

00:18:19 ◼   ► Please do this.

00:18:20 ◼   ► You will thank me someday when you need it.

00:18:22 ◼   ► Trust me, it is so, so worth it.

00:18:24 ◼   ► Backblaze, thanks a lot.

00:18:26 ◼   ► - All right, so John, tell us about hard links.

00:18:28 ◼   ► - Yeah, there's a little bit of confusion

00:18:30 ◼   ► from people about hard links.

00:18:31 ◼   ► I don't think I did a good job of explaining it last time.

00:18:33 ◼   ► I just assumed everybody knew.

00:18:35 ◼   ► Did we put the hard links link in last week's show notes?

00:18:38 ◼   ► I forget.

00:18:39 ◼   ► - I don't remember doing so, but I'm not 100% sure.

00:18:42 ◼   ► - Anyway, we'll put it in this one.

00:18:43 ◼   ► So there was a tweet for someone saying,

00:18:45 ◼   ► about that photos.app creating hard links

00:18:47 ◼   ► instead of an entirely new library

00:18:49 ◼   ► and then sent me a screenshot showing the photos library

00:18:52 ◼   ► right next to the iPhotos library saying,

00:18:53 ◼   ► yeah, I thought you said it wasn't gonna make

00:18:55 ◼   ► a whole new library, but look,

00:18:56 ◼   ► this here's a whole new library.

00:18:57 ◼   ► I'm like, yeah, but like the other one is full of hard links.

00:18:59 ◼   ► And he said, really?

00:19:00 ◼   ► It says each one is 45 gigabytes.

00:19:02 ◼   ► So that's the thing about hard links.

00:19:03 ◼   ► We'll put the link in the show notes

00:19:05 ◼   ► so you can read this long thing

00:19:06 ◼   ► for one of my old OS X reviews about it from back in 2007.

00:19:09 ◼   ► But the short version is, if you've got a file on disk,

00:19:12 ◼   ► you can think of it as a blob of data

00:19:14 ◼   ► that's sitting on your disk somewhere,

00:19:15 ◼   ► and it has a name associated with it,

00:19:17 ◼   ► and that's how you can find that data.

00:19:20 ◼   ► This name is, you know, you go through this name,

00:19:22 ◼   ► foo, whatever, I don't know.

00:19:25 ◼   ► Foo.txt, it leads to this set of bytes.

00:19:27 ◼   ► That name attached to that set of bytes can be said to be a link.

00:19:32 ◼   ► It's how you get to those bytes on disk.

00:19:34 ◼   ► Oh, well, I look them up by going foo.txt, right?

00:19:37 ◼   ► You can make another name that points to that same set of bytes on disk,

00:19:41 ◼   ► called bar.txt.

00:19:43 ◼   ► Bar.txt is one way to get to that same blob of bytes,

00:19:45 ◼   ► and foo.txt is one way to get to that same blob of bytes.

00:19:47 ◼   ► Still just one blob of bytes,

00:19:49 ◼   ► two different names that point to it.

00:19:51 ◼   ► Those are hard links.

00:19:52 ◼   ► So now that set of data on disk has two hard links.

00:19:56 ◼   ► Every file can be said to have one hard link,

00:19:59 ◼   ► conceptually in the Unix prompts,

00:20:00 ◼   ► not in the HFS push implementation,

00:20:01 ◼   ► which we don't really want to talk about.

00:20:03 ◼   ► But anyway, conceptually,

00:20:05 ◼   ► every file in disk has one hard link,

00:20:07 ◼   ► and that's like the name of the file.

00:20:09 ◼   ► If you make a second hard link,

00:20:10 ◼   ► we call that second one, oh, that's the hard link.

00:20:12 ◼   ► The first one was just a file, right guys?

00:20:13 ◼   ► But the second one is a hard link to the file, right?

00:20:16 ◼   ► Really, if you want to think of it correctly conceptually,

00:20:20 ◼   ► the first one is also a hard link.

00:20:22 ◼   ► There's a little number if you type ls

00:20:24 ◼   ► at the Unix command, a shell prompt,

00:20:26 ◼   ► The ls command will show you a number of links to this thing.

00:20:29 ◼   ► Most files have a one next to it.

00:20:30 ◼   ► If you make a hard link to a file, it'll go up

00:20:33 ◼   ► and you'll see two, that's what this article shows.

00:20:35 ◼   ► And since they're pointing to the same bucket of data,

00:20:40 ◼   ► this gets more complicated.

00:20:40 ◼   ► If you use an editor that edits the file in place,

00:20:44 ◼   ► that does not do what many editors do,

00:20:45 ◼   ► which is make a complete copy of the file

00:20:47 ◼   ► and then rename it on top of the file

00:20:48 ◼   ► or do some other update.

00:20:49 ◼   ► If you use an editor that actually edits the file in place

00:20:52 ◼   ► and you edit through either one of those names,

00:20:54 ◼   ► you will be editing the same,

00:20:56 ◼   ► like it's just one bucket of bits.

00:20:57 ◼   ► If you change it and then you look at the contents

00:21:00 ◼   ► of foo.txt and bar.txt,

00:21:02 ◼   ► they both point to the same blob of bits.

00:21:03 ◼   ► If you edit it through bar.txt, it changes the same bits.

00:21:06 ◼   ► You could edit bar.txt and then show the output

00:21:09 ◼   ► of what's inside foo.txt and it will show your edits, right?

00:21:12 ◼   ► That's how hard links work.

00:21:13 ◼   ► If you get info in any of those files,

00:21:16 ◼   ► if you list the file with ls,

00:21:18 ◼   ► if you get info in the finder,

00:21:19 ◼   ► they'll all say, how big is it?

00:21:21 ◼   ► They'll say, well, how big is the big bucket of bits?

00:21:23 ◼   ► Oh, it's like, it's two megs, it's 25 megs, it's five gigs.

00:21:26 ◼   ► They'll both say that.

00:21:28 ◼   ► The tricky part is that if you have,

00:21:30 ◼   ► say you had a hard drive that was like 100 megs

00:21:32 ◼   ► and you had a 99 meg file in it,

00:21:34 ◼   ► you make 75 hard links, that 99 meg file,

00:21:37 ◼   ► and every single one of those 75 files will say,

00:21:40 ◼   ► I'm 99 megabytes, I'm 99 megabytes.

00:21:42 ◼   ► It's like, how can you have this many 99 megabyte files?

00:21:44 ◼   ► The disk is only 100 megabytes.

00:21:45 ◼   ► How could they all fit?

00:21:46 ◼   ► It's just one set of 95 megabytes.

00:21:48 ◼   ► Each hard link does not add any data.

00:21:50 ◼   ► So when Photos.app makes a new Photos library,

00:21:54 ◼   ► and you see it right next to your iPhoto library,

00:21:56 ◼   ► inside both of those libraries are a bunch of,

00:22:00 ◼   ► one of them has the quote unquote originals in it.

00:22:01 ◼   ► In HFS Plus there really is an implementation difference

00:22:03 ◼   ► under the cover.

00:22:04 ◼   ► And the other one just has hard links.

00:22:05 ◼   ► But if you get info on both of them in the final,

00:22:07 ◼   ► they'll both say that they're the same size

00:22:09 ◼   ► after they're done roughly.

00:22:10 ◼   ► Like, oh, I'm 45 gigs and so am I.

00:22:12 ◼   ► But there's only one set of 45 gigs

00:22:14 ◼   ► worth of photo data on your disk.

00:22:15 ◼   ► Now, there are files that are private to the Photos library,

00:22:17 ◼   ► like the metadata databases and so on and so forth,

00:22:19 ◼   ► but the photos themselves,

00:22:20 ◼   ► that's what it's making hard links to.

00:22:22 ◼   ► Those are the things that take up

00:22:22 ◼   ► the majority of the room.

00:22:24 ◼   ► So yes, it is very confusing.

00:22:26 ◼   ► And if you try to do the math,

00:22:27 ◼   ► if you just get info on these libraries

00:22:29 ◼   ► and try to do the math and say,

00:22:30 ◼   ► "Okay, so I've got a 45 gig library

00:22:32 ◼   ► and a 45 gig library.

00:22:33 ◼   ► That means I'm using 90 gigs of space

00:22:35 ◼   ► and my total drive space,

00:22:36 ◼   ► like the math won't add up."

00:22:39 ◼   ► That's just how hard links work.

00:22:40 ◼   ► And to make things more complicated,

00:22:42 ◼   ► as I said in the last show,

00:22:43 ◼   ► as you edit files with the Photos app,

00:22:46 ◼   ► it will take something that was a hard link

00:22:48 ◼   ► and change it into a copy because it doesn't want to mess with your iPhoto library.

00:22:52 ◼   ► So if you make a modification to the actual photo file, which I don't even know if it

00:22:55 ◼   ► happens, maybe if you change the geotag data, which as Casey said you can't even do at this

00:22:58 ◼   ► point, but if you were to change that locally, it will make a copy of it and they will slowly

00:23:04 ◼   ► diverge from each other.

00:23:05 ◼   ► So they do that to keep them separate.

00:23:06 ◼   ► That's not a property of hardlinks, the application itself is doing that.

00:23:10 ◼   ► The application of course itself isn't free to do anything like that.

00:23:14 ◼   ► That has nothing to do with the nature of hardlinks or anything.

00:23:16 ◼   ► As I said, as you see in the demo link, if you have two hard links to the same blob of

00:23:20 ◼   ► data and you go through either one of them to edit that data, they both see the changes.

00:23:23 ◼   ► The photos application itself prevents that from happening sort of manually by making

00:23:27 ◼   ► a copy when it needs to.

00:23:29 ◼   ► So it's confusing.

00:23:31 ◼   ► Hard links, this talks about sim links too, which are a different thing, photos and creating

00:23:35 ◼   ► confusion for people who now can't tell how much free space they have on their disks anymore.

00:23:39 ◼   ► All right.

00:23:40 ◼   ► So how about shared albums?

00:23:42 ◼   ► Yeah, this was a bummer.

00:23:44 ◼   ► Lance T Hildebrand said, "Even if you try to do that crazy system," I said last time

00:23:48 ◼   ► of like throwing all your photos into the family photo library that's shared with your

00:23:51 ◼   ► whole family, apparently you can only have 5,000 photos in any shared album.

00:23:55 ◼   ► So that wouldn't have worked anyway.

00:23:57 ◼   ► Which kind of makes sense, like you shouldn't be using shared albums as a way to share your

00:24:01 ◼   ► whole library, there should just be a way to share your whole library and have it read/write,

00:24:04 ◼   ► but there isn't, and unless you have fewer than 5,000 photos you can't.

00:24:09 ◼   ► You can't even like manually do it.

00:24:12 ◼   ► How about what goes on with a MacBook Air with 7800 photos?

00:24:17 ◼   ► - Yeah, we talked about performance last time

00:24:19 ◼   ► and it was like, well, I'm using a 2011 MacBook Air,

00:24:22 ◼   ► maybe it's just slow because I don't have a lot of RAM,

00:24:24 ◼   ► I have a slower computer.

00:24:26 ◼   ► So, Mucho Spanish says that he has a very small library

00:24:31 ◼   ► on a 2012 MacBook Air, just 7800 photos

00:24:34 ◼   ► and keywording is still slow.

00:24:36 ◼   ► And then our friend Will Haynes says,

00:24:38 ◼   ► very slow for per photo operations

00:24:41 ◼   ► and he's on a maxed out iMac 5K.

00:24:43 ◼   ► Also, he couldn't sync iCloud at all.

00:24:45 ◼   ► - I just am not really sold on why this is something

00:24:48 ◼   ► I need in my life right now.

00:24:49 ◼   ► Like the idea of being able to get to any of my pictures

00:24:53 ◼   ► in the photo chooser, especially on iOS,

00:24:56 ◼   ► that sounds appealing in principle,

00:24:58 ◼   ► but hearing how much it slows down your iOS device

00:25:02 ◼   ► anytime you go to the photo chooser,

00:25:03 ◼   ► that sounds freaking terrible.

00:25:05 ◼   ► And just a lot of this,

00:25:07 ◼   ► I'm not saying I'll never use photos

00:25:08 ◼   ► by any stretch of the imagination,

00:25:09 ◼   ► but it just does not sound like it's something

00:25:11 ◼   ► I want in my life right now.

00:25:13 ◼   ► - I don't know, it's working great for me.

00:25:15 ◼   ► The only problem that I'm seeing with it

00:25:17 ◼   ► is what many people have reported,

00:25:19 ◼   ► and Jon, I think you said this too,

00:25:20 ◼   ► which is that the photo picker takes a long time

00:25:23 ◼   ► to come up for anything that lists the photos.

00:25:26 ◼   ► So the biggest time I see this is

00:25:29 ◼   ► after I've taken a new picture on the iPhone,

00:25:32 ◼   ► when I want to tap on it to bring it up

00:25:34 ◼   ► to view the picture I just took,

00:25:36 ◼   ► there's like a five or 10 second delay

00:25:38 ◼   ► where just nothing happened.

00:25:39 ◼   ► you think the phone is frozen, and then it comes up.

00:25:42 ◼   ► That's the only time I'm really seeing issues.

00:25:44 ◼   ► Besides that, which is annoying,

00:25:47 ◼   ► but not that major of a problem,

00:25:50 ◼   ► it's just a frequent annoyance,

00:25:52 ◼   ► besides that I've had no problems,

00:25:54 ◼   ► and that's the kind of thing that I would imagine and hope

00:25:56 ◼   ► that they would be working on,

00:25:58 ◼   ► like they would notice that and work that out

00:26:00 ◼   ► in the next version of iOS.

00:26:02 ◼   ► - Yeah, these are just tweets talking about the slowness.

00:26:05 ◼   ► Like, slow is not a measure of anything.

00:26:07 ◼   ► It's just like, it feels slow to them.

00:26:09 ◼   ► And I think especially with single photo operations

00:26:12 ◼   ► or like doing something like keywording that you think,

00:26:14 ◼   ► I'm not asking you to run some crazy filter or blur

00:26:18 ◼   ► or there's no image effects,

00:26:20 ◼   ► there's not a massive amount of data.

00:26:21 ◼   ► It's like, please just associate a keyword

00:26:24 ◼   ► with these three photos, right?

00:26:26 ◼   ► These people are reporting that it is quote unquote slow

00:26:29 ◼   ► because they think that the thing that they're doing

00:26:31 ◼   ► shouldn't take as long as it takes.

00:26:32 ◼   ► And I agree with them, but we don't have any measures.

00:26:34 ◼   ► So you never know, like Will Haines says,

00:26:37 ◼   ► It is very slow on perf auto operations

00:26:39 ◼   ► on a maxed out iMac 5K.

00:26:41 ◼   ► Is that because he just expects it to be really fast

00:26:43 ◼   ► on an iMac 5K?

00:26:44 ◼   ► His operations may be five times as fast as mine,

00:26:47 ◼   ► but he has greater expectations

00:26:48 ◼   ► 'cause he's got a brand new computer

00:26:50 ◼   ► and I'm willing to accept some slowness.

00:26:51 ◼   ► But bottom line is, perception wise,

00:26:53 ◼   ► I think it feels slow and some other people seem to agree

00:26:57 ◼   ► and I'm depressed that even people with small libraries

00:27:00 ◼   ► and even people with much newer, fancier computers than me

00:27:02 ◼   ► also are feeling that operations feel slow

00:27:05 ◼   ► that shouldn't be slow.

00:27:06 ◼   ► Maybe somebody didn't have enough empathy for the computer when designing it.

00:27:10 ◼   ► [laughter]

00:27:11 ◼   ► It didn't.

00:27:12 ◼   ► It didn't.

00:27:13 ◼   ► That's kind of a design thing.

00:27:14 ◼   ► It was like, "Why might it be slow?"

00:27:15 ◼   ► Well, I can tell you from experience that once you get into large number of items in

00:27:20 ◼   ► a SQLite database, SQLite's performance characteristics, especially for inserts into

00:27:27 ◼   ► a database or a table that has thousands or millions of records, you can just run that

00:27:31 ◼   ► experiment yourself.

00:27:32 ◼   ► SQLite database with a simple scheme of start inserting stuff and see and do a timer and

00:27:37 ◼   ► say how many rows can I insert per second and watch that performance slowly slowly get

00:27:42 ◼   ► worse.

00:27:43 ◼   ► So as you get into the millions of rows things get pretty grim.

00:27:46 ◼   ► There are things you can do to help with that but anyway if photos is using SQLite databases

00:27:51 ◼   ► anywhere and it's implementation which I can imagine it is and if that has anything to

00:27:54 ◼   ► do with keywords which I can imagine it might that might explain some of the slowness in

00:27:58 ◼   ► large libraries.

00:27:59 ◼   ► I'm just guessing.

00:28:00 ◼   ► And so the empathy with the computer is, you know, like, I didn't write SQLite.

00:28:05 ◼   ► And SQLite is a great database, but am I using the right tool for this job?

00:28:08 ◼   ► Would it be better to add them as extended attributes or as individual plist files or,

00:28:12 ◼   ► you know, I don't know.

00:28:13 ◼   ► That's more of a design thing, the empathy with the computer at the micro level.

00:28:16 ◼   ► All right.

00:28:18 ◼   ► That's macro level empathy.

00:28:20 ◼   ► Not Marco level empathy, macro.

00:28:22 ◼   ► All right.

00:28:23 ◼   ► What happens when you delete a photo, Jon, in the new Photos app?

00:28:27 ◼   ► I don't know.

00:28:28 ◼   ► That's the thing.

00:28:29 ◼   ► So last time I was talking about the prospects of using iCloud sync as a backup strategy.

00:28:35 ◼   ► It's like, well, if everything's all synced, if something ever goes wrong, that wrongness

00:28:39 ◼   ► could also sync all over the place and then your backups are hosed.

00:28:42 ◼   ► Because they're not really backups.

00:28:43 ◼   ► It's like RAID where you just have a second copy of whatever is currently in the thing.

00:28:47 ◼   ► So whatever is currently in the library is screwed up.

00:28:50 ◼   ► Whatever is currently in all your automatically synchronized copies can also be screwed up.

00:28:53 ◼   ► So many people pointed out that if you delete a photo in the Photos app, it doesn't get

00:28:57 ◼   ► deleted immediately goes into kind of like a trash type holding area and I

00:29:01 ◼   ► think it's kept there for like 30 days before it's purged or something which is

00:29:04 ◼   ► good but mostly what I was afraid of was the app going crazy and suddenly

00:29:08 ◼   ► thinking these photos never existed let me just get you know not as if it thinks

00:29:12 ◼   ► I deleted them by dragging them to the trash or hitting the delete button but

00:29:15 ◼   ► if it starts thinking because of some weird syncing thing that photos in my

00:29:19 ◼   ► library just never existed and says oh I need to I need to rectify I need to

00:29:23 ◼   ► synchronize and rectify my state of the world with what the state it's supposed

00:29:27 ◼   ► to be in.

00:29:28 ◼   ► Rather than it thinking that it saw a delete operation and synchronizing that, just thinking

00:29:32 ◼   ► that all these photos here, I don't know where all these came from, but I have no idea what

00:29:35 ◼   ► they are.

00:29:36 ◼   ► Like that's what I'm afraid of, not so much the manually deleting things or whatever,

00:29:39 ◼   ► but it is good to know there's a holding area where you can recover from mistakes where

00:29:42 ◼   ► you delete, because when you delete them it says are you sure you want to delete this

00:29:45 ◼   ► from the cloud and every single one of your devices it tries to tell you like this is

00:29:49 ◼   ► not just deleting locally, this is deleting everywhere.

00:29:51 ◼   ► And even if you do that, it still holds onto it in this deleted items area to give you

00:29:54 ◼   ► an out, which is nice.

00:29:56 ◼   ► I'm still a little bit afraid of it and I would never use it as a backup strategy.

00:30:00 ◼   ► And speaking of backups, god forbid something happened, what do you do to restore your photo

00:30:05 ◼   ► library from a backup?

00:30:06 ◼   ► Yeah, I don't know because I haven't tried that, but I thought about it like, restoring

00:30:10 ◼   ► like your iPhoto library from a backup, you know, it's just a bunch of files on disks.

00:30:13 ◼   ► If your thing gets hosed, just, you know, throw out your iPhoto library, go to your

00:30:18 ◼   ► time machine backup, your super duper backup, your backblaze backup or whatever, and just

00:30:21 ◼   ► like find a previous version of your iPhoto library, which appears to be one file on disk

00:30:26 ◼   ► but it's really just a pack, a bundle with a folder with a bunch of stuff in it,

00:30:28 ◼   ► and you drag it back in your backend business, right?

00:30:30 ◼   ► What happens if your photos library that you have iCloud synced,

00:30:35 ◼   ► like something gets wrong with it or it gets hosed or something, can you just say,

00:30:39 ◼   ► okay, well,

00:30:39 ◼   ► I'm just going to throw that library out and drag a new one from a backup and put

00:30:43 ◼   ► it in place and launch it? What happens? It would work fine locally.

00:30:46 ◼   ► I'm sure that would work locally, but what happens when you launch in an iCloud,

00:30:51 ◼   ► like, is it aware that you just did that? Or is it like, whoa, whoa,

00:30:54 ◼   ► this library and disk does not match what I expected to do,

00:30:57 ◼   ► does it forcibly make it like the old broken one was

00:31:01 ◼   ► or the one with the missing data?

00:31:02 ◼   ► How do you recover from a backup in that scenario?

00:31:05 ◼   ► And when I was thinking about this,

00:31:07 ◼   ► one more item, like you can tell me if you guys remember this

00:31:10 ◼   ► do you remember when iPhoto and Time Machine,

00:31:12 ◼   ► like the integration between them was first shown

00:31:14 ◼   ► that maybe when Time Machine was first announced

00:31:15 ◼   ► in a keynote and they tried to show you use Time Machine

00:31:17 ◼   ► from within iPhoto, am I just imagining that?

00:31:20 ◼   ► - I remember that being a thing

00:31:22 ◼   ► where you could use Time Machine specifically

00:31:24 ◼   ► within certain apps, but I don't remember anything

00:31:26 ◼   ► about iPhotos specifically.

00:31:28 ◼   ► - Yeah, whatever happened to that?

00:31:29 ◼   ► Like, using iPhotos specifically from within certain apps,

00:31:31 ◼   ► that's not a thing, really, is it?

00:31:33 ◼   ► - You mean Time Machine within certain apps?

00:31:35 ◼   ► - Yeah.

00:31:36 ◼   ► - There's probably some kind of API that nobody ever uses.

00:31:39 ◼   ► - I don't think there's a public API.

00:31:40 ◼   ► I think they showed it, like, you could do it

00:31:42 ◼   ► within photos, you could do it within address book.

00:31:44 ◼   ► There was a couple of apps they showed

00:31:45 ◼   ► that you could do it within.

00:31:46 ◼   ► And the reason I'm thinking of that is, like,

00:31:49 ◼   ► I'm trying to think, what would be a safe way

00:31:52 ◼   ► to take a photos library that you had iCloud synced

00:31:56 ◼   ► that is hosed in some way, it's damaged, it's corrupt,

00:31:58 ◼   ► you accidentally deleted stuff and you wanna say,

00:32:00 ◼   ► actually I wanna go back to the state things were

00:32:03 ◼   ► a week ago and you go pull your photos library

00:32:05 ◼   ► from your backup, which you have,

00:32:06 ◼   ► it's just a bunch of files on disk,

00:32:08 ◼   ► you put it back in the same place the other one was

00:32:10 ◼   ► and you launch photos and then what happens?

00:32:12 ◼   ► And I don't know what happens.

00:32:13 ◼   ► - I mean, I would imagine it's just like the import process.

00:32:16 ◼   ► When I imported my 25,000 photos,

00:32:18 ◼   ► I basically had an empty iCloud library

00:32:21 ◼   ► and I dragged them all into this app

00:32:23 ◼   ► from my previous arrangement of files,

00:32:25 ◼   ► and it slowly imported them and uploaded them all.

00:32:29 ◼   ► That I would imagine, as long as your cloud

00:32:33 ◼   ► photo library state can be cleared,

00:32:36 ◼   ► which I don't know if it's as easy as going

00:32:38 ◼   ► to the all photos view and hitting command A,

00:32:39 ◼   ► command delete, I have no idea, but.

00:32:41 ◼   ► - But do you do that before you pull the backup?

00:32:45 ◼   ► Like what if you can't even launch photos

00:32:47 ◼   ► because the library's so corrupted?

00:32:49 ◼   ► Like how do you get it to understand that you want it to launch and accept the on-disk

00:32:57 ◼   ► library that you pulled from backup as the current state of things?

00:33:00 ◼   ► Honestly, I have no idea, but the files are all there.

00:33:05 ◼   ► The library is laid out very similarly to an iPhoto library.

00:33:08 ◼   ► Yeah, you do have the out of just finding all the JPEGs, pulling them all out, making

00:33:12 ◼   ► a new empty library.

00:33:14 ◼   ► I think what you'd have to do, and I've done this before with address books, that's why

00:33:17 ◼   ► why I thought of it. A few times, AddressBook has gotten hosed in some way, and I've been

00:33:22 ◼   ► like, "Look, I have all these backed up," because AddressBook—I don't know if people

00:33:24 ◼   ► know this, but in the—not AddressBook, it's called ContactsNow, sorry—in the Contacts

00:33:28 ◼   ► application that Apple provides, they provide a way to make a complete backup of your entire

00:33:31 ◼   ► Contacts library, and please, everybody, do this at least once a year, because Contacts

00:33:36 ◼   ► Cloud Sync is not that reliable, and you'll be happy to have it. So I got into a state

00:33:39 ◼   ► where Contacts were hosed. It wasn't actually my Contacts, it was my wife's, so it was

00:33:43 ◼   ► more dire than you would imagine it might be.

00:33:46 ◼   ► And I needed to fix it.

00:33:48 ◼   ► And what I wanted to happen was,

00:33:50 ◼   ► I have a backup and I wanted to say,

00:33:53 ◼   ► look, iCloud, just forget everything.

00:33:56 ◼   ► Just start over, I'm going to import from a library

00:34:00 ◼   ► and I want you to believe that you have

00:34:01 ◼   ► zero contacts everywhere.

00:34:02 ◼   ► And that was super, super hard to do

00:34:04 ◼   ► because every time I thought I'd done it,

00:34:06 ◼   ► I'd tell it to import the library

00:34:07 ◼   ► and then it would do this crazy merge

00:34:09 ◼   ► with what I thought was still in the cloud

00:34:10 ◼   ► and hose everything again.

00:34:11 ◼   ► Took me so long to beat this thing into submission

00:34:13 ◼   ► to say you have nothing, start from zero.

00:34:15 ◼   ► Anyway, that's what I'm afraid of with the photos library.

00:34:17 ◼   ► Like I don't know what the restoration plan is.

00:34:21 ◼   ► Even in the scenario where you say,

00:34:22 ◼   ► look, I'm just gonna extract all the JPEGs

00:34:25 ◼   ► and then just have to convince photos that it has nothing.

00:34:27 ◼   ► Like just really, 'cause you can be fooled.

00:34:29 ◼   ► Like the contacts would be like, yep, no contact,

00:34:31 ◼   ► zero contact, zero contacts everywhere, everything's fine.

00:34:34 ◼   ► Okay, import.

00:34:35 ◼   ► And then it would do this crazy thing.

00:34:36 ◼   ► And I couldn't, you know.

00:34:37 ◼   ► - So real time follow up from _S_.

00:34:41 ◼   ► There's a, I don't think this is a KBase,

00:34:44 ◼   ► but anyway, there's a page on Apple's website.

00:34:45 ◼   ► How do I remove all iCloud photo library content

00:34:48 ◼   ► from my iCloud account and devices?

00:34:50 ◼   ► On OS X, go to System Prefs, iCloud Manage,

00:34:53 ◼   ► select Photo Library, then select Disable and Delete.

00:34:55 ◼   ► Once you turn off your iCloud photo library,

00:34:57 ◼   ► you'll have 30 days to download your library

00:34:59 ◼   ► to at least one device, and blah, blah, blah.

00:35:03 ◼   ► So that's how you do it.

00:35:04 ◼   ► - That's good that there's a button,

00:35:05 ◼   ► because that was always the problem with Apple's things.

00:35:07 ◼   ► It was like, oh, there's no button,

00:35:09 ◼   ► there's no place to go, it just works,

00:35:11 ◼   ► it's magical, but sometimes you just want,

00:35:13 ◼   ► like people always want, I want a button that says,

00:35:15 ◼   ► no, please synchronize now.

00:35:16 ◼   ► And this button is the, I want a button that says,

00:35:18 ◼   ► just forget everything, just start over from zero.

00:35:22 ◼   ► And my past experience was like back when they had

00:35:25 ◼   ► sync services and everything, that trying to get it

00:35:28 ◼   ► to start from zero was like basically not possible

00:35:31 ◼   ► for a regular person.

00:35:33 ◼   ► Sometimes you needed like a special application

00:35:35 ◼   ► that like Apple internal people would use

00:35:37 ◼   ► that like, because it wasn't just on your machine.

00:35:38 ◼   ► Like you could delete everything off your machine

00:35:40 ◼   ► You could find all the secret hidden files and everything, but there was stuff on servers

00:35:43 ◼   ► somewhere and you had to convince those servers to dump all their information and you had

00:35:46 ◼   ► to know like, you know, what requests to make to what servers to what authentication to

00:35:51 ◼   ► convince it to really, really reset things.

00:35:53 ◼   ► So I'm glad that Apple is learning and making this easier by putting in an actual GUI and

00:35:57 ◼   ► having a, you know, a knowledge base article about it.

00:36:00 ◼   ► Our second sponsor this week is Casper.

00:36:03 ◼   ► Casper is an online retailer of premium mattresses for a fraction of the price of most mattresses.

00:36:09 ◼   ► Now the mattress industry has inherently forced customers into paying notoriously high markups.

00:36:15 ◼   ► Casper is revolutionizing the mattress industry by cutting the cost of dealing with resellers

00:36:18 ◼   ► and showrooms and passing the savings directly on to you, the consumers.

00:36:24 ◼   ► Casper mattresses are very high quality.

00:36:26 ◼   ► They provide resilience and long lasting support and comfort.

00:36:30 ◼   ► It's a one of a kind combo of, it's a hybrid of premium latex foam and memory foam.

00:36:37 ◼   ► So it has all the benefits of both

00:36:40 ◼   ► without having the downside of like,

00:36:42 ◼   ► you know, if you have all memory foam,

00:36:44 ◼   ► then a lot of people don't like the way that feels

00:36:46 ◼   ► or it might feel too sweaty to them or whatever.

00:36:48 ◼   ► By combining memory foam with latex foam,

00:36:51 ◼   ► you really do get the benefits of both.

00:36:53 ◼   ► They call it just the right sink, just the right bounce.

00:36:57 ◼   ► And that's, you know, Casey, you have one of these.

00:36:59 ◼   ► I think that's a pretty good way to describe it, right?

00:37:01 ◼   ► - Yep, very much so.

00:37:02 ◼   ► I do not care for memory foam.

00:37:04 ◼   ► I think it feels weird and it's way too soft.

00:37:06 ◼   ► And in fact, I'm very, very, very anti-memory foam,

00:37:10 ◼   ► and the Casper mattress is wonderful.

00:37:12 ◼   ► It is, just like you said, just right.

00:37:15 ◼   ► It's like the Goldilocks of mattresses.

00:37:17 ◼   ► - Nice, they can run with that.

00:37:19 ◼   ► Now mattresses usually can cost, you know,

00:37:21 ◼   ► for a good mattress, something that's gonna last you a while

00:37:24 ◼   ► and it's gonna be really comfortable

00:37:25 ◼   ► and like decent and high-end,

00:37:27 ◼   ► you're looking at over like $1,500 for decent ones.

00:37:31 ◼   ► Casper mattresses cost, they start at just $500 for a twin,

00:37:36 ◼   ► all the way up to $8.50 for a queen and $9.50 for a king.

00:37:40 ◼   ► These are incredible prices.

00:37:41 ◼   ► I mean, I've now bought a couple of mattresses

00:37:43 ◼   ► so far in my life, and these are incredible prices

00:37:47 ◼   ► for mattresses this good, really.

00:37:49 ◼   ► So Casper understands that buying a mattress online

00:37:53 ◼   ► can have consumers wondering how this is all possible.

00:37:57 ◼   ► Now, to help you with these fears.

00:37:59 ◼   ► So first of all, buying a Casper mattress

00:38:01 ◼   ► is completely risk-free.

00:38:03 ◼   ► They offer free delivery and free returns

00:38:05 ◼   ► within a hundred day trial period.

00:38:07 ◼   ► So you can try it, you can sleep on it for 99 nights,

00:38:10 ◼   ► and then on the hundredth day decide,

00:38:12 ◼   ► you know what, I don't like it,

00:38:14 ◼   ► then they will arrange to have it freely picked up

00:38:17 ◼   ► and returned back to them.

00:38:18 ◼   ► It is really that simple.

00:38:20 ◼   ► I mean, you can't beat that.

00:38:22 ◼   ► If you just lie on some beds in a showroom

00:38:24 ◼   ► for a few minutes,

00:38:25 ◼   ► you're not really learning anything about them.

00:38:27 ◼   ► You're not really gonna learn

00:38:28 ◼   ► what it's like to sleep on them,

00:38:29 ◼   ► what it's like to live with them for a long time.

00:38:31 ◼   ► With Casper, you can try it for a hundred days.

00:38:33 ◼   ► It's totally risk-free.

00:38:35 ◼   ► Now this is obsessively engineered, shockingly fair price, and these are also made in America,

00:38:43 ◼   ► so this is all good news here.

00:38:45 ◼   ► And again, these prices are amazing, $500 for a twin up to $950 for a king.

00:38:50 ◼   ► Now you can also get $50 off by visiting casper.com/ATP and using coupon code ATP at checkout.

00:38:58 ◼   ► So really check out Casper Mattresses, they really do ship it to you in a little tiny

00:39:01 ◼   ► box and then it expands by sucking all the air out of the room into itself.

00:39:04 ◼   ► It's pretty cool.

00:39:05 ◼   ► You'll wonder how they can ship a king size mattress to you in this box, but it works

00:39:11 ◼   ► and it's pretty incredible.

00:39:13 ◼   ► So check it out.

00:39:15 ◼   ► Casper.com/ATP for 50 bucks off.

00:39:18 ◼   ► Good mattresses.

00:39:19 ◼   ► Thanks a lot, Casper, for sponsoring our show once again.

00:39:22 ◼   ► And speaking of sponsors, how are the shirts doing?

00:39:24 ◼   ► Oh, I haven't checked today, but they're doing well.

00:39:27 ◼   ► We have, at this point, yesterday we had already matched and slightly surpassed our goals,

00:39:33 ◼   ► our sales from last year, so thanks everybody.

00:39:36 ◼   ► - And we have now sold what, five or six white shirts?

00:39:39 ◼   ► - I think six, right?

00:39:40 ◼   ► - Six, double the number from last week.

00:39:42 ◼   ► - Woo!

00:39:43 ◼   ► - So thank you everybody, you're running out of time

00:39:44 ◼   ► if you wanna buy one of these shirts,

00:39:45 ◼   ► I think you have what, like six days left

00:39:47 ◼   ► or something like that?

00:39:47 ◼   ► - Yeah, but by the time you hear this podcast,

00:39:50 ◼   ► most likely we will not be talking about it

00:39:53 ◼   ► on the next podcast because the sale will be over.

00:39:54 ◼   ► So if you want a shirt, now is the time to go to the website

00:39:58 ◼   ► and get it, atp.fm/shirt.

00:40:01 ◼   ► - So let's talk about Apple Watch experiences.

00:40:03 ◼   ► starting with the grooves.

00:40:05 ◼   ► - I don't know if that's where we're gonna start.

00:40:07 ◼   ► Mark is not looking in the notes,

00:40:08 ◼   ► so he has no idea what we're talking about.

00:40:09 ◼   ► But I wanted, this item is here because,

00:40:13 ◼   ► you know, one of us has an Apple Watch

00:40:15 ◼   ► and we wanted to hear about it,

00:40:16 ◼   ► but I put a sub item in there

00:40:17 ◼   ► because someone tweeted at me that

00:40:19 ◼   ► after wearing Apple Watch for three days,

00:40:21 ◼   ► they have a groove starting to show up on their wrist,

00:40:24 ◼   ► right where the little heartbeat monitor thing presses in.

00:40:27 ◼   ► I think this person may have their watch

00:40:29 ◼   ► on a little bit tight.

00:40:30 ◼   ► - Oh goodness, I would say so.

00:40:33 ◼   ► I remember back when I wore watches that I would get sometimes marks from the band or

00:40:37 ◼   ► whatever.

00:40:38 ◼   ► I don't think this is an Apple Watch problem.

00:40:39 ◼   ► I think this is a watch band, possibly too tight problem.

00:40:43 ◼   ► But it did remind me that Marco had said that he wasn't sure he was all that excited about

00:40:48 ◼   ► the little dome on the bottom, like feeling that rubbing into his wrist.

00:40:51 ◼   ► So I guess we can start there because Marco actually does have a watch unlike me and unlike

00:40:56 ◼   ► Casey.

00:40:57 ◼   ► Yours hasn't come yet, right, Casey?

00:40:58 ◼   ► Mine is, I don't remember when the shipping update happened, but it is now due to arrive

00:41:05 ◼   ► anytime between the very, very, very end of May and the Thursday I'm in San Francisco.

00:41:10 ◼   ► Nice.

00:41:11 ◼   ► Which is the most first of first world problems.

00:41:13 ◼   ► Well, I've just taken off my watch, which I already have because I'm luckier than Casey

00:41:17 ◼   ► and woke up earlier.

00:41:18 ◼   ► I've just taken it off after 14 hours of wearing it so far today, and there's absolutely no

00:41:24 ◼   ► sign of any dimple on top of my wrist where the thing pushes in. There's no markings from

00:41:30 ◼   ► the band or anything. So yeah, I think Luca Soldani, however you say his name, sorry,

00:41:37 ◼   ► is probably just wearing it too tightly. Maybe you have the wrong band for you. Most likely

00:41:42 ◼   ► it's just set too tightly.

00:41:43 ◼   ► Wrist-shape problems, too. Look at that little bone bump on his wrist there. Possibly another

00:41:48 ◼   ► Italian like me with weird wrist-shape wrists.

00:41:51 ◼   ► It also appears that he's wearing it on his right hand.

00:41:53 ◼   ► I don't know if that makes any difference.

00:41:54 ◼   ► Probably not, because the dome is centered in the watch,

00:41:57 ◼   ► so probably is not the issue.

00:41:59 ◼   ► One thing I did find with the tightness of the bands,

00:42:03 ◼   ► I ordered it initially in order to get it on day one.

00:42:06 ◼   ► The only configuration I could get on day one

00:42:08 ◼   ► at the time that the store showed up for me

00:42:10 ◼   ► was the Milanese loop.

00:42:12 ◼   ► I was interested in it,

00:42:13 ◼   ► but I wasn't planning on ordering it on day one.

00:42:15 ◼   ► But anyway, I got that, and so I had that for a few days.

00:42:18 ◼   ► Since then, I actually met up with a nice guy in Connecticut

00:42:23 ◼   ► who wanted the Milanese loop and had the one I wanted,

00:42:26 ◼   ► which was the black leather classic buckle,

00:42:28 ◼   ► the one that just looks like

00:42:29 ◼   ► every other leather watch strap ever made.

00:42:31 ◼   ► I traded with him for that.

00:42:33 ◼   ► So I've now had a couple days with each of those.

00:42:35 ◼   ► So a couple days with Milanese,

00:42:36 ◼   ► couple days with classic buckle.

00:42:37 ◼   ► I like them both a lot, first of all.

00:42:41 ◼   ► They're both really nice bands.

00:42:42 ◼   ► The classic buckle is extremely lightweight

00:42:46 ◼   ► and probably the softest in the lineup

00:42:48 ◼   ► besides maybe the sport bands.

00:42:49 ◼   ► It is just a very comfortable band.

00:42:51 ◼   ► Milanese is a lot better than I thought it would be

00:42:55 ◼   ► when I ordered it.

00:42:56 ◼   ► It really is extremely nice.

00:42:58 ◼   ► It really kind of splits the difference

00:43:01 ◼   ► between formal and informal.

00:43:02 ◼   ► It is not too formal or too blingy or too flashy.

00:43:05 ◼   ► It really is extremely nice.

00:43:08 ◼   ► I was very happy with the Milanese.

00:43:09 ◼   ► It does not pinch your arm hair,

00:43:11 ◼   ► what a lot of people think that Link bracelets do.

00:43:15 ◼   ► The Milanese does not.

00:43:15 ◼   ► The only thing you gotta be careful of

00:43:17 ◼   ► when you're putting it on is the part that overlaps back on itself so it's like sandwiched

00:43:20 ◼   ► together, you can get arm hairs pinched in that when you put it on. So just be careful

00:43:25 ◼   ► of that and you're fine. The Milanese also I think is the coolest on you because like

00:43:32 ◼   ► the air can flow through it and it's not leather sticking to you or the fluoroelastomer sticking

00:43:37 ◼   ► to you the way that does. So I would say it's the coolest. The reason I didn't want to keep

00:43:41 ◼   ► it is because I was getting some skin irritation late in the day after wearing it for a long

00:43:47 ◼   ► time and some people mentioned this is an issue with metal for them a lot and I don't

00:43:51 ◼   ► think it's a nickel allergy based on some quick research but just some skin irritation

00:43:56 ◼   ► I was getting it would just itch a lot like crazy at the end of the day and that doesn't

00:44:01 ◼   ► happen with leather so I'm glad I switched but they're both really nice bands I would

00:44:06 ◼   ► have been very happy with the Milanese if not for that issue. So overall I can recommend

00:44:10 ◼   ► I will say though, I have had an issue with both of them in how tightly I wear it.

00:44:18 ◼   ► Because if you wear it super tight, I don't find that very comfortable.

00:44:23 ◼   ► If you wear it a little bit loose on yourself, not so it's like rolling around, but just

00:44:27 ◼   ► so it's more comfortable, it makes it harder to feel the taptic taps.

00:44:32 ◼   ► And I've had that issue a lot where I just miss the tap.

00:44:37 ◼   ► It does tap me and I just don't feel it.

00:44:39 ◼   ► And then later on I looked down and I see my little dot and I said, "Oh, I missed a

00:44:43 ◼   ► notification."

00:44:44 ◼   ► And I know that there's been an issue, the WSA reported earlier today, there's been an

00:44:47 ◼   ► issue with faulty Taptic engines that might be the reason why there was a short stock

00:44:55 ◼   ► in the watch launch.

00:44:57 ◼   ► I don't think mine is faulty.

00:44:58 ◼   ► It seems to work just fine.

00:45:00 ◼   ► It just isn't extremely strong.

00:45:03 ◼   ► It's like moderate strength.

00:45:05 ◼   ► And so to fix that problem, and I have it on the highest strength setting, it's still

00:45:08 ◼   ► not that strong. I have, there's a setting that that's that basically plays like a strong

00:45:14 ◼   ► vibration before any taptic alert. So like vibrate and then tap tap. I've enabled that

00:45:21 ◼   ► for most of the time I've had it and that has helped a lot. That makes me feel every

00:45:24 ◼   ► time but without that I will frequently miss them and I think that just because I'm wearing

00:45:28 ◼   ► it a little bit looser than than than I'm supposed to be because I don't like the feeling

00:45:32 ◼   ► of it digging into my wrist so strongly but it doesn't seem unreasonably loose. Again,

00:45:36 ◼   ► Again, it can't get misaligned, it can't roll back

00:45:39 ◼   ► on the sides of my wrist, it's not that loose.

00:45:41 ◼   ► So, I don't know.

00:45:43 ◼   ► - Have you done your heart rate or whatever?

00:45:46 ◼   ► 'Cause that's the reason I think people want to have it

00:45:49 ◼   ► on tightly is they want accurate readings

00:45:51 ◼   ► from the biometric monitors.

00:45:53 ◼   ► And if you're not ever looking at that,

00:45:54 ◼   ► then you don't really care how loose it is

00:45:56 ◼   ► except for feeling the vibrations.

00:45:57 ◼   ► But have you ever looked at your heart rate

00:45:58 ◼   ► and seen if it's reasonable or crazy?

00:46:01 ◼   ► - I have not, but it is tracking my activity a lot

00:46:04 ◼   ► and it does register the exercise time.

00:46:08 ◼   ► So it has, in its built-in rings of activity,

00:46:11 ◼   ► it has the, it has, you know, calories,

00:46:13 ◼   ► which are related to steps, I think, and the standing,

00:46:16 ◼   ► and then it has the middle ring,

00:46:18 ◼   ► which is the one I always fail to get.

00:46:20 ◼   ► The middle ring is time spent exercising,

00:46:23 ◼   ► and that is like, you know, time at an elevated heartbeat.

00:46:26 ◼   ► And that seems to be measuring the actual real-life time

00:46:29 ◼   ► I'm spending at an elevated heartbeat.

00:46:31 ◼   ► It seems to be measuring that fairly accurately for me

00:46:33 ◼   ► throughout the day.

00:46:34 ◼   ► I don't actually use the workout app to measure

00:46:37 ◼   ► my heart rate as I work out because I don't work out.

00:46:40 ◼   ► So I'm not a good person to ask about that.

00:46:43 ◼   ► But it seems like I'm not wearing it so loosely

00:46:46 ◼   ► that that would be a problem.

00:46:47 ◼   ► - So the lump thing isn't bothering you,

00:46:49 ◼   ► but basically you are intentionally making it

00:46:51 ◼   ► a little bit looser so it doesn't bother you?

00:46:53 ◼   ► - I'm wearing it at the looseness level I'm wearing it at

00:46:57 ◼   ► not because of the lump thing,

00:46:58 ◼   ► but because of just the entire strap.

00:47:00 ◼   ► The lump thing is not the limiting factor

00:47:02 ◼   ► in the comfort here for me.

00:47:03 ◼   ► I thought it would be.

00:47:05 ◼   ► - It's just that you don't wanna feel the strap

00:47:07 ◼   ► like squeezing your wrist basically.

00:47:08 ◼   ► - Exactly, yeah, that's all it is.

00:47:10 ◼   ► And so I found with the classic buckle,

00:47:13 ◼   ► there are two holes that work for me.

00:47:15 ◼   ► Oh God, that's gonna be a terrible title.

00:47:16 ◼   ► (laughing)

00:47:18 ◼   ► Yeah, like one of them is like the really snug one

00:47:20 ◼   ► and one of them, oh God, I'll just stop talking.

00:47:22 ◼   ► - Come now, we are adults, we can talk about the watch.

00:47:25 ◼   ► - Okay, so anyway, yeah, so I found one that works for me.

00:47:29 ◼   ► Oh, the Milanese is also really nice

00:47:30 ◼   ► because you can make smaller adjustments

00:47:33 ◼   ► than any other band in the lineup.

00:47:35 ◼   ► So if you want to be like a little bit tighter,

00:47:38 ◼   ► a little bit looser, you can align it to any of those rows

00:47:42 ◼   ► of the woven links.

00:47:43 ◼   ► You can just like slide it over by one row.

00:47:45 ◼   ► So you can really--

00:47:47 ◼   ► - But it's like the toaster dials, you never know.

00:47:49 ◼   ► How do I get it exactly how it was last time?

00:47:51 ◼   ► Oh, I don't know, all the rows look the same.

00:47:54 ◼   ► - I assume before having it

00:47:56 ◼   ► that that would annoy the crap out of me.

00:47:57 ◼   ► And I did fidget with it throughout the day.

00:47:59 ◼   ► I would frequently change it,

00:48:01 ◼   ► like make a little micro adjustment throughout the day,

00:48:04 ◼   ► like to tweak it a little bit.

00:48:05 ◼   ► I didn't feel like that was annoying to me

00:48:07 ◼   ► as much as I would have thought.

00:48:10 ◼   ► I don't love about the classic buckle.

00:48:11 ◼   ► I don't love how, you know, just like any other watch,

00:48:14 ◼   ► you kind of need to like set it down to put it on.

00:48:17 ◼   ► You gotta like hold your hand against a table

00:48:19 ◼   ► to put it on, right, you know,

00:48:20 ◼   ► or like hold it against your leg or something like that.

00:48:22 ◼   ► Like you can't quite do it freehand very well in midair.

00:48:26 ◼   ► The Milanese does not have that problem.

00:48:27 ◼   ► I also don't like with the classic buckle that,

00:48:30 ◼   ► you know, just like any other watch strap.

00:48:31 ◼   ► So the little loop that holds the tail,

00:48:34 ◼   ► like the excess tail that holds it on the band,

00:48:38 ◼   ► I keep slipping out of that,

00:48:39 ◼   ► and it keeps catching on things.

00:48:41 ◼   ► Not crazy about that.

00:48:42 ◼   ► So I might end up giving the Leatherloop another try

00:48:45 ◼   ► at some point in the future,

00:48:46 ◼   ► but so far I'm very happy with this overall.

00:48:48 ◼   ► - How many times you taking it on and off a day?

00:48:51 ◼   ► - The Milanese, because I had that first,

00:48:53 ◼   ► I was a little more paranoid.

00:48:54 ◼   ► I was taking it off whenever I'd go wash the dishes

00:48:57 ◼   ► or anything like that.

00:49:01 ◼   ► that I've had the leather one for a couple days, I'm a little more confident in it, a

00:49:04 ◼   ► little more familiar with it, so now I'm just keeping it on all day. I took it off just

00:49:08 ◼   ► now just so I could look at my dent or lack thereof on my wrist from the follow-up. But

00:49:15 ◼   ► yeah, I'm just leaving it on all day now, so it's not that big of a deal.

00:49:19 ◼   ► So how is it affecting your life, if at all?

00:49:23 ◼   ► So again, I had not before this, I had not worn a watch since high school. I, like so

00:49:30 ◼   ► many people, especially among geeks like us, like so many people, I thought, "What do

00:49:36 ◼   ► I need a watch for? I have my phone in my pocket. That always tells the time." Turns

00:49:41 ◼   ► out, having a watch to tell time is actually really nice. I know the watch people are all

00:49:48 ◼   ► like, "Oh, God, we've been trying to tell you that for years," but yeah, that was

00:49:52 ◼   ► news to most of us geeks who have been brutally pragmatic and like, "Well, we have this

00:49:58 ◼   ► clock in our pockets all the time. Yeah, it turns out the move from pocket watches to

00:50:03 ◼   ► wristwatches a million years ago, there was good reason behind that. It's actually more

00:50:07 ◼   ► convenient.

00:50:08 ◼   ► I don't think I've ever looked at my phone to see what time it is, at least not during

00:50:12 ◼   ► the day. Because like the geek, I think the geek groove for people to tell the time is

00:50:20 ◼   ► you look slightly to the upper right of your field of vision because it's in the menu bar.

00:50:25 ◼   ► Right, right.

00:50:26 ◼   ► staring at all day as a screen with the times in the menu bar.

00:50:28 ◼   ► I cannot think of a time that I have looked at my phone

00:50:32 ◼   ► during work or during home.

00:50:34 ◼   ► Like, basically, any place I'm sitting in my house,

00:50:36 ◼   ► there is a clock in my sight lines intentionally,

00:50:40 ◼   ► so I know what time it is.

00:50:41 ◼   ► And when I'm sitting at my computer,

00:50:43 ◼   ► there is a clock in my sight lines all the time.

00:50:45 ◼   ► And none of those scenarios do I ever

00:50:46 ◼   ► reach for my iOS device, which is also probably in reach,

00:50:50 ◼   ► to check the time.

00:50:50 ◼   ► But many people on the go, like when you're outside,

00:50:53 ◼   ► you don't have a clock in your sight line.

00:50:54 ◼   ► They do use their phones.

00:50:55 ◼   ► I think Serenity Koval tweeted earlier that someone had asked her what time it was and

00:50:59 ◼   ► she fished out her phone to check the time while wearing the watch.

00:51:02 ◼   ► So old habits die hard.

00:51:03 ◼   ► Well, that's the thing is I was just about to say that even though I am more often than

00:51:09 ◼   ► not in front of either an iOS device or a computer, no matter what I'm doing, if I need

00:51:15 ◼   ► to look at the time, my first gut reaction is to look at my wrist.

00:51:20 ◼   ► And of course, there are times I'll look at my iOS device, I'll look at the upper right

00:51:24 ◼   ► hand corner of the screen but generally speaking or maybe the cable box like you were saying

00:51:28 ◼   ► John but generally speaking the first place I look to find the time is my wrist.

00:51:32 ◼   ► The cable box come on.

00:51:34 ◼   ► Yeah I forgot I forgot with whom I'm speaking but um but yeah so I stopped wearing a watch

00:51:40 ◼   ► for a few years I'd worn one pretty much all my life and then after after I got an iPhone

00:51:45 ◼   ► I was like you know what this is redundant and silly and I don't need to worry about

00:51:48 ◼   ► this and then I think like the battery my watch died or something like that and so it

00:51:52 ◼   ► wasn't worth fixing it, and so I just used my phone.

00:51:54 ◼   ► And then about a year or two ago,

00:51:55 ◼   ► I started wearing a cheap watch again,

00:51:57 ◼   ► and I'm glad because I like having the time on my wrist,

00:52:00 ◼   ► and I'm excited probably after WWDC

00:52:05 ◼   ► to have more than just the time on my wrist.

00:52:07 ◼   ► So we'll see what happens.

00:52:08 ◼   ► But I am feeling quite smug that Marco has decided

00:52:12 ◼   ► that this watch thing isn't so bad

00:52:13 ◼   ► because I do believe I tried to tell you, Marco,

00:52:15 ◼   ► that having something dangling on your wrist

00:52:17 ◼   ► really is not the end of the world.

00:52:18 ◼   ► - Yeah, I wonder how easy it is to rewire these things.

00:52:21 ◼   ► Like for the people who have the ingrained habits of going for their phone in their pockets

00:52:25 ◼   ► just the time, how long will it take them to retrain for like the look of the wrist?

00:52:29 ◼   ► And I'm also thinking like for the wrist move for Apple watch wearers, I imagine a lot of

00:52:35 ◼   ► them will become accustomed to a slightly exaggerated motion to really ensure that the

00:52:39 ◼   ► watch activates because, you know, sometimes the worst is if you bring it up and it doesn't

00:52:43 ◼   ► activate so like they may be training themselves into that habit.

00:52:46 ◼   ► And the reason I think about these habits and how easy they are to change is I know

00:52:50 ◼   ► Basically, since for half my life at this point, when I'm wearing my contact lenses,

00:52:55 ◼   ► I often take my finger and push my glasses up the bridge of my nose when there are no

00:53:00 ◼   ► glasses there.

00:53:01 ◼   ► Basically, I'm poking myself between my eyes with my finger.

00:53:05 ◼   ► And I've had contact lenses since, I guess, middle school, basically as young as I could

00:53:10 ◼   ► possibly get them.

00:53:11 ◼   ► So I am not new to the experience of not wearing glasses.

00:53:14 ◼   ► Nevertheless, every time I am wearing my contact lenses, I will at least once push my glasses

00:53:19 ◼   ► up the bridge of my nose that are not there.

00:53:22 ◼   ► - Yeah, that's understandable.

00:53:23 ◼   ► And when I went from being a not watch-wear

00:53:27 ◼   ► back to a watch-wear, it only took me a few days,

00:53:29 ◼   ► maybe a week to start looking at my wrist again

00:53:32 ◼   ► to find the time.

00:53:34 ◼   ► - Yeah, I mean, I thought this would be a longer adjustment

00:53:36 ◼   ► for me so far, and so far it really hasn't been

00:53:38 ◼   ► a long adjustment.

00:53:39 ◼   ► It was, yeah, a couple days that now I'm looking

00:53:41 ◼   ► at my wrist for the time and I'm enjoying it.

00:53:44 ◼   ► And the wrist detection thing where you try to detect

00:53:46 ◼   ► when you move your wrist up and turns the screen on.

00:53:49 ◼   ► I've had mixed success with that.

00:53:50 ◼   ► That still needs some work.

00:53:52 ◼   ► Overall, it works for me about three quarters of the time,

00:53:57 ◼   ► but that's like 25% failure rate is not good.

00:54:01 ◼   ► So that could still use some improvement.

00:54:03 ◼   ► And it certainly exacerbates the issue

00:54:07 ◼   ► that the screen has to turn off so quickly.

00:54:10 ◼   ► Oftentimes, I will try to do the motion to show the time,

00:54:15 ◼   ► and it will, it seemed like it's misinterpreting it

00:54:17 ◼   ► as first it thinks I flipped my wrist

00:54:19 ◼   ► and then it thinks I didn't,

00:54:21 ◼   ► and so the screen's on for a split second

00:54:23 ◼   ► then it turns back off again,

00:54:24 ◼   ► 'cause it like cancels it.

00:54:25 ◼   ► - You're looking at it wrong, Marco.

00:54:27 ◼   ► - Yeah, exactly, yeah.

00:54:28 ◼   ► So I don't, that part, it could use some work,

00:54:32 ◼   ► but overall, I really do like it a lot.

00:54:35 ◼   ► I like the way it looks.

00:54:37 ◼   ► I like the way the watch face looks.

00:54:39 ◼   ► I've looked at other watches,

00:54:42 ◼   ► ever since Apple made a watch,

00:54:44 ◼   ► ever since I've all announced they were going to make a

00:54:45 ◼   ► watch, I've been looking around at what other people think are

00:54:49 ◼   ► really good watches and and every time I pass like a watch

00:54:52 ◼   ► store in the mall or something, I'll like I'll look

00:54:55 ◼   ► in the window and just kind of look at the watches there.

00:54:57 ◼   ► Look in the airport stores that are all crazy and

00:54:59 ◼   ► everything and when I look at other watches, I have never

00:55:04 ◼   ► really seen anything that I thought was really good

00:55:07 ◼   ► looking and yeah, I know there are some out there. I'm sure

00:55:10 ◼   ► everyone's going to then send me their the picture of the

00:55:12 ◼   ► watch that they think is good looking and say,

00:55:14 ◼   ► "Oh, you didn't see this one."

00:55:15 ◼   ► And yeah, I mean, you might be right,

00:55:16 ◼   ► but I never looked at any other watch

00:55:18 ◼   ► and said, "I really want that."

00:55:21 ◼   ► And this one, I look at this on my wrist,

00:55:24 ◼   ► the way I've set up, I use the utility face

00:55:28 ◼   ► with a fairly minimal set of complications on it.

00:55:32 ◼   ► And the way this looks to me is really nice.

00:55:35 ◼   ► Like, I really enjoy just the way the watch face looks.

00:55:38 ◼   ► Just as a timepiece, I enjoy it.

00:55:41 ◼   ► And the other functions it does are really great too,

00:55:44 ◼   ► but even just that part, I'm extremely satisfied with,

00:55:48 ◼   ► because I just like it.

00:55:50 ◼   ► For whatever reason, I just like it.

00:55:51 ◼   ► I will often look at the time

00:55:52 ◼   ► just to enjoy how the watch face looks.

00:55:56 ◼   ► I will say the complications,

00:55:58 ◼   ► which are the little features you can add

00:56:00 ◼   ► to show the temperature or your calendar events

00:56:02 ◼   ► or whatever in various areas of the faces,

00:56:04 ◼   ► I share a similar opinion as,

00:56:07 ◼   ► I believe Jason Snell who wrote about this,

00:56:09 ◼   ► and Casey used it as well.

00:56:11 ◼   ► The complications are a mixed bag.

00:56:13 ◼   ► I think many of them are very useful.

00:56:16 ◼   ► Most of them I would have some design tweak to.

00:56:19 ◼   ► In general, I'm like 90% satisfied

00:56:24 ◼   ► with the watch face availability that I have,

00:56:26 ◼   ► but that last 10% is kind of a killer.

00:56:28 ◼   ► If I prefer a digital watch face,

00:56:32 ◼   ► I think I'd be a little bit less satisfied

00:56:34 ◼   ► 'cause the digital options are not that great.

00:56:36 ◼   ► One of my favorite concepts of the watch face

00:56:38 ◼   ► the solar one which shows the big like arc of the sun throughout the day because

00:56:42 ◼   ► I like knowing how much sunlight I have left so I know when like when the latest

00:56:45 ◼   ► I can walk my dog and be in the daylight basically and that watch face is

00:56:49 ◼   ► frustrating because there's no complication so if you want to also show

00:56:52 ◼   ► the temperature on screen or also show anything else on screen with that face

00:56:57 ◼   ► you can't do it there's no there's no customization of that face furthermore

00:57:00 ◼   ► if you're on that face and I think one or two others I think maybe the solar

00:57:04 ◼   ► system. Anyway, if you're on that face, if you hit, if you scroll the wheel slightly

00:57:10 ◼   ► on the digital crown while you're trying to hit it to go to the home screen, any slight

00:57:15 ◼   ► scroll is interpreted as you're moving the sun around in that watch face and it cancels

00:57:20 ◼   ► the button push. And so you're like stuck in the watch face. And that, I found that

00:57:25 ◼   ► very error prone when I was using that face where I kept accidentally scrolling slightly

00:57:30 ◼   ► when I touched the wheel and not being able to go immediately to the home screen that

00:57:34 ◼   ► I wanted. So that was frustrating. But for the most part, once I found what I wanted,

00:57:38 ◼   ► which was the utility phase, I'm very happy with it as a watch. It is really quite nice.

00:57:45 ◼   ► Again, like you, Casey, and like Jason, I would make some small changes to the complications.

00:57:51 ◼   ► Like the empty state for things like the timer, or when there's an event, the calendar thing,

00:57:59 ◼   ► when you have nothing for the day, it says, "No events," in these big letters. Why can't

00:58:03 ◼   ► just be blank you know stuff like that like the the blank states of these

00:58:06 ◼   ► things could use some help I have mine set with a with a timer at the bottom

00:58:10 ◼   ► so I frequently will start a timer for like brewing tea or cooking something

00:58:14 ◼   ► and the timer when you when nothing is set it has a little timer icon next to

00:58:18 ◼   ► it it has the word set which is dumb just have the timer icon why do I need

00:58:23 ◼   ► the word set I know that when it's empty you tap it and it brings the timer

00:58:26 ◼   ► that's great why you need that so I do like having these things on the watch

00:58:31 ◼   ► watch face. I do recommend if you're getting the watch, if you're setting it up, I do recommend

00:58:36 ◼   ► keeping it simple. And that could just be personal preference, but I find that I'm happier

00:58:44 ◼   ► the less stuff is on my watch face and the fewer glances I'm using. And the advantage

00:58:48 ◼   ► of that, you know, there's information density reasons, there's stress reasons, but just

00:58:52 ◼   ► like there's also battery reasons, I don't have all this stuff updating all the time.

00:58:55 ◼   ► And it's also easier to navigate when you only have a few things that you really care

00:58:59 ◼   ► but it's easier to see, it's easier to scroll,

00:59:01 ◼   ► there's fewer things to scroll through.

00:59:03 ◼   ► So I recommend keeping your watch set up very simple.

00:59:05 ◼   ► But people will figure that out for themselves, I think.

00:59:09 ◼   ► - All right.

00:59:10 ◼   ► How about repairability?

00:59:11 ◼   ► Because iFixit has had a tear down,

00:59:14 ◼   ► and it was, I felt like it was fairly surprising,

00:59:18 ◼   ► even knowing full well that this thing was not large

00:59:21 ◼   ► and was going to be jam-packed,

00:59:23 ◼   ► I was stunned by how much stuff

00:59:27 ◼   ► is crammed into that little tiny case,

00:59:29 ◼   ► especially since my recollection of trying on the watches is that they were not terribly

00:59:34 ◼   ► heavy. I mean the link bracelet weighed quite a bit, but the watches themselves were not

00:59:41 ◼   ► terribly heavy and gosh there's a lot of stuff in there. So do we think that the S1 is going

00:59:48 ◼   ► to be upgradeable in the future?

00:59:50 ◼   ► Well this teardown, I think you remember the iFixit teardowns is everything is zoomed way

00:59:55 ◼   ► in.

00:59:56 ◼   ► So no matter how large the device is, they fill the frame with the thing.

01:00:00 ◼   ► So it seems like, you know, because I finally, by the way, I finally saw an Apple Watch in

01:00:04 ◼   ► person actually on somebody instead of in a store.

01:00:08 ◼   ► Still haven't gone to a try on.

01:00:09 ◼   ► But anyway, they're much smaller than I thought they would be.

01:00:12 ◼   ► Like all of Apple's pictures, they looked huge.

01:00:14 ◼   ► Many people have bought the 42 and thought they've mistakenly got the smaller size, the

01:00:19 ◼   ► 38 or whatever it is.

01:00:22 ◼   ► Because they're smaller than you think they are.

01:00:23 ◼   ► And so in these iFixit pictures, you're like, "Wow, look at all that stuff in there."

01:00:27 ◼   ► The key thing is not, "Look at all that stuff," the key thing is, "Look how small that stuff

01:00:30 ◼   ► is."

01:00:31 ◼   ► Because if they zoomed out to a reasonable length, you'd realize how microscopic those

01:00:34 ◼   ► things are.

01:00:35 ◼   ► Because they're zoomed way in to make the entire watch fill the frame.

01:00:38 ◼   ► So that's the thing that strikes me, that it seems like a lot of stuff is like, "Oh,

01:00:43 ◼   ► it's like a little TV dinner."

01:00:44 ◼   ► You have component A, component B, and component C, but those components are like the size

01:00:47 ◼   ► of pinheads.

01:00:48 ◼   ► They're microscopic.

01:00:50 ◼   ► So it's an amazing feat of miniaturization, but yeah, looking at the quote I pulled out

01:00:56 ◼   ► into the show notes here, looking at the S1 module, the little sort of, "Oh, the S1, if

01:01:00 ◼   ► they keep showing it as a little component, it could be replaceable."

01:01:02 ◼   ► Here's what iFixx had to say when they got the S1 module out of the watch.

01:01:06 ◼   ► "Pulling this mess out is a destructive procedure, but after ripping out some soldered connectors,

01:01:10 ◼   ► we got our first real look at the S1.

01:01:12 ◼   ► Despite rumors and hopes of an upgradable product, the difficulty of removing the S1

01:01:16 ◼   ► alone casts serious doubt in the idea of simply swapping out the internals."

01:01:19 ◼   ► iFixit is usually pretty good about like sort of doing surgery on Apple devices and getting

01:01:24 ◼   ► them apart and getting the pieces out.

01:01:25 ◼   ► And if they're saying basically to get the S1 out, you have to just rip off a bunch of

01:01:30 ◼   ► things like it is a destructive process.

01:01:32 ◼   ► I suppose you could just rip out all the guts, like just, you know, shuck it like an oyster

01:01:36 ◼   ► and pull everything out of it and just put entirely new guts inside it.

01:01:40 ◼   ► But even that, it looked like the type of thing that you would want to be done with

01:01:44 ◼   ► precision tools in a factory by people who, you know, people or machines that do the same

01:01:48 ◼   ► operations hundreds of times a day, rather than just having someone in the back room

01:01:53 ◼   ► scrape this stuff out. Because what would it even look like to reseat all these things

01:01:57 ◼   ► and reglue and seal all these things and reconnect all these connectors? Even if Apple wanted

01:02:03 ◼   ► to have internal swaps, it does not look good. I feel like if they offered that service,

01:02:08 ◼   ► I would be like, "Thanks, but no thanks." I really don't want the guts of this thing

01:02:12 ◼   ► pulled out and tried to be replaced because it would just never be the same again.

01:02:15 ◼   ► - Yeah, I mean, it's like if you get a laptop repaired

01:02:18 ◼   ► and it's not quite repaired right,

01:02:20 ◼   ► and it's like some seam doesn't quite line up right.

01:02:23 ◼   ► - What are you trying to say, Marco?

01:02:25 ◼   ► - Yeah, good luck with that.

01:02:26 ◼   ► But still like. (laughing)

01:02:27 ◼   ► - That was, the pre-unibody days, that was a real problem,

01:02:30 ◼   ► 'cause I have opened up pre-unibody laptops

01:02:32 ◼   ► and they never go back together the right way.

01:02:34 ◼   ► But the unibody ones are more sturdy in that regard,

01:02:36 ◼   ► but this definitely looks like one of those things

01:02:38 ◼   ► where it's like, it's a one-way operation.

01:02:41 ◼   ► Assemble, seal, it's your thing.

01:02:44 ◼   ► Maybe they could do the battery,

01:02:45 ◼   ► that's kind of on the outside but I even get worried about like because you see

01:02:48 ◼   ► how they take the screen part off like it's not there's no visible screws that

01:02:52 ◼   ► hold the screen on it just I guess it's just glued and they just kind of like

01:02:55 ◼   ► heat up the glue and pry the thing off and you're like really I mean it's the

01:02:59 ◼   ► same way that the windshield is stuck onto your car just you know much much

01:03:04 ◼   ► much smaller I suppose so I guess it's I don't know I just feel nervous about

01:03:08 ◼   ► things that are connected with adhesive I trust the factory sort of the factory

01:03:13 ◼   ► seal of putting, you know, even for windshields, like the windshield was put on my car in a

01:03:18 ◼   ► factory under controlled conditions, under hopefully ideal conditions, and yes, if you

01:03:23 ◼   ► get a crack in your windshield you can hire someone to come and take it off and put it

01:03:27 ◼   ► on a new one and they'll do it, you know, while you're at work inside the parking garage.

01:03:30 ◼   ► That's not ideal conditions.

01:03:32 ◼   ► Are they heating up the adhesive to the right temperature?

01:03:34 ◼   ► Is everything all, it just bothers me as an anal-redentive person.

01:03:38 ◼   ► But anyway, looking at this iFixit thing I'm thinking this was not designed to have the

01:03:43 ◼   ► the internal swapped and even if it could be done I would not want it done to my watch.

01:03:47 ◼   ► Yeah, I mean if you look at like basically all of the components are on top of the S1.

01:03:52 ◼   ► Like the S1 is at the bottom and in order to take it out you have to basically take

01:03:58 ◼   ► everything out of the watch. It's like a Porsche Boxster. Okay. You know, you got to

01:04:04 ◼   ► pull the whole engine out of the car. That isn't true is it? No it is not but I'm

01:04:08 ◼   ► waiting for the Porsche people to come and yell at me but no for mid-engine cars it is

01:04:12 ◼   ► just much harder to get at the parts of the engineering and to get out to the labor costs

01:04:16 ◼   ► for doing stuff like that as much as I would not based on based on how the watch is laid

01:04:22 ◼   ► out internally and all these different parts you have to disconnect and move and go around

01:04:28 ◼   ► in order to pull the S1 out. I'm with you John. I think I think this is clearly designed

01:04:32 ◼   ► to be a one way operation. I don't think anything is going to be offered for upgrading these

01:04:38 ◼   ► to the S2 or whatever. Even for the editions, I don't see it happening. And I think Apple's

01:04:45 ◼   ► solution is going to be just like their solution for everything else they make, which is, this

01:04:49 ◼   ► is today's model, and then eventually we're going to have a new model. And if you want,

01:04:53 ◼   ► you can recycle your old one.

01:04:54 ◼   ► Yeah, but we were talking about the chances of Apple offering upgradeability, specifically

01:04:58 ◼   ► with respect to the edition, because it's so darn expensive, and who's going to spend

01:05:01 ◼   ► all that money only to spend all that money again in three years, right? So that would

01:05:05 ◼   ► be the highest chance of having upgradeability. We talked about all the reasons they would

01:05:08 ◼   ► because it's just not the Apple way,

01:05:10 ◼   ► and if you can afford one 10 to $20,000 watch,

01:05:14 ◼   ► you can certainly afford two, right?

01:05:16 ◼   ► You know what I mean?

01:05:17 ◼   ► Like all these reasons,

01:05:17 ◼   ► one of the reasons we didn't discuss

01:05:19 ◼   ► was that these things are gonna be so darn small,

01:05:21 ◼   ► and Apple's gonna wanna wedge everything

01:05:23 ◼   ► that it possibly can.

01:05:25 ◼   ► And if it came down to a decision between,

01:05:28 ◼   ► we could make it a little bit smaller,

01:05:30 ◼   ► but it would make it much, much harder

01:05:33 ◼   ► or impossible to do a component swap.

01:05:35 ◼   ► Apple would always say, "Make it a little bit smaller."

01:05:37 ◼   ► like they're never optimizing for like,

01:05:40 ◼   ► just look at, go through the iFixit guide.

01:05:42 ◼   ► So the past five or 10 years or however long iFixit's

01:05:44 ◼   ► been around, probably not 10 years,

01:05:46 ◼   ► look at how much sort of empty space and extra stuff

01:05:50 ◼   ► that used to be inside Apple's laptops, for instance,

01:05:52 ◼   ► and compare it to the MacBook One tear down,

01:05:54 ◼   ► where I don't know if they have one of those yet,

01:05:55 ◼   ► I think they do, but they do.

01:05:57 ◼   ► There's like nothing in there.

01:05:58 ◼   ► There is no, like the number of pieces,

01:06:01 ◼   ► like they just want to get everything else out,

01:06:02 ◼   ► any kind of sort of framing mechanism or like cage or guard

01:06:07 ◼   ► or whatever it says, they just want to get everything

01:06:09 ◼   ► out of there and just squish it down till all there is

01:06:11 ◼   ► is like aluminum battery motherboard.

01:06:12 ◼   ► Like every, anything that is not essential has been removed

01:06:15 ◼   ► including key travel on the keyboard.

01:06:17 ◼   ► So that attitude of like, if it comes down to it

01:06:21 ◼   ► can we wedge more stuff in?

01:06:22 ◼   ► Yes, by sacrificing the ease of repair, totally do it.

01:06:26 ◼   ► And so that is, that's kind of what we were talking about

01:06:29 ◼   ► with like Apple's not going to do this

01:06:30 ◼   ► but this is another aspect of why this is not the Apple way.

01:06:33 ◼   ► Like I said, they still could on the addition say

01:06:35 ◼   ► give us your edition, we'll just yank out all the insides and put in all new guts.

01:06:38 ◼   ► They could do that like in the same way that, you know,

01:06:40 ◼   ► Casey's MacBook Air could be sent away to what do they call the Depot repair

01:06:44 ◼   ► center or like the magical fairy land where the Grinch takes your Christmas tree

01:06:47 ◼   ► to repair it. Like you can send your computer there too.

01:06:49 ◼   ► And then like something will happen. It always feels better to like, Oh,

01:06:54 ◼   ► we're going to send it out for repair.

01:06:55 ◼   ► And you can always imagine that that repair facility is much nicer and cleaner

01:06:59 ◼   ► and staffed by precision nano machines and robots and like, but it's not,

01:07:03 ◼   ► It's just different people in a different room.

01:07:06 ◼   ► Anyway, trying to think about it.

01:07:07 ◼   ► (laughing)

01:07:09 ◼   ► I still say Apple could, within the realm of reason,

01:07:13 ◼   ► say, by all means, bring us back your $17,000 watch.

01:07:17 ◼   ► We'll take the insides out and put in the insides

01:07:19 ◼   ► of the Apple Watch 2, which happens to have

01:07:20 ◼   ► the same external case.

01:07:21 ◼   ► They could, they probably won't.

01:07:23 ◼   ► - Well, but even Apple, when they do these depot repairs

01:07:26 ◼   ► and everything, a lot of the times,

01:07:28 ◼   ► the stuff that iFixit will do to try to remove a battery

01:07:31 ◼   ► that's glued to the case, for instance,

01:07:33 ◼   ► Apple doesn't do that.

01:07:34 ◼   ► They just replace the whole, that whole case section.

01:07:38 ◼   ► Like they don't, Apple does not take extreme measures

01:07:42 ◼   ► in their repair departments to disassemble things like that

01:07:46 ◼   ► that are just like super glued in there

01:07:48 ◼   ► and you're never gonna get it out.

01:07:49 ◼   ► They don't do that either.

01:07:50 ◼   ► They're just replacing more of it and charging you for it.

01:07:52 ◼   ► - Well, especially batteries, because if you bend it

01:07:54 ◼   ► or poke it or like puncture it,

01:07:56 ◼   ► or like the batteries become big flaming things very quickly.

01:07:59 ◼   ► So batteries they're very careful with.

01:08:02 ◼   ► But for other things, they do have,

01:08:04 ◼   ► I seem to recall someone telling me,

01:08:06 ◼   ► for taking the iMac screens off

01:08:09 ◼   ► and not getting dust behind them,

01:08:11 ◼   ► they have rigs to take the screen off easily and repeatedly

01:08:14 ◼   ► and blow out all the dust and do all these other things.

01:08:18 ◼   ► Things that may be beyond what a regular person can do,

01:08:23 ◼   ► the repair depots or the back of the Apple Store

01:08:25 ◼   ► may be better equipped to do it

01:08:26 ◼   ► because they have special purpose tools just for this thing.

01:08:28 ◼   ► But yeah, it reaches a limit where they say,

01:08:30 ◼   ► Well, it's actually we're since we're the repair depot. We don't need to carefully remove item a from item B

01:08:35 ◼   ► We just take the entire like top case thing and we get you a new top case or a bottom case or whatever the heck

01:08:40 ◼   ► You know what? I mean, and that's that is much more straightforward

01:08:42 ◼   ► That's why I think for the addition watches that they were gonna do it

01:08:44 ◼   ► They would take everything out of the edition except for the gold empty case and take entirely new insides with entirely new screen

01:08:50 ◼   ► Entirely new sapphire crystal everything is gonna slap it in there. It's just like one sealed edge

01:08:55 ◼   ► edge. I think that is still possible given the iFixit teardown, but not likely for all

01:09:00 ◼   ► the other reasons we talked about in the past about Apple just wants you to buy a new one,

01:09:04 ◼   ► so you will.

01:09:05 ◼   ► Right, I mean, I think at best we would see something that is basically a recycling program,

01:09:11 ◼   ► maybe with a better name, maybe with better rates for maybe just the editions. So maybe

01:09:15 ◼   ► they'd have some kind of trade-in thing, but I don't think you're going to get back the

01:09:19 ◼   ► same watch you trade in with new stuff inside. I think you might get back a brand new watch

01:09:24 ◼   ► and you might get some token rebate for the old one

01:09:26 ◼   ► that you traded in.

01:09:28 ◼   ► And even that, if they never did that,

01:09:30 ◼   ► I wouldn't be surprised, and it wouldn't be a big deal.

01:09:32 ◼   ► But if they're gonna do anything like that

01:09:34 ◼   ► for the addition customers,

01:09:35 ◼   ► I think that's the form it would take.

01:09:36 ◼   ► It wouldn't be you get back the same case

01:09:39 ◼   ► with new stuff inside.

01:09:41 ◼   ► - All right.

01:09:42 ◼   ► - Our finalist bunch of this week is Harry's.

01:09:45 ◼   ► Go to harrys.com and enter promo code ATP

01:09:49 ◼   ► to save $5 off your first purchase.

01:09:52 ◼   ► Harry's offers high quality razors and blades for a fraction of the price of the big razors

01:09:57 ◼   ► brands.

01:09:58 ◼   ► It was started by two guys who wanted a better product without paying an arm and a leg.

01:10:02 ◼   ► Harry's makes their own blades from their own factory, which is actually an old blade

01:10:06 ◼   ► factory in Germany that they liked so much that they actually just bought the whole thing.

01:10:10 ◼   ► These are high quality, high performing German blades crafted by shaving experts.

01:10:15 ◼   ► They give you a better shave that respects your face and your wallet.

01:10:20 ◼   ► Harry's offers factory direct pricing at a fraction of the big brand price.

01:10:24 ◼   ► They're usually about half the price.

01:10:26 ◼   ► Plus you don't have to wait around for some employee to come unlock the anti shoplifting

01:10:31 ◼   ► case at drugstores to buy them.

01:10:33 ◼   ► So none of that stuff.

01:10:35 ◼   ► You order it online, they ship it directly to your door and it's free shipping all the

01:10:39 ◼   ► time.

01:10:40 ◼   ► Free shipping directly to your door.

01:10:41 ◼   ► Now Harry's, I've tried this stuff.

01:10:43 ◼   ► It is really quite good.

01:10:44 ◼   ► I'm very impressed at what they manage for the price.

01:10:47 ◼   ► I would say, I don't think they have yet something that matches the Pro Glide strip on the Fusion,

01:10:57 ◼   ► but with the exception of that, I would say their blades are pretty much identical to

01:11:01 ◼   ► the quality of Fusion blades.

01:11:03 ◼   ► And I have very sensitive skin, so I would probably be able to tell you a difference

01:11:07 ◼   ► if there was one, and I really could not tell any difference at all with the quality of

01:11:11 ◼   ► the shave or the comfort.

01:11:13 ◼   ► It really is quite good.

01:11:15 ◼   ► they run about half the price of the Fusion Blade, so it's a no brainer. And their handles

01:11:19 ◼   ► are really, really nice, their designs are really nice, it's almost like the new Mad

01:11:24 ◼   ► Men kind of style of classic and classy looking things that kind of are inspired by old designs

01:11:32 ◼   ► but still look new and still look modern. Really great stuff, you know, nice heavy handles,

01:11:38 ◼   ► tasteful designs, it doesn't look like the weird Android commercial robot ultra-masky

01:11:45 ◼   ► transformers looking designs that the other razor things all look like. It's

01:11:50 ◼   ► just tastefully designed stuff. Great stuff from Harry's. Now you can get a

01:11:53 ◼   ► starter set from them. Just try it out. It's an amazing deal. You get 15 bucks,

01:11:57 ◼   ► you get a razor moisturizing shave cream or gel, your choice, and three razor

01:12:02 ◼   ► blade cartridges. When you need more blades they're just two dollars each or

01:12:06 ◼   ► less. An eight pack is 15 bucks, a 16 pack is 25 bucks. For instance, for comparison

01:12:14 ◼   ► here. Fusions are 12 for about 40 bucks. So 12 Harry's Blades are 20 bucks. So really

01:12:21 ◼   ► it is about half the price. You get the convenience and ease of ordering online, high quality

01:12:25 ◼   ► blades, great handle, great shaving cream, and excellent customer service if you ever

01:12:30 ◼   ► need it. All this at half the price of the big brands. So get started today with that

01:12:34 ◼   ► starter kit. Handle three blades and shaving cream for just 15 bucks shipped right to your

01:12:39 ◼   ► door and if you use promo code ATP at Harry's.com use promo code ATP to get

01:12:44 ◼   ► five dollars off your first purchase. So thanks a lot to Harry's. Go to Harry's.com

01:12:49 ◼   ► promo code ATP for five bucks off. Thanks a lot. So Microsoft had their first day

01:12:56 ◼   ► of, or I think it was the first day of their build conference, which is kind of

01:13:00 ◼   ► the Microsoft WWDC. Coincidentally it takes place in Moscone West. There were a

01:13:05 ◼   ► couple of big announcements I was interested in. The first one was Visual Studio Code.

01:13:13 ◼   ► Now despite the fact that this has Visual Studio in the name, in a lot of ways it is

01:13:18 ◼   ► not the traditional Visual Studio. But what's interesting about it is, one way or another,

01:13:22 ◼   ► regardless of the name, it is cross-platform. It will run on OS X, it will run on Linux,

01:13:27 ◼   ► and it will run on Windows. And Visual Studio Code, at a glance, looks like Adam, the editor

01:13:34 ◼   ► that we talked about quite a long time ago that was written by GitHub.

01:13:39 ◼   ► It looks like, um, it looks like Atom, but with a little bit of Microsoft flair on it.

01:13:46 ◼   ► And that's not necessarily a bad thing.

01:13:49 ◼   ► In fact, one of the really appealing things to it is it has really good IntelliSense.

01:13:53 ◼   ► And in case you don't know what IntelliSense is, it's the code completion and the little

01:13:58 ◼   ► tool tip that pops up that helps you complete code.

01:14:02 ◼   ► And as someone who's worked on Xcode a fair bit and makes his living working in Visual

01:14:07 ◼   ► Studio, I can tell you that IntelliSense is light years better than anything Xcode has

01:14:14 ◼   ► to offer, and I haven't used Eclipse for years and years and years, thank goodness, but I

01:14:19 ◼   ► don't remember Eclipse being any better.

01:14:20 ◼   ► Well anyway, so at a glance it looks just like Atom.

01:14:23 ◼   ► Well, come to find out, it actually is Atom in some way, shape, or form, and I haven't

01:14:29 ◼   ► really dug into the mechanism by which all this is held together, but there is at least

01:14:35 ◼   ► a part of Atom included in the package that is Visual Studio Code.

01:14:40 ◼   ► I did try Visual Studio Code.

01:14:43 ◼   ► I tried it shortly after it came out, and one of the things it promised is really, really

01:14:48 ◼   ► good Node support, which, as you guys well know, I've been really interested in lately,

01:14:53 ◼   ► and that's what my blog is running on, is Node.

01:14:55 ◼   ► And I went to download it, I downloaded it no problem, I ran it no problem, I opened

01:15:02 ◼   ► up my project, my camel project, and one of the first things I did was try to run.

01:15:12 ◼   ► And I tried to run it and I got a message saying, "Well, you can't because you don't

01:15:18 ◼   ► have Mono installed."

01:15:19 ◼   ► >> Okay, well in case you're not familiar,

01:15:22 ◼   ► Mono is the cross platform C# compiler that will compile to OS 10,

01:15:28 ◼   ► it'll compile to Linux, etc, etc.

01:15:30 ◼   ► And all the libraries associated with it.

01:15:33 ◼   ► So it's crossplatform.net.

01:15:35 ◼   ► >> Does it just make you tired for a month?

01:15:36 ◼   ► >> And it also makes you tired for a month,

01:15:38 ◼   ► and you get it by kissing people.

01:15:39 ◼   ► >> Right.

01:15:40 ◼   ► >> So it says, "Oh,

01:15:42 ◼   ► well, you don't have Mono installed."

01:15:44 ◼   ► So, okay, fine. So I brew install Mono,

01:15:47 ◼   ► And I forget what version it is that I got, but I tried to run again, or debug again,

01:15:54 ◼   ► and it said, "No, no, no, really, you don't have Mono installed."

01:15:57 ◼   ► So I was tweeting in general, and also tweeting at code, which is the Twitter handle that Microsoft somehow got.

01:16:05 ◼   ► I don't know how they landed that, but I tweeted at code and said, you know, I was saying, "Oh, this is weird. It's not working right. It's not working right."

01:16:11 ◼   ► Well, within an hour or two, the guy that was in the introductory video, I think it's

01:16:16 ◼   ► Chris Dias, I probably pronounced that wrong and I'm sorry, but the guy who was in the

01:16:21 ◼   ► intro video was tweeting at me saying, "Hey, hey, have you tried this? Have you tried that?"

01:16:25 ◼   ► What? Like, can you imagine walking out of an Apple WWDC presentation, hell, the keynote,

01:16:34 ◼   ► and trying something, and then Federici is tweeting at you saying, "Oh, did you try this

01:16:38 ◼   ► this thing or the other thing.

01:16:39 ◼   ► What?

01:16:40 ◼   ► That's amazing.

01:16:42 ◼   ► - You know what that means?

01:16:43 ◼   ► That means Microsoft is hungry.

01:16:44 ◼   ► - It does.

01:16:45 ◼   ► No, you're absolutely right.

01:16:46 ◼   ► - Microsoft is showing hustle.

01:16:48 ◼   ► Take a lesson, Apple.

01:16:49 ◼   ► - Oh, it's so true.

01:16:50 ◼   ► So anyway, so come to find out that Chris

01:16:53 ◼   ► had a couple of really good pointers,

01:16:54 ◼   ► and it turns out that I had two copies of Mono

01:16:58 ◼   ► on my computer.

01:16:59 ◼   ► I'm not sure when or how I installed the first one,

01:17:02 ◼   ► but-- - Package management.

01:17:04 ◼   ► (laughing)

01:17:05 ◼   ► - One way or another, I had.

01:17:07 ◼   ► And so I uninstalled the brew version,

01:17:10 ◼   ► or the homebrew version, I uninstalled the other one,

01:17:12 ◼   ► reinstalled the homebrew version,

01:17:14 ◼   ► and sure enough, debugging worked immediately.

01:17:16 ◼   ► I had put a post on my website a while back

01:17:18 ◼   ► about Node Debug, which is a kind of sort of hacky,

01:17:23 ◼   ► but still really nice debugger that works

01:17:25 ◼   ► with the Chrome web inspection tools.

01:17:28 ◼   ► I had tried that in the past and I'd really liked it.

01:17:30 ◼   ► This is so much better though, because this is,

01:17:33 ◼   ► Even though it is in no way actually Visual Studio,

01:17:37 ◼   ► except in name, it felt kind of similar to Visual Studio.

01:17:42 ◼   ► Like I hit F5, which by the way,

01:17:44 ◼   ► I have mapped to the keyboard brightness.

01:17:46 ◼   ► I don't have it mapped to be X, or excuse me, F5.

01:17:49 ◼   ► And sure enough, it figured it out and said, okay,

01:17:52 ◼   ► I'm gonna go debug.

01:17:53 ◼   ► And it worked really well.

01:17:55 ◼   ► And I've only played with it for a few minutes,

01:17:57 ◼   ► but I've been really, really impressed.

01:17:59 ◼   ► It has Git integration right there.

01:18:01 ◼   ► It has Markdown Preview and somebody tweeted at Gruber earlier today, I want to say it

01:18:06 ◼   ► was Rich Segal, but somebody tweeted at Gruber saying, "Hey, did you ever think 10 years

01:18:10 ◼   ► ago that Microsoft would ship a free editor, a free kind of sort of IDE for the Mac that

01:18:16 ◼   ► does Markdown Preview?"

01:18:17 ◼   ► And Gruber was like, "Of course not, no way."

01:18:19 ◼   ► And it's true.

01:18:20 ◼   ► I mean, it's really impressive.

01:18:22 ◼   ► It's a really impressive app.

01:18:24 ◼   ► A little bit of Ajita getting it going, but in the grand scheme of things, I really like

01:18:28 ◼   ► it.

01:18:29 ◼   ► I know everyone loves their own text editor.

01:18:31 ◼   ► I'm not saying it's better than any other.

01:18:33 ◼   ► This is not a vinyl is better kind of situation.

01:18:36 ◼   ► I'm just saying it's worth checking out.

01:18:38 ◼   ► And Marco, I tweeted at you earlier tonight,

01:18:40 ◼   ► although I don't know if you saw it,

01:18:42 ◼   ► that they even have PHP syntax highlighting and all that,

01:18:45 ◼   ► which may or may not be very exciting.

01:18:47 ◼   ► But I was impressed that it was that supportive

01:18:51 ◼   ► of all flavors of programming languages

01:18:54 ◼   ► rather than strictly speaking the Microsoft stuff.

01:18:58 ◼   ► - Yeah, I mean, this is clearly

01:19:00 ◼   ► part of the new Microsoft and realizing like you know the fights that they that

01:19:04 ◼   ► they can and should be fighting the fights that they have already lost and

01:19:08 ◼   ► and where they can where they can still have great value where they can hustle

01:19:12 ◼   ► and and this seems like a pretty good move overall I mean my main question

01:19:17 ◼   ► here is will this will this stay a thing you know will this be followed through

01:19:22 ◼   ► on and will it stay a thing because that's where Microsoft has recently not

01:19:27 ◼   ► done that well and and not even that recently like you know in the last 10

01:19:30 ◼   ► years has had a hard time like following through on stuff and well they thought

01:19:35 ◼   ► they'd follow through of the things they did succeeded in gain traction you know

01:19:39 ◼   ► I mean that's been the problem I think it's like if one of those things caught

01:19:42 ◼   ► fire you sure bet they'd fall through they would love to follow through but

01:19:45 ◼   ► they're being kind of ruthless and like if it doesn't catch on okay let's try

01:19:50 ◼   ► something else like all these things are not moves that are done from someone in

01:19:54 ◼   ► a position of strength it's kind of like Apple they're not as bad as Apple was in

01:19:57 ◼   ► in the 90s, obviously, but when you're in a corner

01:20:02 ◼   ► and when you're behind, you can't afford

01:20:05 ◼   ► to do the old Microsoft way of like,

01:20:07 ◼   ► not invented here syndrome,

01:20:08 ◼   ► we're gonna do everything ourselves.

01:20:09 ◼   ► So why are they using Electron,

01:20:11 ◼   ► which is the framework that GitHub spun out

01:20:14 ◼   ► of their Atom project to say Atom is built on Electron.

01:20:17 ◼   ► It's all, anyway, we'll put a link to it in the show notes.

01:20:19 ◼   ► Why are we using this web-based framework

01:20:21 ◼   ► that uses Google's web browser engine under the covers

01:20:24 ◼   ► to make quote unquote native applications

01:20:27 ◼   ► using a web rendering engine technology,

01:20:30 ◼   ► like why don't we write our own editor?

01:20:31 ◼   ► We have, don't we have our own editor?

01:20:32 ◼   ► We wrote Visual Studio, like, 'cause you can't,

01:20:34 ◼   ► you don't have time, you need,

01:20:35 ◼   ► if you wanna do this thing, we have an idea,

01:20:37 ◼   ► we have the strategy, we're gonna talk about it in a bit,

01:20:39 ◼   ► that's gonna let us do all this cross-platform stuff,

01:20:41 ◼   ► and we wanna have an editor,

01:20:42 ◼   ► we wanna let people develop on the Mac,

01:20:44 ◼   ► can we make a new Mac editor from scratch?

01:20:46 ◼   ► No, we don't have time, like, how fast can we get to market?

01:20:50 ◼   ► And the old Microsoft was too proud,

01:20:53 ◼   ► or too stubborn to do what they're doing now,

01:20:57 ◼   ► which is like, well, we can get to market pretty quickly

01:20:59 ◼   ► if we use this open source engine

01:21:00 ◼   ► that GitHub used to make it editor,

01:21:02 ◼   ► that gives us a huge headstart.

01:21:04 ◼   ► And maybe it's not as nice as the real Visual Studio editor,

01:21:08 ◼   ► but it's not like we're gonna port that to the Mac.

01:21:09 ◼   ► And even if we did, it would be kind of cruddy.

01:21:11 ◼   ► So let's do what it takes to get off the ground.

01:21:13 ◼   ► And just like Apple was like,

01:21:15 ◼   ► can we make a modern operating system?

01:21:17 ◼   ► We tried like three times and it didn't work.

01:21:19 ◼   ► Can we just buy somebody?

01:21:20 ◼   ► And that's what they did.

01:21:21 ◼   ► Can we use the Windows NT kernel?

01:21:23 ◼   ► Can we buy B?

01:21:23 ◼   ► Can we buy next?

01:21:24 ◼   ► They made the right move there.

01:21:25 ◼   ► but this is not something that you do

01:21:30 ◼   ► when you're in the driver's seat of anything.

01:21:32 ◼   ► This is something you do when you're behind

01:21:34 ◼   ► and it's smart and it's expedient,

01:21:35 ◼   ► but it's also, I'm not gonna say it smells of panic,

01:21:39 ◼   ► but it's kind of sad to see.

01:21:44 ◼   ► Like one of the things that made Microsoft great

01:21:45 ◼   ► was like they thought we can do everything ourselves

01:21:47 ◼   ► and they really could do everything themselves.

01:21:50 ◼   ► Usually a reasonably good job of it.

01:21:53 ◼   ► The new Microsoft doesn't have time to do everything itself,

01:21:56 ◼   ► which is probably a good thing,

01:21:58 ◼   ► but they didn't make Atom, GitHub made Atom.

01:22:03 ◼   ► They didn't make Electrum, GitHub did.

01:22:04 ◼   ► They didn't make the Chrome engine, Google did,

01:22:07 ◼   ► and Apple made WebKit, and the value they're adding,

01:22:11 ◼   ► you're right Marco, they're trying to add value

01:22:13 ◼   ► where they can, but they're standing on the shoulders

01:22:15 ◼   ► of all the other companies that used to,

01:22:18 ◼   ► they used to be the giants,

01:22:19 ◼   ► and now they're standing on the shoulders

01:22:20 ◼   ► of all these other companies,

01:22:21 ◼   ► some of which didn't even exist

01:22:22 ◼   ► when Microsoft ruled the roost.

01:22:24 ◼   ► - Yeah, it's very true.

01:22:26 ◼   ► But yeah, this Visual Studio Code thing,

01:22:28 ◼   ► I really dig it in the very, very brief

01:22:30 ◼   ► amount of time I've spent with it.

01:22:32 ◼   ► And it is far and away the best node debugger I've tried,

01:22:35 ◼   ► but I'm a very amateur node programmer,

01:22:38 ◼   ► so there may be some other package or product out there

01:22:40 ◼   ► I'm just not aware of, but--

01:22:42 ◼   ► - Is there a comma in that name?

01:22:44 ◼   ► - No comma debugger.

01:22:45 ◼   ► (laughing)

01:22:48 ◼   ► - I don't even know where to go from here.

01:22:51 ◼   ► So that was Visual Studio Code.

01:22:53 ◼   ► You should definitely try it out.

01:22:54 ◼   ► It's free download.

01:22:55 ◼   ► It's worth at least checking out.

01:22:57 ◼   ► The other really interesting thing that they talked about, which unfortunately we haven't

01:23:02 ◼   ► heard a lot of technical details about yet, is two different projects.

01:23:06 ◼   ► One of them is called Islandwood and the other Astoria.

01:23:09 ◼   ► Let me cover those in reverse.

01:23:11 ◼   ► Project Astoria is to allow Android apps to run on, I believe it was Windows Phone only.

01:23:20 ◼   ► And this is vaguely similar to what BlackBerry did way back when.

01:23:24 ◼   ► And basically any APK, so any Android app that's been built, that doesn't use any of

01:23:33 ◼   ► the proprietary Google stuff.

01:23:34 ◼   ► So my understanding of Android is that there's the Android open source project, and then

01:23:41 ◼   ► as a kind of, is it superset or subset of that?

01:23:44 ◼   ► I don't know.

01:23:45 ◼   ► addition to that is the Google Mobile Services, which has

01:23:50 ◼   ► things like Google Maps and things of that nature.

01:23:53 ◼   ► If your app strictly stays within the APIs that are part

01:23:57 ◼   ► of the open source Android, then you can take your APK,

01:24:01 ◼   ► drop it in Windows, and it will run

01:24:04 ◼   ► supposedly no problem.

01:24:06 ◼   ► The thing that I haven't been made clear, though, is how is

01:24:11 ◼   ► this working from a technical perspective?

01:24:13 ◼   ► And I don't know if this is like a wine kind of situation.

01:24:15 ◼   ► What was a background name for wine?

01:24:18 ◼   ► Like something is not Windows or something like that.

01:24:20 ◼   ► I don't know.

01:24:21 ◼   ► But anyway, the wine is the app that allowed you

01:24:26 ◼   ► to run Win32 apps on Linux.

01:24:29 ◼   ► And did that ever work on OS X?

01:24:31 ◼   ► Was that a thing?

01:24:32 ◼   ► - Wine is not an emulator?

01:24:33 ◼   ► That's gonna be my guess.

01:24:34 ◼   ► - That's what I was thinking of.

01:24:35 ◼   ► Thank you.

01:24:37 ◼   ► That's what I was thinking of.

01:24:38 ◼   ► Anyway, so I don't know if this is like a wine sort of thing

01:24:41 ◼   ► or not, I'm not sure what the mechanism is

01:24:43 ◼   ► for this working under the hood,

01:24:44 ◼   ► but supposedly you'll be able to run certain APKs in Windows

01:24:49 ◼   ► without any modification whatsoever.

01:24:53 ◼   ► So any thoughts on that before I move on to Islandwood?

01:24:55 ◼   ► - Again, this is another one of those days

01:24:57 ◼   ► where an announcement is made on the day that we record

01:25:00 ◼   ► so none of us have really had time to read about this stuff

01:25:02 ◼   ► or watch the thing.

01:25:03 ◼   ► But my understanding from watching tweets from people

01:25:05 ◼   ► I think know what they're talking about

01:25:07 ◼   ► is that the iOS compatibility

01:25:11 ◼   ► is you take your source code and you compile it.

01:25:14 ◼   ► - Oh, well, we're not there yet, man.

01:25:15 ◼   ► We're only talking about Android.

01:25:17 ◼   ► - I know, but I'm comparing and contrasting.

01:25:19 ◼   ► You take your source code and you compile it,

01:25:21 ◼   ► and the Android one is you take your Android app

01:25:24 ◼   ► and you run it.

01:25:26 ◼   ► And that's different.

01:25:26 ◼   ► Like, even if you have the source to your Android app,

01:25:28 ◼   ► I don't think that's how it works.

01:25:29 ◼   ► I don't think they say,

01:25:30 ◼   ► "Oh, take the source to your Android app and compile it."

01:25:32 ◼   ► So that's a big difference

01:25:34 ◼   ► in how they're gonna implement things.

01:25:36 ◼   ► If you're not recompiling it,

01:25:37 ◼   ► that means binary compatibility,

01:25:39 ◼   ► But of course, the Android apps are written on the Dalvik VM,

01:25:42 ◼   ► or written against the Dalvik VM, which is their don't call

01:25:45 ◼   ► it Java, Java VM.

01:25:47 ◼   ► So it's bytecode involved, so why would they

01:25:49 ◼   ► need to recompile it?

01:25:50 ◼   ► If they've got bytecode, they can run it.

01:25:52 ◼   ► The JVM spec and probably the Dalvik spec

01:25:54 ◼   ► are something that they can reverse engineer or read

01:25:56 ◼   ► documentation for.

01:25:58 ◼   ► So it's much more straightforward.

01:26:00 ◼   ► And it's not like Wine, because it's not

01:26:01 ◼   ► native code to begin with.

01:26:03 ◼   ► It's the Java bytecode stuff.

01:26:07 ◼   ► Interesting point.

01:26:08 ◼   ► I see what you're saying.

01:26:08 ◼   ► So that's, I think that's how they're getting away with,

01:26:11 ◼   ► you don't have to recompile, it's not source compatibility.

01:26:13 ◼   ► And it's not like a wine where they're like stubbing out

01:26:15 ◼   ► a bunch of things.

01:26:16 ◼   ► It's like, they're just implementing a Java virtual machine

01:26:20 ◼   ► and the APIs that it links against, I guess.

01:26:23 ◼   ► But you don't have to, you just take your binary and run it.

01:26:25 ◼   ► This is again, from not having watched the presentation

01:26:27 ◼   ► and just seeing people's tweets, this is my understanding.

01:26:30 ◼   ► And yes, if I let the cat out of the bag

01:26:31 ◼   ► about the iOS thing, which everybody knows by now,

01:26:33 ◼   ► they're doing that entirely differently,

01:26:35 ◼   ► that you have to have your source code

01:26:37 ◼   ► and then you compile it against a bunch of their libraries,

01:26:39 ◼   ► which are not Apple's libraries,

01:26:41 ◼   ► but hopefully have all the same APIs and are compatible

01:26:43 ◼   ► and good luck with that.

01:26:45 ◼   ► - Right, so that's the Islandwood thing.

01:26:47 ◼   ► And just like John said, you can take an Xcode project

01:26:51 ◼   ► and suck it into Visual Studio

01:26:52 ◼   ► and then recompile it against a quote middleware layer quote

01:26:57 ◼   ► and apparently magic happens

01:27:00 ◼   ► and then you've got a Windows app.

01:27:02 ◼   ► And not only is it a Windows app,

01:27:06 ◼   ► But it's a universal Windows app, so presumably it can run on the desktop, it can run on a

01:27:11 ◼   ► tablet, it can run on the phone, it can run just about anywhere that's Windows.

01:27:16 ◼   ► What I'm really interested to see is what exactly is doing all of this.

01:27:21 ◼   ► Oh, and it's worth pointing out this is Objective-C only as well.

01:27:25 ◼   ► What is this middleware layer?

01:27:26 ◼   ► How is this held together?

01:27:27 ◼   ► What is really going on here?

01:27:29 ◼   ► But I did read in Ars Technica, and we'll link this in the show notes, or I think I've

01:27:33 ◼   ► read it on Ars Technica, but somewhere I have read that not only does this island would

01:27:40 ◼   ► support just general kind of sort of cross compilation, but it even supports UIKit and

01:27:46 ◼   ► even more importantly than that, core animation.

01:27:50 ◼   ► And if you've never written iOS code before, core animation is phenomenal.

01:27:55 ◼   ► And it's an amazingly easy way to say, "Yeah, make that thing just kind of dance over to

01:27:59 ◼   ► that side of the screen."

01:28:01 ◼   ► And it takes very little code to make really, really fluid, really impressive animations

01:28:05 ◼   ► happen.

01:28:06 ◼   ► And that's in part why so many iOS apps look so darn good, is because for a developer,

01:28:11 ◼   ► even one who has no visual chops like myself, you can make really decent animations really,

01:28:16 ◼   ► really easily.

01:28:17 ◼   ► And the fact that core animation got ported, or whatever, is pretty impressive to me.

01:28:22 ◼   ► So I've been told on Twitter that the session where they talk about the mechanisms behind

01:28:27 ◼   ► all of this will be happening tomorrow afternoon, which is Thursday afternoon as we record this.

01:28:32 ◼   ► I don't know if I'll have the time to watch it anytime soon because life has been a little

01:28:35 ◼   ► busy lately, but I hope at some point that I'll be able to check it out and report back on how

01:28:41 ◼   ► this is all held together because this certainly sounds extremely impressive, although we'll see

01:28:46 ◼   ► if it's actually really particularly functional over the next few weeks, I suppose. That being

01:28:53 ◼   ► said, Candy Crush Saga, the bastion of excellent programming, has already been running on this

01:28:58 ◼   ► project Islandwood.

01:29:00 ◼   ► It sounds like they kind of pulled a GNU step. Do you guys remember GNU step?

01:29:03 ◼   ► I've certainly heard the name, but...

01:29:04 ◼   ► It might still be out there. So if you have... Apple doesn't give you the source code, like

01:29:09 ◼   ► all of Cocoa and all of UIKit. Like some of the Darwin source code includes some, you

01:29:13 ◼   ► know, I think it's some core foundation stuff is in there, whatever. But anyway, most of

01:29:16 ◼   ► the stuff is not open source. But they do publish, you know, the documentation and you

01:29:19 ◼   ► get the header files for all the objective stuff.

01:29:23 ◼   ► The APIs are defined, and what they do is roughly defined.

01:29:26 ◼   ► So you could just look at the APIs and the headers and the documentation and use an actual

01:29:31 ◼   ► Mac to figure out how things work, and you could make a worker-like library for your

01:29:35 ◼   ► platform.

01:29:36 ◼   ► And that's kind of what GnuStep is.

01:29:37 ◼   ► It was trying to take the OpenStep stuff, which also wasn't open source, I don't know

01:29:41 ◼   ► if it ever was, and say, "We would like to be able to write programs with lots of square

01:29:46 ◼   ► brackets on Linux too, but they're not going to give us their code, so can we just sort

01:29:51 ◼   ► of reverse engineering and make a set of libraries with exactly the same functions, take exactly

01:29:54 ◼   ► the same arguments that behave in exactly the same way, but ours will be all open source.

01:29:59 ◼   ► And that effort, you know, with like any sort of open source volunteer-led effort, it's

01:30:03 ◼   ► very difficult to keep pace with Apple and all their engineers adding changes to Cocoa

01:30:08 ◼   ► and everything, so I don't know how far GnuStep has kept up, but this effort seems like that,

01:30:14 ◼   ► funded by Microsoft and a lot more people.

01:30:16 ◼   ► If you're gonna compile my UI kit application source code

01:30:20 ◼   ► without having Apple's code for the UI kit frameworks,

01:30:24 ◼   ► you will have to have frameworks with the same names,

01:30:26 ◼   ► with the same functions in them to link against,

01:30:28 ◼   ► otherwise nothing is going to work.

01:30:30 ◼   ► And where are you gonna get those from?

01:30:31 ◼   ► You're gonna have to write them yourselves

01:30:32 ◼   ► and make sure they behave in the same way as Apple's do.

01:30:35 ◼   ► And that is a humongous job.

01:30:37 ◼   ► And that is so unlike Microsoft,

01:30:38 ◼   ► because now you're sort of signing up

01:30:40 ◼   ► to try to keep pace with Apple's rapid development

01:30:42 ◼   ► of their libraries.

01:30:44 ◼   ► and you're telling people to, you know,

01:30:47 ◼   ► not even port their applications,

01:30:48 ◼   ► just bring your source code over

01:30:49 ◼   ► and it will compile on our platform

01:30:51 ◼   ► as a way to get more applications for your platform.

01:30:54 ◼   ► But like, you don't even have your own platform

01:30:55 ◼   ► at that point.

01:30:56 ◼   ► All you have is another place where, you know,

01:30:58 ◼   ► people are writing it's Apple's platform

01:30:59 ◼   ► and they can also, by the way, reuse that work

01:31:01 ◼   ► to sort of go on your platform as an afterthought,

01:31:03 ◼   ► but you don't even own your platform at that point.

01:31:05 ◼   ► Same thing with the Android apps.

01:31:07 ◼   ► Like, why does Microsoft even bother having an API if,

01:31:12 ◼   ► you know, I understand what they're trying to do.

01:31:13 ◼   ► like, oh, we need more apps on our platform.

01:31:15 ◼   ► We can get more apps by saying, hey, it's really easy

01:31:17 ◼   ► for you to take your existing Android or iOS app

01:31:19 ◼   ► and bring it to our platform.

01:31:20 ◼   ► But then do you even have a platform at that point?

01:31:22 ◼   ► Who in the world is ever gonna write against your API?

01:31:25 ◼   ► Are you really gonna put a lot of effort

01:31:26 ◼   ► into improving your API?

01:31:27 ◼   ► You're gonna be spending all your time

01:31:28 ◼   ► chasing these other APIs that you don't even control

01:31:31 ◼   ► that can be changed in ways that intentionally

01:31:33 ◼   ► or accidentally break your compatibility.

01:31:35 ◼   ► Both of these companies could decide to sue you,

01:31:37 ◼   ► probably not Google, 'cause Oracle's already suing them

01:31:39 ◼   ► over the Java stuff, but Apple could get cranky

01:31:41 ◼   ► and be like, whoa, whoa, whoa.

01:31:43 ◼   ► Like the Cocoa API is copyrighted and you can't blah blah blah,

01:31:45 ◼   ► but that's the whole Oracle Java suit, right?

01:31:47 ◼   ► So depending on that, it shakes out,

01:31:49 ◼   ► Microsoft might not even be on strong legal footing.

01:31:52 ◼   ► This, I'm interested in the technical details as well,

01:31:55 ◼   ► but strategy wise, like I see the benefits.

01:32:00 ◼   ► We're desperate, we need to get more apps on our platform.

01:32:03 ◼   ► This is might be a way to do it.

01:32:04 ◼   ► And usually like file format wise,

01:32:06 ◼   ► this is an approach that has worked for Microsoft

01:32:08 ◼   ► in the past of like, we can read Word Perfect Format.

01:32:10 ◼   ► I don't know if that's a good example

01:32:11 ◼   ► 'cause I don't remember if they did that,

01:32:12 ◼   ► But like the way to get, if you're at market

01:32:15 ◼   ► and there's an entrenched leader,

01:32:16 ◼   ► you need your application to,

01:32:17 ◼   ► you need to make it so that using your application

01:32:20 ◼   ► is as easy as possible for the people

01:32:22 ◼   ► who use your competing application.

01:32:23 ◼   ► Like, oh, it's not a big deal.

01:32:24 ◼   ► We can read your old files, we'll import them.

01:32:26 ◼   ► We can save in your old format.

01:32:27 ◼   ► Like everything is great.

01:32:29 ◼   ► Like sort of just be a smooth upgrade path

01:32:32 ◼   ► because you're not in a position to say,

01:32:34 ◼   ► drop everything and come to our platform.

01:32:36 ◼   ► They tried that, it didn't work out.

01:32:38 ◼   ► Now they're trying to say, it's not a big deal.

01:32:39 ◼   ► Like I know you got an iOS app,

01:32:41 ◼   ► but you might want to make a Windows version of it too.

01:32:43 ◼   ► It's really easy, you can just bring your source code over,

01:32:45 ◼   ► recompile it, a couple little tweaks here and there.

01:32:47 ◼   ► Hey, why not, right guys?

01:32:49 ◼   ► That is not a strong pitch,

01:32:50 ◼   ► but that's the thin edge of the wedge if you're lucky.

01:32:53 ◼   ► But if you're not lucky,

01:32:54 ◼   ► all you're doing is just further dooming your own platform

01:32:57 ◼   ► to never be a real platform that you control.

01:32:59 ◼   ► - Well, and I don't think this really solves the problem

01:33:03 ◼   ► of why there aren't more apps on Windows Phone

01:33:06 ◼   ► and Windows, all the more modern Windows platforms.

01:33:10 ◼   ► The problem is really not that we were waiting

01:33:15 ◼   ► for being able to share the same code,

01:33:16 ◼   ► because you said that,

01:33:17 ◼   ► I just said there's tons of problems with that,

01:33:18 ◼   ► tons of problems.

01:33:19 ◼   ► As a developer, I don't think I would trust that

01:33:22 ◼   ► to be a stable, long-term way to do it, first of all.

01:33:25 ◼   ► Like, if I come out there and if I,

01:33:28 ◼   ► let's say I move all my code into this thing,

01:33:31 ◼   ► and I can compile it, and it actually does work,

01:33:33 ◼   ► and I can chip over cats for Windows Phone

01:33:34 ◼   ► using this crazy setup.

01:33:36 ◼   ► I'm gonna then tell people this,

01:33:39 ◼   ► I'm gonna announce this and then I'm gonna get customers

01:33:42 ◼   ► who are on Windows phones who are paying for the app

01:33:46 ◼   ► that's all, it's all based on this crazy setup

01:33:50 ◼   ► continuing to work into the future.

01:33:52 ◼   ► And that's something that I would not wanna rest

01:33:55 ◼   ► my customer trust on and my reputation on.

01:33:58 ◼   ► And it would definitely become yet another thing

01:34:03 ◼   ► I would have to maintain separately,

01:34:04 ◼   ► yet another thing that would have separate support issues,

01:34:07 ◼   ► separate bugs, it would have all the downsides of a new platform in addition to just the

01:34:14 ◼   ► massive liability of this compatibility layer that it would all depend on. And I wouldn't

01:34:20 ◼   ► trust that. And the reason why there aren't more developers making apps for the Windows

01:34:26 ◼   ► phone system and all the, you know, the artists probably known as Metro and all this stuff,

01:34:31 ◼   ► the reason why there aren't more of these is not because we were waiting for our code

01:34:35 ◼   ► to cross compile. It's because, A, none of us use these platforms, basically, you know,

01:34:42 ◼   ► there are some, but it's effectively zero relative to the market, so none of the developers

01:34:46 ◼   ► who are making the kinds of apps that people want to be in these platforms are using them

01:34:50 ◼   ► themselves and there just aren't that many people in the marketplace buying these platforms,

01:34:56 ◼   ► especially the kind of people who would be willing and able to install the kind of apps

01:35:03 ◼   ► that we make. And that's a big limitation right there. That rules out most enterprise

01:35:09 ◼   ► customers, that rules out a whole lot of Windows usage. So people who would actually buy these

01:35:15 ◼   ► apps, the kind of apps that iOS programmers make, and Android programmers make, people

01:35:20 ◼   ► who would actually buy them and use them, whether there's any market there, that's a

01:35:23 ◼   ► very big question. And they just don't have the unit sales to support that in the mobile

01:35:29 ◼   ► platform and on the PC platform it's usually not used that way. So there really is no reason

01:35:37 ◼   ► for developers to spend a whole lot of time on Windows Phone right now. And that might

01:35:42 ◼   ► change in the future. But right now, it's not justified. And this isn't going to change

01:35:49 ◼   ► that. Anything they do on the code side is not going to change that. They need to change

01:35:52 ◼   ► the market. Like the market of their devices and of their platforms. That's what has to

01:35:57 ◼   ► change. I don't know how you go about changing that, but there's no amount of like bribing

01:36:03 ◼   ► developers or making things easy for developers that's going to really solve that problem

01:36:08 ◼   ► on a big scale.

01:36:09 ◼   ► Well, you can see that the company that makes Candy Crush was like King something, I forgot

01:36:13 ◼   ► what their name is, is not bothered by the sort of, you know, reputation and support

01:36:18 ◼   ► concerns that you are because they're like, "It's shovelware. That's a term in the game

01:36:22 ◼   ► industry for a reason." "All right, we can make a Windows version real easily? Why not?

01:36:26 ◼   ► sure we'll do that. Like, whatever, especially with games where it's not much native UI anyway.

01:36:32 ◼   ► They either have the manpower to chase the weird bugs that happen on that, or they just

01:36:36 ◼   ► see it as a small amount of incremental income for not much extra money, or, you know, like,

01:36:42 ◼   ► this is going to get more applications on their platform, but I don't know if it's a

01:36:45 ◼   ► net win for them. And as for like, addressing it like, "Well, if you sold more phones, you

01:36:49 ◼   ► have more software, and if you had more software, you might sell more phones," like, they're

01:36:52 ◼   ► trying it from every possible angle. Again, not that they're in the same position as Apple

01:36:55 ◼   ► was in the 90s, but I get a similar vibe.

01:36:57 ◼   ► Like back when Apple was desperate,

01:36:59 ◼   ► much more desperate than Microsoft,

01:37:01 ◼   ► hope will probably ever be,

01:37:02 ◼   ► they were willing to try all those ideas

01:37:05 ◼   ► that people had been telling them for years

01:37:06 ◼   ► they should do.

01:37:07 ◼   ► Like, you know, try licensing your OS,

01:37:09 ◼   ► try making a TV, try making x86 compatible things,

01:37:13 ◼   ► try selling your computers in Sears.

01:37:15 ◼   ► You know, like they were doing everything

01:37:17 ◼   ► that anyone had ever told them that you might want to try.

01:37:20 ◼   ► And all of them, you know,

01:37:22 ◼   ► like there was reasons they hadn't done them in the past.

01:37:25 ◼   ► right the clones one is the worst one it's like this thing that everyone would

01:37:27 ◼   ► tell them you should license your operating system usually and it's like

01:37:30 ◼   ► with Microsoft it's like you shouldn't be so stubborn and try to invent

01:37:33 ◼   ► everything yourself use things that other people have allow iOS apps to

01:37:37 ◼   ► running your things around Android apps to run on Windows make Windows free make

01:37:41 ◼   ► Windows open source like just all the list of like as we go on the list of the

01:37:45 ◼   ► things that people have said Microsoft should try as it slowly tries them you

01:37:49 ◼   ► realize they were always bad ideas or it's too late or both. So I don't know.

01:37:56 ◼   ► I kind of like the new Microsoft and they're doing exciting things but

01:38:01 ◼   ► I feel like they're losing control of their platform. I feel like they had a

01:38:06 ◼   ► good platform and a potential growth path and just through a series of bad

01:38:09 ◼   ► mistakes they're no longer masters of their own destiny in so many ways

01:38:14 ◼   ► is that it's depressing.

01:38:17 ◼   ► - But I agree with that,

01:38:19 ◼   ► but man is it interesting to watch, isn't it?

01:38:21 ◼   ► I mean, it's just so fun to watch what they're doing.

01:38:25 ◼   ► Even if they're making more missteps,

01:38:27 ◼   ► which I'm not saying,

01:38:28 ◼   ► I don't know if they're making missteps,

01:38:29 ◼   ► but they are definitely desperate, like you said,

01:38:32 ◼   ► but gosh, is it fun to watch?

01:38:33 ◼   ► - Well, and they do fail fast for the most part.

01:38:35 ◼   ► Like they're trying lots of things,

01:38:37 ◼   ► and if they don't stick, they move on.

01:38:38 ◼   ► And in one respect that makes you not trustworthy

01:38:41 ◼   ► as a company, 'cause people don't wanna buy your product,

01:38:43 ◼   ► are like, do I really want to buy that? Because if it doesn't succeed really well, it's going

01:38:47 ◼   ► to be a dead end. On the other hand, they do need to find something that works. And

01:38:51 ◼   ► so it's better than picking a strategy that's going to save the company and sticking with

01:38:55 ◼   ► it for five years, stubbornly refusing to see that your strategy is not working. Like

01:39:00 ◼   ► they are, you know, like what was that? The Microsoft wristband thing? What is that called?

01:39:05 ◼   ► Microsoft band, I believe. Yeah. Like, so that was, I thought that was a reasonable

01:39:09 ◼   ► product. But did it sound big enough numbers that they're going to make a Microsoft band

01:39:12 ◼   ► and two and three and four.

01:39:14 ◼   ► If you bought a Microsoft band,

01:39:15 ◼   ► are you gonna be kind of sore that like,

01:39:17 ◼   ► you know, I kind of like my Microsoft band

01:39:19 ◼   ► and they're just not making one 'cause it wasn't a hit

01:39:21 ◼   ► or 'cause the Apple Watch came out and it couldn't compete.

01:39:23 ◼   ► Like, I don't know what the balance is there.

01:39:26 ◼   ► Should they abandon Microsoft band

01:39:27 ◼   ► because it didn't work out or should they say,

01:39:29 ◼   ► you know what, it was a pretty decent version one product.

01:39:31 ◼   ► It is differentiated from the Apple Watch in interesting way.

01:39:34 ◼   ► Let's make a version two and a version three

01:39:35 ◼   ► and a version four.

01:39:36 ◼   ► I don't quite know what the right thing to do there.

01:39:39 ◼   ► I think Microsoft has done much stronger footing

01:39:41 ◼   ► with its Azure stuff, because that is,

01:39:44 ◼   ► they are the master of their own destiny there.

01:39:46 ◼   ► That platform is different than Amazon Web Services

01:39:49 ◼   ► and EC2 and whatever the hell Google is doing.

01:39:51 ◼   ► Like it is a contemporary, it is in the running

01:39:55 ◼   ► with all the other things that are out there.

01:39:56 ◼   ► It has a lot of good reports.

01:39:58 ◼   ► It's not the great things about that

01:39:59 ◼   ► or all the good things about the new Microsoft.

01:40:00 ◼   ► Don't tie it to Windows only.

01:40:02 ◼   ► Don't make it a Trojan horse to try to get our technology

01:40:04 ◼   ► into other people's things.

01:40:05 ◼   ► Be open, use JSON, accept other languages,

01:40:08 ◼   ► be really good at what you do.

01:40:09 ◼   ► That I think still is their flagship,

01:40:12 ◼   ► that and obviously Xbox.

01:40:13 ◼   ► Other two flagship, non-embarrassing, no excuses,

01:40:17 ◼   ► no stupid Microsoft BS for the most part,

01:40:19 ◼   ► except a little bit on the Xbox One products.

01:40:21 ◼   ► But Windows at this point,

01:40:23 ◼   ► and everything involved with Windows,

01:40:25 ◼   ► and Windows on phones, and Windows on computers,

01:40:27 ◼   ► and Windows on tablets, it's just a mess.

01:40:30 ◼   ► - Yep, I don't know, it's interesting to watch.

01:40:33 ◼   ► And I am very surprised by some of the moves they're making.

01:40:37 ◼   ► But we'll see.

01:40:38 ◼   ► And I'm definitely going to try to watch the session tomorrow afternoon and see what the

01:40:42 ◼   ► technical explanation is behind all this.

01:40:46 ◼   ► I don't think it's really going to solve anything for them for all the reasons that both of

01:40:49 ◼   ► you guys expressed.

01:40:50 ◼   ► On top of that, even if I could cross-compile, say, FastText for the sake of argument, I

01:40:56 ◼   ► could cross-compile FastText, it's going to be on an operating system that has a wildly

01:41:01 ◼   ► different paradigm than iOS.

01:41:03 ◼   ► And so it's going to feel out of place.

01:41:05 ◼   ► This has a ton of issues associated with it.

01:41:08 ◼   ► What am I testing it on?

01:41:09 ◼   ► Am I gonna go buy Illumia just to test for fast text?

01:41:13 ◼   ► So many problems here,

01:41:14 ◼   ► but I think they are trying to cover all the bases,

01:41:17 ◼   ► and they wanna be able to say,

01:41:18 ◼   ► "Well, you know what?

01:41:20 ◼   ► "This Windows phone thing didn't really work out,

01:41:22 ◼   ► "but we did everything we could.

01:41:23 ◼   ► "We even cross-compiled Objective-C.

01:41:26 ◼   ► "That's how serious we were about it,

01:41:28 ◼   ► "and you know what?

01:41:29 ◼   ► "It just didn't work."

01:41:30 ◼   ► - Yeah, how did that team,

01:41:31 ◼   ► how must that team have felt when Swift was announced?

01:41:34 ◼   ► (laughing)

01:41:35 ◼   ► doing all this work to have this Objective-C cross compiler

01:41:38 ◼   ► and all this stuff and then they announced like,

01:41:40 ◼   ► seriously, I mean, I don't know,

01:41:41 ◼   ► maybe they didn't even start this project until after,

01:41:43 ◼   ► but I have to assume that it's so much work

01:41:44 ◼   ► that it was happening then and like,

01:41:46 ◼   ► that's what everyone said, it's like,

01:41:48 ◼   ► well, you know, you're kind of skating to where the puck was

01:41:51 ◼   ► on the whole Objective-C cross compiling thing there,

01:41:53 ◼   ► at least it seems that way.

01:41:55 ◼   ► - Yep.

01:41:57 ◼   ► - All right, thanks a lot to our three sponsors this week,

01:41:59 ◼   ► Backblaze, Casper, and Harry's,

01:42:02 ◼   ► and we will see you next week.

01:42:04 ◼   ► Now the show is over, they didn't even mean to begin

01:42:11 ◼   ► 'Cause it was accidental, oh it was accidental

01:42:16 ◼   ► John didn't do any research, Marco and Casey wouldn't let him

01:42:21 ◼   ► 'Cause it was accidental, oh it was accidental

01:42:27 ◼   ► And you can find the show notes at ATP.fm

01:42:32 ◼   ► And if you're into Twitter, you can follow them

01:42:37 ◼   ► @caseyliss

01:42:41 ◼   ► So that's Casey Liss, M-A-R-C-O-A-R-M

01:42:46 ◼   ► Auntie Marco Arment, S-I-R-A-C

01:42:51 ◼   ► USA, Syracuse, it's accidental

01:42:56 ◼   ► They didn't mean to, accidental

01:43:01 ◼   ► Is there anything else we have to talk about?

01:43:08 ◼   ► I can tell you more about the watch. I mean, I have, so on this week's Connected,

01:43:13 ◼   ► I haven't listened yet. Okay, well, I'm going to spoil one part of it. Is this a nose

01:43:18 ◼   ► spoiler? It is a nose spoiler. So Mike was saying that because the watch is really not

01:43:26 ◼   ► a two is really not a one-handed device like you know the hand that that it's

01:43:30 ◼   ► being worn on can't interact with the screen unless you have some crazy hand

01:43:34 ◼   ► that I've never seen before but for the most part most human hands won't be able

01:43:38 ◼   ► to interact with it from the hand that's wearing the watch so you have to use

01:43:41 ◼   ► your other hand to actually touch the screen or the buttons so really it's a

01:43:46 ◼   ► two-handed device it's not like a phone you can use entirely within one hand

01:43:51 ◼   ► because the same hand holding it can be using it unless you get a six plus

01:43:55 ◼   ► Watches are not that way.

01:43:56 ◼   ► So Mike was saying that he has already on many occasions

01:44:01 ◼   ► used his nose to touch the screen on the watch,

01:44:03 ◼   ► even going as far as to hit buttons with his nose

01:44:07 ◼   ► to reply to text messages, which is awesome.

01:44:10 ◼   ► And they all made fun of him, unconnected, for saying this.

01:44:13 ◼   ► However, I'm here to say that I have done that too.

01:44:16 ◼   ► I have not gone as far as pushing buttons,

01:44:18 ◼   ► but I have used my nose to wake up the screen

01:44:21 ◼   ► to show me the time if the wrist thing is failing

01:44:24 ◼   ► and I need to see the time for something.

01:44:26 ◼   ► - May I offer my gross suggestion?

01:44:28 ◼   ► - Absolutely.

01:44:29 ◼   ► - My gross suggestion and also my suggestion

01:44:31 ◼   ► as someone with a very large nose

01:44:33 ◼   ► is that your tongue is probably

01:44:34 ◼   ► a more precise pointing device.

01:44:36 ◼   ► - That is a gross suggestion.

01:44:38 ◼   ► - But I don't wanna get my screen all wet or lick it.

01:44:40 ◼   ► - That's true, I said it was gross.

01:44:42 ◼   ► I'm just throwing that out there.

01:44:43 ◼   ► If accuracy is your concern and germs are not

01:44:45 ◼   ► or you want to strengthen your immune system

01:44:47 ◼   ► by taking in lots of foreign germs, go for the tongue.

01:44:51 ◼   ► - As someone who is blessed with a particularly

01:44:55 ◼   ► large schnoz from--

01:44:56 ◼   ► - What are you talking about?

01:44:58 ◼   ► You do not have a big nose.

01:44:59 ◼   ► - I do have a big nose.

01:45:00 ◼   ► I'm half Italian and half Jewish.

01:45:02 ◼   ► How do I not have a big nose?

01:45:03 ◼   ► - You don't.

01:45:04 ◼   ► I have a big nose.

01:45:05 ◼   ► You have an average nose.

01:45:07 ◼   ► - Oh, whatever.

01:45:08 ◼   ► Well, anyways.

01:45:09 ◼   ► - Accidental nose podcast.

01:45:11 ◼   ► We can all compare our nose sizes.

01:45:13 ◼   ► - Marco's nose is the only boring small one.

01:45:17 ◼   ► - Anyway, the point being-- - Thanks?

01:45:18 ◼   ► (laughing)

01:45:21 ◼   ► There's so many jokes I can make here,

01:45:22 ◼   ► but I'm gonna let it go.

01:45:23 ◼   ► Anyway, so I use my schnoz, especially in bed,

01:45:27 ◼   ► to hit the back button. (laughing)

01:45:30 ◼   ► Oh God, to hit the back button on my iPhone.

01:45:34 ◼   ► I don't know why I do that all the time, but I do.

01:45:37 ◼   ► And I don't have a watch to try it on.

01:45:39 ◼   ► - Wait, wait, wait, wait, why?

01:45:41 ◼   ► To hit the back button, like in a web browser?

01:45:44 ◼   ► What are you?

01:45:44 ◼   ► - No, no, no, no, no, no, no.

01:45:45 ◼   ► Like the upper left-hand corner of the screen.

01:45:48 ◼   ► Because my hand isn't big enough

01:45:49 ◼   ► to reach the upper left-hand corner of the screen.

01:45:51 ◼   ► Why don't you just do a hand shimmy?

01:45:52 ◼   ► Why are you using your nose?

01:45:54 ◼   ► - You're over there using your tongue.

01:45:56 ◼   ► - I'm not, no, I am not using my tongue.

01:45:58 ◼   ► I have, I can use, I can hit everything

01:46:00 ◼   ► with one hand on my phone.

01:46:01 ◼   ► I don't have a watch.

01:46:01 ◼   ► I'm just saying for the people who find themselves

01:46:03 ◼   ► like carrying a bag of groceries and having the watch

01:46:05 ◼   ► and they need to hit a specific button,

01:46:07 ◼   ► for Mike specifically,

01:46:08 ◼   ► I don't feel like I could hit it with my nose.

01:46:10 ◼   ► I feel like my nose touches the entire screen

01:46:12 ◼   ► or none of the screen.

01:46:14 ◼   ► That's not a precision pointing device.

01:46:16 ◼   ► - Well, either way, it's so much quicker

01:46:19 ◼   ► than the hand shimmy to just smack the damn phone

01:46:23 ◼   ► with my nose and so much easier.

01:46:27 ◼   ► - Have you injured yourself doing this?

01:46:28 ◼   ► 'Cause that would be a tough injury to explain.

01:46:30 ◼   ► - No, but the amount of times I've dropped my phone

01:46:33 ◼   ► onto my face unrelated to using my nose

01:46:36 ◼   ► as a pointing device is immeasurable.

01:46:39 ◼   ► I've done that so many times, I can't even tell you.

01:46:42 ◼   ► - Are you like laying on your back

01:46:43 ◼   ► and then have it propped on your chest?

01:46:46 ◼   ► - No, typically I'm holding it up

01:46:47 ◼   ► and maybe it's like winter time

01:46:50 ◼   ► and I only have one hand out of the covers

01:46:52 ◼   ► because I'm cold.

01:46:53 ◼   ► And so rather than doing the shimmy

01:46:56 ◼   ► or pulling my extremely comfortably warm hand

01:47:01 ◼   ► out of the covers, I'll just smack with the nose.

01:47:05 ◼   ► - Does your wife see you do this?

01:47:06 ◼   ► - Oh yeah.

01:47:07 ◼   ► Oh, she's stuck.

01:47:08 ◼   ► We're married, she's stuck.

01:47:09 ◼   ► There's nothing she can do now.

01:47:10 ◼   ► - Just saying, if I saw somebody do that,

01:47:12 ◼   ► I wouldn't take a second look.

01:47:13 ◼   ► I'd be like, what is going on?

01:47:15 ◼   ► And I think if I saw someone do the watch with their nose,

01:47:18 ◼   ► especially again, if they were like struggling

01:47:20 ◼   ► with a bag of groceries, I would like understand.

01:47:22 ◼   ► But if an able-bodied person with two free hands

01:47:26 ◼   ► is hitting things on the phone with their nose,

01:47:28 ◼   ► I'd be like, that just doesn't read right to me.

01:47:33 ◼   ► I feel like there are better options.

01:47:34 ◼   ► - I hope that someday I get to see somebody else

01:47:38 ◼   ► like out in the world in real life

01:47:40 ◼   ► hit their smartwatch with their nose.

01:47:43 ◼   ► 'Cause I'm trying to feel like,

01:47:44 ◼   ► I mean, I just said that I've done this,

01:47:47 ◼   ► but I don't think I've done it in public.

01:47:49 ◼   ► I think I've done it in my house.

01:47:51 ◼   ► I don't think I would do it in public.

01:47:53 ◼   ► I think I would be more embarrassed by that

01:47:56 ◼   ► than I would be by picking my nose in public.

01:47:58 ◼   ► - Well, it's no worse, and it's probably actually better

01:48:01 ◼   ► than the thing that I've done myself.

01:48:03 ◼   ► When coming into the house, carrying a bunch of things,

01:48:06 ◼   ► putting something in your mouth so you can get,

01:48:08 ◼   ► like putting, not your phone,

01:48:11 ◼   ► but like holding something in your mouth

01:48:12 ◼   ► so you can get a free hand to do something, you know?

01:48:15 ◼   ► Like when you're carrying a lot of things,

01:48:17 ◼   ► using your mouth as a third hand to hold something.

01:48:21 ◼   ► And usually what you're holding is just as gross or grosser

01:48:23 ◼   ► than your watch might be, you know what I mean?

01:48:26 ◼   ► - I don't do that, that's gross.

01:48:28 ◼   ► - Well, you don't carry a lot of things, I guess.

01:48:30 ◼   ► (laughing)

01:48:31 ◼   ► - No, I carry them in my hands.

01:48:33 ◼   ► - Yeah, but when you have a lot of stuff and you know,

01:48:35 ◼   ► or even if it's like someone calls you on the phone

01:48:37 ◼   ► and you want to answer the phone,

01:48:38 ◼   ► but you have your keys and you have something else,

01:48:40 ◼   ► you put your keys in your mouth,

01:48:41 ◼   ► at the phone and say, "Oh." You know, you see it in movies all the time, and I know

01:48:44 ◼   ► I've done it myself. And you do the sort of lip curl under things so you're not actually

01:48:47 ◼   ► like touching your mouth mouth to the thing you're holding.

01:48:50 ◼   ► It's just as bad.

01:48:51 ◼   ► Yeah, probably. Anyway, I think the whole germaphobe thing of like I don't want to put

01:48:56 ◼   ► anything in my mouth that might have germs on it, like if you do that, that will not

01:48:59 ◼   ► lead to a strong immune system. You should be taking dirt filled with animal poop and

01:49:03 ◼   ► shoving it into your mouth when you're an infant and blah blah blah.

01:49:06 ◼   ► Oh, God.

01:49:07 ◼   ► Wow.

01:49:08 ◼   ► Oh, man.

01:49:09 ◼   ► Oh man.

01:49:10 ◼   ► And rest assured that your toddler either is or will be, in both of your cases, doing

01:49:15 ◼   ► that anyway.

01:49:16 ◼   ► So they are strengthening their immune system.

01:49:18 ◼   ► Lay off the antibiotic soap.

01:49:21 ◼   ► [ Silence ]