Empathy for the Machine

Episode 115 • Released May 1, 2015 • Speakers detected

Episode 115 artwork
00:00:01 John: Learned about the cat game.
00:00:02 John: Yep.
00:00:03 John: It's more boring than I thought it was.
00:00:04 John: I thought you get to play with the cats or something.
00:00:06 John: I thought it was interactive in some way, but they just show up.
00:00:08 John: Yeah, it's just like real cats.
00:00:10 John: You don't really interact with them.
00:00:11 John: You just kind of feed them.
00:00:13 John: Right.
00:00:13 John: You're just so excited that they exist and that you exist at the same time.
00:00:17 John: Oh, look, a cat.
00:00:18 John: And that's it.
00:00:18 John: You don't get to play with the cats.
00:00:20 John: You don't get to throw them toys.
00:00:22 John: It's just they show up.
00:00:23 John: leave you crap and then leave yeah they don't really care about you they just care about your food and you can't even interact with them right just like real cats don't like it don't like cats are we talking about this microsoft stuff at some point i think we should even though in the grand tradition it's like
00:00:42 Marco: happened today and nobody knows about anything about it but whatever we all read headlines right it's all it takes yeah we're pundits all we need is a headline well this is pretty much all you guys because i was really not following any of this i was using my apple watch all day which you guys can't say anything about damn it marco but i don't know anything about the microsoft stuff so you so i think i think we have a lot of stuff to cover from subsets of us
00:01:04 Casey: Yeah, we'll be taking turns, and we might as well start, as we always start, with John taking the turn of follow-up.
00:01:12 John: Yeah, I thought we had a lot of follow-up this week, but now that I read through it, it's just long, but I don't think it will take a long time, because they're all small items.
00:01:18 John: Oh, famous last words.
00:01:19 Casey: Everyone look at the timestamp.
00:01:21 John: No, I was right last time I said that.
00:01:23 John: We got through it quickly.
00:01:24 John: I think we will today, too.
00:01:25 John: Okay.
00:01:26 John: So the first one is from John Tall, giving us more color, as they say in Apple earnings calls.
00:01:32 John: about the Seagate, the bad Seagate hard drive thing that we talked about.
00:01:38 John: And this is from 2011.
00:01:40 John: And he says it was actually a bug in their firmware.
00:01:43 John: And specifically, it was a bug in a counter that kept track of how many times the drive had spun up and the counter would overflow and it would make the drive think that it was brand new, that it had never been spun up.
00:01:56 John: And, uh, the reason the firmware would use this count is apparently when it's brand new, it spins up really quickly.
00:02:02 John: And when it gets older, it takes a little bit longer to spin up.
00:02:06 John: And the reason the hard drive wants to know how long it takes to spin up is it wants to know when it's safe to put the heads on top of the disc.
00:02:12 John: If you, we should put the link to the Wikipedia hard drive page or maybe a how stuff works page or something.
00:02:17 John: Uh, if you don't know how hard drives work, they have these little heads that look kind of like the, what is it called?
00:02:22 John: Uh, in, in, uh,
00:02:23 Casey: phonographs casey the tone arm or whatever well the stylus something like that well the stylus is the needle but i i think you are talking about the uh tone arm i think i don't i don't even pay that much attention as much as i have this this reputation for being obsessed with vinyl i'm not even sure
00:02:38 John: You know, hard drives sound better than SSDs.
00:02:40 John: Oh, my God.
00:02:41 John: For people who don't know how hard drives works, trying to explain it as an analogy for records, which they probably might have never seen.
00:02:48 John: And even I, who grew up with records, don't know what the heck the parts are called.
00:02:50 John: Anyway, it's a little arm that goes over the disc.
00:02:53 John: And it's got a little reed head on it that's usually top and bottom of the disc.
00:02:56 John: It's got a little reed head that...
00:02:57 John: that reads the little, you know, the magnetic thing that reads the little blips on the disc of magnetic poles or whatever.
00:03:06 John: That head is really, really close to the disc.
00:03:08 John: That head cannot touch the disc because if it touches the disc, it ruins it because the disc is spinning very fast and it's made of, I don't know, some kind of, you know, metal, glass, whatever material on the head is actually pretty hard.
00:03:18 John: And if it touches it, that's a head crash that will put a big gouge in the disc and you basically ruined it.
00:03:23 John: And that's where the term crash in computers comes from.
00:03:25 John: Is it where it comes from?
00:03:27 Marco: Yeah, it's hard drive heads crashing into the platters and therefore like killing the drive and you lose your data.
00:03:33 Marco: And originally when you say my computer crashed, that was what you meant.
00:03:37 John: I'm not sure if that's true.
00:03:38 John: So listeners, you can come in and tell us whether that's crazy.
00:03:41 John: All I know about is the bug that was the moth that flew into the big machine and got caught in the trip as the original bug.
00:03:45 John: But anyway...
00:03:46 John: so it wants to know when is it safe to bring the heads onto the discs because when the disc is off the heads are off on the side they're not they're not over the discs at all they're parked exactly so in the parking lot why does it matter how fast the disc is spinning well can't you just bring the heads out whenever the heck you feel like it no because the the thing that keeps the heads from touching the disc is a tiny cushion of air between the head and the disc and it's super tiny like they always show the diagram that shows like a human hair next to the gap
00:04:11 John: and the human hair like dwarfs the gap that between the heads and things so they have to be really really close but can't touch and so it's really important that the discs be spinning fast enough for the heads to be able to safely move on to it and if that counter overflows and the mechanism the hard drive thinks that it's a brand new disc and it's probably spun up right away it sends the heads out they crash into the disc and it kills them and so this is a firmware bug that causes a hardware failure uh that affected a lot of seagate drives apparently
00:04:40 Casey: All right.
00:04:41 Casey: We will put a link to how stuff works that on page 95 of the slideshow.
00:04:47 Casey: What page was that on page?
00:04:49 Casey: I think it's seven of that slideshow.
00:04:51 Casey: They they show what John is describing.
00:04:54 Casey: So we will have that in the show notes.
00:04:56 Casey: I wanted to jump in and do a very brief piece of follow up.
00:05:01 Casey: I am talking to everyone on Aaron's MacBook Air, the one that went for a little swim last week.
00:05:07 Marco: So this is going to be a short show?
00:05:08 Casey: Yeah, it's going to be a real short show.
00:05:10 Casey: It actually, knock on my glass desk, has been doing just fine.
00:05:17 Casey: I'm not expecting that to continue on forever.
00:05:19 Casey: I'm expecting it to just...
00:05:22 Casey: well i guess we lost casey i'm just kidding anyway yeah moving on uh but no all kidding aside it is fine um i am surprised by that i have heard several conflicting reports as to how much apple would charge me to fix this if it does eventually fry um i've heard a couple hundred dollars i've heard well maybe a
00:05:43 Casey: Genius will take pity on you.
00:05:44 Casey: I've heard $800 and anywhere in between.
00:05:48 Casey: So hopefully I'll never have to find out.
00:05:50 Casey: But as of tonight on Wednesday, what is it?
00:05:54 Casey: The 28th, 29th or something like that.
00:05:57 Casey: 29th of Wednesday, the 29th of April.
00:06:00 Casey: It is still working much to my surprise.
00:06:01 Casey: So I'm very happy about that.
00:06:03 John: Oh, you made that website, though.
00:06:05 John: Like the Death Watch website, right?
00:06:07 Casey: Yeah, I did.
00:06:08 Casey: I did actually make a Death Watch website.
00:06:10 Casey: And what I did was I found a site somewhere that would create a launch DP list for me.
00:06:17 Casey: And that launch DP list would then just launch curl and tickle a URL on my website.
00:06:23 Casey: But it's very unreliable.
00:06:25 Casey: And so part of the reason I haven't publicized this link is because...
00:06:29 Casey: It it reports Aaron's Mac is being broken and dead way more often than it actually is broken and dead.
00:06:38 John: Yeah, I went to it.
00:06:39 John: I saw that it was dead, too.
00:06:40 John: I said, well, I first for a second I was upset.
00:06:42 John: And then I said, you know what?
00:06:43 John: That's probably just a monitoring failure.
00:06:45 Casey: Exactly.
00:06:46 Casey: And so the reason I haven't given this to the internet is because as much as I know everyone would be doing it out of the goodness of their hearts, and I'm not being sarcastic, I mean that, I would be getting hourly, if not minute-by-minute reports that Aaron's computer is dead, I must check on it, go look right now, oh my god, it says it's dead.
00:07:02 Casey: When in reality, it's probably user error with me in LaunchD, but one way or another, it's just not a very reliable mechanism for monitoring the Mac.
00:07:11 Casey: So...
00:07:11 Casey: There is a website for it.
00:07:13 Casey: I will not be sharing the link because it's not a very good link, and it's not worth paying attention to.
00:07:18 Marco: But it is alive.
00:07:19 Marco: And you said that you went to a website to generate a LaunchD file.
00:07:24 Marco: Is that right?
00:07:25 Casey: So I don't know anything about LaunchD, and I was originally going to use Cron.
00:07:28 Casey: I was going to set up a Cron job, but...
00:07:30 Casey: But I can never get cron syntax right.
00:07:32 Casey: And so I was figuring out, OK, well, what do I have available to me?
00:07:36 Casey: You know, can I just do a scheduled task sort of thing?
00:07:39 Casey: And maybe there's an easier way of doing this that I just didn't think of or stumble upon.
00:07:43 Casey: But one way or another, I ended up going to this website that generated this just silly, humongous plist.
00:07:51 Casey: for launch d and again i don't really know what i'm talking about but um apparently what launch d does is it you give it this plist and you say on the fifth minute of the zeroth hour go run this command on the 10th minute of the zeroth hour go run this command on the 15th minute of the zeroth hour and this continues through all 24 hours of the day and it and so because of that this plist was enormous
00:08:17 Casey: Maybe that's not how it's designed to be used.
00:08:20 Casey: If it's not, it doesn't really matter.
00:08:22 Casey: I, to be honest, I don't really care, but I tried to do that real quick and I thought it was working, but not so much.
00:08:28 John: I put a link in the show notes to an app that will make a launch D P lists for you.
00:08:33 John: because they are much more verbose and and casey saying that he uh didn't know cron syntax off the top of his head is the most windows developer thing i've ever heard him say i know it and i yeah yeah so anyone who has ever done server-side development on any platform other than windows knows how to write cron
00:08:50 John: hi john well and and i and i find launch d's syntax completely inscrutable yeah now that's why there's like yeah i don't think casey's crazy to get help doing that because it is like cron is easy it's just you know a bunch of items and like they're in a weird order and you and you memorize it and if you forget you know man five crontab to refresh your memory whatever to see if this version supports the slash five syntax or not or anyway
00:09:11 John: that the lunch d stuff is way more complicated and i bet only the people who develop lunch d at apple have memorized all the options and all the different uh things you can add there and even if you're going to do it like quote unquote by hand you'd use apple's p list editor because who writes p list by hand right animals yeah anyway there's the thing it's lingon or whatever it's named after the the berry or the fruit uh
00:09:33 John: i have a version of it somewhere on here uh 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-wide things and you're like what is this i don't understand this i can delete that right just you know be careful out there does it taste like ikea yeah it's nice um i will put the uh site i used in the show notes as well as well it's launched.zerowith.com and again all it does is you say when do you want this thing to run and it generates this humongously verbose launch dp list
00:10:01 Casey: Photos.
00:10:02 Casey: Photos.
00:10:03 John: Yep, this is from Andrew Woods.
00:10:05 John: He is making sure that we know that Photos does a whole bunch of stuff in the background even after it's done importing.
00:10:12 John: Said that an activity monitor on his 2010 MacBook Pro showed it pegging all four cores.
00:10:18 John: all four virtual cores for a long time so his recommendation was to check activity monitor and wait until things have settled down and things really are idle before judging his performance as i think i said in the last show i did like i'm i'm looking at activity monitor i'm making sure that it's that i don't see the cloud d process still grinding away or whatever you know
00:10:36 John: I, I 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 or whatever, and then just tried to, so I was judging it after it had gone to an idle state.
00:10:47 John: It's even worse, of course, if it's in the middle of doing face recognition or even uploading to iCloud or anything like that.
00:10:52 John: But that's something, if someone, if you are trying photos for the first time,
00:10:56 John: and you're not accustomed to launching activity monitor and sorting by CPU and seeing if anything is grinding away, there will be a period of time after the import is quote-unquote done when things are still going on.
00:11:07 John: So you should let it stew.
00:11:09 Marco: See, if you ran iStat menus, you would know immediately whether these things were taking up all your CPUs or not.
00:11:16 John: No, because it doesn't tell you which process is hurting your CPU.
00:11:19 John: For all you know, it could be kernel underscore task, and then that doesn't help you much, does it?
00:11:23 John: I see nothing about it.
00:11:24 John: No, you just click on the thing, and it shows you all the top processes.
00:11:27 John: Yeah, I just click on the dock icon, and it shows me all the top processes, too, including their names, and I can sort them.
00:11:32 John: And when I'm done looking at it, I quit the app so it's not there updating every three seconds.
00:11:36 Casey: Oh, John.
00:11:37 John: Scanning the entire process table in the operating system, acquiring and releasing kernel locks over and over and over again with nobody looking at it.
00:11:47 Marco: Oh, my God.
00:11:47 John: This is called Empathy for the Computer.
00:11:50 John: This is what you try to instill, and programmers should all have empathy for the machine because it makes you write code that isn't stupid.
00:11:58 Casey: We're done.
00:11:59 Casey: I don't even know where to go from here.
00:12:00 John: Thanks a lot to our three sponsors this week.
00:12:03 John: That's a real thing, though.
00:12:03 John: Empathy for the computer.
00:12:05 John: I keep saying that, and people look at me like I'm crazy, but don't you guys feel that to some degree when you write code?
00:12:10 John: That, like, I don't know, just something as simple as hoisting an invariant out of a loop.
00:12:14 John: Why are you doing that?
00:12:16 John: You just do it, like, because you have to sort of...
00:12:19 John: put yourself in the position of the computer and of the different machinery and you just feel guilty about making some process be repeated over and over again when you know the result is going to be the same it's like you're just wasting everybody's time you're just wasting battery you're wasting i mean it's negligible it's stupid it's premature optimization blah blah blah but if you have no empathy for the computer then you just do everything in a ridiculous way and your entire program is just one giant gray haze of there's no hot spot it's just like
00:12:46 John: a complete soup of super slowness so i think empathy empathy with the computer is an important skill that programmers should acquire so why do you program in a scripting language because you want you have empathy to the computer but you don't want to be flipping toggle switches right you don't want to be setting your your bits and magnetic core memory by hand right
00:13:05 John: it's a balance but no matter what level you're programming at there's nothing between those two well no what i'm saying is like it's even more important when you're in a higher level programming language right now it's to some degree you don't have control over some things but if you know that for example if you're in a high level programming language and function calls are relatively expensive compared to how how fast it is to say jump to an address in an assembly program you're like do i really need to
00:13:28 John: uh get all the arguments into the right registers to put the address i want to jump into the right register to jump to that register to like do all the stuff for the return value put that into the right place return pop the stack you know like make a new stack frame do all this stuff do i really need to do that or could i inline that here like that is empathy with the compiler and at every level that works and in a higher level language you have to know which things are slow in your high level language and which things you know which things can you avoid which things you can't can't you and in any language
00:13:54 John: It doesn't matter what the language is, high level, low level, medium level.
00:13:56 John: There's some things that just apply all the time.
00:13:57 John: Don't do something over and over again when the result is going to be the same.
00:14:01 John: Don't make copies when you can pass around references if your language supports that concept.
00:14:06 John: It doesn't really matter how it's implemented.
00:14:08 John: You could say, well, I can make a copy, but under the covers I know the language is smart enough to do copy and write and it's really efficient or whatever, but
00:14:14 John: i don't know i guess it comes down to somewhat knowing how your language is implemented but i think it's more important when you get into higher level languages not less right like because the higher level languages have the potential to put something innocuous that if you knew how the language is implemented or know what is particularly slow in this language you'd be like oh man really seriously whereas when you're down at assembly you might feel some empathy but in general almost everything you do is fast is very little you can write a line at a time that's going to make things super slow
00:14:40 Marco: wow this took a turn i was not expecting our first sponsor this week is backblaze go to backblaze.com slash atp backblaze is unlimited and unthrottled online backup for just five bucks per month for a whole computer or anything plugged into it
00:15:00 Marco: Backblaze is awesome.
00:15:02 Marco: I use them myself.
00:15:03 Marco: I've used them long before they were a sponsor.
00:15:06 Marco: My wife uses them.
00:15:08 Marco: My mom uses them.
00:15:09 Marco: Everybody I know who I can convince to use them, which isn't very hard.
00:15:14 Marco: Everyone uses Backblaze, except Casey.
00:15:17 Marco: And it is so great because online backup in general, this protects you from so many problems that you might not think might affect you.
00:15:27 Marco: But when you start thinking about your current backup strategy, if your backup strategy is a time machine drive connected to your computer,
00:15:33 Marco: then anything that happens to the environment of that can disturb and kill both of them.
00:15:40 Marco: So things like a fire, a flood, theft, power surges, stuff like that, all those things can take out your computer and anything that's plugged into it.
00:15:49 Marco: Online backup is great for just peace of mind.
00:15:51 Marco: Just to have that final failsafe in your backup strategy.
00:15:55 Marco: You know that's going to be there no matter what.
00:15:56 Marco: And Backblaze is by far my favorite of the online backup services.
00:16:02 Marco: So they just released a new version, 4.0.
00:16:05 Marco: It now has multi-threaded backing up, which allows for even faster upload speeds.
00:16:12 Marco: And this especially helps if you are somewhere in a part of the world where you're far from one of their CDN nodes.
00:16:19 Marco: And because of latency with uploading tons of small files and everything...
00:16:25 Marco: Having multi-threaded things, being able to run amongst these things in parallel really helps upload speeds if you're around the world.
00:16:32 Marco: Backblaze is huge.
00:16:33 Marco: They've been around forever.
00:16:34 Marco: They have over 150 petabytes of data backed up.
00:16:38 Marco: Over 10 billion files have been restored.
00:16:41 Marco: Not just backed up.
00:16:42 Marco: Over 10 billion files have been restored by their customers.
00:16:45 Marco: They know the backups work.
00:16:46 Marco: They are tested constantly.
00:16:48 Marco: Backblaze client runs native.
00:16:51 Marco: This is native code on Mac and Windows PCs.
00:16:54 Marco: This does not use Java or anything else.
00:16:56 Marco: It is real native code.
00:16:58 Marco: So it's fast.
00:16:59 Marco: It's efficient.
00:16:59 Marco: You don't have to install any garbage runtimes.
00:17:02 Marco: You can access your data in Backblaze anywhere you are.
00:17:05 Marco: If you log into a web browser or if you use their app on iOS or Android.
00:17:10 Marco: You can log in and pull a file off that, you know, maybe you're on a trip and you want to get a file off your home computer that's backed up to Backblaze.
00:17:16 Marco: You can just go do that.
00:17:17 Marco: You can restore one file onto your device.
00:17:20 Marco: About 25% of their restores are for just one file to do this exact use case.
00:17:26 Marco: It's very, very easy.
00:17:27 Marco: And if you need everything back, everything you've backed up, if you have a total loss and you need everything backed up,
00:17:32 Marco: You can download it.
00:17:33 Marco: You can even order a USB hard drive with everything on it.
00:17:37 Marco: So stop putting this off.
00:17:39 Marco: Look, backing up is so important.
00:17:41 Marco: And with online backup, it is easier than it's ever been.
00:17:44 Marco: I really cannot recommend this enough.
00:17:46 Marco: You really, really should have online backup.
00:17:48 Marco: And if you're going to have online backup, the one I recommend is Backblaze.
00:17:52 Marco: So stop putting it off.
00:17:53 Marco: Start getting backed up today.
00:17:54 Marco: Backblaze.com.
00:17:56 Marco: Five bucks a month per computer for unlimited space and unthrottled speeds.
00:18:02 Marco: There's no add-ons, no gimmicks, no additional charges, no upsells.
00:18:06 Marco: Five bucks per month per computer.
00:18:08 Marco: Unlimited space.
00:18:09 Marco: That's all you need to know.
00:18:10 Marco: Risk-free, no credit card required trial.
00:18:13 Marco: Go to backblaze.com slash ATP.
00:18:15 Marco: Really, check it out.
00:18:16 Marco: Risk-free trial.
00:18:17 Marco: Just go today.
00:18:17 Marco: Backblaze.com slash ATP.
00:18:19 Marco: Please do this.
00:18:20 Marco: You will thank me someday when you need it.
00:18:22 Marco: Trust me, it is so, so worth it.
00:18:24 Marco: Backblaze.
00:18:25 Marco: Thanks a lot.
00:18:26 Casey: All right.
00:18:26 Casey: So, John, tell us about hard links.
00:18:29 John: Yeah, there's a little bit of confusion from people about hard links.
00:18:31 John: I don't think I did a good job of explaining it last time.
00:18:33 John: I just assumed everybody knew.
00:18:34 John: Did we put the hard links link in last week's show notes?
00:18:38 John: I forget.
00:18:39 Casey: I don't remember doing so, but I'm not 100 percent sure.
00:18:42 John: Anyway, we'll put it in this one.
00:18:43 John: So there's a tweet for someone saying, you know, about that photos, that app creating hard links instead of an entirely new library.
00:18:49 John: And then sent me a screenshot showing the photos library right next to the photos library saying, yeah, I thought you said it was going to make a whole new library.
00:18:55 John: But look, here's a whole new library.
00:18:57 John: I'm like, yeah, but like the other one is full of hard links.
00:18:59 John: And I said, really?
00:19:00 John: It says each one is 45 gigabytes.
00:19:02 John: So that's the thing about hard links.
00:19:03 John: We'll put the link in the show notes so you can read this long thing from one of my old OS X reviews about it from back in 2007.
00:19:09 John: But the short version is if you've got a file on disk, you can think of it as a blob of data that's sitting on your disk somewhere.
00:19:16 John: And it has a name associated with it.
00:19:17 John: And that's how you can find that data.
00:19:20 John: This name is, you know, you go through this name, foo, whatever, I don't know, foo.txt.
00:19:26 John: It leads to this set of bytes.
00:19:28 John: uh that name attached to that set of bytes can be said to be a link it's how you get how do you get to those bytes on disk oh well i look them up by going foo.text right you can make another name that points to that same set of bytes on disk called bar.text
00:19:44 John: bar.txt is one way to get to that same blob of bytes and foo.txt is one way to get that same blob of bytes still just one blob of bytes two different names that point to it those are hard links so now that set that set of data on disk has two hard links every file can be said to have one hard link and conceptually in the unix problems not in the hfs plus implementation which we don't really want to talk about but anyway
00:20:03 John: conceptually uh every file on disk has one hard link and that's like the the name of the file if you make a second hard link we call that second one oh that's the hard link the first one was just a file right guys but the second one is a hard link to the file right really it's if you want to think of it correctly conceptually the first one is also a hard link uh there's a little number if you if you type ls at the unix command a shell prompt
00:20:26 John: the ls command will show you a number number a number of links to this thing most files have a one next to it if you make a hard link to a file it'll go up and you'll see two that's what that's what this article shows um and since they're pointing to the same bucket of data oh this gets more complicated if you use an editor that edits the file in place that does not do what many editors do which is make a complete copy of the file and then rename it on top of the file or do some other update if you use an editor that actually edits the file in place
00:20:52 John: and you edit through either one of those names you will be editing the same like it's just one bucket of bits if you change it and then you look at the contents of food.text and bar.text they still they both point to the same blob of bits if you edit it through bar.text it changes the same bits you could edit bar.text and then show the the output of what's inside food.text and it will show your edits right that's how hard links work um
00:21:14 John: If you get info on any of those files, if you list the file with LS, if you get info in the finder, they'll all say, how big is it?
00:21:21 John: They'll say, well, how big is the big bucket of bits?
00:21:23 John: Oh, it's like it's two megs, it's 25 megs, it's five gigs.
00:21:26 John: They'll both say that.
00:21:28 John: The tricky part is that if you have, say you had a hard drive that was like 100 megs.
00:21:32 John: and you had a 99 meg file in it you make 75 hard links that 99 meg file and every single one of those 70 75 files will say i'm 99 megabytes i'm 99 meg it's like how can you have this many 99 megabyte files the disk is only 100 megabytes how could they all fit it's just one set of 95 megabytes each hard link does not add any data so
00:21:50 John: when photos.app makes a new photos library and you see it right next to your iPhoto library inside both of those libraries are a bunch of you know one of them has the quote-unquote originals and in HFS plus it really is an implementation difference under the cover and the other one just has hard links but if you get info on both of them in the final they'll both say that they're the same size after they're done roughly like oh I'm 45 gigs and so am I but there's only one set of 45 gigs worth of photo data on your disk now the
00:22:15 John: There are files that are private to the photos library, like the metadata databases and so on and so forth.
00:22:19 John: But the photos themselves, that's what it's making hard links to.
00:22:22 John: Those are the things that take up the majority of the room.
00:22:24 John: So yes, it is very confusing.
00:22:26 John: And if you try to do the math, if you just get info on these libraries and try to do the math and say, OK, so I've got a 45 gig library and a 45 gig library.
00:22:33 John: That means I'm using 90 gigs of space and my total drive space like the math won't add up.
00:22:38 John: Right.
00:22:39 John: That's just how hard links work.
00:22:40 John: And to make things more complicated, as I said in the last show, as you edit files with the photos app,
00:22:45 John: it will take something that was a hard link and change it into a copy because it doesn't want to mess with your iPhoto library.
00:22:52 John: So if you make a modification to the actual photo file, which I don't even know if it happens, maybe if you change the geotag data, which as Casey said, you can't even do at this point.
00:22:58 John: But if you were to change that locally, it will make a copy of it and they will slowly diverge from each other.
00:23:05 John: So they do that to keep them separate.
00:23:06 John: That's not a property of hard links.
00:23:08 John: The application itself is doing that.
00:23:09 John: The application, of course, itself, is it free to do anything like that?
00:23:13 John: That has nothing to do with the nature of hard links or anything.
00:23:16 John: As I said, as you see in the demo link, if you have two hard links to the same blob of data and you go through either one of them to edit that data, they both see the changes.
00:23:23 John: The photos application itself prevents that from happening sort of manually by making a copy when it needs to.
00:23:29 John: So it's confusing.
00:23:31 John: Hard links.
00:23:32 John: This talks about sim links, too, which are a different thing.
00:23:34 John: Photos and creating confusion for people who now can't tell how much free space they have on their disks anymore.
00:23:39 Casey: All right.
00:23:40 Casey: So how about shared albums?
00:23:42 John: Yeah, this was a bummer.
00:23:44 John: Lance T. Hildebrand said, even if you try to do that crazy system, I said last time of like throwing all your photos into the family photo library that share with your whole family, apparently you can only have 5000 photos in any shared album.
00:23:55 John: So that wouldn't have worked anyway, which kind of makes sense.
00:23:58 John: Like you shouldn't be using shared albums as a way to share your whole library.
00:24:02 John: There should just be a way to share your whole library and have it read right.
00:24:04 John: But there isn't.
00:24:05 John: And unless you have fewer than 5000 photos, you can't you can't even like manually do it.
00:24:12 Casey: How about what goes on with a MacBook Air with 7,800 photos?
00:24:17 John: Yeah, we talked about performance last time.
00:24:19 John: And it was like, well, I'm using a 2011 MacBook Air.
00:24:22 John: Maybe it's just slow because I don't have a lot of RAM or have a slower computer.
00:24:26 John: So Mucho Spanish says that he has a very small library on a 2012 MacBook Air, just 7,800 photos.
00:24:34 John: And keywording is still slow.
00:24:36 John: And then our friend Will Haynes says, very slow for per photo operations.
00:24:41 John: And he's on a maxed out iMac 5K.
00:24:43 John: Also, he couldn't sync iCloud at all.
00:24:45 Casey: I just am not really sold on why this is something I need in my life right now.
00:24:49 Casey: Like the idea of being able to get to any of my pictures in the photo chooser in print, like especially on iOS, that sounds appealing in principle.
00:24:58 Casey: But hearing how much it slows down your iOS device anytime you go to the photo chooser, that sounds freaking terrible.
00:25:05 Casey: And just a lot of this, I'm not saying I'll never use photos by any stretch of the imagination, but it just does not sound like it's something I want in my life right now.
00:25:13 Marco: I don't know.
00:25:14 Marco: It's working great for me.
00:25:15 Marco: The only problem I'm seeing with it is what many people have reported.
00:25:19 Marco: And John, I think you said this too, which is that the photo picker takes a long time to come up for anything that lists the photos.
00:25:26 Marco: So the biggest time I see this is after I've taken a new picture on the iPhone, when I want to tap on it to bring it up to view the picture I just took...
00:25:36 Marco: there's like a 5 or 10 second delay where just nothing happened.
00:25:39 Marco: You think the phone is frozen.
00:25:41 Marco: And then it comes up.
00:25:42 Marco: That's the only time I'm really seeing issues.
00:25:44 Marco: Besides that, which is annoying, but not that major of a problem.
00:25:50 Marco: It's just a frequent annoyance.
00:25:52 Marco: Besides that, I've had no problems.
00:25:54 Marco: And that's the kind of thing that I would imagine and hope that they would be working on, like they would notice that and work that out in the next version of iOS.
00:26:02 John: Yeah, these are just tweets talking about the slowness and like slow is not a measure of anything.
00:26:07 John: It's just like it feels slow to them.
00:26:09 John: And I think especially with single photo operations or like doing something like keywording that you think I'm not asking you to run some crazy, you know, filter or blur or, you know, there's no image effects.
00:26:20 John: There's not a massive amount of data.
00:26:21 John: It's like, please just associate a keyword with these three photos.
00:26:25 John: Right.
00:26:26 John: These people are reporting that it is, quote unquote, slow because they think that the thing that they're doing shouldn't take as long as it takes.
00:26:32 John: And I agree with them.
00:26:33 John: But we don't have any measures.
00:26:34 John: So you never know.
00:26:35 John: Like Will Haines says.
00:26:37 John: it is very slow on per photo operations on a maxed out iMac 5K.
00:26:41 John: Is that because he just expects it to be really fast on an iMac 5K?
00:26:44 John: His operations may be five times as fast as mine, but he has greater expectations because he's got a brand new computer and I'm willing to accept some slowness.
00:26:51 John: But bottom line is, perception-wise, I think it feels slow and some other people seem to agree and I'm depressed that even people with small libraries and even people with much newer, fancier computers than me also are feeling that operations feel slow that shouldn't be slow.
00:27:06 John: Maybe somebody didn't have enough empathy for the computer when designing it.
00:27:11 John: They didn't.
00:27:12 John: They didn't.
00:27:12 John: Well, that's kind of a design thing.
00:27:14 John: Why might it be slow?
00:27:15 John: Well, I can tell you from experience that once you get into a large number of items in a SQLite database, SQLite...
00:27:22 John: SQLite's performance characteristics, especially for inserts into a database or a table that has thousands or millions of records, you can just drone that experiment yourself.
00:27:32 John: Make a new SQLite database with a simple schema, start inserting stuff, and do a timer and say, how many rows can I insert per second?
00:27:39 John: And watch that performance slowly, slowly get worse.
00:27:42 John: As you get into the millions of rows, things get pretty grim.
00:27:46 John: There are things you can do to help with that.
00:27:47 John: But anyway, if Photos is using SQLite databases anywhere in its implementation, which I can imagine it is, and if that has anything to do with keywords, which I can imagine it might, that might explain some of the slowness in large libraries.
00:27:59 John: I don't know.
00:28:00 John: I'm just guessing.
00:28:00 John: And so the empathy with the computer is...
00:28:03 John: you know you like i didn't write sqlite and sqlite is a great database but am i using the right tool for this job would it be better to add them as extended attributes or as individual plist files or you know i don't know that's more of a design thing than empathy with the computer at the micro level
00:28:17 John: all right that's macro level empathy not marco level empathy macro all right what happens when you uh delete a photo john in in the new photos app i don't know that's that's the thing um so yeah last time i was talking about the the prospects of using icloud sync as a backup strategy it's like well if everything's all synced if something ever goes wrong that wrongness could also sync all over the place and then your backups are hosed
00:28:42 John: Because they're not really backups.
00:28:43 John: It's like raid where it's just you just have a second copy of whatever is currently in the thing.
00:28:47 John: So whatever is currently in the library is screwed up.
00:28:49 John: Whatever is currently in all your automatically synchronized copies can also be screwed up.
00:28:53 John: So many people pointed out that if you delete a photo in the photos app, it doesn't get deleted immediately goes into kind of like a trash type holding area.
00:29:00 John: And I think it's kept there for like 30 days before it's purged or something.
00:29:03 John: which is good but mostly what i was afraid of was the app going crazy and suddenly thinking these photos never existed let me just get you know not as if it thinks i deleted them by dragging them to the trash or hitting the delete button but if it starts thinking because of some weird syncing thing that photos in my library just never existed and it says oh i need to i need to rectify i need to synchronize and rectify my state of the world with what the state it's supposed to be in and
00:29:28 John: And rather than it thinking that it saw a delete operation and synchronizing that, just thinking that all these photos here, I don't know where all these came from, but I have no idea what they are.
00:29:35 John: Like, that's what I'm afraid of.
00:29:36 John: Not so much the.
00:29:37 John: manually deleting things whatever but it is good to know there's a holding area where you can recover from mistakes where you delete because when you delete them it says are you sure you want to delete this from the cloud and every single one of your devices it tries to tell you like this is not just deleting locally this is deleting everywhere and even if you do that it still holds on to it in this deleted items area to give you an out which is nice but i'm still a little bit afraid of it and i would never use it as a backup strategy
00:29:59 John: and speaking of backups god forbid something happened what do you do to restore your photo library from a backup yeah i don't know because i haven't tried that but i thought about it like restoring like your iphone library from a backup you know it's just a bunch of files on disks if your thing gets hosed uh just you know throw out your iphone library go to your time machine backup your super duper backup your backblaze backup or whatever and just like find
00:30:23 John: a previous version of your iPhoto library which appears to be one file on disk but it's really just a pack a bundle with a folder with a bunch of stuff in it and you drag it back and you're back in business right what happens if your photos library that you have iCloud synced like something gets wrong with it or gets hosed or something can you just say okay well I'm just gonna throw that library out and drag a new one from a backup and put it in place and launch it what happens it would work fine locally I'm sure that would work locally but what happens when you launch it and
00:30:50 John: iCloud like is it aware that you just did that or is it like whoa whoa this library and disk does not match what i expected to do does it forcibly make it like the old broken one was or the one with the missing data how do you recover from a backup in that scenario and when i was thinking about this one more one more item like you can tell me if you guys remember this do you remember when iPhoto and Time Machine like the integration between them was first shown that maybe when Time Machine was first announced in a keynote and they tried to show you use Time Machine from within iPhoto am i just imagining that
00:31:20 Casey: I remember that being a thing where you could use Time Machine specifically within certain apps, but I don't remember anything about iPhoto specifically.
00:31:28 John: Whatever happened to that, like using iPhoto specifically from within certain apps?
00:31:31 John: That's not a thing, really, is it?
00:31:34 Casey: You mean Time Machine within certain apps?
00:31:35 John: Yeah.
00:31:36 John: There's probably some kind of API that nobody ever uses.
00:31:39 John: I don't think there's a public API.
00:31:40 John: I think they showed it like you could do it within photos, you could do it with an address book.
00:31:44 John: There was a couple of apps that showed that you could do it within.
00:31:47 John: And the reason I'm thinking of that is like, I'm trying to think what would be a safe way
00:31:52 John: to take a photos library that you had iCloud synced, that is hosed in some way, it's damaged, it's corrupt, you accidentally deleted stuff, and you want to say, actually, I want to go back to the state things were a week ago.
00:32:04 John: And you go pull your photos library from your backup, which you have, which is just a bunch of files on disk, you put it back in the same place the other one was, and you launch photos, and then what happens?
00:32:12 John: And I don't know what happens.
00:32:13 Marco: I mean, I would imagine it's just like the import process.
00:32:16 Marco: When I imported my 25,000 photos, I basically had an empty iCloud library and I dragged them all into this app from my previous arrangement of files and it slowly imported them and uploaded them all.
00:32:28 Marco: uh that i would imagine as long as the as long as your cloud photo library state can be cleared which i don't know if it's as easy as going to the all photos view and hitting command a command delete i have no idea but but do you do that do you do that before you pull the backup like what if you can't even launch photos because the library is so corrupt that like like how do you how do you get it to understand that
00:32:53 John: You want it to launch and accept the on-disk library that you pulled from backup as the current state of things.
00:33:01 Marco: Honestly, I have no idea, but the files are all there.
00:33:04 Marco: The library is laid out very similarly to an iPhoto library.
00:33:08 John: Yeah, you do have the out of just finding all the JPEGs, pulling them all out, making a new empty library.
00:33:14 John: I think what you'd have to do, and I've done this before with address books.
00:33:17 John: That's why I thought of it.
00:33:18 John: Yeah.
00:33:18 John: a few times address book has gotten hosed in some way and i've been like look i have all these backed up because address book i don't know if people know this but in the not address book it's called contacts now sorry in the context application that apple provides they provide a way to make a complete backup of your entire contacts library and please everybody do this at least once a year because contacts cloud sync is not that reliable and you'll be happy to have it so i got into a state where contacts were hosed
00:33:41 John: It wasn't actually my contacts, it was my wife, so it was more dire than you would imagine it might be.
00:33:46 John: And I needed to fix it.
00:33:48 John: And what I wanted to happen was I have a backup and I wanted to say, look, iCloud, just forget everything.
00:33:56 John: Just start over.
00:33:57 John: I'm going to import from a library, and I want you to believe that you have zero contacts everywhere.
00:34:02 John: And that was super, super hard to do because every time I thought I'd done it, I'd tell it to import the library, and then it would do this crazy merge with what I thought was still in the cloud and hose everything again.
00:34:11 John: It took me so long to beat this thing into submission to say, you have nothing.
00:34:14 John: Start from zero.
00:34:15 John: Anyway, that's what I'm afraid of with the photos library.
00:34:17 John: Like, I don't know what the...
00:34:19 John: I don't know what the restoration plan is, even in this scenario where you say, look, I'm just going to extract all the JPEGs and then just have to convince photos that it has nothing like just really because you can be fooled.
00:34:29 John: Like the contacts would be like, yep, no contacts, zero contacts, zero contacts everywhere.
00:34:33 John: Everything's fine.
00:34:34 John: OK, import.
00:34:35 John: And then it would do this crazy thing.
00:34:36 John: And I couldn't, you know.
00:34:37 Casey: So real-time follow-up from underscore S underscore.
00:34:40 Casey: There's a, I don't think this is a K-base, but anyway, there's a page on Apple's website.
00:34:45 Casey: How do I remove all iCloud photo library content from my iCloud account and devices?
00:34:50 Casey: On OS X, go to system prefs, iCloud manage, select photo library, then select disable and delete.
00:34:55 Casey: Once you turn off your iCloud photo library, you'll have 30 days to download your library to at least one device and blah, blah, blah.
00:35:03 Casey: So that's how you do it.
00:35:04 John: that's good that there's a button because that was always the problem with apple things it was like oh there's no button there's no place to go it just works it's magical but sometimes you just want like people always want i want a button that says no please synchronize now and this button is the i want a button that says just forget everything just start over from zero uh and my my past experience with like back when they had sync services and everything that trying to get it to start from zero uh
00:35:30 John: was basically not possible for a regular person.
00:35:33 John: Sometimes you needed a special application that Apple internal people would use because it wasn't just on your machine.
00:35:39 John: You could delete everything off your machine if you could find all the secret hidden files and everything, but there was stuff on servers somewhere and you had to convince those servers to dump all their information and you had to know what requests to make to what servers with authentication to convince it to really, really reset things.
00:35:53 John: So I'm glad that Apple is learning and making this easier by putting in an actual GUI and having a knowledge-based article about it.
00:35:59 Marco: our second sponsor this week is casper casper is an online retailer of premium mattresses for a fraction of the price of most mattresses now the mattress industry has inherently forced customers into paying notoriously high markups casper is revolutionizing the mattress industry by cutting the cost of dealing with resellers and showrooms and passing the savings directly on to you the consumers
00:36:23 Marco: Casper mattresses are very high quality.
00:36:26 Marco: They provide resilience and long lasting support and comfort.
00:36:30 Marco: It's a one of a kind combo of it's a hybrid of premium latex foam and memory foam.
00:36:37 Marco: So it has all the benefits of both without having the downside of like, you know, if you have all memory foam, then, you know, a lot of people don't like the way that feels or it might feel too sweaty to them or whatever.
00:36:48 Marco: By combining memory foam with latex foam, you really do get the benefits of both.
00:36:53 Marco: They call it just the right sink, just the right bounce.
00:36:57 Marco: And Casey, you have one of these.
00:36:59 Marco: I think that's a pretty good way to describe it, right?
00:37:01 Casey: Yep, very much so.
00:37:02 Casey: I do not care for memory foam.
00:37:04 Casey: I think it feels weird and it's way too soft.
00:37:06 Casey: And in fact, I'm very, very, very anti-memory foam.
00:37:10 Casey: And the Casper mattress is wonderful.
00:37:12 Casey: It is just like you said, just right.
00:37:15 Casey: It's like the Goldilocks of mattresses.
00:37:17 Marco: Nice.
00:37:17 Marco: They can run with that.
00:37:19 Marco: Now, mattresses usually can cost, you know, for a good mattress, something that's going to last you a while and it's going to be really comfortable and like a decent and high end, you're looking at over like $1,500 for a decent one.
00:37:31 Marco: Casper mattresses cost, they start at just $500 for a twin.
00:37:35 Marco: all the way up to $850 for a queen and $950 for a king.
00:37:40 Marco: These are incredible prices.
00:37:41 Marco: I mean, I've now bought a couple of mattresses so far in my life, and these are incredible prices for mattresses this good, really.
00:37:49 Marco: So Casper understands that buying a mattress online can have consumers wondering how this is all possible.
00:37:57 Marco: Now, to help you with these fears, so first of all, buying a catcher mattress is completely risk-free.
00:38:03 Marco: They offer free delivery and free returns within a 100-day trial period.
00:38:07 Marco: So you can try it, you can sleep on it for 99 nights, and then on the 100th day decide, you know what?
00:38:13 Marco: I don't like it.
00:38:14 Marco: Then they will arrange to have it freely picked up and returned back to them.
00:38:19 Marco: It is really that simple.
00:38:20 Marco: I mean...
00:38:21 Marco: You can't beat that.
00:38:22 Marco: If you just lie on some beds in a showroom for a few minutes, you're not really learning anything about them.
00:38:27 Marco: You're not really going to learn what it's like to sleep on them, what it's like to live with them for a long time.
00:38:31 Marco: With Casper, you can try it for 100 days.
00:38:33 Marco: It's totally risk-free.
00:38:36 Marco: Now, this is obsessively engineered.
00:38:39 Marco: Shockingly fair price.
00:38:41 Marco: And these are also made in America.
00:38:43 Marco: So this is all good news here.
00:38:45 Marco: And again, these prices are amazing.
00:38:47 Marco: $500 for a twin, up to $950 for a king.
00:38:50 Marco: Now, you can also get $50 off by visiting casper.com slash ATP.
00:38:55 Marco: and using coupon code ATP at checkout.
00:38:58 Marco: So really check out Casper Mattresses.
00:39:00 Marco: They really do ship it to you in a little tiny box, and then it expands by sucking all the air out of the room into itself.
00:39:05 Marco: It's pretty cool.
00:39:07 Marco: You'll wonder how they can ship a king-size mattress to you in this box, but it works, and it's pretty incredible.
00:39:13 Marco: So check it out.
00:39:14 Marco: Casper.com slash ATP for $50 off.
00:39:18 Marco: Good mattresses.
00:39:18 Marco: Thanks a lot, Casper, for sponsoring our show once again.
00:39:22 Casey: And speaking of sponsors, how are the shirts doing?
00:39:25 Marco: Oh, I haven't checked today, but they're doing well.
00:39:27 Marco: We have, at this point, yesterday we had already matched and slightly surpassed our sales from last year.
00:39:35 Marco: So thanks, everybody.
00:39:36 Casey: And we have now sold, what, five or six white shirts?
00:39:39 Marco: I think six, right?
00:39:40 Marco: Six, double the number from last week.
00:39:42 Marco: Woo!
00:39:42 Marco: So thank you, everybody.
00:39:43 Marco: You're running out of time if you want to buy one of these shirts.
00:39:45 Marco: I think you have, what, like six days left or something like that?
00:39:47 John: Yeah, but by the time you hear this podcast, most likely we will not be talking about it on the next podcast because the sale will be over.
00:39:55 John: So if you want a shirt, now is the time to go to the website and get it at atp.fm slash shirt.
00:40:00 Casey: So let's talk about Apple Watch experiences, starting with the grooves.
00:40:06 John: I don't know if that's where we're going to start.
00:40:07 John: Marco's not looking at the notes, so he has no idea what we're talking about.
00:40:09 John: This item is here because one of us has an Apple Watch and we wanted to hear about it, but I put a sub-item in there because someone tweeted at me that...
00:40:19 John: After wearing Apple Watch for three days, they have a groove starting to show up on their wrist right where the little heartbeat monitor thing presses in.
00:40:27 John: I think this person may have their watch on a little bit tight.
00:40:30 John: Oh, goodness.
00:40:32 John: I would say so.
00:40:33 John: I remember back when I wore watches that I would get sometimes marks from the band or whatever.
00:40:38 John: I don't think this is an Apple Watch problem.
00:40:40 John: I think this is a...
00:40:41 John: watch band possibly too tight problem but it did remind me that Marco had said that he wasn't sure he was all that excited about the little dome on the bottom like feeling that rubbing into his wrist so I guess we can start there because Marco actually does have a watch unlike me and unlike yours hasn't come yet right Casey
00:40:58 Casey: No, mine is, I don't remember when the shipping update happened, but it is now due to arrive anytime between the very, very, very end of May and the Thursday I'm in San Francisco.
00:41:11 Casey: Nice.
00:41:11 Casey: Which is the most first of first world problems.
00:41:13 Marco: Well, I've just taken off my watch, which I already have because I'm luckier than Casey and woke up earlier.
00:41:19 Marco: I've just taken it off after 14 hours of wearing it so far today.
00:41:22 Marco: And there is absolutely no sign of any dimple on top of my wrist where the thing pushes in.
00:41:28 Marco: There's no markings from the band or anything.
00:41:31 Marco: So yeah, I think Luca Soldani, however you say his name, sorry, is probably just wearing it too tightly.
00:41:39 Marco: Maybe you have the wrong band for you.
00:41:40 Marco: Most likely it's just set too tightly.
00:41:43 John: Wrist shape problems, too.
00:41:44 John: Look at that little bone bump on his wrist there.
00:41:47 John: Possibly another Italian like me with weird wrist-shaped wrists.
00:41:51 Marco: It also appears that he's wearing it on his right hand.
00:41:53 Marco: I don't know if that makes any difference.
00:41:54 Marco: Probably not, because the dome is centered in the watch, so probably is not the issue.
00:41:59 Marco: One thing I did find with the tightness of the bands...
00:42:02 Marco: I ordered it initially in order to get it on day one.
00:42:06 Marco: The only configuration I could get on day one at the time that the store showed up for me was the Milanese Loop, which I was interested in it, but I wasn't planning on ordering it on day one.
00:42:15 Marco: But anyway, I got that, and so I had that for a few days.
00:42:18 Marco: Since then, I actually met up with a nice guy in Connecticut who wanted the Milanese Loop and had the one I wanted, which was the black leather classic buckle, the one that just looks like every other leather watch strap I ever made.
00:42:31 Marco: I traded with him for that.
00:42:32 Marco: So I've now had a couple days with each of those.
00:42:35 Marco: So a couple days with Milanese, a couple days with Classic Buckle.
00:42:38 Marco: I like them both a lot, first of all.
00:42:41 Marco: They're both really nice bands.
00:42:43 Marco: The Classic Buckle is extremely lightweight and probably the softest in the lineup besides maybe the sport bands.
00:42:49 Marco: It is just a very comfortable band.
00:42:51 Marco: Milanese is a lot better than I thought it would be when I ordered it.
00:42:55 Marco: It really is...
00:42:57 Marco: extremely nice.
00:42:59 Marco: It really kind of splits the difference between formal and informal.
00:43:02 Marco: It is not too formal or too blingy or too flashy.
00:43:05 Marco: It really is extremely nice.
00:43:08 Marco: I was very happy with the Milanese.
00:43:10 Marco: It does not pinch your arm hair, what a lot of people think that link bracelets do.
00:43:15 Marco: The Milanese does not.
00:43:15 Marco: The only thing you got to be careful of when you're putting it on is the part that overlaps back on itself, so it's like sandwiched together.
00:43:21 Marco: You can get arm hairs pinched in that when you put it on.
00:43:25 Marco: So just be careful of that and you're fine.
00:43:27 Marco: The Milanese also, I think, is the coolest on you because the air can flow through it and it's not leather sticking to you or the fluorolestimer sticking to you the way that does.
00:43:39 Marco: I would say it's the coolest.
00:43:40 Marco: The reason I didn't want to keep it is because I was getting some skin irritation late in the day after wearing it for a long time.
00:43:48 Marco: And some people mentioned this is an issue with metal for them a lot.
00:43:51 Marco: And I don't think it's a nickel allergy based on some quick research.
00:43:54 Marco: But just some skin irritation I was getting, it would just itch a lot like crazy at the end of the day.
00:44:00 Marco: And that doesn't happen with leather.
00:44:02 Marco: So I'm glad I switched.
00:44:03 Marco: But they're both really nice bands.
00:44:05 Marco: I would have been very happy with the Milanese if not for that issue.
00:44:08 Marco: So overall, I can recommend it.
00:44:10 Marco: I will say, though, I have had an issue with both of them in how tightly I wear it.
00:44:17 Marco: Because if you wear it super tight, I don't find that very comfortable.
00:44:23 Marco: If you wear it a little bit loose on yourself, not so it's like rolling around, but just so it's more comfortable.
00:44:29 Marco: It makes it harder to feel the Taptic taps.
00:44:32 Marco: And I've had that issue a lot where I just miss the tap.
00:44:35 Marco: It does tap me and I just don't feel it.
00:44:39 Marco: And then later on, I look down and I see my little dot and I say, oh, I missed a notification.
00:44:43 Marco: And I know that there's been an issue, the WSJ reported earlier today, there's been an issue with faulty Taptic engines that might be the reason why there was a short stock in the watch launch.
00:44:57 Marco: I don't think mine is faulty.
00:44:58 Marco: It seems to work just fine.
00:45:00 Marco: It just isn't extremely strong.
00:45:03 Marco: It's like moderate strength.
00:45:05 Marco: And so to fix that problem, and I have it on the highest strength setting.
00:45:08 Marco: It's still not that strong.
00:45:10 Marco: There's a setting that basically plays a strong vibration before any taptic alert.
00:45:18 Marco: So vibrate and then tap, tap.
00:45:20 Marco: I've enabled that for most of the time I've had it, and that has helped a lot.
00:45:23 Marco: That makes me feel it every time.
00:45:24 Marco: But without that, I will frequently miss them.
00:45:27 Marco: And I think that's because I'm wearing it a little bit looser than I'm supposed to be because I don't like the feeling of it digging into my wrist so strongly.
00:45:34 Marco: But it doesn't seem unreasonably loose.
00:45:36 Marco: Again, it can't get misaligned.
00:45:38 Marco: It can't roll back on the sides of my wrist.
00:45:40 Marco: It's not that loose.
00:45:41 Marco: So I don't know.
00:45:43 John: Have you done your heart rate or whatever?
00:45:46 John: Because that's the reason I think people want to have it on tightly is they want accurate readings from the biometric monitors.
00:45:53 John: And if you're not ever looking at that, then you don't really care how loose it is except for feeling the vibrations.
00:45:57 John: But have you ever looked at your heart rate and seen if it's reasonable or crazy?
00:46:01 Marco: I have not, but it is tracking my activity a lot.
00:46:04 Marco: And it does register the exercise time.
00:46:08 Marco: So it has in its built-in rings of activity.
00:46:11 Marco: It has calories, which are related to steps, I think, and the standing.
00:46:16 Marco: And then it has the middle ring, which is the one I always fail to get.
00:46:20 Marco: The middle ring is time spent exercising.
00:46:23 Marco: And that is time at an elevated heartbeat.
00:46:25 Marco: And that seems to be measuring the actual realized time I'm spending at an elevated heartbeat.
00:46:31 Marco: It seems to be measuring that fairly accurately for me throughout the day.
00:46:34 Marco: I don't actually use the workout app to measure my heart rate as I work out because I don't work out.
00:46:40 Marco: So I'm not a good person to ask about that.
00:46:43 Marco: But it seems like I'm not wearing it so loosely that that would be a problem.
00:46:47 John: So the lump thing isn't bothering you, but basically you are intentionally making it a little bit looser so it doesn't bother you?
00:46:53 Marco: I'm wearing it at the looseness level I'm wearing it at, not because of the lump thing, but because of just the entire strap.
00:47:00 Marco: Like, the lump thing is not the limiting factor in the comfort here for me.
00:47:03 Marco: I thought it would be.
00:47:05 Marco: It's just that you don't want to feel the strap, like, squeezing your wrist, basically.
00:47:08 Marco: Exactly.
00:47:09 Marco: Yeah, that's all it is.
00:47:10 Marco: And so I found with the classic buckle, there are two holes that work for me.
00:47:15 Marco: Oh, God, that's going to be a terrible title.
00:47:18 Marco: Yeah, like, one of them is, like, the really snug one, and one of them, oh, God, I'll just stop talking to you.
00:47:22 Marco: Come now.
00:47:22 Marco: We are adults.
00:47:23 Marco: We can talk about the watch.
00:47:25 Marco: Okay.
00:47:26 Marco: So anyway, yeah.
00:47:27 Marco: So I found one that works for me.
00:47:28 Marco: Oh, the Milanese is also really nice because you can make smaller adjustments than any other band in the lineup.
00:47:35 Marco: So if you want to be like a little bit tighter, a little bit looser, you can align it to any of those rows of the woven links.
00:47:43 Marco: You can just like slide it over by one row.
00:47:45 John: So you can really... But it's like the toaster dials.
00:47:48 John: You never know.
00:47:49 John: How do I get it exactly how it was last time?
00:47:51 John: Oh, I don't know.
00:47:52 Marco: All the rows look the same.
00:47:54 Marco: I assumed before having it that that would annoy the crap out of me.
00:47:57 Marco: And I did fidget with it throughout the day.
00:47:59 Marco: I would frequently change it.
00:48:01 Marco: I might make a little micro adjustment throughout the day, like to tweak it a little bit.
00:48:05 Marco: I didn't feel like that was annoying to me as much as I would have thought.
00:48:09 Marco: I don't love about the classic buckle.
00:48:11 Marco: I don't love how, just like any other watch, you kind of need to set it down to put it on.
00:48:17 Marco: You got to hold your hand against a table to put it on, or hold it against your leg or something like that.
00:48:22 Marco: You can't quite do it freehand very well in midair.
00:48:26 Marco: The Milanese does not have that problem.
00:48:27 Marco: I also don't like with the classic buckle that, just like any other watch strap, so the little...
00:48:31 Marco: little like loop that holds the tail like the the excess tail uh that holds it on the band i keep like slipping out of that so and it keeps catching on things not crazy about that so i i might end up giving the leather loop another try at some point in the future but so far i'm very happy with this overall how many times you taking it on and off a day
00:48:50 Marco: The Milanese, because I had that first, I was a little more paranoid.
00:48:54 Marco: I was taking it off whenever I'd go wash the dishes or anything like that.
00:48:59 Marco: Now that I've had the leather one for a couple days, I'm a little more confident in it, a little more familiar with it.
00:49:05 Marco: So now I'm just keeping it on all day.
00:49:07 Marco: I took it off just now, just so I could look at my dent or lack thereof on my wrist from the follow-up.
00:49:15 Marco: But yeah, I'm just leaving it on all day now.
00:49:17 Marco: So it's not that big of a deal.
00:49:19 Marco: So how is it affecting your life, if at all?
00:49:23 Marco: So, again, before this, I had not worn a watch since high school.
00:49:29 Marco: I, like so many people, especially among geeks like us, like so many people, I thought, what do I need a watch for?
00:49:37 Marco: I have my phone in my pocket.
00:49:39 Marco: That always tells the time.
00:49:41 Marco: Turns out having a watch to tell time is actually really nice.
00:49:46 Marco: I know the watch people are all like, God, we've been trying to tell you that for years.
00:49:50 Marco: But yeah, that was news to most of us geeks who have been brutally pragmatic and like, well, we have this clock in our pockets all the time.
00:50:00 Marco: Yeah, it turns out the move from pocket watches to wrist watches a million years ago, there was good reason behind that.
00:50:06 Marco: That's actually more convenient.
00:50:08 John: Yeah.
00:50:08 John: I don't think I've ever looked at my phone to see what time it is.
00:50:11 John: So at least not during the day, because like the, the, the geek, I think the, uh, the geek groove for people, uh, to tell the time is you look slightly to the upper right of your field of vision because it's in the menu bar.
00:50:25 John: Right.
00:50:25 John: Right.
00:50:26 John: Staring out all day as a screen where the times in the menu bar, I cannot think of a time that I've looked at my phone and
00:50:31 John: when i you know during work or you know during home like because basically any place i'm sitting in my house there is a a clock in my sight lines intentionally so i know what time it is right and when i'm sitting on my computer there is a clock in my sight lines all the time and none of those scenarios do i ever reach for my ios device which is also probably in reach to check the time but many people on the go like when you're outside you don't have a clock in your sight line they do use their phones and i think uh serenity colwell tweeted earlier that
00:50:58 John: Someone had asked her what time it was, and she fished out her phone to check the time while wearing the watch.
00:51:02 John: So old habits die hard.
00:51:04 Casey: Well, that's the thing is I was just about to say that even though I am more often than not in front of either an iOS device or a computer, no matter what I'm doing, if I need to look at the time, my first gut reaction is to look at my wrist.
00:51:20 Casey: And, of course, there are times I'll look at my iOS device, I'll look at the upper right-hand corner of the screen, but generally speaking, or maybe the cable box, like you were saying, John, but generally speaking, the first place I look to find the time is my wrist.
00:51:32 John: The cable box, come on.
00:51:35 Casey: Yeah, I forgot with whom I'm speaking.
00:51:37 Casey: But, yeah, so I stopped wearing a watch for a few years.
00:51:41 Casey: I'd worn one pretty much all my life.
00:51:43 Casey: And then after after I got an iPhone, I was like, you know what, this is redundant and silly and I don't need to worry about this.
00:51:49 Casey: And then I think like the battery, my watch died or something like that.
00:51:52 Casey: And so it wasn't worth fixing it.
00:51:53 Casey: And so I just use my phone.
00:51:54 Casey: And then about a year or two ago, I started wearing a cheap watch again.
00:51:57 Casey: And and I'm glad because I like having the time on my wrist and I'm excited.
00:52:01 Casey: probably after WWDC to have more than just the time on my wrist.
00:52:07 Casey: So we'll see what happens.
00:52:08 Casey: But I am feeling quite smug that Marco has decided that this watch thing isn't so bad because I do believe I tried to tell you, Marco, that having something dangling on your wrist really is not the end of the world.
00:52:18 John: Yeah.
00:52:18 John: I wonder how easy it is to rewire these things.
00:52:21 John: Like for the people who have the ingrained habits of going for their, their, their phone in their pockets just the time, how, how long will it take them to retrain for like the look of the wrist?
00:52:29 John: And I'm also thinking like for the wrist move for Apple watch wearers, it's,
00:52:33 John: you have i imagine a lot of them will become accustomed to a slightly exaggerated motion to really ensure that the watch activates because you know sometimes the worst is if you bring it up and it doesn't activate so like they may be training themselves into that habit and the reason i think about these habits and how easy they are to change is i know basically since for for half my life at this point
00:52:53 John: When I'm wearing my contact lenses, I often take my finger and push my glasses up the bridge of my nose when there are no glasses there.
00:53:02 John: Basically, I'm poking myself between my eyes with my finger.
00:53:05 John: And I've had contact lenses since, I guess, middle school, basically as young as I could possibly get them.
00:53:11 John: So I am not new to the experience of not wearing glasses.
00:53:14 John: Nevertheless, every time I am wearing my contact lenses, I will at least once push my glasses up the bridge of my nose that are not there.
00:53:22 Casey: Yeah, that's understandable.
00:53:23 Casey: And when I went from being a not watch wearer back to a watch wearer, it only took me a few days, maybe a week to start looking at my wrist again to find the time.
00:53:34 Marco: Yeah, I mean, I thought this would be a longer adjustment for me so far.
00:53:37 Marco: And so far, it really hasn't been a long adjustment.
00:53:39 Marco: Like, it was, yeah, a couple days that now I'm looking at my wrist for the time.
00:53:42 Marco: Yeah.
00:53:42 Marco: And I'm enjoying it.
00:53:43 Marco: And the wrist detection thing where you try to detect when you move your wrist up and turn the screen on.
00:53:49 Marco: I've had mixed success with that.
00:53:51 Marco: That still needs some work.
00:53:53 Marco: Overall, it works for me about three quarters of the time.
00:53:57 Marco: But that's like 25% failure rate is not good.
00:54:02 Marco: So that could still use some improvement.
00:54:03 Marco: And, you know, it certainly exacerbates the issue that the screen has to turn off so quickly.
00:54:09 Marco: Oftentimes, I will try to do the motion to show the time and it will seem like it's misinterpreting it as first it thinks I flip my wrist and then it thinks I didn't.
00:54:21 Marco: And so the screen's on for a split second and it turns back off again because it like cancels it.
00:54:25 Marco: You're looking at it wrong, Marco.
00:54:27 Marco: Yeah, exactly.
00:54:28 Marco: Yeah.
00:54:28 Marco: So I don't... That part, it could use some work.
00:54:32 Marco: But...
00:54:33 Marco: But overall, I really do like it a lot.
00:54:36 Marco: I like the way it looks.
00:54:37 Marco: I like the way the watch face looks.
00:54:39 Marco: I've looked at other watches ever since Apple made a watch.
00:54:44 Marco: Ever since Apple announced they were going to make a watch, I've been looking around at what other people think are really good watches.
00:54:50 Marco: And every time I pass a watch store in the mall or something, I'll look in the window and just kind of look at the watches there, look in the airport stores that are all crazy and everything.
00:55:00 Marco: And when I look at other watches, I have never really seen anything that I thought was really good-looking.
00:55:07 Marco: And I know there are some out there.
00:55:10 Marco: I'm sure everyone's going to then send me the picture of the watch that they think is good-looking and say, oh, you didn't see this one.
00:55:15 Marco: And you might be right, but...
00:55:17 Marco: I never looked at any other watch and said, I really want that.
00:55:21 Marco: And this one, I look at this on my wrist.
00:55:24 Marco: The way I've set up, I use the utility face with a fairly minimal set of complications on it.
00:55:33 Marco: The way this looks to me is really nice.
00:55:35 Marco: I really enjoy just the way the watch face looks.
00:55:38 Marco: Just as a timepiece, I enjoy it.
00:55:41 Marco: And the other functions it does are really great too.
00:55:44 Marco: But even just that part, I'm extremely satisfied with because I just like it.
00:55:50 Marco: For whatever reason, I just like it.
00:55:51 Marco: I will often look at the time just to enjoy how the watch face looks.
00:55:56 Marco: I will say the complications, which are the little features you can add to show like the temperature or your calendar events or whatever in various areas of the faces.
00:56:06 Marco: I share a similar opinion as I believe Jason Snell who wrote about this and Casey, you did as well.
00:56:11 Marco: The complications are a mixed bag.
00:56:13 Marco: I think many of them are very useful.
00:56:16 Marco: Most of them I would have some design tweak to.
00:56:19 Marco: In general, I'm like 90% satisfied with the watch face availability that I have.
00:56:26 Marco: But that last 10% is kind of a killer.
00:56:28 Marco: If I prefer a digital watch face...
00:56:32 Marco: I think I'd be a little bit less satisfied because the digital options are not that great.
00:56:36 Marco: One of my favorite concepts of the watch face is the solar one, which shows the big arc of the sun throughout the day.
00:56:41 Marco: I like knowing how much sunlight I have left, so I know when's the latest I can walk my dog and be in the daylight, basically.
00:56:48 Marco: And that watch face is frustrating because there's no complications.
00:56:51 Marco: So if you want to also show the temperature on screen or also show anything else on screen, with that face, you can't do it.
00:56:58 Marco: There's no customization of that face.
00:57:00 Marco: Furthermore, if you're on that face, and I think one or two others, maybe the solar system, anyway, if you're on that face, if you scroll the wheel slightly on the digital crown while you're trying to hit it to go to the home screen,
00:57:14 Marco: Any slight scroll is interpreted as you're moving the sun around in that watch face and it cancels the button push.
00:57:21 Marco: And so you're like stuck in the watch face.
00:57:24 Marco: And I found that very error prone when I was using that face where I kept accidentally scrolling slightly when I touched the wheel and not being able to go immediately to the home screen that I wanted.
00:57:34 Marco: So that was frustrating.
00:57:35 Marco: But for the most part, once I found what I wanted, which was the utility face, I'm very happy with it as a watch.
00:57:43 Marco: It is really quite nice.
00:57:45 Marco: Again, like you, Casey, and like Jason, I would make some small changes to the complications.
00:57:52 Marco: They're like the empty state for things like the timer or when there's an event where the calendar thing, when you have nothing for the day, it says no events in these big letters.
00:58:02 Marco: Why can't it just be blank?
00:58:04 Marco: You know, stuff like that.
00:58:05 Marco: Like the blank states of these things could use some help.
00:58:07 Marco: I have mine set with a timer at the bottom.
00:58:11 Marco: So I frequently will start a timer for like brewing tea or cooking something.
00:58:14 Marco: And the timer, when nothing is set, it has a little timer icon next to it.
00:58:18 Marco: It has the word set.
00:58:20 Marco: Which is dumb.
00:58:21 Marco: Just have the timer icon.
00:58:23 Marco: Why do I need the word set?
00:58:24 Marco: I know that when it's empty, you tap it and it brings the timer.
00:58:27 Marco: That's great.
00:58:28 Marco: Why do you need that?
00:58:28 Marco: So I do like having these things on the watch face.
00:58:33 Marco: I do recommend if you're getting the watch, if you're setting it up, I do recommend keeping it simple.
00:58:38 Marco: And that could just be personal preference.
00:58:40 Marco: But I find that I'm happier the less stuff is on my watch face and the fewer glances I'm using.
00:58:47 Marco: And the advantage of that, you know, there's information density reasons, there's stress reasons, but just like there's also battery reasons to not have all this stuff updating all the time.
00:58:55 Marco: And it's also easier to navigate when you only have a few things that you really care about.
00:59:00 Marco: It's easier to see.
00:59:00 Marco: It's easier to scroll.
00:59:01 Marco: There's fewer things to scroll through.
00:59:03 Marco: So I recommend keeping your watch set up very simple.
00:59:06 Marco: But, you know, people will figure that out for themselves, I think.
00:59:09 Casey: All right.
00:59:10 Casey: How about repairability?
00:59:11 Casey: Because iFixit has had a teardown, and I felt like it was fairly surprising, even knowing full well that this thing was not large and was going to be jam-packed.
00:59:23 Casey: I was...
00:59:24 Casey: I'm stunned by how much stuff is crammed into that little tiny case, especially since my recollection of trying on the watches is that they were not terribly heavy.
00:59:35 Casey: I mean, the link bracelet weighed quite a bit, but the watches themselves were not terribly heavy.
00:59:42 Casey: And gosh, there's a lot of stuff in there.
00:59:45 Casey: So do we think that the S1 is going to be upgradable in the future?
00:59:50 John: Well, this teardown thing to remember of the iFixit teardowns is everything is zoomed way in.
00:59:55 John: So no matter how large the device is, they fill the frame with the thing.
00:59:59 John: So it seems like, you know, because I finally, by the way, I finally saw an Apple watch in person.
01:00:05 John: Uh,
01:00:05 John: actually on somebody instead of in a store still haven't gone to a try on but anyway there's there's much smaller than i thought they would be like all of apple's pictures they look huge many people have bought the 42 and thought they've mistakenly got the the smaller size 38 or whatever it is um
01:00:22 John: Because they're smaller than you think they are.
01:00:23 John: And so in these iFixit pictures, you're like, wow, look at all that stuff in there.
01:00:27 John: The key thing is not look at all that stuff.
01:00:28 John: The key thing is look how small that stuff is, because if they zoomed out to a reasonable length, you'd realize that how microscopic those things are because they're zoomed way in to make the entire watch fill the frame.
01:00:38 John: Uh, so that's the thing that strikes me that it seems like a lot of stuff is like, oh, there's, there's, you know, it's like a little TV dinner.
01:00:44 John: You have component A and component B and component C, but those components like the size of like pinheads, you know, they're microscopic.
01:00:50 John: So it's an amazing feat of miniaturization, but yeah.
01:00:53 John: Yeah, looking at the quote I pulled out into the show notes, you're looking at the S1 module, the little sort of, oh, the S1, and they keep showing it as a little component, it could be replaceable.
01:01:02 John: Here's what iFixit had to say when they got the S1 module out of the watch.
01:01:06 John: Pulling this mess out is a destructive procedure, but after ripping out some soldered connectors, we got our first real look at the S1.
01:01:12 John: Despite rumors and hopes of an upgradable product, the difficulty of removing the S1 alone casts serious doubt on the idea of simply swapping out the internals.
01:01:19 John: iFixit is usually pretty good about like sort of doing surgery on Apple devices and getting them apart and getting the pieces out.
01:01:25 John: And if they're saying basically to get the S1 out, you have to just rip off a bunch of things like it is destructive process.
01:01:32 John: I suppose you could just rip out all the guts, like just, you know, shuck it like an oyster and pull everything out of it and just put entirely new guts inside it.
01:01:40 John: But even that, it looks like the type of thing that you would want to be done with precision tools in a factory by people who, you know, people or machines that do the same operations.
01:01:49 John: Yeah.
01:01:49 John: you know hundreds of times a day rather than just having someone in the back room scrape this stuff out because what would it even look like to reseat all these things and re-glue and seal all these things and reconnect all these connectors it does not even if apple wanted to have internal swaps it does not look good like i would feel like if they offered that service i would be like thanks but no thanks i really don't want the guts of this thing pulled out and tried to be replaced because it would just never be the same again
01:02:16 John: yeah i mean it's like if you get like a laptop repair and it's not quite repaired right and it's like something like some seam doesn't quite line up it like right what are you trying to say marco yeah good luck with that but no like that was the pre-unibody days that was a real problem because i've opened up pre-unibody laptops and they never go back together the right way like but the unibody ones are more sturdy in that regard but this definitely looks like one of those things where it's like
01:02:40 John: it's a one-way operation assemble seal it's your thing maybe they could do the battery because that's kind of on the outside but i even get worried about like because you see how they take the screen part off like it's not there's no visible screws that hold the screen on it's just i guess it's just glued and they just kind of like heat up the glue and pry the thing off and you're like really i mean it's the same way that the windshield is stuck onto your car just you know
01:03:03 John: much much much smaller i suppose so i guess it's i don't know i just feel nervous about things that are connected with adhesive uh i trust the factory sort of the factory seal of putting you know even for windshields like the windshield was put on my car in a factory under controlled conditions under hopefully ideal conditions and
01:03:22 John: And yes, if you get a crack in your windshield, you can hire someone to come and take it off and put it on a new one.
01:03:28 John: And they'll do it, you know, while you're at work inside the parking garage.
01:03:30 John: That's not ideal conditions.
01:03:32 John: Are they heating up the adhesive to the right temperature?
01:03:34 John: Is everything else just it bothers me as an anal redemptive person.
01:03:38 John: But anyway, looking at this iFixit thing, I'm thinking this was not designed to have the internal swapped.
01:03:44 John: And even if it could be done, I would not want it done to my watch.
01:03:47 Marco: Yeah, I mean, if you look at like basically all of the components are on top of the S1.
01:03:52 Marco: Like the S1 is at the bottom.
01:03:55 Marco: And in order to take it out, you have to basically take everything out of the watch.
01:03:59 John: It's like a Porsche Boxster.
01:04:03 John: You want to change the oil, you've got to pull the whole engine out of the car.
01:04:06 John: That isn't true, is it?
01:04:07 John: No, it is not.
01:04:07 John: But I'm waiting for the Porsche people to come and yell at me.
01:04:10 John: But no, for mid-engine cars, it is just much harder to get at the parts of the engine you need to get at.
01:04:15 John: So the labor costs for doing stuff like that is much higher.
01:04:18 Marco: So yeah, I would not, based on how the watch is laid out internally and all these different parts, you have to disconnect and move and go around in order to pull the S1 out.
01:04:30 Marco: I'm with you, John.
01:04:31 Marco: I think this is clearly designed to be a one-way operation.
01:04:33 Marco: I don't think anything is going to be offered for upgrading these to the S2 or whatever.
01:04:40 Marco: I don't see that happening.
01:04:41 Marco: Even for the additions, I don't see it happening.
01:04:43 Marco: And I think Apple's solution is going to be just like their solution for everything else they make, which is this is today's model, and then eventually we're going to have a new model.
01:04:52 Marco: And if you want, you can recycle your old one.
01:04:54 John: We were talking about the chances of Apple offering upgradability, specifically with respect to the addition because it's so darn expensive and who's going to spend all that money only to spend all that money again in three years.
01:05:04 John: That would be the highest chance of having upgradability.
01:05:07 John: We talked about all the reasons they wouldn't because it's just not the Apple way.
01:05:10 John: If you can afford one $10,000 to $20,000 watch, you can certainly afford two.
01:05:16 John: One of the reasons we didn't discuss was that
01:05:20 John: these things are going to be so darn small and apple's going to want to wedge everything in that it possibly can and if it came down to a decision between we could make it a little bit smaller but it would make it much much harder or impossible to do a component swap apple would always say make it a little bit smaller like they're never optimizing for like just look at go through the ifixit guide so the past five or ten years or however long ifixit's been around probably not ten years
01:05:46 John: look at how much sort of empty space and extra stuff there used to be inside apple's laptops for instance and compare it to the macbook one tear down where i don't know if they have one of those yet i think they do but they do that there's like nothing in there there is no like the number of pieces like they just want to get everything else out any kind of sort of framing mechanism or like cage or guard or whatever it's they just want to
01:06:08 John: get everything out of there and just squish it down until all there is is like aluminum battery motherboard like every anything that is not essential has been removed including key travel on the keyboard so that attitude of like if it comes down to it can we wedge more stuff in yes by sacrificing the ease of repair totally do it and so that is that's kind of what we were talking about like apple's not going to do this but this is another aspect of why this is not the apple way
01:06:33 John: like i said they still could on the edition say give us your edition we'll just yank out all the insides and put in all new guts they could do that like in the same way that you know casey's macbook air could be sent away to what do they call the depot repair center or like the magical fairyland where the grinch takes your christmas tree to repair it like you can send your computer there too well
01:06:50 John: and then like something will happen it always feels better to like oh we're going to send it out for repairing you you can always imagine that that repair facility is much nicer and cleaner and staffed by precision nanomachines and robots and like but it's not it's just different people in a different room anyway trying to think about it um for your i i still say apple could um
01:07:11 Marco: within the realm of reason say by all means bring us back your 17 000 watch we will take the insides out and put in the insides of the apple watch too which happens to have the same external case they could they probably won't well but and even apple when like when they do these depot repairs and everything a lot of the times like the stuff that i fix it will do to like try to remove a battery that's glued to the case for instance apple doesn't do that they just replace the whole but the whole that whole case section
01:07:38 Marco: Apple does not take extreme measures in their repair departments to disassemble things like that that are just super glued in there and you're never going to get it out.
01:07:49 Marco: They don't do that either.
01:07:50 Marco: They're just replacing more of it and charging you for it.
01:07:52 John: Well, especially batteries because if you bend it or poke it or puncture it, the batteries become big flaming things very quickly.
01:07:59 John: So batteries they're very careful with.
01:08:02 John: But for other things, they do have...
01:08:04 John: I seem to recall someone telling me for taking the iMac screens off and not getting dust behind them, they have rigs to take the screen off easily and repeatedly and blow out all the dust and do all these other things.
01:08:18 John: Things that may be beyond...
01:08:21 John: what a regular person can do the the repair depots or the back of the apple store may be better equipped to do because they have special purpose tools just for this thing but but yeah it reaches a limit where they say well it's actually we since we're the repair depot we don't need to carefully remove item a from item b we just take the entire like top case thing and we get you a new top case or bottom case or whatever the heck you know what i mean and that's that is much more straightforward and that's why i think for the edition watches if they were going to do it
01:08:45 John: They would take everything out of the edition except for the gold empty case and take entirely new insides with entirely new screen, entirely new sapphire crystal, everything and just go slap it in there.
01:08:54 John: It's just like one sealed edge.
01:08:56 John: I think that is still possible given the iFixit teardown, but not likely for all the other reasons we talked about in the past about it.
01:09:02 John: Apple just wants you to buy a new one, so you will.
01:09:05 Marco: Right.
01:09:05 Marco: I mean, I think at best we would see something that is basically a recycling program, maybe with a better name, maybe with better rates for maybe just the additions.
01:09:15 Marco: So maybe they'd have some kind of trade-in thing.
01:09:17 Marco: But I don't think you're going to get back the same watch you trade in with new stuff inside.
01:09:21 Marco: I think you might get back a brand new watch and you might get some token rebate for the old one that you traded in.
01:09:27 Marco: And even that, if they never did that, I wouldn't be surprised.
01:09:31 Marco: And it wouldn't be a big deal.
01:09:32 Marco: But if they're going to do anything like that for the addition customers, I think that's the form it would take.
01:09:36 Marco: It wouldn't be you get back the same case with new stuff inside.
01:09:41 Casey: All right.
01:09:42 Marco: Our final sponsor this week is Harry's.
01:09:45 Marco: Go to harrys.com and enter promo code ATP to save $5 off your first purchase.
01:09:52 Marco: Harry's offers high quality razors and blades for a fraction of the price of the big razor brands.
01:09:58 Marco: It was started by two guys who wanted a better product without paying an arm and a leg.
01:10:02 Marco: Harry's makes their own blades from their own factory, which is actually an old blade factory in Germany that they liked so much that they actually just bought the whole thing.
01:10:10 Marco: These are high-quality, high-performing German blades crafted by shaving experts that give you a better shave that respects your face and your wallet.
01:10:20 Marco: Harry's offers factory direct pricing at a fraction of the big brand price.
01:10:24 Marco: They're usually about half the price.
01:10:26 Marco: Plus, you don't have to wait around for, you know, some employee to come unlock the anti-shoplifting case at drugstores to buy them.
01:10:33 Marco: So, you know, none of that stuff.
01:10:34 Marco: They just, you order online, they ship it directly to your door.
01:10:37 Marco: And it's free shipping all the time.
01:10:39 Marco: Free shipping directly to your door.
01:10:41 Marco: Now, Harry's, I've tried this stuff.
01:10:43 Marco: It is really quite good.
01:10:44 Marco: I'm very impressed at what they manage for the price.
01:10:47 Marco: I would say, you know, I don't think they have yet something that matches the ProGlide strip on the Fusion.
01:10:56 Marco: But with the exception of that, I would say their blades are pretty much identical to the quality of Fusion blades.
01:11:02 Marco: and I have very sensitive skin, so I would probably be able to tell you a difference if there was one, and I really could not tell any difference at all with the quality of the shave or the comfort.
01:11:13 Marco: It really is quite good, and they earn about half the price of the Fusion Blade, so it's a no-brainer.
01:11:18 Marco: And their handles are really, really nice.
01:11:20 Marco: Their designs are really nice.
01:11:21 Marco: It's almost like the kind of new Mad Men kind of style of classic and classy looking things that kind of are inspired by old designs but still look new and still look modern.
01:11:35 Marco: um really great stuff you know nice heavy handles tasteful designs like they don't it doesn't look like the weird like android commercial robot ultra masculine transformers looking designs that the other razor things all look like uh it's just tastefully designed stuff great stuff from harry's now you can get a starter set from them just try it out it's an amazing deal if you get 15 bucks you get a razor uh
01:11:59 Marco: moisturizing shave cream or gel your choice and three razor blade cartridges when you need more blades they're just two dollars each or less an eight pack is 15 bucks a 16 pack is 25 bucks for instance for comparison here fusions are 12 for about 40 bucks so 12 harry's blades are 20 bucks so really it is about half the price you get the convenience and ease of ordering online high quality blades
01:12:26 Marco: Great handle, great shaving cream, and excellent customer service if you ever need it.
01:12:31 Marco: All this at half the price of the big brands.
01:12:33 Marco: So get started today with that starter kit.
01:12:35 Marco: Handle, three blades, and shaving cream for just $15 shipped right to your door.
01:12:40 Marco: And if you use promo code ATP at harrys.com, use promo code ATP to get $5 off your first purchase.
01:12:47 Marco: So thanks a lot to Harry's.
01:12:49 Marco: Go to harrys.com, promo code ATP for $5 off.
01:12:52 Marco: Thanks a lot.
01:12:53 Casey: So Microsoft had their first day of, or I think it was the first day of their build conference, which is kind of the Microsoft WWDC.
01:13:02 Casey: Coincidentally, it takes place in Moscone West.
01:13:05 Casey: There were a couple of big announcements I was interested in.
01:13:07 Casey: The first one was Visual Studio Code.
01:13:12 Casey: Now, despite the fact that this has Visual Studio in the name, in a lot of ways, it is not the traditional Visual Studio.
01:13:20 Casey: But what's interesting about it is, one way or another, regardless of the name, it is cross-platform.
01:13:24 Casey: It will run on OS X, it will run on Linux, and it will run on Windows.
01:13:29 Casey: And Visual Studio Code...
01:13:31 Casey: At a glance, looks like Atom, the editor that we talked about quite a long time ago that was written by GitHub.
01:13:39 Casey: It looks like Atom, but with a little bit of Microsoft flair on it.
01:13:46 Casey: And that's not necessarily a bad thing.
01:13:49 Casey: In fact, one of the really appealing things to it is it has really good IntelliSense.
01:13:53 Casey: And in case you don't know what IntelliSense is, it's the code completion and the little tool tip that pops up that helps you complete code.
01:14:01 Casey: And as someone who's worked on Xcode a fair bit and makes his living working in Visual Studio, I can tell you that IntelliSense is light years better than anything Xcode has to offer.
01:14:15 Casey: And I haven't used Eclipse for years and years and years, thank goodness.
01:14:18 Casey: But I don't remember Eclipse being any better.
01:14:21 Casey: Well, anyway, so at a glance, it looks just like Atom.
01:14:23 Casey: Well, come to find out, it actually is Atom in some way, shape, or form.
01:14:28 Casey: And I haven't really dug into the mechanism by which all this is held together.
01:14:33 Casey: But there is at least a part of Atom included in the package that is Visual Studio Code.
01:14:40 Casey: I did try Visual Studio Code.
01:14:43 Casey: I tried it shortly after it came out.
01:14:45 Casey: And one of the things it promised is really, really good Node support, which, as you guys well know, I've been really interested in lately.
01:14:53 Casey: And that's what my blog is running on, is Node.
01:14:55 Casey: And...
01:14:56 Casey: I went to download it.
01:14:59 Casey: I downloaded it, no problem.
01:15:00 Casey: I ran it, no problem.
01:15:02 Casey: I opened up my project, my camel project.
01:15:08 Casey: And one of the first things I did was try to run.
01:15:12 Casey: And I tried to run it and I got a message saying, well, you can't because you don't have Mono installed.
01:15:20 Casey: Okay.
01:15:21 Casey: Well, in case you're not familiar, Mono is the cross-platform C-sharp compiler that will compile to OS X. It'll compile to Linux, et cetera, et cetera.
01:15:30 Casey: And all the libraries associated with it.
01:15:33 Casey: So it's cross-platform.net.
01:15:35 Marco: Does it just make you tired for a month?
01:15:37 Casey: And it also makes you tired for a month, and you get it by kissing people.
01:15:40 Casey: Right.
01:15:40 Casey: So it says, oh, well, you don't have Mono installed.
01:15:44 Casey: So, okay, fine.
01:15:45 Casey: So I brew install Mono, and I forget what version it is that I got, but I tried to run again, debug again, and it said, no, no, no, really, you don't have Mono installed.
01:15:56 Casey: Right.
01:15:57 Casey: So I was tweeting in general and also tweeting at Code, which is the Twitter handle that Microsoft somehow got.
01:16:05 Casey: I don't know how they landed that.
01:16:06 Casey: But I tweeted at Code and said, you know, I was saying, oh, this is weird.
01:16:09 Casey: It's not working right.
01:16:10 Casey: It's not working right.
01:16:11 Casey: Well, within an hour or two, the guy that was in the introductory video, I think it's Chris Davis.
01:16:18 Casey: I probably pronounced that wrong and I'm sorry.
01:16:19 Casey: But the guy who was in the intro video is tweeting at me saying, hey, hey, have you tried this?
01:16:24 Casey: Have you tried that?
01:16:25 Casey: What?
01:16:27 Casey: Can you imagine walking out of an Apple WWDC presentation, hell, the keynote, and trying something, and then Federici is tweeting at you saying, oh, did you try this thing or the other thing?
01:16:40 Casey: What?
01:16:40 Casey: What?
01:16:41 Casey: That's amazing.
01:16:42 John: You know what that means?
01:16:43 John: That means Microsoft is hungry.
01:16:44 Casey: It does.
01:16:45 Casey: No, you're absolutely right.
01:16:46 John: Microsoft is showing hustle.
01:16:48 Casey: Take a lesson, Apple.
01:16:49 Casey: Oh, it's so true.
01:16:50 Casey: So anyway, so come to find out that Chris had a couple of really good pointers, and it turns out that I had two copies of Mono on my computer.
01:16:59 Casey: I'm not sure when or how I installed the first one, but... Package management.
01:17:04 Casey: One way or another, I had.
01:17:07 Casey: And so I uninstalled the brew version of the homebrew version.
01:17:11 Casey: I uninstalled the other one, reinstalled the homebrew version, and sure enough, debugging worked immediately.
01:17:16 Casey: I had put a post on my website a while back about node debug, which is a...
01:17:21 Casey: Kind of sort of hacky, but still really nice debugger that works with the Chrome web inspection tools.
01:17:28 Casey: I tried that in the past.
01:17:29 Casey: I'd really liked it.
01:17:30 Casey: This is so much better, though, because this is even though it is in no way actually Visual Studio, except in name.
01:17:39 Casey: it felt kind of similar to Visual Studio.
01:17:42 Casey: Like I hit F5, which by the way, I have mapped to the keyboard brightness.
01:17:46 Casey: I don't have it mapped to BX, or excuse me, F5.
01:17:49 Casey: And sure enough, it figured it out and said, okay, I'm going to go debug.
01:17:53 Casey: And it worked really well.
01:17:55 Casey: And I've only played with it for a few minutes, but I've been really, really impressed.
01:17:59 Casey: It has Git integration right there.
01:18:01 Casey: It has Markdown Preview.
01:18:03 Casey: And somebody tweeted at Gruber earlier today.
01:18:06 Casey: I want to say it was Rich Siegel.
01:18:07 Casey: But somebody tweeted at Gruber saying, hey, did you ever think 10 years ago that Microsoft would ship a free editor, a free kind of sort of IDE for the Mac that does Markdown Preview?
01:18:17 Casey: And Gruber was like, of course not.
01:18:18 Casey: No way.
01:18:19 Casey: And it's true.
01:18:20 Casey: I mean, it's really impressive.
01:18:22 Casey: It's a really impressive app.
01:18:24 Casey: A little bit of agita getting it going, but in the grand scheme of things, I really like it.
01:18:29 Casey: I know everyone loves their own text editor.
01:18:31 Casey: I'm not saying it's better than any other.
01:18:33 Casey: This is not a vinyl is better kind of situation.
01:18:36 Casey: I'm just saying it's worth checking out.
01:18:38 Casey: And Marco, I tweeted at you earlier tonight, although I don't know if you saw it, that they even have PHP syntax highlighting and all that.
01:18:45 Casey: which may or may not be very exciting, but I was impressed that it was that supportive of all flavors of programming languages rather than, strictly speaking, the Microsoft stuff.
01:18:58 Marco: Yeah, I mean, this is clearly part of the new Microsoft and realizing the fights that they can and should be fighting, the fights that they have already lost, and where they can still have great value and where they can hustle.
01:19:13 Marco: Yeah.
01:19:14 Marco: this seems like a pretty good move overall i mean my main question here is will this will this stay a thing you know will this be followed through on and will it stay a thing because that's where microsoft has recently not done that well and and not even that recently like you know in the last 10 years uh has had a hard time like following through on stuff and well they'd fall they'd follow through the things they did
01:19:37 John: succeeded and gained traction.
01:19:38 John: You know what I mean?
01:19:39 John: That's been the problem.
01:19:40 John: I think it's like, if one of those things caught fire, you sure bet they'd follow through.
01:19:43 John: They would love to follow through, but they're being kind of ruthless and like, if it doesn't catch on, okay, let's try something else.
01:19:51 John: Like, all these things are not...
01:19:53 John: moves that are done from someone in a position of strength it's kind of like apple they're not as bad as apple was in the 90s obviously but um when you're in a corner and when you're behind you can't afford to do the old microsoft way of like you know not invented here syndrome we're going to do everything ourselves so why are they using
01:20:11 John: Electron, which is the framework that GitHub spun out of their Atom project to say Atom is built on Electron.
01:20:17 John: Anyway, we'll put a link to it in the show notes.
01:20:19 John: Why are we using this web-based framework that uses Google's web browser engine under the covers to make quote-unquote native applications using a web rendering engine technology?
01:20:29 John: uh like why don't we write our own editor we have don't we have our own editor we wrote visual studio like because you can't you don't have time you need if you want to do this thing we have an idea we have the strategy we're going to talk about in a bit that's going to let us do all this cross-platform stuff and we want to have an editor we want people let people develop on the mac can we make a new mac editor from scratch no we don't have time we like how fast can we get to market and the old microsoft was too proud or you know too stubborn too
01:20:55 John: to do what they're doing now which is like well we can get to market pretty quickly if we use this open source engine that github used to make its editor uh that gives us a huge head start and maybe it's not as nice as the real visual studio editor but it's not like we're going to port that to the mac and even if we did it would be kind of credit so let's do what it takes to get off the ground and just like apple was like
01:21:15 John: Can we make a modern operating system?
01:21:17 John: We tried like three times and it didn't work.
01:21:19 John: Can we just buy somebody?
01:21:20 John: And that's what they did.
01:21:21 John: Can we can we use the Windows NT kernel?
01:21:23 John: Can we buy B?
01:21:23 John: Can we buy next?
01:21:24 John: They made the right move there.
01:21:26 John: But this is not something that that you do when you are in the driver's seat or anything.
01:21:32 John: This is something you do when you're behind.
01:21:34 John: And it's smart and it's expedient, but it's also I'm not going to say it smells of panic, but it's it's kind of sad to see.
01:21:44 John: Like one of the things that made Microsoft great was like they thought we can do everything ourselves and they they really could do everything themselves.
01:21:50 John: Usually a reasonably good job of it.
01:21:53 John: The new Microsoft.
01:21:55 John: doesn't have time to do everything itself which is probably a good thing but you know they didn't make atom uh github made atom they didn't make electron github did they didn't make the chrome engine you know google did and apple made webkit and like the value they're adding they're you're right marco they're trying to add value where they can but they are standing on the shoulders of all the other companies that used to that they used to be the giants and now they're standing on the shoulders of all these other companies some which didn't even exist when microsoft ruled the roost
01:22:24 Casey: Yeah, it's very true.
01:22:26 Casey: But yeah, this Visual Studio Code thing, I really dig it in the very, very brief amount of time I've spent with it.
01:22:32 Casey: And it is far and away the best node debugger I've tried, but I'm a very amateur node programmer, so there may be some other package or product out there I'm just not aware of.
01:22:41 John: Is there a comma in that name?
01:22:44 John: No, comma, debugger.
01:22:45 Casey: I don't even know where to go from here.
01:22:51 Casey: So that was Visual Studio Code.
01:22:53 Casey: You should definitely try it out.
01:22:54 Casey: It's free download.
01:22:55 Casey: It's worth at least checking out.
01:22:57 Casey: The other really interesting thing that they talked about, which unfortunately we haven't heard a lot of technical details about yet, is two different projects.
01:23:06 Casey: One of them is called Islandwood and the other Astoria.
01:23:09 Casey: Let me cover those in reverse.
01:23:11 Casey: Project Astoria is...
01:23:13 Casey: to allow Android apps to run on, I believe it was Windows Phone only.
01:23:20 Casey: And this is vaguely similar to what BlackBerry did way back when.
01:23:23 Casey: And basically any APK, so any Android app that's been built, that doesn't use any of the proprietary Google stuff.
01:23:34 Casey: So my understanding of Android is that there's the Android Open Source Project,
01:23:40 Casey: And then as a kind of, is it superset or subset of that?
01:23:44 Casey: I don't know.
01:23:45 Casey: As an addition to that is the Google Mobile Services, which has things like Google Maps and things of that nature.
01:23:53 Casey: If your app strictly stays within the APIs that are part of the open source Android, then you can take your APK, drop it in Windows, and it will run supposedly no problem.
01:24:10 Casey: How is this working from a technical perspective?
01:24:13 Casey: And I don't know if this is like a Wine kind of situation.
01:24:16 Casey: What was a backer name for Wine?
01:24:18 Casey: Like something is not Windows or something like that?
01:24:20 Casey: I don't know.
01:24:22 Casey: But anyway, Wine is the app that allowed you to run Win32 apps on Linux.
01:24:29 Casey: And did that ever work on OS X?
01:24:32 Casey: Was that a thing?
01:24:32 John: Wine is not an emulator?
01:24:34 John: That's going to be my guess.
01:24:34 Casey: That's what I was thinking of.
01:24:36 Casey: Thank you.
01:24:37 Casey: That's what I was thinking of.
01:24:38 Casey: Anyway, so I don't know if this is like a wine sort of thing or not.
01:24:41 Casey: I'm not sure what the mechanism is for this working under the hood, but supposedly you'll be able to run certain APKs in Windows without any modification whatsoever.
01:24:53 Casey: So any thoughts on that before I move on to Islandwood?
01:24:56 John: Again, this is another one of these days where an announcement is made on the day that we record, so none of us have really had time to read about this stuff or watch the thing.
01:25:03 John: But my understanding from watching tweets from people who I think know what they're talking about is that
01:25:07 John: The the iOS compatibility is you take your source code and you compile it.
01:25:14 Casey: Oh, well, we're not there yet, man.
01:25:15 Casey: We're only talking about Android.
01:25:17 John: I know, but I'm comparing and contrasting.
01:25:19 John: You take your source code and you compile it.
01:25:21 John: And the Android one is you take your Android app and you run it.
01:25:25 John: uh and that's different like even if you have the source to your android app i don't think that's how it works i don't think they say i'll take the source to your android app and compile it like so that that makes that that that's a big difference in how they're going to implement things if you're not recompiling it that means binary compatibility but of course the android apps are written on the dalvik vm or written against the dalvik vm which is their don't call it java java vm
01:25:46 John: uh so there's it's bytecode involved so why would they need to recompile it if they've got bytecode they can run it uh the jvm spec and probably the dalvik spec are something that they can reverse engineer or read documentation for uh so it's much more straightforward and it's not like wine because it's not native code to begin with it's you know it's this the java bytecode stuff
01:26:06 John: oh interesting point i see what you're saying so that's i think that's how they're getting away with you don't have to recompile it's not source compatibility and it's not like wine where they're like stubbing out a bunch of things it's like they're they're just implementing a java virtual machine and the apis that it links against i guess uh but you don't have to you just take your binary and run it this is again from from not having watched the presentation and just seeing people's tweets this is my understanding and yes if i let the cat out of the bag about the ios thing which everybody knows by now
01:26:33 John: They're doing that entirely differently that you have to have your source code and then you compile it against a bunch of their libraries, which are not Apple's libraries, but hopefully have all the same APIs and are compatible.
01:26:43 John: And good luck with that.
01:26:45 Casey: Right.
01:26:45 Casey: So that's the Islandwood thing.
01:26:47 Casey: And just like John said, you can take an Xcode project and suck it into Visual Studio and then recompile it against a, quote, middleware layer, quote.
01:26:58 Casey: And apparently magic happens and then you've got a Windows app.
01:27:04 Casey: And not only is it a Windows app, but it's a universal Windows app.
01:27:07 Casey: So presumably it can run on the desktop.
01:27:10 Casey: It can run on a tablet.
01:27:12 Casey: It can run on the phone.
01:27:14 Casey: It can run just about anywhere that's Windows.
01:27:16 Casey: What I'm really interested to see is what exactly is doing all of this.
01:27:22 Casey: And it's worth pointing out this is Objective-C only as well.
01:27:25 Casey: What is this middleware layer?
01:27:26 Casey: How is this held together?
01:27:27 Casey: What is really going on here?
01:27:29 Casey: But I did read in Ars Technica, and we'll link this in the show notes, or I think I read it on Ars Technica, but somewhere I have read that not only does this island would support just general kind of sort of cross compilation, but it even supports UIKit.
01:27:46 Casey: And even more importantly than that.
01:27:48 Casey: core animation and if you've never written ios code before core animation is phenomenal and it's an amazingly easy way to say yeah make that thing just kind of dance over to that side of the screen and it takes very little code to make really really fluid really impressive animations happen and that's in part why so many ios apps look so darn good is because for developer even even one who has no visual chops like myself you can make really decent animations really really easily and
01:28:17 Casey: And the fact that core animation got ported or whatever is pretty impressive to me.
01:28:22 Casey: So I've been told on Twitter that the session where they talk about the mechanisms behind all of this will be happening tomorrow afternoon, which is Thursday afternoon as we record this.
01:28:32 Casey: I don't know if I'll have the time to watch it anytime soon because life has been a little busy lately, but I hope at some point that I'll be able to check it out and report back on how this is all held together because this certainly sounds extremely impressive, although we'll see if it's actually really particularly functional over the next few weeks, I suppose.
01:28:53 Casey: That being said, Candy Crush Saga, the bastion of excellent programming, has already been running on this Project Islandwood.
01:29:00 John: It sounds like they kind of pulled a GNU step.
01:29:02 John: Do you guys remember GNU step?
01:29:03 John: I've certainly heard the name, but it might still be out there.
01:29:05 John: Like, so if you have, Apple doesn't give you the source code to like all of Coco and all of UIKit, like some of the Darwin source code includes some, you know, I think it's some core foundation stuff is in there, whatever.
01:29:16 John: But anyway, most of the stuff is not open source, but they do publish, you know, the documentation and you can get the header files for all the objectives, these stuff like the APIs are defined and what they do is roughly defined.
01:29:26 John: So you could just look at the APIs and the headers and,
01:29:29 John: and the documentation and use an actual Mac to figure out how things work.
01:29:32 John: And you can make a work-alike library for your platform.
01:29:36 John: And that's kind of what GNU Step is.
01:29:37 John: It was trying to take the OpenStep stuff, which also wasn't open source.
01:29:41 John: I don't know if it ever was.
01:29:42 John: And say, we would like to be able to write programs with lots of square brackets on Linux too.
01:29:47 John: But they're not going to give us their code.
01:29:50 John: So can we just sort of reverse engineering and make a set of libraries with exactly the same functions, take exactly the same arguments that behave in exactly the same way?
01:29:57 John: But ours will be all open source.
01:29:59 John: And that effort, you know, it's like any sort of open source volunteer led effort.
01:30:03 John: It's very difficult to keep pace with with like Apple and all their engineers adding changes to Coco and everything.
01:30:08 John: So.
01:30:09 John: I don't know how far GNU Step has kept up, but this effort seems like that, albeit funded by Microsoft and a lot more people.
01:30:16 John: If you're going to compile my UIKit application source code without having Apple's code for the UIKit frameworks...
01:30:24 John: You will have to have frameworks with the same names, with the same functions in them to link against.
01:30:29 John: Otherwise, nothing is going to work.
01:30:30 John: And where are you going to get those from?
01:30:31 John: You're going to have to write them yourselves and make sure they behave in the same way as Apple's do.
01:30:35 John: And that is a humongous job.
01:30:37 John: And that is so unlike Microsoft, because now you're sort of signing up to try to keep pace with Apple's rapid development of their libraries.
01:30:44 John: And you're telling people to, you know, not even port their applications, just bring your source code over and it will compile on our platform as a way to get more applications for your platform.
01:30:53 John: but like you don't even have your own platform at that point all you have is another place where you know people are writing it's apple's platform and they can also by the way reuse that work to sort of go on your platform as an afterthought but you don't even own your platform at that point same thing with the android apps like is why does why does microsoft even bother having an api if you know i understand what they're trying to do like oh we need more apps on our platform we can get more apps by saying hey it's really easy for you to take your existing android or ios app and bring it to our platform but
01:31:20 John: then do you even have a platform at that point?
01:31:22 John: Who in the world is ever going to write against your API?
01:31:25 John: Are you really going to put a lot of effort into improving your API?
01:31:27 John: You're going to be spending all your time chasing these other APIs that you don't even control.
01:31:30 John: They can be changed in ways that intentionally or accidentally break your compatibility.
01:31:35 John: Both of these companies could decide to sue you, probably not Google because Oracle's already suing them over the Java stuff, but Apple could get cranky and be like, whoa, whoa, whoa, like the Cocoa API is copyrighted and you can't blah, blah, blah, because that's the whole Oracle Java suit, right?
01:31:47 John: So depending on that shakes out, Microsoft might not even be on strong legal footing.
01:31:52 John: I'm interested in the technical details as well, but...
01:31:56 John: um strategy wise uh like i see the benefits we we're desperate we need to get more apps on our platform this is might be way to do it and usually like file format wise this is an approach that has worked for microsoft in the past of like we can read word perfect format i don't know if that's a good example because i don't remember if they did that but like the way to get if you're in a market and there's an entrenched leader you need your application to you need to
01:32:18 John: to make it so that using your application is as easy as possible for the people who use your competing application like oh it's not a big deal we can read your old files we'll import them we can we can save in your old format like everything is great you know like sort of just be a smooth upgrade path because you're not in a position to say drop everything and come to our platform uh they tried that it didn't work out now they're trying to say it's not a big deal like i know you got an ios app but like you might want to make a windows version of it too it's really easy you just bring your source code over recompile it a couple little tweaks here and there hey why not right guys
01:32:48 John: That is not a strong pitch, but that's the thin edge of the wedge if you're lucky.
01:32:53 John: But if you're not lucky, all you're doing is just further dooming your own platform to never be a real platform that you control.
01:32:59 Marco: Well, and I don't think this really solves the problem of why there aren't more apps on Windows Phone and all the more modern Windows platforms.
01:33:11 Marco: The problem is really not that we were waiting for being able to share the same code.
01:33:16 Marco: Because as you said, there's tons of problems with that.
01:33:18 Marco: Tons of problems.
01:33:19 Marco: As a developer, I don't think I would trust that to be a stable, long-term way to do it, first of all.
01:33:26 Marco: If I come out there and let's say I move all my code into this thing and I can compile it and it actually does work and I can chip over cats for Windows Phone using this crazy setup.
01:33:36 Marco: I'm going to then tell people this.
01:33:39 Marco: I'm going to announce this.
01:33:40 Marco: And then I'm going to get customers who are on Windows phones who are paying for the app.
01:33:47 Marco: It's all based on this crazy setup continuing to work into the future.
01:33:52 Marco: And that's something that I would not want to rest my customer trust on and my reputation on.
01:33:58 Marco: And it would definitely become yet another thing I would have to maintain separately, yet another thing that would have separate support issues, separate bugs.
01:34:09 Marco: It would have all the downsides of a new platform in addition to just the massive liability of this compatibility layer that it would all depend on.
01:34:19 Marco: I wouldn't trust that.
01:34:20 Marco: And the reason why there aren't more developers making apps for the Windows phone system and all the artists probably known as Metro and all this stuff, the reason why there aren't more of these is not because we were waiting for our code to cross-compile.
01:34:37 Marco: It's because A, none of us use these platforms, basically.
01:34:42 Marco: There are some, but it's effectively zero relative to the market.
01:34:45 Marco: So...
01:34:45 Marco: None of the developers who are making the kinds of apps that people want to be in these platforms are using them themselves.
01:34:52 Marco: And there just aren't that many people in the marketplace buying these platforms, especially the kind of people who would be willing and able to install the kind of apps that we make.
01:35:04 Marco: And that's a big limitation right there.
01:35:08 Marco: That rules out most enterprise customers.
01:35:10 Marco: That rules out a whole lot of Windows usage.
01:35:13 Marco: So people who would actually buy these apps, the kind of apps that iOS programmers make and Android programmers make, people who would actually buy them and use them, whether there's any market there, that's a very big question.
01:35:24 Marco: And they just don't have the unit sales to support that in the mobile platform.
01:35:30 Marco: And on the PC platform, it's usually not used that way.
01:35:33 Marco: So there really is no reason for developers to spend a whole lot of time on Windows Phone right now.
01:35:41 Marco: And that might change in the future.
01:35:43 Marco: But right now, it's not justified.
01:35:48 Marco: And this isn't going to change that.
01:35:49 Marco: Anything they do on the code side is not going to change that.
01:35:51 Marco: They need to change the market.
01:35:54 Marco: The market of their devices and of their platforms.
01:35:57 Marco: That's what has to change.
01:35:58 Marco: I don't know how you go about changing that, but there's no amount of bribing developers or making things easy for developers that's going to really solve that problem on a big scale.
01:36:09 John: Well, you can see that the company that makes Candy Crush was like King something.
01:36:12 John: I forget what their name is, is not bothered by the sort of, you know, reputation and support concerns that you are because they're like it's shovelware.
01:36:21 John: That's a term in the game industry for a reason.
01:36:24 John: All right.
01:36:24 John: We can make a Windows version really easily.
01:36:26 John: Why not?
01:36:26 John: Sure.
01:36:27 John: We'll do that.
01:36:28 John: Like whatever.
01:36:28 John: It's especially with games where it's like not much native UI anyway.
01:36:32 John: they either have the manpower to to chase the weird bugs that happen on that or they just see it as a small amount of incremental income for not much extra money or you know like there this is going to get more applications on their platform but i don't know if it's a net win for them and as for like addressing it like well if you sold more phones you have more software and if you had more software you might sell more phones like they're trying it from every possible angle again
01:36:54 John: not that they're in the same position apple was in the 90s but i get a similar vibe like what back when apple was desperate much more desperate than microsoft hope will probably ever be um they were willing to try all those ideas that people had been telling them for years they should do like you know try licensing your os try making a tv try making x86 compatible things try selling your computers in sears you know like they were doing everything that anyone had ever told them that you might want to try and
01:37:21 John: all of them you know like there was reasons they hadn't done them in the past right the clones one is the worst one it's like that's the thing that everyone would tell them you should license your operating system you should and it's like with microsoft it's like you shouldn't be so stubborn and try to invent everything yourself use things that other people have allow ios apps to run your things around android apps to run on windows make windows free make windows open source like just all the list of like as we go on the list of the things that people have said microsoft should try
01:37:48 John: as it slowly tries them you realize they were always bad ideas or it's too late or both uh so i don't know i'm i i kind of like the new microsoft and they're doing exciting things but uh they i feel like they're losing control of their platform i feel like they had a good platform and a potential growth path and just through a series of bad mistakes they've they're no longer masters of their own destiny in so many ways that it's depressing
01:38:17 Casey: But I agree with that.
01:38:19 Casey: But man, is it interesting to watch, isn't it?
01:38:21 Casey: I mean, it's just so fun to watch what what they're doing, even if they're making more missteps, which I'm not saying I don't know that they're making missteps, but they are definitely desperate, like you said.
01:38:32 Casey: But gosh, is it fun to watch?
01:38:33 John: And they're doing fail fast for the most part.
01:38:35 John: Like they're trying lots of things.
01:38:37 John: If they don't stick, they move on.
01:38:38 John: And in one respect, that makes you not trustworthy as a company because people don't want to buy your product because they're like, do I really want to buy that?
01:38:45 John: Because if it doesn't succeed really well, it's going to be a dead end.
01:38:49 John: On the other hand, they do need to find something that works.
01:38:51 John: And so it's better than picking a strategy that's going to save the company and sticking with it for five years.
01:38:56 John: stubbornly refusing to see that your strategy is not working like they are you know like what was that the microsoft wristband thing what is that called microsoft band i believe yeah like so that i thought that was a reasonable product uh but did it sell in big enough numbers that they're going to make a microsoft band two and three and four if you bought a microsoft band are you going to be kind of sore that like
01:39:17 John: you know i kind of like my microsoft band and they're just not making one because it wasn't a hit or because the apple watch came out and it couldn't compete like i don't i don't know what the balance is there should they abandon microsoft band because it didn't work out or should they say you know what it was a pretty decent version one product it's differentiated from the apple watch an interesting way let's make a version two and a version three and a version four um i don't i don't quite know what the right thing to do there i think
01:39:40 John: Microsoft is on much stronger footing with its Azure stuff because they are the master of their own destiny there.
01:39:46 John: That platform is different than Amazon Web Services and EC2 and whatever the hell Google is doing.
01:39:51 John: It is a contemporary.
01:39:54 John: It is in the running with all the other things that are out there.
01:39:56 John: It has a lot of good reports.
01:39:58 John: The great things about that are all the good things about the new Microsoft.
01:40:00 John: Don't tie it to Windows only.
01:40:02 John: Don't make it a Trojan horse to try to get our technology into other people's things.
01:40:05 John: Be open.
01:40:06 John: Use JSON.
01:40:07 John: Accept other languages.
01:40:08 John: Be really good at what you do.
01:40:09 John: That I think still is their flagship, that and obviously Xbox.
01:40:13 John: They're two flagship, non-embarrassing, no excuses, no stupid Microsoft BS for the most part, except a little bit on the Xbox One products.
01:40:22 John: But Windows at this point, and everything involved with Windows, and Windows on phones, and Windows on computers, and Windows on tablets, it's just a mess.
01:40:30 Casey: I don't know.
01:40:32 Casey: It's interesting to watch.
01:40:33 Casey: And I am very surprised by some of the moves they're making.
01:40:37 Casey: But we'll see.
01:40:38 Casey: And I'm definitely going to try to watch the session tomorrow afternoon and see what the technical explanation is behind all this.
01:40:46 Casey: I mean, I don't think it's really going to solve anything for them for all the reasons that both of you guys expressed.
01:40:51 Casey: On top of that, I mean, even if I could cross-compile, say, fast text for the sake of argument, I could cross-compile fast text.
01:40:58 Casey: It's going to be on an operating system that has a wildly different paradigm than iOS.
01:41:03 Casey: And so it's going to feel out of place.
01:41:05 Casey: This has a ton of issues associated with it.
01:41:08 Casey: What am I testing it on?
01:41:09 Casey: Am I going to go buy Illumia just to test for fast text like that?
01:41:12 Casey: so many problems here but i think they are trying to cover all the bases and they want to be able to say well you know what this this windows phone thing didn't really work out but we did everything we could we even cross-compiled objective c that's how serious we were about it and you know what it just it just didn't work
01:41:30 John: yeah how did that team how must that team have felt when swift was announced all this work to have this objective c cross compiler and all this stuff and then they announced like seriously i mean i don't know if maybe they didn't even start this project until after but i had to assume that it's so much work that it was happening then and like that's what everyone said it's like well you know you're kind of skating to where the puck was on the whole objective c cross compiling thing there at least it seems that way
01:41:57 Marco: All right.
01:41:58 Marco: Thanks a lot to our three sponsors this week, Backblaze, Casper, and Harry's.
01:42:02 Marco: And we will see you next week.
01:42:07 Marco: Now the show is over.
01:42:09 Marco: They didn't even mean to begin because it was accidental.
01:42:14 Marco: Oh, it was accidental.
01:42:17 Marco: John didn't do any research.
01:42:19 Marco: Marco and Casey wouldn't let him because it was accidental.
01:42:25 Marco: It was accidental.
01:42:28 John: And you can find the show notes at ATP.FM.
01:42:33 Marco: And if you're into Twitter, you can follow them at C-A-S-E-Y-L-I-S-S.
01:42:42 Marco: So that's Casey Liss, M-A-R-C-O-A-R-M-N-T, Marco Arman, S-I-R-A-C-U-S-A, Syracuse.
01:42:54 Casey: It's accidental, they didn't mean.
01:42:58 Casey: Is there anything else we have to talk about?
01:43:09 Marco: I can tell you more about the watch.
01:43:11 Marco: So on this week's Connected... I haven't listened yet.
01:43:14 Marco: Okay, well, I'm going to spoil one part of it.
01:43:18 Marco: Is this a nose spoiler?
01:43:19 Marco: It is a nose spoiler.
01:43:22 Marco: So Mike was saying that because the watch is really not a one-handed device, the hand that it's being worn on can't interact with the screen unless you have some crazy hand that I've never seen before.
01:43:35 Marco: But for the most part, most human hands won't be able to interact with it from the hand that's wearing the watch.
01:43:40 Marco: So you have to use your other hand to actually touch the screen or the buttons.
01:43:44 Marco: So really, it's a two-handed device.
01:43:47 Marco: It's not like a phone you can use entirely within one hand, because the same hand holding it can be using it, unless you get a 6+.
01:43:55 Marco: Watches are not that way.
01:43:57 Marco: So Mike was saying that he has already, on many occasions, used his nose to touch the screen on the watch, even going as far as to hit buttons with his nose to reply to text messages.
01:44:09 Marco: which is awesome.
01:44:10 Marco: And they all made fun of him unconnected for saying this.
01:44:13 Marco: However, I'm here to say that I have done that too.
01:44:16 Marco: I have not gone as far as pushing buttons, but I have used my nose to wake up the screen to show me the time if the wrist thing is failing and I need to see the time for something.
01:44:26 John: May I offer my gross suggestion?
01:44:28 John: Absolutely.
01:44:29 John: My gross suggestion and also my suggestion as someone with a very large nose is that your tongue is probably a more precise pointing device.
01:44:36 Casey: That is a gross suggestion.
01:44:38 John: But I don't want to get my screen all wet or lick it.
01:44:40 John: That's true.
01:44:41 John: I said it was gross.
01:44:42 John: I'm just throwing that out there.
01:44:43 John: If accuracy is your concern and germs are not, or you want to strengthen your immune system by taking in lots of foreign germs, go for the tongue.
01:44:51 Casey: As someone who is blessed with a particularly large schnoz from... What are you talking about?
01:44:58 John: You do not have a big nose.
01:44:59 Casey: I do have a big nose.
01:45:00 Casey: I'm half Italian and half Jewish.
01:45:02 Casey: How do I not have a big nose?
01:45:03 John: You don't.
01:45:04 John: I have a big nose.
01:45:05 John: You have an average nose.
01:45:07 Casey: Oh, whatever.
01:45:08 Casey: Well, anyways.
01:45:09 John: Accidental nose podcast.
01:45:11 John: We can all compare our nose sizes.
01:45:13 John: Marco's nose is the only boring small one.
01:45:16 Casey: Anyway, the point being... There's so many jokes I can make here, but I'm going to let it go.
01:45:23 Casey: Anyway, so I use my schnoz, especially in bed, to hit the back button.
01:45:31 Casey: Oh, God.
01:45:31 Casey: To hit the back button on my iPhone.
01:45:34 Casey: I don't know why I do that all the time, but I do.
01:45:37 Casey: And I don't have a watch to try it on.
01:45:39 John: Wait, wait, wait, wait.
01:45:40 John: Why...
01:45:40 John: To hit the back button?
01:45:42 John: Like in a web browser?
01:45:44 Casey: What are you... No, no, no, no, no, no.
01:45:45 Casey: Like the upper left-hand corner of the screen.
01:45:48 Casey: Because my hand isn't big enough to reach the upper left-hand corner of the screen.
01:45:51 John: Why don't you just do a hand shimmy?
01:45:52 John: Why are you using your nose?
01:45:54 John: You're over there using your tongue.
01:45:56 John: No, I am not using my tongue.
01:45:58 John: I can hit everything with one hand on my phone.
01:46:01 John: I don't have a watch.
01:46:01 John: I'm just saying for the people who find themselves carrying a bag of groceries and having the watch and they need to hit a specific button, for Mike specifically...
01:46:08 Casey: i don't feel like i could hit it with my nose i feel like my nose touches the entire screen or none of the screen it's just not a precision pointing device well either way it's so much quicker than the hand shimmy to just smack the damn phone with my nose and so much easier so have you injured yourself doing this because that would be a
01:46:31 Casey: But the amount of times I've dropped my phone onto my face, unrelated to using my nose as a pointing device, is immeasurable.
01:46:39 Casey: I've done that so many times, I can't even tell you.
01:46:42 John: Are you like laying on your back and have it propped on your chest?
01:46:46 Casey: No, typically I'm holding it up.
01:46:47 Casey: And maybe it's like wintertime and I only have one hand out of the covers because I'm cold.
01:46:54 Casey: And so rather than doing the shimmy or pulling my extremely comfortably warm hand out of the covers, I'll just smack with the nose.
01:47:04 John: Does your wife see you do this?
01:47:06 Casey: Oh, yeah.
01:47:07 Casey: Oh, she's stuck.
01:47:07 Casey: We're married.
01:47:08 Casey: She's stuck.
01:47:09 Casey: There's nothing she can do now.
01:47:10 John: Just saying, if I saw somebody do that, I would take a second look.
01:47:13 John: I'd be like, what is going on?
01:47:15 John: And I think if I saw someone do the watch with their nose, especially, again, if they were struggling with a bag of groceries, I would understand.
01:47:22 John: But if an able-bodied person with two free hands is hitting things on the phone with their nose, I'd be like...
01:47:29 John: That just doesn't read right to me.
01:47:33 John: I feel like there are better options.
01:47:35 Marco: I hope that someday I get to see somebody else out in the world in real life hit their smartwatch with their nose.
01:47:43 Marco: I just said that I've done this, but I don't think I've done it in public.
01:47:49 Marco: I think I've done it in my house.
01:47:51 Marco: I don't think I would do it in public.
01:47:53 Marco: I think I would be more embarrassed by that than I would be by picking my nose in public.
01:47:58 John: Well, you know, it's like it's no worse.
01:48:00 John: It's probably actually better than the thing that I've done myself.
01:48:03 John: Like when when coming into the house, carrying a bunch of things like putting something in your mouth so you can get like putting, you know, not your phone, but like holding something in your mouth so you can get a free hand to do something, you know.
01:48:15 John: like when you're carrying a lot of things using your mouth as a third hand to hold something you and usually what you're holding is just as gross or grosser than your watch might be you know what i mean i don't do that that's gross well you don't carry a lot of things i guess
01:48:31 John: No, I carry them in my hands.
01:48:33 John: Yeah, but when you have a lot of stuff, or even if it's like someone calls you on the phone and you want to answer the phone, but you have your keys and you have something else, you put your keys in your mouth, pick up the phone, you see it in movies all the time, and I know I've done it myself, and you do that sort of lip curl under thing, so you're not actually like...
01:48:48 John: touching your mouth mouth to the thing you're holding it's just as bad yeah probably anyway i think the whole germaphobe thing of like i don't want to put anything in my mouth that might have germs on it like if you do that that will not lead to a strong immune system you should be taking dirt filled with animal poop and shoving it into your mouth when you're an infant and blah blah blah oh god wow oh man and rest assured that your toddler either is or will be in both of your cases doing that anyway so they are strengthening their immune system
01:49:17 John: Lay off the antibiotics up.

Empathy for the Machine

00:00:00 / --:--:--