26: Three Phones Ago15 Aug 2013
Instapaper’s web redesign, rewriting code, code maintainability, the mess of smartphone photo management, and backup challenges for non-nerds.
- Instapaper's web redesign beta.
- Rewriting a codebase from scratch.
- Understandable code and writing for maintainability.
- The balance between easy-to-write but unimpressive apps and implementing cutting-edge features that require messy hacks.
- The horrible mess of smartphone photo management and backup.
- How much should Apple protect people from hardware failures or carelessness? (See also: John's old two-hard-drives article.)
- Technical and economic challenges of Apple automatically backing up all of your photos and videos.
- Non-nerd backups.
- After-show: OS X Ivericks, Gruber on interface familiarity, Edge Cases on filesystems.
- Warby Parker: Boutique-quality, vintage-inspired eyewear at a revolutionary price. (Spot featuring guest host @tiffanyarment!) Use coupon code ATP for free 3-day shipping.
- Igloo: An intranet you'll actually like. Free for up to 10 people, and affordable for your entire company.
⏹️ ▶️ John You guys should both turn off your hands. You should do the sweat lodge thing with me and we’ll start to have visions. That’ll be the best episode ever.
⏹️ ▶️ Casey It is indeed the Friday night, the 9th of August and we are recording early
⏹️ ▶️ Casey because one of the three of us is disappearing for a week again. But after this, we should
⏹️ ▶️ Casey actually be recording on a regular schedule and everyone keeps bemoaning the fact that our schedule changes
⏹️ ▶️ Casey a lot and I don’t really blame them. And people will ask, well, why don’t you have the schedule
⏹️ ▶️ Casey on the website? And the problem is 99% of the time, it’s Wednesdays at 9,
⏹️ ▶️ Marco Well, that’s not entirely true, because we’re only 25 episodes in, 26 now.
⏹️ ▶️ Marco, Tiff Arment And there’s been a lot
⏹️ ▶️ Marco than a quarter of one episode that’s been non-scheduled.
⏹️ ▶️ Marco, Casey You know what I
⏹️ ▶️ Casey, Marco mean. That’s the default. Wednesday at 9 is the
⏹️ ▶️ Marco, John default. That is the default.
⏹️ ▶️ Marco So when it’s not the summertime, and when everyone’s not going on crazy vacations all the time. Well, at least when
⏹️ ▶️ Marco two of the three hosts aren’t going crazy vacations all the time.
⏹️ ▶️ John Your life is a crazy vacation.
⏹️ ▶️ Casey Yeah, thank you. Thank you.
⏹️ ▶️ Marco The chat room wants me to comment. Thank you from Apollo Zack in the chat room. Wants me to comment
⏹️ ▶️ Marco on the beta Instapaper web redesign. Do you guys see this yet? I leaned to it earlier today.
⏹️ ▶️ Casey I saw that it existed. I haven’t looked at it. And
⏹️ ▶️ Casey, Marco you know what? We
⏹️ ▶️ Casey, John haven’t had… There you go. There’s the topic. We
⏹️ ▶️ Casey haven’t had enough reviews telling us that this is the Marco show.
⏹️ ▶️ Casey, Marco I know really
⏹️ ▶️ Marco Well, you guys aren’t helping me out right now
⏹️ ▶️ John Marco this is somebody else’s product. Now.
⏹️ ▶️ Marco This is the first time that I don’t have a new app to announce on the show in weeks
⏹️ ▶️ John Start writing one now by the end you’ll have something I was writing one earlier today
⏹️ ▶️ Tiff Arment Another new one.
⏹️ ▶️ Marco No, I did the big one. I was I’ve been working on it I’ve had a very solid week working
⏹️ ▶️ Marco on it, doing a whole lot of low-level stuff.
⏹️ ▶️ Casey I thought you were done with the low-level stuff?
⏹️ ▶️ Marco Well, there’s more. I was done with part of it. Oh
⏹️ ▶️ Casey Anyway, so Instapaper Beta.
⏹️ ▶️ Marco Yeah. I knew they were moving everything to AWS,
⏹️ ▶️ Marco and now looking at what they’ve done, they’ve been doing a heck of a lot more than that. And I’m really
⏹️ ▶️ Marco happy to see this. I mean, this was way faster than I expected for this level of
⏹️ ▶️ Marco work. And so they unveiled today
⏹️ ▶️ Marco a beta that’s, I would say, about, it looks on the surface, I haven’t had that much time to
⏹️ ▶️ Marco poke around with it, but it looks like it’s probably about two-thirds done, or three-quarters done even.
⏹️ ▶️ Marco And it is really, really good. And it’s just
⏹️ ▶️ Marco the web interface right now. They say updates for the apps are coming, and I believe them, because I
⏹️ ▶️ Marco see this, and they really delivered. I mean, this is really good. And the web interface,
⏹️ ▶️ Marco as I wrote in my little post about it, the web interface was always my biggest embarrassment about Instapaper,
⏹️ ▶️ Marco because I knew it was terrible. It looked terrible, it worked pretty poorly,
⏹️ ▶️ Marco but not only am I a terrible web designer in most cases, but I also was
⏹️ ▶️ Marco not motivated to ever improve it, because, well, the short version is all the money was
⏹️ ▶️ Marco in iOS and I always used iOS and so for something that made
⏹️ ▶️ Marco very little money directly with just the web interface and and a web interface
⏹️ ▶️ Marco that I hardly ever saw I just was not motivated to really ever improve it
⏹️ ▶️ Marco and that’s you know one of the problems when you have a
⏹️ ▶️ Marco one-person company one of the problems is like if that one person
⏹️ ▶️ Marco isn’t that interested in working on something, it generally doesn’t get done. And so now it’s multiple people
⏹️ ▶️ Marco doing what’s right for the product and what’s great for everybody instead of just what they want to work on and
⏹️ ▶️ Marco it’s really looking good. What do you guys think?
⏹️ ▶️ Casey I think it looks good. I will say I can only imagine how much of –
⏹️ ▶️ Casey I can’t think of a better word than a relief or perhaps a vindication that this
⏹️ ▶️ Casey is the first major change that I’m aware of tinse to paper since you sold it,
⏹️ ▶️ Casey and how good must that make you feel that you now have a data point that
⏹️ ▶️ Casey says they’re not going to ruin it? Not to say that I expected Betaworks to, but now you have
⏹️ ▶️ Casey empirical evidence that says they’re not going to ruin it, and in fact, it’s already getting better. That’s got to make you feel,
⏹️ ▶️ Casey pardon the really bad pun, but like a million bucks. It must make you feel really good that
⏹️ ▶️ Casey this is already trending up.
⏹️ ▶️ Marco Oh, totally. Because, you know, before, when I was selling it, you know, when I was in the process selling it, I thought,
⏹️ ▶️ Marco you know, I talked about this on the show, so I’m not going to go into too much depth here, but I thought the worst that can happen,
⏹️ ▶️ Marco really, is that they neglect it. But I’m neglecting it. And I’ve been neglecting it for
⏹️ ▶️ Marco like a year or two. So, you know, the worst that can happen is that they just keep neglecting it.
⏹️ ▶️ Marco So it’s not that bad, because obviously, I’ve been neglecting it for a while, and it’s been okay.
⏹️ ▶️ Marco And now, yeah, now this is concrete evidence that they’re not just neglecting it. So like that was the worst case
⏹️ ▶️ Marco scenario. Now you’re right, it has everywhere to go now, it’s going to go up. That
⏹️ ▶️ Marco doesn’t make sense. You know what I mean. Apply the appropriate metaphor,
⏹️ ▶️ Casey John, would you like to absolutely destroy it now that we’ve both been talking positively about it?
⏹️ ▶️ John I didn’t mind the old web interface that much. It wasn’t anything nice to look at, like it was just
⏹️ ▶️ John there and didn’t really have much pizzazz or style, but it did what it was supposed to do.
⏹️ ▶️ John And I used the web interface a surprising amount, because a lot of stuff that I would Instapaper were
⏹️ ▶️ John things that either I didn’t want to watch on a phone or couldn’t watch on an iPad because they involved Flash, or
⏹️ ▶️ John it was like a 1080p trailer for a movie and I wanted to see it on my big screen. And so I did spend a lot of time with
⏹️ ▶️ John the web interface, and it’s like, it’s just showing me a bunch of links. The only thing that really annoyed me about the web interface
⏹️ ▶️ John were encoding problems, where you get like the little A with a hat on top, a capital A with a hat on top of it or something when you have
⏹️ ▶️ John a double-encoded UTF-8 thing that’s poorly escaped. But you never know whose fault
⏹️ ▶️ John that is. I think I complained about it to Marco a couple of times. But
⏹️ ▶️ John, Tiff Arment that, like-
⏹️ ▶️ John It was in the title, right? I don’t remember. Yeah, probably in the title. But the new web interface is nice.
⏹️ ▶️ John It’s kind of, it’s a little bit like, if you, you can kind of see, oh,
⏹️ ▶️ John I don’t know which technologies they’re using, but like, oh, those look like, you know, I wonder if they use Bootstrap
⏹️ ▶️ John for that. And I think I’ve seen that icon set before. And you know, but all the animations are nice. All the interface
⏹️ ▶️ John is nice. And the fact that Instapapers look was kind of black and white, you know,
⏹️ ▶️ John they, you know, it’s, I’m not gonna say it’s easy for them to come up with a new design, but they didn’t have to do all sorts of like
⏹️ ▶️ John lavish graphics and custom, uh, images of wood at high resolution for,
⏹️ ▶️ John you know, all the sorts of things. Like if that had been a newspaper style would have been more difficult here. They could
⏹️ ▶️ John go with a straightforward design with nice typography with black on white, and it totally fits with the brand.
⏹️ ▶️ John So I give thumbs up to the web thing. I give it thumbs down to all the instability that has gone on since
⏹️ ▶️ John you sold this thing I don’t know if it’s because of the AWS move or whatever But I’ve hit read later
⏹️ ▶️ John and or tapped it or held down on it or done it in the umpteen different places that I do it and gotten
⏹️ ▶️ John You know either a really really really long pause or a timeout or a service is not available
⏹️ ▶️ John Way more between the time you sold it now than the entire rest of the history of it’s to paper I’m assuming it’s because they’re moving
⏹️ ▶️ John into AWS, but that made me sad like if I’m reading something and And Instapaper is down,
⏹️ ▶️ John even if it’s down for five minutes. Now I’ve got to remember five minutes from now to come back and hit the same link. So
⏹️ ▶️ John I hope they get through that instability and we can get back up to
⏹️ ▶️ John the old Marco level stability, which it was very rarely down and only occasionally slow.
⏹️ ▶️ Marco Yeah, I haven’t really asked them about that. I’ve only hit a problem like once in this time. And maybe it’s just because
⏹️ ▶️ Marco like when we’re hitting them, I don’t know. I would imagine one of the differences among us
⏹️ ▶️ Marco you probably wake up a lot earlier than I do. And so that might put you in a different usage zone.
⏹️ ▶️ Marco But yeah, I’ve only hit a couple of problems, or like one problem over the
⏹️ ▶️ Marco whole course of it. But as far as I know, it’s problems that are probably because they were moving to AWS.
⏹️ ▶️ Marco And that’s… I mean, I’m really surprised how quickly they were able
⏹️ ▶️ Marco to do that move and how well it’s gone. Because so much of
⏹️ ▶️ Marco when I’m running servers is about knowing like the intricate details of
⏹️ ▶️ Marco exactly how much I can get away with performance wise on in certain characteristics
⏹️ ▶️ Marco or on certain servers or in certain software and by shifting things to AWS
⏹️ ▶️ Marco you dramatically change the foundation of what everything is like like the assumptions you’ve made
⏹️ ▶️ Marco about characteristics like my database servers were mostly SSDs
⏹️ ▶️ Marco as far as I know AWS still doesn’t offer that, do they?
⏹️ ▶️ Marco I don’t know either, but certainly I know that if they do offer it, it probably
⏹️ ▶️ Marco isn’t simple or maybe complete.
⏹️ ▶️ Marco So I would make assumptions like, alright, well this server is going to always have at least this much RAM,
⏹️ ▶️ Marco this server is going to always be 64-bit, this server is going to always have really fast disks, and
⏹️ ▶️ Marco this one is always going to have tons of CPU cores. And so I was making all those assumptions all that time,
⏹️ ▶️ Marco and to shift it to a system that works completely differently
⏹️ ▶️ Marco is a heck of a thing to do. And I also had, like, I think about 11
⏹️ ▶️ Marco servers when I sold it. And those were 11 pretty high-end servers. The number of AWS instances required
⏹️ ▶️ Marco to replace them has to be more than that. And so like that,
⏹️ ▶️ Marco I can’t even imagine the scale of the work that is. And the reason they did it was because they host all their stuff on AWS,
⏹️ ▶️ Marco so they know it really, really well. And so, you know, that’s a very good reason to do it.
⏹️ ▶️ Marco But I think it really shows how good they are that they were able to do
⏹️ ▶️ Marco that kind of move with so little downtime, really, for what that is. I mean,
⏹️ ▶️ Marco moving to not only a different host, like moving all of your servers to a different host, not only that, but moving them to a different
⏹️ ▶️ Marco type of host. That’s a big job.
⏹️ ▶️ John The search still doesn’t work in the beta too, it just gives a 502 error so something’s not hooked up
⏹️ ▶️ John there. But the search works in the old one so it’s not like, searches down entirely.
⏹️ ▶️ Marco I don’t know if this is accurate or not. Somebody on Twitter said
⏹️ ▶️ Marco that they’re rewriting it in Python. And I know somebody had
⏹️ ▶️ Marco mentioned the possibility of that to me once and I said yeah do whatever you want I don’t care but
⏹️ ▶️ Marco but they might be doing that also like I haven’t even asked them again because
⏹️ ▶️ Marco I don’t really care honestly I haven’t really asked them but
⏹️ ▶️ Marco that might be part of this like maybe maybe the beta is all a Python engine
⏹️ ▶️ Marco and the the old site is still running the old PHP code I don’t know certainly I don’t have any problem with that because
⏹️ ▶️ Marco I respect Python as a language I don’t know it very well but But I’ve always said that if I was going to learn another web scripting language
⏹️ ▶️ Marco today, it would probably be Python. So yeah, good for them. I think it’s working really well.
⏹️ ▶️ John And it’s the paper’s like a small enough application that it’s not crazy to think of rewriting it because like how
⏹️ ▶️ John many screens and how many features does it have? And it’s hidden behind like an API, like web interface. So as long
⏹️ ▶️ John as you maintain the same sort of HTTP endpoints and the same protocol
⏹️ ▶️ John between them and they’re redoing the native apps anyway. But the point is like it’s small enough that I feel like if they had
⏹️ ▶️ John a team who knows how to use these technologies well, and they’re like, I know exactly how I do Instapaper and how I would shard everything and how
⏹️ ▶️ John I would, you know, implement all the different services. And there’s like four things you can do with it. You can read later, you got a text parser,
⏹️ ▶️ John you got this, you got that, like, there’s enough pieces where you can where you can hold it all in your head. It’s not like somebody
⏹️ ▶️ John said, you know, I’m gonna rewrite this operating system in Java, you know, it’s not that level of,
⏹️ ▶️ John of undertaking. So I think it’s a reasonable thing for them to do, especially if that’s what they have the expertise in, if they’ve already staffed up to do
⏹️ ▶️ Marco that. Exactly. And you’re right, the web code base,
⏹️ ▶️ Marco the way I handed it off, the web code base is really, really simple. And in fact, I handed
⏹️ ▶️ Marco it off in kind of a messy state because I was kind of halfway transitioned between two text parsers, so there was like the old one
⏹️ ▶️ Marco and the new one both coexisting in various different places and it was kind of a mess. So I,
⏹️ ▶️ Marco sorry to anyone over there if you’re listening, if you had to clean that up. But But
⏹️ ▶️ Marco yeah, I mean, the web code base really is not that complicated. And so
⏹️ ▶️ Marco if they can rewrite it in whatever they want, and it’s not really that big of a deal. The iOS app,
⏹️ ▶️ Marco of course, is where most of the code is. But you can’t rewrite that in anything else, except
⏹️ ▶️ Marco I guess Xamarin? What is that?
⏹️ ▶️ Casey yes. It’s good times. You know, it’s funny hearing you guys say that, oh yeah, you can rewrite it. No problem,
⏹️ ▶️ Casey because I keep flashing back Spolsky’s article from years and years ago about rewriting something
⏹️ ▶️ Casey and how no matter how simple you think it will be, it always ends up being a terrible disaster.
⏹️ ▶️ Casey And I’m hugely paraphrasing, of course, but it
⏹️ ▶️ Casey keeps reminding me of that. And the other thing I keep wondering or thinking to myself is, and
⏹️ ▶️ Casey I don’t know if this is a worthwhile topic or not, but at what point do you choose familiarity
⏹️ ▶️ Casey over anything else? So in other words, they may be more familiar with
⏹️ ▶️ Casey AWS and Python, but no matter how you slice it, they bought, Betaworks
⏹️ ▶️ Casey bought something that was successful and functional. And is
⏹️ ▶️ Casey familiarity more important to their team, which it appears it is, or is
⏹️ ▶️ Casey keeping what works more important? And I wrestle with this a lot when I write code. And you can also
⏹️ ▶️ Casey extrapolate this to be, is writing code in a clear way
⏹️ ▶️ Casey better than writing code in a clever and perhaps, maybe not succinct is the best
⏹️ ▶️ Casey word, but if you could take a 150 line function, let’s say,
⏹️ ▶️ Casey and do some really clever stuff and get it down to 50 lines, but it’s a lot harder to understand,
⏹️ ▶️ Casey is that really a net win or not? And to me, the older I get, the more I
⏹️ ▶️ Casey think familiarity really is important and really is worth fighting
⏹️ ▶️ Casey for. And I found that I’m using less clever tricks in my code than I would have in the
⏹️ ▶️ Casey past, because I don’t know if I’m going to remember what it was I was thinking in a month, let
⏹️ ▶️ Casey alone a co-worker have any idea what I was doing in a week. I
⏹️ ▶️ Casey don’t know if you guys have anything interesting to add to that.
⏹️ ▶️ John But when you’re buying a company or a product or whatever, if you
⏹️ ▶️ John have the intention to go forward with that product, to make new versions of that product, add features and everything,
⏹️ ▶️ John you have to make sure that you have the ability to do that. So if you buy
⏹️ ▶️ John something in PHP and Objective-C and you have nobody who knows PHP and Objective-C and nobody knows iOS APIs,
⏹️ ▶️ John well A, that was probably not a great idea to purchase that, but B, like you need to do one of two things, either get
⏹️ ▶️ John people those expertise or change it to something that your people already have expertise in. And like Marco said,
⏹️ ▶️ John with the iOS app, they’re going to get people who are familiar with iOS or they probably already have them. You
⏹️ ▶️ John can’t change the language basically. Maybe they could change it to C sharp or something like that. But in general, that decision
⏹️ ▶️ John is made for them. We bought an iOS app. We got to make sure we have people who understand the iOS APIs and they probably already
⏹️ ▶️ John do, so we’re good there. And on the website, they bought something that was written in PHP. But like I said, it’s, it was
⏹️ ▶️ John small enough and simple enough that it’s not that big a deal. They could get expertise in PHP and go forward and enhance
⏹️ ▶️ John the application in PHP, but I bet they already have people who know how to do web stuff in Python
⏹️ ▶️ John really well. And it’s, you know, they have to do something so that the people,
⏹️ ▶️ John so that they can add features and enhance this application. And it’s probably more efficient for them to
⏹️ ▶️ John rewrite the whole thing in Python. Because they have like an army of people who know Python and
⏹️ ▶️ John they think they can rewrite it really quickly. But they probably like like Marco doesn’t he’s got his framework for web applications, stuff like that.
⏹️ ▶️ John He’s got a box of tools in PHP. So when it comes time for him to do something on the web, it’s much faster
⏹️ ▶️ John than just take out a toolbox with these tools that he’s worked on and put something together.
⏹️ ▶️ John So they probably have a toolbox full of Python things and they’re familiar with various Python frameworks and have their own in-house things or whatever. So
⏹️ ▶️ John like, oh, I know exactly how I do Instapaper. I do it this, that, and the other thing, and it’s small enough that they can do it.
⏹️ ▶️ John The Joel article was kind of one of those things where he wanted to explain
⏹️ ▶️ John all the reasons why you might not want to rewrite something, and he did, and I think he explained them pretty well. But, you
⏹️ ▶️ John know, as time goes on and memories or whatever, it becomes like, oh, that’s the article where
⏹️ ▶️ John he said you should never, ever, ever rewrite anything. Which, of course, any sort of absolutist position, like you should always rewrite or never rewrite,
⏹️ ▶️ John is not going to be, you know, people are going to argue with it and that’s going to be the straw man that they’re going to disagree with.
⏹️ ▶️ John I think he did a good job of highlighting why, like the value in old code, but every situation
⏹️ ▶️ John is different and you have to decide, given your situation and the parameters and the requirements
⏹️ ▶️ John that are put upon you and what you actually want to do going forward, what you, you know, what you’re going to do. And
⏹️ ▶️ John so the thing I think you used an example was Netscape being rewritten to become Mozilla and
⏹️ ▶️ John everything. And first of all, no one’s thinking, oh, Netscape is a simple application. Like, that
⏹️ ▶️ John won’t be hard to rewrite. Web browsers, those aren’t complicated, right? That’ll be no problem. They knew that it
⏹️ ▶️ John was complicated. But with 20-20 hindsight, you can say, look, that code base,
⏹️ ▶️ John that old Netscape code base, was not going anywhere. It was basically going to be a dead end. It would not exist
⏹️ ▶️ John today, no matter how much work they put into it. And even though there was tremendous value and look at all the stuff we debugged,
⏹️ ▶️ John and look at all those little tricky things we did to make sure that it worked with weird
⏹️ ▶️ John mail service, because there was a mail client built into it, and how it worked with NNTP, and had all these nuances of
⏹️ ▶️ John talking to news servers and dealing with the web as it existed in 1993. All that stuff had
⏹️ ▶️ John value, but the value by now is either gone or pointless, because the web
⏹️ ▶️ John browsing engine world has gone so far. And if they hadn’t rewritten it, they would be completely irrelevant now. And as it
⏹️ ▶️ John stands, they probably are due for another rewrite something because their engine, you know, Gecko
⏹️ ▶️ John and Muzzle and everything is kind of like looking like the old grandfather next to WebKit and Blink and all these fancy new
⏹️ ▶️ John things. So, you know, people saying, now, Joel, you wrote that article, but look, if they hadn’t rewritten everything,
⏹️ ▶️ John they’d be completely irrelevant. And they’re almost irrelevant now, even though they did rewrite everything. So, you know,
⏹️ ▶️ John there’s a time, the time comes when you need to cut your losses and move on. But I think
⏹️ ▶️ John the value in that article is explaining why there is, why
⏹️ ▶️ John old code has good qualities that you might not see when all you could see is how disgusting it is and how you wish you could
⏹️ ▶️ Marco Oh yeah, I mean, there’s definitely a very common programmer immaturity that you see
⏹️ ▶️ Marco where a programmer is assigned to take over a project, whether they were hired in
⏹️ ▶️ Marco as a new lead on it, or they’re looking at someone else’s code who
⏹️ ▶️ Marco was previously there. Almost always, young programmers want to rewrite it their way.
⏹️ ▶️ Marco And that’s generally a pretty immature and inefficient position to take.
⏹️ ▶️ Marco Because it’s easier for you to start poking around and say, oh, this
⏹️ ▶️ Marco whole thing is a mess. This is not going to work. It’s terrible. This previous person who wrote this was an idiot.
⏹️ ▶️ Marco And we’ve got to rewrite everything from scratch. And you’re right,
⏹️ ▶️ Marco in the real world, the Joel article is pretty good advice most
⏹️ ▶️ Marco of the time. Obviously, there’s exceptions to everything. The example he
⏹️ ▶️ Marco used of Netscape was, of course, a very extreme example. Netscape is a, and was,
⏹️ ▶️ Marco a tremendous code base. Absolutely tremendous, doing so many things. And
⏹️ ▶️ Marco so, obviously, rewriting that was a pretty big ordeal. Rewriting a pretty simple web service
⏹️ ▶️ Marco that doesn’t do a whole lot on the web service end is not that hard.
⏹️ ▶️ Marco I wrote Instapaper, the first version, in one night and
⏹️ ▶️ Marco built on it from there part-time, but the website was never really a big time suck.
⏹️ ▶️ Marco Rewriting that is very, very different from rewriting Netscape.
⏹️ ▶️ Casey Two quick questions for you in a very qualitative and off-the-cuff
⏹️ ▶️ Casey way. Would you say that it seems clear that the Instapaper
⏹️ ▶️ Casey website you would say is not very complex and I’m thinking mostly about the text parser.
⏹️ ▶️ Casey That strikes me as though it would be pretty complex but it seems to me like you’re waving it off as not that bad. Is that fair
⏹️ ▶️ Marco The text parser really isn’t that bad. It’s really not that complex. You would be surprised
⏹️ ▶️ Marco how easy it is to do a pretty good job parsing up body text.
⏹️ ▶️ Casey All right, and then with that in mind, how much code smell would you say the codebase
⏹️ ▶️ Casey had? Like you said you were half-baked between a major rewrite, and that
⏹️ ▶️ Casey obviously induces a little bit of stench, if you will, but would you say that generally speaking it was in pretty good shape aside
⏹️ ▶️ Marco The text parser was in bad shape, but everything else was pretty solid as far as I remember. Honestly,
⏹️ ▶️ Marco I spent so little time working on the website, I barely even remember the code, but yeah,
⏹️ ▶️ Marco One thing that, one other direction I want to take this conversation briefly is there was this great article I pasted the link
⏹️ ▶️ Marco in the chat room a few lines ago by James Haig and I’ll put a link in the
⏹️ ▶️ Marco show notes and it’s called Organizational Skills Beat Algorithmic
⏹️ ▶️ Marco Wizardry and he was first talking about like you know all the crap about brain teaser
⏹️ ▶️ Marco tech interviews which are terrible and then he has this one line that I love. When it comes
⏹️ ▶️ Marco to writing code, the number one most important skill is how to keep a tangle of features from collapsing
⏹️ ▶️ Marco under the weight of its own complexity. And
⏹️ ▶️ Marco he goes on to say, to a great extent, the act of coding is one of organization, refactoring,
⏹️ ▶️ Marco simplifying, figuring out how to remove extraneous manipulations here and there. And
⏹️ ▶️ Marco that’s a fantastic bit of wisdom there, because so many times
⏹️ ▶️ Marco what makes me want to rewrite parts of my own code or modules or even entire
⏹️ ▶️ Marco apps, which is pretty rare. But what makes me want to rewrite stuff like that is
⏹️ ▶️ Marco tricks and optimizations and complexities that I implemented forever ago and have since forgotten
⏹️ ▶️ Marco how they work. And it’s like you’re competing with yourself from the future
⏹️ ▶️ Marco when you’re writing code. And it’s really, really easy to,
⏹️ ▶️ Marco oh, you see something here that, oh, we could do this cool little thing if we just this little bit of complexity
⏹️ ▶️ Marco here, this little weird hack here that, you know, it’s not pretty but it’ll work and it’ll achieve this cool
⏹️ ▶️ Marco thing. Well, then six months from now you get to that, you see that and you see, oh, I
⏹️ ▶️ Marco don’t know how this works, this thing’s a mess, we’ve got to rewrite the whole thing.
⏹️ ▶️ John Casey’s question from before about doing clever things in code or whatever, I
⏹️ ▶️ John think most programmers go through that phase of where you don’t understand the clever thing, then you do understand the clever
⏹️ ▶️ John thing, then you start to invent your own clever things. I try to
⏹️ ▶️ John get myself away from looking at the code at that level, because what I found is that the most
⏹️ ▶️ John important question I have to ask about the, like the block or the method
⏹️ ▶️ John or the, the, whatever the module or whatever class that I’m looking at or whatever is,
⏹️ ▶️ John what is this code supposed to do? Uh, and that question should be like, I don’t
⏹️ ▶️ John know, some phrased in some very clever or flowery way and put into a, uh, big giant
⏹️ ▶️ John poster shoved in in front of you like the old IBM Think poster. Because almost any
⏹️ ▶️ John time anyone is having a programming problem, aside from me having to teach them how debugging
⏹️ ▶️ John works, which is surprising to our programmers, don’t know, and I don’t know how they get their jobs done, is
⏹️ ▶️ John that question. So say you’re in there, and you’ve got this clever bit that does some clever thing, and it’s got some
⏹️ ▶️ John loops and some lines and some variables. And you’re like, I don’t know what the hell this thing is doing. If you know what the function
⏹️ ▶️ John it’s in is doing, I know the purpose of this function, either because it’s documented or it’s named
⏹️ ▶️ John well or both, or you just know what it is because you wrote it recently and you say, the job of this function is it takes this input,
⏹️ ▶️ John it gives you this output, it’s very, you know, I know what its job is, I know where it fits into the whole block diagram of my
⏹️ ▶️ John thing. And that, you know, you’re like, well, of course I know that. I always know when I’m, you know,
⏹️ ▶️ John looking at a couple lines of function. Of course, everyone knows what this function does. But as you work on code for a long time,
⏹️ ▶️ John and especially if you’re not constantly thinking about this, you will find yourself in the midst of a function and someone
⏹️ ▶️ John will ask you, What is this function supposed to do? You’re like, it just, it does that. It doesn’t matter. It gets called. And then
⏹️ ▶️ John I’m in here and I have to do this thing like, well, wait, wait, wait, wait, no, it matters. You know, don’t say it doesn’t matter. Like this just gets
⏹️ ▶️ John called when this happens. And eventually, you know, I’m very deep in the call stack here, but this thing gets called and I’m like, what is this job? What
⏹️ ▶️ John is it supposed to be doing? What is the job of this function? It’s like, well, usually it just takes this and puts it
⏹️ ▶️ John there and processes in terms of that and flips that on. But sometimes if, if this thing is also on and you’re like,
⏹️ ▶️ John Whoa, if you can’t explain to me what this function does and it’s like, it, what it does is affected by all this global
⏹️ ▶️ John state, and it’s got lots of conditionals, and it behaves in seven different ways, and it’s deeply intertwined
⏹️ ▶️ John with other things, and it’s all mixed in with the GUI, and it depends on the state of the database
⏹️ ▶️ John or what orientation the device is in. You’re like, this function is not well. You’ve lost
⏹️ ▶️ John sight of this. In the beginning, maybe it was a simple function, but to make your application work, you continue to screw up to the point where now I
⏹️ ▶️ John ask you, what does this function do? And you have to tell me a story that’s three hours long. So that’s your problem.
⏹️ ▶️ John It’s not the clever line where you’re doing some sort of bit field masking and some sort of clever thing where you’re,
⏹️ ▶️ John you know, sharing some variable and trying to reuse memory from a previous incarnation or do some caching.
⏹️ ▶️ John That’s not your problem. Your problem is you don’t know what the heck this friggin’ function does. If you knew what it did,
⏹️ ▶️ John then by all means do the most crazy, clever, awesome way that you could do it and then have an awesome unit test to make
⏹️ ▶️ John sure that that crazy, clever way works exactly the same as the boring way, you know? Then you’re fine. Then go nuts.
⏹️ ▶️ John But that, that I find is the problem. And that’s just like, it’s functional. Keep moving up. What is this class supposed to do? How do these things
⏹️ ▶️ John interact with each other? What’s the relationship between these things in the program? How many
⏹️ ▶️ John of them should there ever be? What are the assertions you can make about them, about what states they should be? If this one
⏹️ ▶️ John is a state, then that one has to be that state. Those are the questions that you have to keep in your mind.
⏹️ ▶️ John The broader you can get that picture nailed down, the simpler it is. I don’t know if any of you have had this experience, maybe
⏹️ ▶️ John with a really simple application or something where you have, or maybe an application that you’ve written like
⏹️ ▶️ John a hundred times. Like, a lot of people who are writing or teaching courses have this. Where you’re like, I’m going to do like a canonical
⏹️ ▶️ John pet store example or something. If you have a design that really is the correct design from the beginning, coding
⏹️ ▶️ John itself becomes mechanical, almost boring. Because all you’re doing is like, I know exactly what this function has to do.
⏹️ ▶️ John What it has to do is not complicated. I’m going to write it. It’s completely straightforward. Maybe there’s a couple of nuances
⏹️ ▶️ John and clever ways to do it, but who cares? And it just falls out. Your program just falls out of you. Because if
⏹️ ▶️ John you have the design correct, implementation is trivial. You know, once you know any language more or less or any
⏹️ ▶️ John API, uh, that’s rarely the case, usually you don’t have the design done to that level, especially
⏹️ ▶️ John if you’re doing some of the first time. So you keep having to go back and revise and revise. And if you don’t constantly think
⏹️ ▶️ John about what is this thing supposed to do? What does this class do? What does this function do? What does this method do? What is its job?
⏹️ ▶️ John And the answer isn’t simple enough. You just say, I know exactly what I have to do. Then you have a problem. Like, that’s why I think Margo’s text parser
⏹️ ▶️ John is a reasonable thing to fiddle with because we know what his job does, right? It takes a webpage and it
⏹️ ▶️ John gives you back. text that doesn’t have all the crap all around it. You can write a fancier explanation, but that’s what it does. It’s
⏹️ ▶️ John simple input-output operation. What happens in there can be extremely complex and cool and interesting or whatever,
⏹️ ▶️ John but in the grand scheme of things, that’s a pretty simple function with very few side effects.
⏹️ ▶️ Marco Exactly. Yeah, and you’re right. When I’m talking about competing with yourself
⏹️ ▶️ Marco in the future and trying to understand what you wrote and buckling under complexity, I am talking about…
⏹️ ▶️ Marco I’m not talking about how you shift the bits over here within this function.
⏹️ ▶️ Marco That, you’re right, I don’t care. I am talking about the all like the crazy, you know, everything you said, the global
⏹️ ▶️ Marco state, like things that are weirdly intertwined, that have weird dependencies, that is
⏹️ ▶️ Marco like, you know, it works in your head while you’re writing it, because you know all that stuff. It’s in your memory,
⏹️ ▶️ Marco but then it’s, you know, in a month, you’re gonna forget how that works, and something’s gonna be breaking
⏹️ ▶️ Marco in a weird way, or you’re gonna have to add something to it, and that’s gonna break in a weird way, And
⏹️ ▶️ Marco you’ll have no idea this whole system works.
⏹️ ▶️ John Yeah, you just want to get it to work. Like, when you know when you get in that state, you’re like, I just want to hit the button and see that thing appear. Like,
⏹️ ▶️ John I just want it to work, right? And so you’re putting code. You’re just putting code wherever you need to put code to make it work. You land
⏹️ ▶️ John someplace, some variables in set, you put the code right there to say, set that variable right here, without thinking, you know, like,
⏹️ ▶️ John is this the place where I should be doing this? Because, you know, every program rolls into that crap because everyone gets it, reaches that threshold,
⏹️ ▶️ John like, oh, I’m so close to this thing working. If I could just, ooh, if I just put a conditional there, the thing
⏹️ ▶️ John would work. Is that the right place to put that conditional? Why do you need to do that check? As you know, like no one wants to ask those questions. They just
⏹️ ▶️ John want to see, they want to click the button. They want to see the thing appear. And everybody does that to some degree. And if just you
⏹️ ▶️ John multiply that by the number of programs and the complexity of the program. And if you’re not constantly revising
⏹️ ▶️ John your view of the world and constraining your code to say, is this the right place for this code?
⏹️ ▶️ John Maybe there is no right place for this code, which reflects a problem in our design that we didn’t foresee. So now it’s time to go back
⏹️ ▶️ John to the giant block level and say, okay, maybe we need to redo these blocks. And nobody wants to think about that. You’re like, but I’m so
⏹️ ▶️ John close. If I just put this conditional here, I’m so close. It’ll be fine. And I’ll put a comment on
⏹️ ▶️ John the top of it. It’ll be fine. That’s why when other people, when you look at, hell is other people’s code.
⏹️ ▶️ John When you look at someone else’s code, you’re like, oh, this needs to be rewritten. It’s because that person maybe didn’t do such a good job of keeping
⏹️ ▶️ John their handle on things. And you look at these functions, and you see this function does 10 different things. And the name has very,
⏹️ ▶️ John very tenuous connection with the content of the code that I see in there. And it makes you want to rewrite it.
⏹️ ▶️ Casey You know, it’s funny, the way you’re describing things, I unsurprisingly agree with everything you said. It’s almost
⏹️ ▶️ Casey like the five whys of developing code. You know, why did I write this
⏹️ ▶️ Casey method? Okay, why is this method part of this class? Why is this class part of this
⏹️ ▶️ Casey namespace or part of this module? And so on and so forth. And you certainly make a very interesting point.
⏹️ ▶️ Casey And I think that intrinsically that’s what developers tend to do. but doing
⏹️ ▶️ Casey it more explicitly and deliberately certainly can’t do anything
⏹️ ▶️ John Yeah, that was one of the many topics I had that I think I never got to in Hypercritical, was like,
⏹️ ▶️ John what makes a good programmer? And this article that Marco threw the link in for us is very similar to it.
⏹️ ▶️ John My contention is, well, I get this gets more touchy-feely, but one of the things
⏹️ ▶️ John that there’s lots of times, kinds of good programmers, right? And there are, you know, the classic good
⏹️ ▶️ John programmer like John Carmack or whatever, who’s just like, you know, a genius, really good at math, can do
⏹️ ▶️ John very clever algorithmic things. Like, that’s what we think of as like, oh, he’s an amazing programmer, right? And there’s definitely a place for
⏹️ ▶️ John that. But another kind of very good programmer is, again, I don’t want you to touch a few things, but like,
⏹️ ▶️ John people are motivated by to, you know, to avoid things that make them uncomfortable,
⏹️ ▶️ John right? And And if disorder makes you uncomfortable,
⏹️ ▶️ John that will be a strong motivator for you to make things order in your life. People who
⏹️ ▶️ John are discomforted by things that are messy or disorder, they usually like, people say obsessive compulsive.
⏹️ ▶️ John That’s totally the wrong word for it. I don’t know what the right word for it is. But you know, like, they have websites where they show like a line of
⏹️ ▶️ John pencils where one pencil is poking out. The type of people who are annoyed by that pencil poking out and want to push it back down,
⏹️ ▶️ John everyone’s annoyed by it by a little bit. But some people are made much more uncomfortable by that pencil poking out than other
⏹️ ▶️ John people are. The more you have that feeling, this kind of, you know,
⏹️ ▶️ John that like it makes you physically uncomfortable for your books on your bookshelves not to be aligned or for like
⏹️ ▶️ John things to be out of place. And, you know, like I said, everyone has it in some degree but some people have it to a higher degree. That
⏹️ ▶️ John is another kind of good programmer. If you find someone who is really, really uncomfortable when things aren’t indented properly,
⏹️ ▶️ John you would think like, oh, what makes me a good programmer is my technical skill and I’m good with algorithms and I know about user interface.
⏹️ ▶️ John But really, an entire class of programmers, what makes them good programmers, is their complete inability
⏹️ ▶️ John to tolerate things being out of order. And that extending all is like, this class should not be doing this.
⏹️ ▶️ John That’s not the responsibility of this method to do this at all. That state should not be touched by here. There should be
⏹️ ▶️ John an abstraction between this and that. You shouldn’t reach into that to go to that. You know, every single one of those things, once you get some
⏹️ ▶️ John knowledge of programming, becomes like that pencil poking up. And you just cannot tolerate it. All the way down to the simple things like
⏹️ ▶️ John inconsistent indenting. I know programmers who have no problem with inconsistent indenting spaces, tabs, random
⏹️ ▶️ John curly brace styles. Like, it’s just a giant mess. And that’s not common. I think programmers are more towards
⏹️ ▶️ John the can’t stand it when their books aren’t lined up on the shelf. But that skill, like, it’s not a skill, but like
⏹️ ▶️ John that sort of personality disorder, I don’t know, mental impairment,
⏹️ ▶️ John being physically uncomfortable to a degree that’s outside the realm of the norm by disorder
⏹️ ▶️ John makes you a better programmer. of a particular kind. And it’s usually
⏹️ ▶️ John not the people want to think that their superpower is derived from their amazing strength or the super speed or the great intellect and
⏹️ ▶️ John don’t want to think that the thing that makes them a good programmer is the thing that handicaps them in the rest of their regular
⏹️ ▶️ John life. Like not to a debilitating degree, but that’s, and again, obsessive compulsive is an entirely different thing.
⏹️ ▶️ John I don’t know what the thing is I’m talking about. I don’t know what the real term is, but some of the, like,
⏹️ ▶️ John that’s like turning, finding a silver lining in things that are mentally
⏹️ ▶️ John wrong with you. And it’s definitely the case with me. I don’t like disorder. I think it makes me a better programmer.
⏹️ ▶️ John And I think every programmer has that to some degree. Oh,
⏹️ ▶️ Marco definitely. All right, well, before we continue, let’s take a break to thank
⏹️ ▶️ Marco our first sponsor this week. It’s a new sponsor this week. It is Warby Parker.
⏹️ ▶️ Marco Warby Parker was founded with a rebellious spirit and a lofty objective to create boutique quality,
⏹️ ▶️ Marco classically crafted eyewear at a revolutionary price point. So this is what it is.
⏹️ ▶️ Marco They sell glasses online, and they do it really, really well. They believe glasses should not
⏹️ ▶️ Marco cost as much as an iPhone. They have prescription glasses, including prescription lenses that start at just $95.
⏹️ ▶️ Marco They also have a titanium collection starting at just $145.
⏹️ ▶️ Marco All glasses include anti-reflective and anti-glare coatings at no additional cost. They include
⏹️ ▶️ Marco a hard case, a cleaning cloth. It’s a really, really great product. And they make home buying
⏹️ ▶️ Marco easy and risk-free. They have this thing called the home try on program. And what they do is you go to their site
⏹️ ▶️ Marco and you pick out up to five frames to try out. And they have all these sorts of tools on their site.
⏹️ ▶️ Marco You can do things like have an image of your face that it then like wraps on, it like
⏹️ ▶️ Marco maps the glasses onto your face. You can preview it there. Or so
⏹️ ▶️ Marco for the home try on, for free, online, easy, risk free, the home try on, you
⏹️ ▶️ Marco pick five frames you want to try on in person and they mail them to you. pick whatever you want. If you want one of those,
⏹️ ▶️ Marco you can go buy it. You send them right back and then they send it to you with a prescription. It’s really, really great. Now,
⏹️ ▶️ Marco when they booked this spot, they offered the three of us free glasses
⏹️ ▶️ Marco if we wanted to try it out. So they had us try out the home try-on and, you know, so we could
⏹️ ▶️ Marco see how good of a product this was. We could tell you about it. And I don’t wear glasses, but my wife does
⏹️ ▶️ Marco and she’s famous on the Internet. So I’m actually, Tiff is here. So is Hops, Hops
⏹️ ▶️ Marco will be quiet, I think. Tiff is here, and she’s going to actually be joining this and doing the rest of the sponsor
⏹️ ▶️ Marco read for me, because she had a whole experience with him that was really quite good. So, here’s Tiff.
⏹️ ▶️ Tiff Arment, Casey yeah. Hey,
⏹️ ▶️ Casey there we are. How are
⏹️ ▶️ Tiff Arment I’m good, hi everyone.
⏹️ ▶️ Tiff Arment So we’re all Warby’s, huh?
⏹️ ▶️ Casey Yeah, well I am, and it sounds like you are, John.
⏹️ ▶️ John I got the home try-ons and I ordered my pair, but they haven’t come yet.
⏹️ ▶️ Casey Ah, okay, so you’re a little behind me. Now Tiff, have yours come in yet?
⏹️ ▶️ Tiff Arment They have, I got them yesterday.
⏹️ ▶️ Casey Are they or are they not spectacular?
⏹️ ▶️ Tiff Arment I am so impressed. Like when I got that box, it is such high quality. I’m just
⏹️ ▶️ Tiff Arment ridiculously impressed. Because I just recently bought new glasses maybe like a month ago for the first time
⏹️ ▶️ Tiff Arment in 15 years, which is crazy. And they were way expensive. And when I
⏹️ ▶️ Tiff Arment finally got them, they ended up not fitting. So having this experience was
⏹️ ▶️ Tiff Arment perfect for kind of fixing the bad purchase I had before which ended up
⏹️ ▶️ Tiff Arment costing so much more money than the Warby Parkers did. So what about you?
⏹️ ▶️ Casey I got a pair of sunglasses actually. So I have terrible eyes but my eyes are so bad that I actually have to wear contacts
⏹️ ▶️ Casey and I’m not going to get into the specifics about it but I got a pair of non-prescription sunglasses and
⏹️ ▶️ Casey I did the home try-on thing and one of the great things about the home try-on thing is you can
⏹️ ▶️ Casey say as I did, well, you know what, self, let’s reach a little and go out of our comfort zone and
⏹️ ▶️ Casey have Warby Parker send a pair of glasses that maybe you wouldn’t have picked out if you just saw them on the rack.
⏹️ ▶️ Casey Maybe something a little trendier than you’re used to. So I got these
⏹️ ▶️ Casey five pairs of sunglasses and I tried them all on and I ended up actually choosing one that was a little bit out of
⏹️ ▶️ Casey my comfort zone. I got the final set about a week ago and I love
⏹️ ▶️ Casey them. They’re really well built, really, really nice and I have absolutely no complaints. And granted,
⏹️ ▶️ Casey I’m kind of compelled to say that, but it really is genuinely true. Now, John, you said you have or have not gotten yours?
⏹️ ▶️ John I got my try-on ones. The great thing about the try-on box is you pick five glasses
⏹️ ▶️ John in that number, right? And I don’t think there’s an option to pick fewer or anything. And five is a good number, because like
⏹️ ▶️ John Casey said, it does make you pick like, because you can usually pick your top three. And then after that, you’re like, well, I’m pretty sure I’m
⏹️ ▶️ John going to like one of these three that I picked, right? But I have two more slots to fill, and you pick like weirder stuff.
⏹️ ▶️ John I did the same thing. And the other thing that impressed me is on the website, if you don’t want to do a home
⏹️ ▶️ John try-on, they have the thing where you can upload a picture of yourself and try it on. And I’m like, OK, there’s going to be something.
⏹️ ▶️ John I’ll upload a picture, and it’ll paste a copy of the glasses over my face, and it’ll look stupid. And I won’t be able to tell if I’ll
⏹️ ▶️ John like them. But they do this thing. I don’t know how it works. They must be doing face detection, figuring out where
⏹️ ▶️ John your pupils are, and then scaling it. And they have a floating 3D version of the glasses frames.
⏹️ ▶️ John So you can rotate it and angle it so that it matches how your face is in
⏹️ ▶️ John the photo, and it hides the little things that go over your ears so they don’t overlap your face
⏹️ ▶️ John and everything. It’s really impressive. I think I almost could have picked them out just from the website using
⏹️ ▶️ John the little 3D thing. I would really love to know how that works. I think it might be Flash. I don’t
⏹️ ▶️ John know what technology they’re using behind it, but I was really impressed by that. But yeah, the fact that they’re gonna send you the glasses, you don’t even have
⏹️ ▶️ John to bother with that if you don’t want to. You get the glasses and yeah, just take off the box and sit in front of the
⏹️ ▶️ John mirror, put on one, put on another one. And the great thing is, I’m ordering sunglasses as well. They gave me sunglass
⏹️ ▶️ John lenses in my sunglasses, so it wasn’t just like empty, you know, like sometimes at the eyeglass places, it’s just an empty frame
⏹️ ▶️ John with nothing in them, or they’re clear or whatever. These had actual sunglasses, you know, like not prescription, right, because these
⏹️ ▶️ John are just a try-on pair, but you could see how they would look on you as sunglasses, which was nice. So I did pick the,
⏹️ ▶️ John you know, three pair that I thought I would like and the two exotic pair, and I ended up picking one of the ones I thought I would like, because I
⏹️ ▶️ John guess I’m a boring person, but it was fun to try them out. I didn’t end up with the ones that I thought
⏹️ ▶️ John would be like my clear number one. I’m like, I don’t need to do these five things. I know I’m going to like this one.
⏹️ ▶️ John ended up picking like my third one.
⏹️ ▶️ Tiff Arment See, I did a second round of home try-ons because I was so excited about the sunglasses. I’m like, okay, I’m going to get a pair
⏹️ ▶️ Tiff Arment of regular glasses as well. And I only picked three for my home try-on.
⏹️ ▶️ Tiff Arment And so Warby Parker took it upon themselves to see the styles that I liked and that I picked
⏹️ ▶️ Tiff Arment and they filled in the rest of the other two in the box. And when I got
⏹️ ▶️ Tiff Arment them, I ended up picking one of the pairs that the Warby Parker people had picked for me,
⏹️ ▶️ Tiff Arment which was pretty impressive. So I thought that that was a really cool feature. So you can pick fewer than five,
⏹️ ▶️ Tiff Arment but they’ll fill in for you. And they ended up making a better choice than even I did. So
⏹️ ▶️ Casey, Tiff Arment they know you better than you.
⏹️ ▶️ Tiff Arment Who would pick fewer than five? Who
⏹️ ▶️ John would not? You have five slots.
⏹️ ▶️ John, Tiff Arment You fill them all.
⏹️ ▶️ Tiff Arment So hey, just give me a- Well, this is my second round. So I had already done five. And then so I was going to do,
⏹️ ▶️ Tiff Arment, John I’m like, ah,
⏹️ ▶️ John there’s three more. In the second round, you picked one of the ones they picked you. So you picked, like, altogether seven pairs
⏹️ ▶️ John of glasses. And you didn’t pick any, or no, eight pair of glasses. And you didn’t pick any of your own eight.
⏹️ ▶️ John You picked one of the two that they gave you. Correct. Yep. Wow. That’s pretty impressive. Yeah.
⏹️ ▶️ Tiff Arment So yeah, they did a fantastic job. And Marco’s hovering behind me. So I think
⏹️ ▶️ Tiff Arment, Casey wants to get back on the air. But maybe I won’t let him. Oh, shove him
⏹️ ▶️ Casey out of the way. Nobody likes him anyway.
⏹️ ▶️ Tiff Arment Oh, poor Marco.
⏹️ ▶️ Tiff Arment, Casey No, I’m just
⏹️ ▶️ Casey kidding. Oh, thanks, Tiff.
⏹️ ▶️ Casey right. I appreciate the cameo.
⏹️ ▶️ Tiff Arment Alright, thank you guys.
⏹️ ▶️ John She needs to get her own mic.
⏹️ ▶️ Casey I know. We should get her own mic. I only have one mic. I’ll
⏹️ ▶️ Marco have to rig that up.
⏹️ ▶️ Casey If only you had sold something recently so you can afford another.
⏹️ ▶️ Marco Anyway, let’s finish the spot. So a few more things I have to say. So
⏹️ ▶️ Marco yeah, so Warby Parker, they price their glasses affordably because they believe glasses are like a fashion accessory.
⏹️ ▶️ Marco And if each pair doesn’t cost you like hundreds and hundreds of dollars, then you can afford
⏹️ ▶️ Marco to have more than one if you want to. And they know that not everybody can afford glasses. There’s a whole lot of people
⏹️ ▶️ Marco in need who need glasses and who can’t afford them. They have a great program
⏹️ ▶️ Marco called Buy a Pair, Give a Pair, where for every pair of their glasses sold, they also donate
⏹️ ▶️ Marco a pair to people in need. And that’s really cool. And it’s just so… Ultimately,
⏹️ ▶️ Marco they’re a fantastic glasses company. They make high quality products. Wolf is also, I don’t think she mentioned, she’s also
⏹️ ▶️ Marco very impressed by their quality relative to her expensive professional ones from before.
⏹️ ▶️ Marco They’re actually better in most ways than the ones she got from her eye doctor. So very,
⏹️ ▶️ Marco very happy with this company. So go to warbyparker.com, that’s W-A-R-B-Y,
⏹️ ▶️ Marco Parker, dot com. When you order the home try-ons, do
⏹️ ▶️ Marco it, have fun. you order the final pair that you want to buy,
⏹️ ▶️ Marco use our coupon code ATP and that’ll get you free three-day shipping. So
⏹️ ▶️ Marco again, use coupon code ATP when you make your final purchase and it’ll get you free three-day shipping.
⏹️ ▶️ Marco So thanks a lot to Warby Parker. Great glasses company. Thanks for sponsoring the show.
⏹️ ▶️ Casey Apologies that took forever, but they really are that good.
⏹️ ▶️ Marco Oh, that’s all right. I figured it was fun. I even ran the idea by them having TIFF comings.
⏹️ ▶️ Marco And they have sunglasses and stuff, but I already have three pairs of sunglasses. And Tiff
⏹️ ▶️ Marco was like, do you really need another one? And she actually really needed the glasses. Because her existing ones that she had just
⏹️ ▶️ Marco gotten were not fitting her at all. And so I ran up by them, the
⏹️ ▶️ Marco idea of having her to the ad group. And they’re like, yeah, sure, that’s great. They’re a fun company. So anyway, thanks a lot
⏹️ ▶️ Marco to them. I wanted to talk a little bit about an offshoot of the topic that we had right before
⏹️ ▶️ Marco the break about code, long-term health, and when things
⏹️ ▶️ Marco get too complex and they buckle under their own weight.
⏹️ ▶️ Marco So the Instapaper web app as we discussed was very simple and didn’t have too many of those problems. The
⏹️ ▶️ Marco iOS app, though, I’m afraid might because on so many – I mean, the Instapaper
⏹️ ▶️ Marco iOS app was in the app store on day one. So the first bits of code were written for iOS 2.
⏹️ ▶️ Marco And most of the current code was written for iOS 3. And
⏹️ ▶️ Marco I’ve matured it over time, you know, to add features here and there, but the core code
⏹️ ▶️ Marco base, as of yesterday, there’s still, like, some view
⏹️ ▶️ Marco structure in there from iOS 3. And there were some modern features that I never took advantage
⏹️ ▶️ Marco of, things like child view controllers, view controller containment, all that stuff that was introduced in, I think, 5. I
⏹️ ▶️ Marco never even took advantage of that. And back then, and the
⏹️ ▶️ Marco list of things that this applies to gets smaller every OS release, but
⏹️ ▶️ Marco over time, there’s always been UI characteristics or effects
⏹️ ▶️ Marco that I’ve wanted to achieve. And the API, for whatever
⏹️ ▶️ Marco reason, didn’t expose them. So you basically have to fake it or hack it somehow.
⏹️ ▶️ Marco And over time, Instapaper built up quite a lot of those for various things. And a lot of it was
⏹️ ▶️ Marco to its great advantage. Things like the iBook style pagination.
⏹️ ▶️ Marco There was an API for that, but the structure of it made it almost impossible
⏹️ ▶️ Marco to use in any reasonable way with a web view. And of course,
⏹️ ▶️ Marco actually, in iOS 7, I think they even had it on one of the slides. They’ve added pagination to web views.
⏹️ ▶️ Marco It’s just a flag you can set. So like one line of that will replace, you know, thousands
⏹️ ▶️ Marco of lines of Instapaper code. But I’m trying,
⏹️ ▶️ Marco you know, over time that really made Instapaper’s iOS code base pretty big
⏹️ ▶️ Marco and there are a few hacks in there that are pretty uncomfortable. And
⏹️ ▶️ Marco so now I’m working on this new big app and it’s actually going to be a Business Insider Reader.
⏹️ ▶️ Marco That’s the new app. So I’m working on this new app, and
⏹️ ▶️ Marco what I’m trying to do in the UI is avoid those kind of hacks
⏹️ ▶️ Marco as much as I can. If I want a certain really cool feature,
⏹️ ▶️ Marco rather than saying, oh yeah, let me invest
⏹️ ▶️ Marco two weeks into making this tremendous pile of hacks that I’m going to hate in six months when I have to go back and change something,
⏹️ ▶️ Marco and it’s going to have all these weird side effects, I just have to do that one feature.
⏹️ ▶️ Marco Rather than doing that, I’m trying, and this is actually pretty hard because I love doing those crazy
⏹️ ▶️ Marco hacks at the time, but I’m really trying to lean
⏹️ ▶️ Marco more towards just doing the 80% solution. Doing whatever the UI
⏹️ ▶️ Marco affords me the ability to do easily, whatever the API allows in an easy way, just do
⏹️ ▶️ Marco that. don’t get into this giant pile of hacks style of like,
⏹️ ▶️ Marco gotta achieve this one crazy feature by doing this big pile of hacks. But
⏹️ ▶️ Marco I don’t know, what do you think? I mean, I don’t know if that’s realistic. I mean, because part of the reason I did it with Instapaper
⏹️ ▶️ Marco was that A, it was cool, B, it got press, and C, it was a huge competitive advantage. So
⏹️ ▶️ Marco I don’t know, maybe doing that sometimes is a good idea.
⏹️ ▶️ John Yeah, I think you can’t avoid it because it makes you stand out. there’s
⏹️ ▶️ John a brief honeymoon period with iOS 7 where merely just doing the standard UI in iOS 7 is enough for like the
⏹️ ▶️ John day one launch but all those things that InstaVapor did that made it different you know it’s branding
⏹️ ▶️ John it’s branding for your application and even if it’s just like well I wish that could slide out instead of just
⏹️ ▶️ John appearing and there’s no way to do that well if I if I make it a totally different element or if I do something with custom core
⏹️ ▶️ John animation layers instead of just using the the UI kit you know navigation controller that
⏹️ ▶️ John it you know does whatever it wants to do it’ll just add that little extra a little bit of difference there.
⏹️ ▶️ John And those little things add up and make your application stand out as, oh, this is not just
⏹️ ▶️ John a bunch of standard controls and widgets interacting exactly the same way as they would in some demo application.
⏹️ ▶️ John It’s got a little extra. And you have to find the balance between a little extra or a letterpress,
⏹️ ▶️ John, Marco continuum, right? Full Bricktor.
⏹️ ▶️ John Right. And clearly, you’re not even approaching full Bricktor, right? But you’re
⏹️ ▶️ John saying, well, maybe Instapaper, Like I saw what that was like when it lived over the course
⏹️ ▶️ John of three entire major releases of iOS, and it get a little creaky. So maybe just try to start out with as
⏹️ ▶️ John few of those as you can. And maybe just use one. Like there’s just one effect or element
⏹️ ▶️ John or transition that I can’t get that I’m going to do in a fancy way. And it’s something that people will see a lot and
⏹️ ▶️ John will distinguish my application. But I’m going to hold off on being like, boy, I really wish that I could get that
⏹️ ▶️ John thing to do that. But oh, well, the thing that it does now is fine. Or I really wish that was a little bit different, I’ll just
⏹️ ▶️ John use the regular collection class and even though the regular collection class doesn’t display You know doesn’t reshuffle
⏹️ ▶️ John or show the titles the way I want or wouldn’t it be great if the title could fly on you know All that stuff is gonna annoy you about
⏹️ ▶️ John using Apple standard controls, especially the ones that are immature But if you just sort of grin and bear it and pick your battles
⏹️ ▶️ John and maybe pick one or two places in the first version Where you do fancy stuff and then just wait like
⏹️ ▶️ John cuz like you said if you wait long enough You know Maybe it’ll get built in and the people who waited
⏹️ ▶️ John until page turning was built in they had a maybe you had a competitive disadvantage. But there are
⏹️ ▶️ John other instances where people didn’t have a competitive disadvantage, they just waited for some sort of
⏹️ ▶️ John navigation controller feature to appear, and you had hacked it in in version 2 and it appeared in version 3.
⏹️ ▶️ John That was maybe not a worthwhile hack for something that most people didn’t even know was a fancy behavior.
⏹️ ▶️ Casey Well, and it’s also about where you’re making these fancy hacks. So for example, the
⏹️ ▶️ Casey iPad version of Instapaper had what basically was a collection view before there was a UI collection
⏹️ ▶️ Marco It was called IP fake grid view.
⏹️ ▶️ Casey Yeah, exactly. And so what I’m driving at is you could do something fairly wild
⏹️ ▶️ Casey with UI collection view that isn’t standard, but is supported.
⏹️ ▶️ Casey And that’s a very fine line, but a very important one. So here it is, you’re taking UI collection view, which
⏹️ ▶️ Casey is a completely standard component, but you’re doing a wild, I don’t remember what they call it, like a layout
⏹️ ▶️ Casey or whatever. You’re doing a really wild custom layout in order to do something interesting. And
⏹️ ▶️ Casey if you look at WWDC 2012, when they were talking about the collection view, they
⏹️ ▶️ Casey did some unbelievably clever and trick things with the collection view with not a lot of code just by
⏹️ ▶️ Casey doing a custom layout. And so maybe the right answer is you choose easy and intelligent
⏹️ ▶️ Casey places to make these custom wild things happen that are kind of supported, or maybe you just do some
⏹️ ▶️ Casey really wild stuff with core animation that isn’t off the reservation, if you will, but
⏹️ ▶️ Casey it’s different. And by doing it in places that are sort of designed to have this flexibility,
⏹️ ▶️ Casey then maybe that’ll prevent some of that creakiness in the future.
⏹️ ▶️ John Yeah, like anything that supports views. Like, do something fancy in your view.
⏹️ ▶️ John And that is probably more maintainable than saying, the thing that controls these views, that’s where I’m going to do the fancy
⏹️ ▶️ Marco Yeah, exactly. Because a lot of those hacks that I did
⏹️ ▶️ Marco over the years were things like transitions. And, to some extent, the
⏹️ ▶️ Marco fake grid view was actually… Honestly, the fake grid view was not that bad
⏹️ ▶️ Marco because it was self-contained. As you’re saying, John, it mimics a table view.
⏹️ ▶️ Marco In fact, it actually was a table view subclass, which is its own breed of craziness. And
⏹️ ▶️ Marco it worked like a table view. The data source, the delegate, all worked the exact same way. So
⏹️ ▶️ Marco it was actually pretty black boxy. So
⏹️ ▶️ Marco, John it wasn’t really ever a problem.
⏹️ ▶️ John And you didn’t have to write UI collection view. You didn’t have to say, oh, this is a completely flexible collection view, and you can use it at any orientation,
⏹️ ▶️ John any number of rows and heights, and you can delegate the views to anything that wants to populate them.
⏹️ ▶️ John You didn’t have to make that. You just had to make something that worked for Instapaper, which narrowly constrains what you have to do. So
⏹️ ▶️ John you can make your grid view work. You’re not on the hook to make a general-purpose collection view that works in a million different contexts.
⏹️ ▶️ Marco Right, exactly. So that really wasn’t one of the hacks. The bigger hacks
⏹️ ▶️ Marco came from things like transitions And like, especially more on the iPhone,
⏹️ ▶️ Marco on the iPad I was doing a lot more of my own custom UI. A very common practice though for
⏹️ ▶️ Marco programmers making iOS stuff is you want to generally
⏹️ ▶️ Marco stay within UIKit for a lot of uses, but then you hit some kind of weird
⏹️ ▶️ Marco limitation, some kind of edge case. Probably it’s in UIBarButtonItem.
⏹️ ▶️ Marco And you hit some kind of edge case and you’re like, well, if I want this
⏹️ ▶️ Marco to do this thing, then I have to not even use UI toolbar. Or I have
⏹️ ▶️ Marco to reimplement my own button. Or something on a pretty large scale like that. And
⏹️ ▶️ Marco if you say yes to even a couple of those things, it starts getting kind of insane. And
⏹️ ▶️ Marco then if you start saying yes to things that involve multiple views and multiple controllers,
⏹️ ▶️ Marco navigational structures or transitions, then it can start getting pretty hairy pretty quickly.
⏹️ ▶️ Marco And every OS release that comes out, this becomes easier to do in a
⏹️ ▶️ Marco supported or at least a cleaner way. You know, iOS 7 supports all sorts of cool new stuff to make this to
⏹️ ▶️ Marco make a lot of these hacks either unnecessary or substantially better and more maintainable.
⏹️ ▶️ Marco And, and, but there’s always gonna be that bleeding edge of things that aren’t supported. And like,
⏹️ ▶️ Marco you know, But there’s going to be like, I think it’s a lot like, you know, when
⏹️ ▶️ Marco making the Instapaper web app, like Instapaper itself was a collection of very, very simple things with like
⏹️ ▶️ Marco two hard things. The text parser and the Kindle format thing. Those were like two hard things
⏹️ ▶️ Marco and I wrapped it with a bunch of easy things. If the number of crazy things that you’re doing is pretty
⏹️ ▶️ Marco small and everything else you’re doing is pretty easy, then that is a competitive advantage and you
⏹️ ▶️ Marco can get away with it. It’s a matter of balancing those. So in my new app,
⏹️ ▶️ Marco I have this one really crazy low-level feature that I really want to do.
⏹️ ▶️ Marco But it’s one of those things where it hits an edge of UIKit, and I’m going to have to do a lot of work to
⏹️ ▶️ Marco make that work right. And I’m weighing now, should I maybe
⏹️ ▶️ Marco shift version 1 without it? Because it’s going to be so much work for one feature.
⏹️ ▶️ Marco But it’s a pretty nice feature. It’s always this battle in my
⏹️ ▶️ Marco head of like, do I do this? Do I not do this? I don’t know.
⏹️ ▶️ Casey Yeah, it’s a tough thing. And especially early on, you don’t know when
⏹️ ▶️ Casey to say no yet a lot of the times. And what I hear you saying earlier to turn this into the Joel
⏹️ ▶️ Casey Spolsky rerun show is the kind of the broken windows thing where if
⏹️ ▶️ Casey you allow yourself early on to go a little bit wild,
⏹️ ▶️ Casey then the next time you have the question, well, can I get a little bit wild with this, well, I already did it before,
⏹️ ▶️ Casey why not do it again? And it’s a slippery slope. And so especially if you’re early on in development, as I know you
⏹️ ▶️ Casey are, it’s better in my opinion in most cases to try
⏹️ ▶️ Casey to stay as stock as possible and as simple as possible so that you don’t allow yourself to
⏹️ ▶️ Casey go absolutely crazy from the foundation up.
⏹️ ▶️ Casey All right, do we want to talk about something else that’s awesome or do we want to wait another minute?
⏹️ ▶️ Marco We do. Let’s do it now while there’s a gap. Our second awesome thing is yet another new
⏹️ ▶️ Marco sponsor. I believe they’re new to our show. They’re not new to my site or me as a person, but they’re Igloo,
⏹️ ▶️ Marco also known as Igloo Software. So Igloo is an intranet you’ll actually like. Now
⏹️ ▶️ Marco I don’t know of anybody who, at least anybody who’s never seen Igloo before, I don’t know of
⏹️ ▶️ Marco anybody who has any kind of positive association with the word intranet.
⏹️ ▶️ Marco Generally, these are horrible internal corporate sites that you’re forced to use at your job
⏹️ ▶️ Marco that are badly made, badly maintained, barely work, and require you to use
⏹️ ▶️ Marco IE6 or some craziness like that. Nobody likes their intranet unless they’re igloo customers
⏹️ ▶️ Marco because igloo actually makes an intranet that you will like and that your workers will like.
⏹️ ▶️ Marco You can share content quickly with all sorts of built-in apps. They have blogs, calendars, file
⏹️ ▶️ Marco sharing, forums, Twitter like microblogs, wikis, and everything can be social.
⏹️ ▶️ Marco You can comment on any type of content, you can at reply, you can at mention your coworkers Twitter style,
⏹️ ▶️ Marco you can follow content for updates, you can tag things, you can group things, you can add on rooms,
⏹️ ▶️ Marco you can have mini igloos for certain teams, certain divisions to work in. The whole thing, all these
⏹️ ▶️ Marco features are very, very easy. It’s drag and drop, it has responsive design,
⏹️ ▶️ Marco it uses beautiful type kit fonts. These people really know their stuff. And it’s like, you know,
⏹️ ▶️ Marco they’re applying all the awesome modern progressive design and features
⏹️ ▶️ Marco that we get on the consumer web to the internet world. And that’s extremely rare.
⏹️ ▶️ Marco So they’re doing it all for you. Plus, Igloo has enterprise grade
⏹️ ▶️ Marco security. You can start using it right away. It’s free
⏹️ ▶️ Marco to use up to 10 people. That’s pretty cool. If you have a staff of 10 people or less, it’s totally free.
⏹️ ▶️ Marco So go start using it today. And when it grows, it’s only $12 per person per month.
⏹️ ▶️ Marco For a business, this is extremely affordable, way cheaper than developing your own, and it’s just
⏹️ ▶️ Marco so much better. It’s worlds better than most people’s internets. So go to igloosoftware.com
⏹️ ▶️ Marco slash ATP. That’s igloosoftware.com slash ATP. Start building your
⏹️ ▶️ Marco igloo today. Free to use up to 10 people. Go for it. Thanks a lot to Igloo Software. They’re a fantastic
⏹️ ▶️ Marco sponsor. They’ve sponsored lots of great podcasts. They actually listen to the shows, which is pretty great. And so
⏹️ ▶️ Marco they’ve done inside jokes on some of the shows. In fact, let me go to this page.
⏹️ ▶️ Marco And sure enough, it says, welcome ATP listeners up top. And they’re fans. They’re
⏹️ ▶️ Marco fans of our stuff. They appreciate what we do. So give them a shot. IglooSoftware.com
⏹️ ▶️ Marco slash ATP. Thanks a lot to Igloo for making awesome intranets and sponsoring our show.
⏹️ ▶️ John Thanks. They should have a program where they send people to your office to convince the powers that
⏹️ ▶️ John be that they should get rid of their internet. Because that is often the… I wish I could get rid of my intranet and replace it with
⏹️ ▶️ John Igloo, but I can’t because I’m in a 2,000 person company and I’m one employee, right? So they should
⏹️ ▶️ John have a team that says, look, you need to change, because I wish we didn’t have to use the things we’re
⏹️ ▶️ Marco using. Oh, they also have a sandwich video. I mean, come on, how cool is that?
⏹️ ▶️ Casey How can you go wrong with a sandwich video?
⏹️ ▶️ Marco Yeah, so check them out. They’re awesome.
⏹️ ▶️ Casey else, go watch the sandwich video.
⏹️ ▶️ Marco Internets are so bad, usually. Oh, man. I mean, this is one of those problems.
⏹️ ▶️ Marco It’s like when we have hover advertising. Everyone has seen terrible domain registrars. Well, everyone
⏹️ ▶️ Marco has seen terrible internets.
⏹️ ▶️ John Without revealing too much, only recently was I able to do something without
⏹️ ▶️ John using Java in my web browser. Remember Java in the browser? Remember Java in the browser?
⏹️ ▶️ John Well, only recently was there a non-Java way to do it. I’m like,
⏹️ ▶️ Marco yes! Small victories. I recently wished for Java in the browser to work
⏹️ ▶️ Marco again. For some reason on my machine, it just doesn’t work anymore. I don’t know if I uninstalled it from one of the security things recently or
⏹️ ▶️ Marco what, but my livefish.com
⏹️ ▶️ Marco fish show downloader, like every time there’s a fish tour, I buy it. And then
⏹️ ▶️ Marco every night of the concert, I can go download the show from that night and they have a Java multi-file downloader thing
⏹️ ▶️ Marco and that hasn’t worked so I’ve had to hold that option and just click all the links one by one.
⏹️ ▶️ Marco It’s really a hard life.
⏹️ ▶️ Marco animal. Yep, exactly.
⏹️ ▶️ John It’s too bad you can’t write a program to automate that for you.
⏹️ ▶️ Marco I thought about actually writing, or at least trying to find a Safari extension. I’m sure somebody…
⏹️ ▶️ John extension, just do the ghetto way where you copy and paste the source and run it
⏹️ ▶️ John through a thing and make a bunch of…
⏹️ ▶️ Marco do that, but there might be some kind of weird session stuff. I don’t know. Because it’s all authenticated, because it’s
⏹️ ▶️ Marco, John like a photo.
⏹️ ▶️ John Grab your cookie jar. I know. I’ve done it many times, trying to grab WWDC
⏹️ ▶️ John things, grab Apple videos. And every time I do it, I’m like, you know, I should have a tool that does this. Not Bulge. Do it the crappy
⏹️ ▶️ John way again. Just paste into BBEdit and repeatedly hold down insane chords that
⏹️ ▶️ John involve like three or four modifiers at the same time that I’ve nonetheless memorized to
⏹️ ▶️ John grind the files up into bits and then throw in a double score data token
⏹️ ▶️ John and start writing Perl code on top of it and make a series of scripts to process it. Yeah.
⏹️ ▶️ Marco Actually, what this really should be is a bookmarklet because then you’re running right in the context of the page. It’d be really, really
⏹️ ▶️ Marco, John easy to make that.
⏹️ ▶️ Casey All right. So what else do we want to talk about? John, I know you had an interesting topic you wanted to bring up.
⏹️ ▶️ John Yeah, this was LinkedIn Daring Fireball, I think, today. I think that’s where I got it from. And the title
⏹️ ▶️ John of the story is Regular People Have No Idea How to Manage Photos on Their Phone, which is not really
⏹️ ▶️ John so much what I want to talk about. I want to talk about the points that were gotten to at the end of this thing.
⏹️ ▶️ John I don’t even know who wrote it.
⏹️ ▶️ John, Casey Bradley Chambers.
⏹️ ▶️ John Yeah, okay, Bradley Chambers. And he’s talking about the problem with photo management on your phones. People just buy phones
⏹️ ▶️ John and they take pictures with them. I think about this to all my relatives and
⏹️ ▶️ John non-technical friends who have phones. What do they think about, you know, they own a phone, right?
⏹️ ▶️ John And they’re taking pictures with it. And sometimes they’re pictures that they care about, like pictures of their kids or at their soccer game or their son
⏹️ ▶️ John scoring his first goal. It’s like something like they’re important memories, right? Did they ever think about
⏹️ ▶️ John like, what happens if you drop your phone, you know, out your car window when you’re driving or something
⏹️ ▶️ John like what happens if you spill coffee on it? I think they don’t think those
⏹️ ▶️ John photos are gone forever. I think they just think like the photos are magically safe or maybe they don’t. I don’t even know
⏹️ ▶️ John what regular people think about this. But the bottom line is that Apple doesn’t take care of
⏹️ ▶️ John you or your data to the degree that I think it should. This was way back when I first started
⏹️ ▶️ John writing on the Fat Bits blog on Ars Technica years and years ago. One of the first things I wrote about
⏹️ ▶️ John was this problem that Apple has made these devices and encouraged everyone,
⏹️ ▶️ John even back in the digital hub days, to put your most precious possessions, precious non-living
⏹️ ▶️ John possessions, on their hardware. And then they don’t care what the hell happens
⏹️ ▶️ John to it after that. Not that it’s that bad, but I think there should be
⏹️ ▶️ John more concern about taking care of your stuff. Because seriously, if your house burns down, your family
⏹️ ▶️ John and your pets all get out alive, the first thing that you care about other than hoping you had some kind of insurance
⏹️ ▶️ John is probably your family photos or your movies. Because those things can’t be replaced. You can buy a new car, you can buy new furniture,
⏹️ ▶️ John you can build a new house, as long as everyone is safe. But you can’t recreate those photos.
⏹️ ▶️ John you have all these devices to make these memories, what’s keeping them safe? And unless
⏹️ ▶️ John you’re a nerd and have this crazy backup regime and know exactly where the problems are,
⏹️ ▶️ John your stuff is completely vulnerable. And we’re so close now to having a technology
⏹️ ▶️ John where Apple or any other company could take care of us, and yet they don’t. And so the problem with the photos on
⏹️ ▶️ John your phone is you start taking pictures and you keep going. And once you get past 1,000 pictures, or whatever
⏹️ ▶️ John the limit of, what is it, 5 gigabytes free they give you in iCloud. Yep.
⏹️ ▶️ John You know, if you drop, those photos may only be on your phone. And if you drop your phone in the ocean, you
⏹️ ▶️ John lost all the photos that weren’t in the last thousand that are in PhotoStream or something. That’s if you, you know,
⏹️ ▶️ John I’m assuming you got through the process and got it up in PhotoStream or whatever. I don’t know if people just assume that Apple’s taking care of their pictures. But at this point,
⏹️ ▶️ John Apple should be taking care of everything. Apple’s devices should be designed in such a way
⏹️ ▶️ John that if they’re network connected devices, that if you smash your computer with a hammer, And if your house burns down, if you throw
⏹️ ▶️ John your iPhone in the ocean, your data should still be available. And I’m not saying Apple needs to make that happen for free,
⏹️ ▶️ John but they need to figure out some way to make it happen. And back when I wrote about this on Fat Bits ages ago, it was like,
⏹️ ▶️ John I was saying that every single computer should come with at least two hard drives, but you shouldn’t tell people that there’s two in there, and all your data should be
⏹️ ▶️ John redundant at all times, right, because hard drive failure was a big problem. Online backups weren’t tenable
⏹️ ▶️ John back then, because people didn’t have fast enough internet connections. And I was saying, look, at least make it so that if someone’s hard drive dies, they don’t lose all
⏹️ ▶️ John the picture of their kids. always have double. And who can afford to do that? Apple is the only company. Because everyone else
⏹️ ▶️ John had razor thin margins, but Apple maybe could build it into the price of their devices or whatever.
⏹️ ▶️ John And at the end of this article, it has a suggestion that’s like, again, may not be economically feasible, but it would
⏹️ ▶️ John be nice, and it’s the same type of thing. Make iCloud free, this is reading from the article, make iCloud free
⏹️ ▶️ John for the total size of all active devices. So if you have a 16 gigabyte iPhone and a 32 gigabyte iPad,
⏹️ ▶️ John you should get 48 gigabytes of iCloud for backup. So at the very least, every single byte of data that’s on your phone
⏹️ ▶️ John and your iPad can be backed up. And if you buy a new iPad and it’s 32 gigabytes, boom, you get another 32 gigabytes
⏹️ ▶️ John of storage. Make that the default. If possible, make it free. If you can’t make
⏹️ ▶️ John it free, build it into the price of the device. They’re already premium price devices. If
⏹️ ▶️ John Apple would commit to this, they could be the vendor that gets the reputation like, oh yeah, Apple costs more,
⏹️ ▶️ John but you won’t have to worry about losing your data. They protect it all for you. They’ll keep it backed up.
⏹️ ▶️ John You don’t have to worry about monthly fees and all these other things and worrying about your backup
⏹️ ▶️ John things. You can buy an iPhone, take pictures with it, chuck it into a fire, go to
⏹️ ▶️ John the Apple store, get a new iPhone. Whether you have to buy it or not, don’t worry. Your pictures will be there. Apple does not have that reputation.
⏹️ ▶️ John Nobody has that reputation now. But the first person to get that reputation, it will be worth a lot to people. Because
⏹️ ▶️ John I think most people are using these devices and using their computers and stuff, and
⏹️ ▶️ John all their digital memories are completely vulnerable and could be destroyed at any moment. And they’re just like crossing their
⏹️ ▶️ John fingers, hoping it doesn’t happen.
⏹️ ▶️ Casey You know, you’re absolutely right. And I had a friend call me maybe a month or two ago. And
⏹️ ▶️ Casey he said, Oh, you know, my wife, I think we’re going to get a new iPhone. And of course, this was
⏹️ ▶️ Casey just a month or so ago. And I said, Oh, my God, no, why? You know, the 5s is coming out soon. What are you thinking?
⏹️ ▶️ Casey And so he said, Well, she’s out of space. Okay, well, try to take
⏹️ ▶️ Casey stuff off her phone, then. Well, she’s got so many pictures on there. well, I mean, depending
⏹️ ▶️ Casey on how many pictures you’re talking about, that may or may not be the problem. Well, and she also she takes a lot of video.
⏹️ ▶️ Casey Yo goodness. And so it took talking to both my
⏹️ ▶️ Casey well, they’re both my friends, but talking to the my friend, the husband who called me and and his wife, you know,
⏹️ ▶️ Casey took a while talking to him saying no, no, you’ve got to get this stuff off your phone. Because not only is it not secure
⏹️ ▶️ Casey on your phone, like john is saying, but it’s taking up a crud load of space, especially 1080 video. I mean, 30 seconds
⏹️ ▶️ Casey video is like eight gazillion gigs. And so you have to get that off your phone. There’s
⏹️ ▶️ Casey no need to buy a new phone just for that.
⏹️ ▶️ John And then where are they going to put it? The
⏹️ ▶️ John, Casey next question is going
⏹️ ▶️ John to be, okay, well, what do I when I take it off my phone? Where do I put it? And it used to be at least you could assume they had
⏹️ ▶️ John a personal computer, put it on your personal computer. But that’s just another place where it can die because you put it on your personal computer.
⏹️ ▶️ John And then that person computers hard drives are going to die in t minus two and a half years. And what’s going to happen is you know, they’re not doing backups,
⏹️ ▶️ John right? And they’re probably not even doing time machine because they didn’t want to buy a second hard drive and hook it up. Yep. Ugh.
⏹️ ▶️ John There’s no, you want them to be taken care of. You want to be able to just tell them like you could,
⏹️ ▶️ John what kind of computer should I buy, get a Mac. You want to be able to say, what should I do about backups? You want to be able to say something like,
⏹️ ▶️ John are you signed up for iCloud on all your devices? Yes, then you’re fine. But you can’t say that. There’s nothing you
⏹️ ▶️ John can say to them. You have to have a seven hour conversation about backup strategies. It’s going to make their eyes glaze over. And even at the end
⏹️ ▶️ John of it, you’re going to be going back home wondering, are they ever going to do any of the things I suggested? Are they going to forget about
⏹️ ▶️ John it? Is their time machine drive not going to be mounted and they’re not going to notice for six months and they’re going to lose all, you know.
⏹️ ▶️ John We as technical people trying to support less technical people, don’t have any peace of mind about
⏹️ ▶️ John this. And in reality, we’re so close to having, you know, we have basically the technology and it’s just an economic
⏹️ ▶️ John problem and a problem of like will. I mean, Google has come the closest with the
⏹️ ▶️ John Chromebook initiative. That presentation they originally did on the Chromebook, despite the fact that just using
⏹️ ▶️ John a really expensive but nice looking laptop that only has a web browser is not appealing yet to people
⏹️ ▶️ John and is kind of limiting. They had the right idea with like, take your Chromebook, run it over the Steam
⏹️ ▶️ John Roller, don’t worry about it, get a new Chromebook, type in your stuff, everything is back. You didn’t lose a thing. You know, as long as we
⏹️ ▶️ John had time to upload it, you’re fine, right?
⏹️ ▶️ Marco, John but hold on though,
⏹️ ▶️ Marco that’s a big problem. Time to upload. Well,
⏹️ ▶️ Marco, John I know. Think about
⏹️ ▶️ Marco that. That’s one of the big problems holding this up right now. It isn’t just about, there’s no web services that are highly integrated that
⏹️ ▶️ Marco are doing all this for you for low cost or for free. That isn’t the main problem. The main problem
⏹️ ▶️ Marco is, think about how many people own iPhones, or devices
⏹️ ▶️ Marco like iPhones, who are in a situation, or have a home connection,
⏹️ ▶️ Marco or have data caps in which uploading things to cloud backup, uploading photos
⏹️ ▶️ Marco and videos to cloud backup on a regular basis is impractical.
⏹️ ▶️ John But you don’t have to always upload it. I mean, think about when we did the transporter spot. We have the technology
⏹️ ▶️ John to do most of those things. If you could just say, buy a bunch of these things and stick it around your house like potted plants, and put
⏹️ ▶️ John one in your office, and give one to your friend. If it was just easy enough for you to do it,
⏹️ ▶️ John we’re close. We’re really, really close for it to being economically feasible for someone who can afford an iPhone to
⏹️ ▶️ John never have any excuse to lose their data. And even if it’s not cloud, cloud would be like the third tier. And the second
⏹️ ▶️ John tier is like, have a computer system that’s redundant. And the other tier is like, have a bunch of little
⏹️ ▶️ John network attached wireless storage nodes around your house. Because it’s like a caching hierarchy, where
⏹️ ▶️ John on the device is good, and then when you get back home to your 802.11ac
⏹️ ▶️ John wireless that’s super duper fast that everyone’s going to have in five years or whatever it’s going to take for that to start to penetrate, right?
⏹️ ▶️ John That’ll go to your little transporter type devices or your time caps or whatever. And then the next thing is it’ll be uploading
⏹️ ▶️ John to iCloud when you’re asleep. And if you have your slow connection, it will like, you know, we’re almost
⏹️ ▶️ John there. It’s just a matter of working at a system and then some company committing to it and saying, you
⏹️ ▶️ John know what, we’re going to be responsible for protecting data, not saying things like, when you’re coming to the Genius Bar, make sure
⏹️ ▶️ John you have a backup and knowing everyone’s going to look at that and go, yeah, whatever, and then be pissed when all the data
⏹️ ▶️ John is gone when their computer gets repaired. Like, I’m sure it happens all the time to them. Like it’s in Apple’s interest as like
⏹️ ▶️ John the premium vendor and the guy who makes the hardware and software, and now they have web services to
⏹️ ▶️ John get there before someone else does and figure this thing out.
⏹️ ▶️ Casey Well, and it gets, it’s more than that too, though, isn’t it? Because say you’re on a vacation and like, say
⏹️ ▶️ Casey when, when Marco and Tiff and Aaron and and I were in Germany, what if I took a whole bunch of pictures on my iPhone
⏹️ ▶️ Casey because I’m not a photographer and I don’t have a fancy pants camera. I take a whole bunch of pictures on my iPhone,
⏹️ ▶️ Casey which at this point are irreplaceable. I may or may not have had access to any
⏹️ ▶️ Casey network connection, but particularly wifi. And all of a sudden now all
⏹️ ▶️ Casey those pictures are gone because Marco ran over my phone with his M5.
⏹️ ▶️ John But you have access to each other. So like you should be able to, if a family, like this gets into the whole thing about families. If you guys
⏹️ ▶️ John all go on a trip together, You should be able to enter into an arrangement whereby all of your own things are transferred
⏹️ ▶️ John among yourself in the little circle of the ad hoc network that is your people there. So if you drop your
⏹️ ▶️ John phone, oh don’t worry, I’ve got all your pictures, they got pulled down onto my MacBook Air, or
⏹️ ▶️ John some percentage of them. The technology is there for all these things to work, it’s just a question
⏹️ ▶️ John of working out the interface and the decision to do it. It shouldn’t be like that your device is Little
⏹️ ▶️ John Island and that you guys can go on a week-long vacation with no internet access and as soon as
⏹️ ▶️ John you drop your phone all those pictures are gone. Like, there are… we should be able to stop that from happening
⏹️ ▶️ Marco know. I mean, you know, there’s always this balance between ease of use for regular people
⏹️ ▶️ Marco and getting around with all these edge cases. And so, like, you know, the ways to get around these edge cases usually
⏹️ ▶️ Marco involve local hardware. You know, where you have either like a time
⏹️ ▶️ Marco machine disc disk or time capsule. And by the way, why don’t iPhones back up to time capsules? But okay,
⏹️ ▶️ Marco that’s a separate question. So you have things like that to avoid the
⏹️ ▶️ Marco whole bandwidth and data cap issue. But those things are all things that
⏹️ ▶️ Marco regular people are often going to either not think they need and therefore not buy because it’s expensive,
⏹️ ▶️ Marco or they’re not going to do it right in the way that like, I’m sure everyone
⏹️ ▶️ Marco listening to the show has at some point had a friend or relative say, oh, well, I
⏹️ ▶️ Marco lost files, my hard drive died, can you help me get them back? And you say, oh, okay, yeah, did you have a backup? And they say, yes.
⏹️ ▶️ Marco And you go over to their house and they’re here, all my files were on my backup drive.
⏹️ ▶️ Marco You get it? Yeah, it’s sinking in.
⏹️ ▶️ Marco, Casey I got it. You
⏹️ ▶️ Marco know these people?
⏹️ ▶️ Marco, Casey Where they buy an
⏹️ ▶️ Marco external hard drive because the laptop drive is too small. So they buy an external hard drive and that just becomes
⏹️ ▶️ Marco the place they put all their files and they think it’s
⏹️ ▶️ Marco, Tiff Arment a backup drive
⏹️ ▶️ Marco because it’s an external hard drive
⏹️ ▶️ Marco, Tiff Arment and they call it and they
⏹️ ▶️ Marco call it a backup and they think of it as a backup but it’s just one hard drive with their files on it.
⏹️ ▶️ Casey I just I tuned out as soon as you said you had friends that had backups that are normal
⏹️ ▶️ John yeah no one ever has backups.
⏹️ ▶️ Marco People call external drives backup drives. Yeah
⏹️ ▶️ Casey well now I’m with you but I was still trying to process the thought of a regular person not a nerd
⏹️ ▶️ Casey saying yes I do have a backup.
⏹️ ▶️ Marco you have those people or you have the people who, you know, if you try to
⏹️ ▶️ Marco make it work for all these edge cases, because, you know, the other problem is that these modern devices, the cameras keep getting
⏹️ ▶️ Marco better, so you have these devices that, you know, you mentioned with the video, you can’t just tell a regular person,
⏹️ ▶️ Marco oh, well, all your photos will be backed up in low resolution for a little while, but your videos
⏹️ ▶️ Marco mostly won’t be because they’re 400 megs each and that’s impractical, you know. So you got
⏹️ ▶️ Marco to run that stuff by having local stuff that avoids the network. Once you involve the network, though, it can
⏹️ ▶️ Marco be easy and automatic for everyone. So you either have local stuff that is expensive
⏹️ ▶️ Marco and can be easily misconfigured or screwed up that can back up everything,
⏹️ ▶️ Marco or internet-based stuff that can be automatic and foolproof,
⏹️ ▶️ Marco but you have that problem of bandwidth and data caps, and therefore usually can’t back up
⏹️ ▶️ John Like I said, we’re so close. It’s kind of like when we just barely got the technology to do
⏹️ ▶️ John digital distribution of audio because MP3 came out, but we still couldn’t really do movies or TV, right?
⏹️ ▶️ John And even today, like, audio is like, no problem. We throw around songs at their tiny files.
⏹️ ▶️ John They, you know, they’re easy to go. You know, we, the bandwidth and the memory capacity and computing, everything
⏹️ ▶️ John totally went past audio. But for video, we’re like, you can buy TV shows, but
⏹️ ▶️ John we can’t really store them all. And we can’t really have a big hard drive. So some of them will stream, and we
⏹️ ▶️ John can kind of stream 1080p, but it doesn’t look like we’re just on the edge of being able to handle video. And for
⏹️ ▶️ John things like video you record yourself in 1080p, that’s probably outside the realm of what we can handle. But we’re right on the
⏹️ ▶️ John cusp. And I think it’s OK to start with, like, we can only do songs, but only
⏹️ ▶️ John crazy people are downloading videos on the internet, like back in the Napster days, right? Just doing it for songs
⏹️ ▶️ John is a big win. And it lets you sort of work out the kinks of how things go,
⏹️ ▶️ John So that eventually, 10, 15 years later, when feature-length movies start to become
⏹️ ▶️ John possible, TV is like, oh, well, we kind of already worked this stuff out with the iTunes Music Store. And
⏹️ ▶️ John it’s like a natural extrapolation to do movies. For backups, we should have been traveling the same road,
⏹️ ▶️ John but haven’t been. Like, it needs to be ambient, like Wi-Fi. Like Wi-Fi, wireless networking
⏹️ ▶️ John with technology that nobody could use, and now everybody can use it. And how do we go from something
⏹️ ▶️ John that nobody uses to something that’s like, oh, just every coffee shop have Wi-Fi, everyone has Wi-Fi. How do you get on
⏹️ ▶️ John the Wi-Fi? If you told somebody back in the early days of computer networking that regular people were
⏹️ ▶️ John going to be able to walk into a building and get on the network, they’d be like, if they can’t get on the network, they need
⏹️ ▶️ John a network administrator to help them. And they’re going to configure the network stack on their operating system? No, they’re
⏹️ ▶️ John not going to do that. You work it out until you get the system that people can use.
⏹️ ▶️ John And there’s an investment in deep technology that Apple is not really doing,
⏹️ ▶️ John Google is kind of doing, that makes that possible. Because it’s not like one company came up with this wireless
⏹️ ▶️ John networking to spread it. Wi-Fi and those Wi-Fi standards, that is deep, deep technology that you
⏹️ ▶️ John can’t just like, well, we sort of came up with something in six months, and I think this is how we’re going to
⏹️ ▶️ John do wireless networking. You have to have really smart people think about it for a long time and go through a standards
⏹️ ▶️ John process and get hardware vendors on board and revise, revise, revise over and over again.
⏹️ ▶️ John And then finally, eventually, 10, 15, 20 years later, you reach the promised land. You
⏹️ ▶️ John can’t just say, well, we’re going to do backups, and we’ll have some device out there, and it will copy stuff, and it will make this
⏹️ ▶️ John photo stream service, and we’ll have iPhoto upload to it, so we’ll have the iPhoto team work on it. You’ve got to think of it
⏹️ ▶️ John as the overall problem and say, we need some sort of tiered
⏹️ ▶️ John storage architecture that works on any device. And we’re going to take the next five years to develop this architecture. We’re going to
⏹️ ▶️ John start small, and it’s going to be peer-to-peer between our devices. And it’s also going to be
⏹️ ▶️ John pushing things up to the highest level they can get, and encrypted, and shared, and maybe we’ll have a new
⏹️ ▶️ John file system of some kind mixed in there so you could send efficient block diffs between.
⏹️ ▶️ John I don’t want to talk about it. But that kind of deep core technology,
⏹️ ▶️ John you got to work on that for years before you get any bang out of it. If you don’t work on it, all you’re going to have is these half-ass solutions
⏹️ ▶️ John that, like Marco said, you end up having edge cases that you think no one’s going to be able to handle. You can’t just sit around waiting
⏹️ ▶️ John for magically for us to have gigabit upload bandwidth from everywhere into a magic cloud that,
⏹️ ▶️ John you know, like, I guess maybe that will come eventually. But we’re close enough now, like photos,
⏹️ ▶️ John I think, is the thing you could handle people’s photos. Maybe you can’t handle their videos. Maybe their videos are still screwed on because they’re
⏹️ ▶️ John just too darn big. And the ability to record video outpaced our other stuff. But I
⏹️ ▶️ John think, you know, Apple and everybody else are dropping the ball on this. And we really need a solution. Like, with the
⏹️ ▶️ John hardware that’s here, this stuff could work. We just don’t have the software to do it. And
⏹️ ▶️ John that’s a failure of the software guys, I think.
⏹️ ▶️ Casey I also wonder if we don’t have the impetus to do it. What I mean by that is, I almost feel like
⏹️ ▶️ Casey we need computer hardware, specifically mass storage,
⏹️ ▶️ Casey to be less reliable in order to force regular people to care enough to demand these
⏹️ ▶️ John Yeah, that’s work for Google, because they had so many servers that you just have to build
⏹️ ▶️ John expecting them to fail. And that’s not the case with individual hardware.
⏹️ ▶️ Casey Right. It’s like the argument that the only way we’ll get more efficient cars is to make gas four times
⏹️ ▶️ Casey more expensive than it is. It’s a similar thing where if hard drives failed constantly,
⏹️ ▶️ Casey then people would know, well, I’m going to need four copies of these pictures because I know one or two
⏹️ ▶️ Casey of the four are going to die in the next six months.
⏹️ ▶️ John Yeah, we need personal chaos monkeys. You know about the chaos monkey?
⏹️ ▶️ John, Casey Yeah, Netflix, right? Yeah. Yeah.
⏹️ ▶️ John Love that. Every company should have a chaos monkey. And I’m not sure if it’s like Netflix still
⏹️ ▶️ John does it or it was a one-time thing or it was a PR stunt or they really have a thing like that. But for people who don’t know, the chaos monkey
⏹️ ▶️ John within Netflix, the idea that they have something intentionally going around screwing up their systems to test
⏹️ ▶️ John that their redundancies work. So they don’t wait for things to fail. They have an active program or series of programs
⏹️ ▶️ John that go around and break stuff in their own data centers to prove to themselves
⏹️ ▶️ John that, okay, if this type of machine goes down, we’re okay. If three of these go down, we’re okay. If this
⏹️ ▶️ John switch dies, we’re okay. And they’re doing it to themselves intentionally all the time to sort of build up their immune
⏹️ ▶️ John system. So if you had a person who came into your house at night and smashed one of your devices or randomly
⏹️ ▶️ John erased one of your hard drives, and the guy came once every two months,
⏹️ ▶️ John you would very quickly figure out some way. Either you would figure out some way to develop a system, or you would demand from
⏹️ ▶️ John all your vendors, look, Apple, the chaos monkeys come into my house every night destroying things.
⏹️ ▶️ John You guys got to come up with a better system to protect my data because I’m losing all the pictures of my baby. And that’s where it’s got
⏹️ ▶️ John to come from. It’s got to come from the consumers. Well, I mean, that’s what leadership
⏹️ ▶️ John is, I guess. It shouldn’t have to come from the consumers. Apple should be leading here. They’re in a position to do this type of thing.
⏹️ ▶️ John They should be thinking about it and doing it, instead of being the putzes that they are that still make it impossible for one family
⏹️ ▶️ John to share a single iPhoto library like sane people want to do. All right? But
⏹️ ▶️ John they’re not. And yeah, so if it came from the other direction, that would really help as well. But as things stand, if your hard
⏹️ ▶️ John drive dies every three years, human memory is such that you’ll be like, well, I think I might have had those on optical somewhere.
⏹️ ▶️ John Or you just give up and like, well, I I think I posted most of those to Facebook, and I’ll never look at them again.
⏹️ ▶️ John I don’t know what’s going to happen when all these people are 80 years old 50 years from now and they want to see
⏹️ ▶️ John the picture of when their kid was one year old. Will they have them anymore? Because they won’t have the physical photo albums that our parents
⏹️ ▶️ John, Tiff Arment can go
⏹️ ▶️ John to our parents’ house. We can look at those books.
⏹️ ▶️ Marco, John It’s so popular. Actually,
⏹️ ▶️ Marco that’s a really good point, though. You’re right. I’ve heard from a lot of people who have lost phones or whatever.
⏹️ ▶️ Marco They say, oh, well, we still have the ones we posted to Facebook. That’s a very, very common
⏹️ ▶️ Marco reaction and kind of mental insurance policy for a lot of people. I
⏹️ ▶️ Marco wonder what happens like 20 years from now when Facebook shuts down.
⏹️ ▶️ John like you have them on Facebook, but they’re terrible quality because they’re like recompressed
⏹️ ▶️ John, Marco and tiny. Oh yeah, they’re very small.
⏹️ ▶️ John And good luck finding them 30 years from now if you go back 30 years in time. I think I tweeted
⏹️ ▶️ Casey Yeah, right. Well, the thing that stuns me is I’ll have people, friends, relatives,
⏹️ ▶️ Casey acquaintances, that will have catastrophic data loss, bad,
⏹️ ▶️ Casey bad data loss. And you know what they do differently after that happens? Not a
⏹️ ▶️ John Because what can they do? What is their recourse? They’re already buying the best, quote unquote.
⏹️ ▶️ John They’re buying Apple stuff. And they were using them in the way they see them
⏹️ ▶️ John used in Apple commercials, and they still lost all their data. So like, they don’t have the tools to fix it.
⏹️ ▶️ John They shouldn’t have to fix it. That’s what I’m saying. Apple should be providing a way
⏹️ ▶️ John to make it as easy for them to have their data protected as it is for them to take their phone and do a coffee shop and get on the network.
⏹️ ▶️ Casey Yeah, and I completely agree. But I guess what I’m driving at is, it seems like the moment data loss
⏹️ ▶️ Casey happens, your average consumer says, yeah, I guess that’s gone now. And that’s
⏹️ ▶️ Casey that. And there’s no more discussion.
⏹️ ▶️ John it’s like a natural disaster. It’s like, well, what can you do? There’s an earthquake. Like, what can you do to prevent earthquakes? Because to regular
⏹️ ▶️ John people, technology is basically just like the weather. Well, you can complain about it, but at a certain point, you’re like, well,
⏹️ ▶️ John obviously this is unchangeable law of the universe that we’re going to lose data.
⏹️ ▶️ Marco Right. Well, because most people who are adults today have grown up having all sorts of computer failures.
⏹️ ▶️ Marco And most people don’t use Macs, and even people who do use Macs still have failures. They just have maybe
⏹️ ▶️ Marco fewer of them or different ones. But so most people have grown up using some kind of crappy computers with
⏹️ ▶️ Marco crappy software, you know, where things were very constrained and expensive
⏹️ ▶️ Marco and unreliable. And so, almost everyone who’s an adult today has at some point
⏹️ ▶️ Marco had a computer that had to be wiped, or that had a hard drive fail, or something, somehow,
⏹️ ▶️ Marco their computer was forced to be wiped and started over. So, it’s, like, to them, it’s like,
⏹️ ▶️ Marco you know, they’re in, like, an abusive relationship with technology, where, like, they just, like, well, yeah, okay,
⏹️ ▶️ Marco I guess that’s just what happens with computers. Too bad, you know. Like, they don’t, they
⏹️ ▶️ Marco They don’t know that it doesn’t have to be that way.
⏹️ ▶️ John Yeah, and I don’t quite understand why, again, Apple of all companies hasn’t
⏹️ ▶️ John jumped on this more. Because they’re all about figuring out what real people’s problems
⏹️ ▶️ John are. That’s why iOS and the iPad and stuff are so successful, because they have the vision of like, people
⏹️ ▶️ John hate that crap about installing and uninstalling stuff, and people hate trying to find software by doing a Google
⏹️ ▶️ John search and stuff. We just had one store, and you tap a button and a little icon appears, And if you don’t like it, you put the little
⏹️ ▶️ John X and it goes away. That’s what people want. And they did that. They did that great. They did everything
⏹️ ▶️ John about the iPad is so much better than the Mac in terms of, you know, throwing it in front of someone who is not a technical person saying,
⏹️ ▶️ John here, go nuts. They can browse the web, they can send email, they can play games. It’s fun. It’s, you know, exciting.
⏹️ ▶️ John They even lower the price. It’s cheaper than a Mac. But this whole thing about keeping your data, they still have all those
⏹️ ▶️ John commercials about, oh, look how beautiful it is when you take picture of your children and all these memories
⏹️ ▶️ John and you’re having these happy times and laughing with your friends and making videos and all that stuff is going to be gone. And
⏹️ ▶️ John you know, start the clock because they’re not doing anything to help you like protect it long term. And maybe
⏹️ ▶️ John they think you’re not supposed to protect it. Maybe you’re just supposed to like enjoy it in the moment to look at it and then let it
⏹️ ▶️ John disappear when you buy a new phone or you drop it in the ocean. But that’s they don’t mention that in the commercial. Like they don’t show that
⏹️ ▶️ John experience of like remember that time we went to Paris. Let’s look at those pictures. Oh, that was three phones ago. I don’t have those anymore.
⏹️ ▶️ Casey running long. So that being, should we be good?
⏹️ ▶️ Marco One more thing. Is this really the kind of thing you’d think Apple would tackle? I mean, this is like a big web service,
⏹️ ▶️ John end. Maybe that’s why they haven’t been good at it. But like I’m saying, they’re good at like saying,
⏹️ ▶️ John at looking beyond the way things are done now to do like, like Casey said, the five whys and get all the way down
⏹️ ▶️ John to the root root problem is like, people don’t want to deal with any of this stuff. Let’s just solve their actual problem.
⏹️ ▶️ John Their actual problem is I want to browse the web, I want to send email and the iPad can let them do that without
⏹️ ▶️ John all sorts of complications and concepts that existed on the Mac that complicated that. They’re good at cutting
⏹️ ▶️ John through that stuff. And so this is another case where there’s, you know, well, backup is difficult
⏹️ ▶️ John and we have all these problems and how are we going to pay for this and where are we going to store it? And maybe people don’t have upload
⏹️ ▶️ John bandwidth and they have caps or whatever. And you know, like a time machine was a good step in that direction, but that’s
⏹️ ▶️ John like, that’s a last century step. Even the time machine wasn’t the last century.
⏹️ ▶️ John Apple is the kind of company who has the margins and the control over hardware and software and also
⏹️ ▶️ John usually the vision to not worry about the technical details and just figure out what people want and make
⏹️ ▶️ John it happen. That’s why I think.
⏹️ ▶️ Casey Yeah, but you’re you’re forgetting that so much of this hypothetically relies on really strong internet services,
⏹️ ▶️ Casey which we’ve all discussed ad nauseum, that is not Apple.
⏹️ ▶️ John I know, but they haven’t like they haven’t like really even attempted it. Like it also depends on
⏹️ ▶️ John like deep technology and like core standards and like building infrastructure, which Apple is also
⏹️ ▶️ John not good at, especially when it comes to data storage. So yes, this is in many of Apple’s blind spots, but
⏹️ ▶️ John I feel like I would have rather seen them like three years ago come out with like
⏹️ ▶️ John Apple’s new cloud file system. It’s everywhere at once and it would be a terrible product and not work, but at least they had
⏹️ ▶️ John the right idea of like, we are going to completely abstract storage on all levels
⏹️ ▶️ John and do this crazy multi hierarchy thing and understand it as a core OS feature, not as like
⏹️ ▶️ John a GUI feature of like a major version of iOS or OS 10. It has to be like a feature like
⏹️ ▶️ John the kernel or the file system has to be at that level where or the web service level and they haven’t even attempted that
⏹️ ▶️ John they haven’t made any run at it like photo stream is the closest they’ve come and that’s like one little appendage
⏹️ ▶️ John hanging off a couple of applications on iOS and the Mac. That’s kind of weird and you could only recently delete things
⏹️ ▶️ John from it and no one understands how it works and it’s not clear to people what the mental model is and it sure as hell doesn’t apply to anything except
⏹️ ▶️ John for the photos that you manage from those particular applications. Like, they’re not even going for the big solution
⏹️ ▶️ John and failing. They’re just, maybe they know their limitations and are just like, we have to nibble about this from the
⏹️ ▶️ Marco I don’t know. I still don’t know what PhotoStream backs up and what it doesn’t back
⏹️ ▶️ John up. Just assume it backs up nothing. Right. That’s what technical people do. Like, I remember for like six
⏹️ ▶️ John months, PhotoStream just showed me black rectangles in iPhoto. Like, they were my photos because they
⏹️ ▶️ John were the right number and I could tell from the orientations that they should have my photos but they were just completely black and like well
⏹️ ▶️ Marco not gonna trust that one and then like you know do you have the full resolution copies in photo stream or does it have
⏹️ ▶️ Marco, John smaller resolution it’s so confusing
⏹️ ▶️ Marco, Casey let’s wrap it now I think we’re done
⏹️ ▶️ Marco thanks a lot to our two sponsors this week Warby Parker and igloo software and we’ll see you next week
⏹️ ▶️ Tiff Arment now the show is over they didn’t even mean to begin because
⏹️ ▶️ Tiff Arment it was accidental Oh, it was accidental.
⏹️ ▶️ Tiff Arment John didn’t do any research. Marco and Casey wouldn’t let him. Because
⏹️ ▶️ Tiff Arment it was accidental. It was accidental.
⏹️ ▶️ Tiff Arment And you can find the show notes at atp.fm.
⏹️ ▶️ Tiff Arment And if you’re into Twitter, you can follow them at
⏹️ ▶️ Tiff Arment C-A-S-E-Y-L-I-S-S. So that’s Casey Liss, M-A-R-C-O,
⏹️ ▶️ Tiff Arment A-R-M, Auntie Marco Armin, S-I-R,
⏹️ ▶️ Tiff Arment A-C, USA Syracuse. It’s accidental.
⏹️ ▶️ Tiff Arment They didn’t mean to. Accidental. Tech podcasts
⏹️ ▶️ John so long. Did you see this link someone posted? And
⏹️ ▶️ John I’ll put it again in the. I have so many Mavericks things to talk about, but I’ll just wait.
⏹️ ▶️ John I’ll just write it.
⏹️ ▶️ John Let’s scroll down. What do you think?
⏹️ ▶️ Marco, John So for people who are
⏹️ ▶️ Marco actually listening to this, it’s the Stu Does Design,
⏹️ ▶️ Marco which looks like Studios Design, but it’s not. It’s Stu Does Design OS X Iverix concept.
⏹️ ▶️ Marco And it’s basically an iOS 7 style redesign of Mac OS X. Yeah.
⏹️ ▶️ John This whole site should have a big banner on top that says, not this year. Yeah.
⏹️ ▶️ Casey I actually don’t think it’s terrible, although I feel like the menu bar is totally out of place
⏹️ ▶️ Casey given the rest of the screen.
⏹️ ▶️ Marco Oh, Ivorix. Ah, thank you Sam the Geek. That makes
⏹️ ▶️ Marco, Tiff Arment more sense for Johnny Ive.
⏹️ ▶️ Marco Yeah, I mean there are parts about this I don’t like, but overall I think it looks fine.
⏹️ ▶️ Marco Do you think Apple will go in an iOS 7 like direction?
⏹️ ▶️ John I don’t see why the Mac has to look anything like iOS. I can see it being redesigned, but
⏹️ ▶️ John I don’t see any reason that it has to look anything like iOS. Like, did the Mac’s
⏹️ ▶️ John buttons ever look like iOS’s buttons? Maybe they came close at a certain point, but they weren’t
⏹️ ▶️ John recessed like the iOS 6 buttons were, with a little shadow on top of them. They were on top. I
⏹️ ▶️ Marco mean, I would say that OS X never really looked that much like iOS and vice versa.
⏹️ ▶️ John Yeah. I mean, you can redesign something. You don’t have to redesign it to look exactly like your other thing. It can just
⏹️ ▶️ John, Casey be a fresh redesign.
⏹️ ▶️ Casey But familiarity is never a bad thing, especially in UI design.
⏹️ ▶️ John Yeah, that’s true. I have a whole section in my review about that topic.
⏹️ ▶️ Marco But you don’t need, John Gruber wrote a nice big thing about this right before the
⏹️ ▶️ Marco iOS 7 unveiling at the keynote. It was like the night before, two days before, something like that, about
⏹️ ▶️ Marco how people are trained on how to use interfaces these days. And you don’t really
⏹️ ▶️ Marco need something to look exactly like a button for people to figure out that it’s a button,
⏹️ ▶️ Marco stuff like that. And something like this, you don’t need OS X to have
⏹️ ▶️ Marco the same visual style as iOS for people to know how to use it. Just
⏹️ ▶️ Marco give it similar behavior, like, oh, there are things you can click on that behave like
⏹️ ▶️ Marco, Tiff Arment buttons,
⏹️ ▶️ Marco there are labels, there are lists and structures and other ways to present
⏹️ ▶️ Marco data and to deal with it. You don’t need it to look exactly the same. It can have its own totally
⏹️ ▶️ Marco different visual theme and people will figure it out. Look at me look at how many people use hot dog stand when there’s 3.1. I still
⏹️ ▶️ Marco figure out how to use it
⏹️ ▶️ John Yeah, that said though like a straight-up exactly ios 7 style redesign of the os 10
⏹️ ▶️ John gooey I think it would work fine like because the ios 7 style
⏹️ ▶️ John like there’s not much to it, right? You know like I mean like look at look at the notification thing where you’re showing
⏹️ ▶️ John a notification dialogue You’re like yep, it’s not a vacation dialogue It’s got buttons like the the ios 7 conceit
⏹️ ▶️ John is that the buttons go edge to edge instead of being inset But you can still tell they’re buttons.
⏹️ ▶️ John It’s fine. You know, the window controls being the little outline circles instead of the other things?
⏹️ ▶️ John I mean, they’re a little close together, but you know, there’s details. But
⏹️ ▶️ John, Marco you look at it anyway.
⏹️ ▶️ John It doesn’t look crazy. It looks reasonable. No, this
⏹️ ▶️ John, Casey doesn’t look
⏹️ ▶️ John bad. But I’m not saying, oh, I don’t look at it and say, oh man, I can’t wait for the Mac to look like that.
⏹️ ▶️ John I would like any kind of cool-looking Mac redesign, but you know, it doesn’t have to be this.
⏹️ ▶️ Casey All right, so even though it’s only been two days, how’s the review?
⏹️ ▶️ John I wish the OS would work better so that I could review it. That
⏹️ ▶️ Casey That’s the review.
⏹️ ▶️ John I don’t know what their schedule is like because they’re putting out builds and things don’t work. How
⏹️ ▶️ John can I write about them if they don’t work?
⏹️ ▶️ John, Marco Well, just try to use
⏹️ ▶️ Marco the iOS beta 5. Every time you touch something,
⏹️ ▶️ Marco any touch interaction, running one of your own apps, it logs a debug message to the
⏹️ ▶️ Marco left turned on. Yeah, I
⏹️ ▶️ John Just increase the program counter. Yeah,
⏹️ ▶️ Marco the solution is to patch over fprintf.
⏹️ ▶️ Marco Obviously, they’re shipping these betas out on some kind of minimal testing,
⏹️ ▶️ Marco or at least less testing schedule, where if they ship that out,
⏹️ ▶️ Marco leaving this extremely common debug print statement in there that’s annoying
⏹️ ▶️ Marco every single iOS developer this week? Obviously, what else are they leaving in there in these data builds?
⏹️ ▶️ John I think I told the story in Hypercritical once, but I had a Cisco VPN client downloaded from the official Cisco website,
⏹️ ▶️ John not a beta, not anything like that, on OS X that would log a base 64
⏹️ ▶️ John dump of the data it sends and receives, all the data it sends and receives.
⏹️ ▶️ John Like, I installed it, and I’m on the VPN, I’m doing things, and I hear my hard drive going tick, tick, tick, tick,
⏹️ ▶️ John tick. And I look in the console log, and like, this is before tons of memory and before
⏹️ ▶️ John syslog had changed to this database format anyway. And there it was. There was all the data. So it’s like, well, when
⏹️ ▶️ John I’m connected to the VPN, it is going to just abuse my hard drive a tick at a time by writing
⏹️ ▶️ John out little bits of data that eventually gets flushed to disk. Yeah. That’s things people will ship. Who
⏹️ ▶️ John knows? But like for Mavericks, I wanted to write about iBooks yesterday
⏹️ ▶️ John and today. But it is not in a state where I can use it to
⏹️ ▶️ John do things, to write about. Like, today I spent a long time trying to purchase a book.
⏹️ ▶️ John It’s just buggy. This is the very first. So now I’m in this
⏹️ ▶️ John annoying, uncomfortable state where I’m. And I’m terrified to make screenshots of anything,
⏹️ ▶️ John because should I go nuts making screenshots of everything now and then have to redo
⏹️ ▶️ John them all? Or should I just wait until the very last minute and just do them in a scramble? I hate this
⏹️ ▶️ John time. I’m going to say I’m like 70% done with the writing, which is not 70%
⏹️ ▶️ John done with the production of this thing.
⏹️ ▶️ Casey Naturally. Can we make the opening soundbite? I spent a lot of time trying to buy a book.
⏹️ ▶️ Casey Now, I have a very important question. Was Tiff listening live in another room and came running in at the
⏹️ ▶️ Casey 11th hour, or was she actually hearing only one side of the conversation in the office for like
⏹️ ▶️ Casey the hour we spent before the Warby Parker spot?
⏹️ ▶️ Marco Neither of those. When I knew the spot was coming up, I sent her a iMessage
⏹️ ▶️ Marco saying, come in now. I told her to expect it about 25 minutes in,
⏹️ ▶️ Marco, Casey and it was about 30 minutes in,
⏹️ ▶️ Marco so that was pretty good. I
⏹️ ▶️ Marco, Casey thought it was a lot more
⏹️ ▶️ Marco No, no, it was like 30, 35, something like that. So I sent her a message saying, hey, come on in now. And
⏹️ ▶️ Marco a minute later, she was here. So she watched me listen to John for
⏹️ ▶️ Marco about 45 seconds and then and I passed it over to her it was pretty easy
⏹️ ▶️ John then that was all she could take
⏹️ ▶️ Casey not true oh man I’ve seen not a lot of feedback about the last episode since it’s only been out for
⏹️ ▶️ Casey a few hours but everyone has said oh my god Syracuse a rant I want it in my ears immediately
⏹️ ▶️ John that was that was like I had mellowed that was not ranty that was like it
⏹️ ▶️ John yeah it was like a you know wistfully looking back on a bad experience.
⏹️ ▶️ John Wow. What’s ranty like? Ranty is when I talk about TiVo or file systems.
⏹️ ▶️ John It was a good edge cases show. They did a whole show on file systems.
⏹️ ▶️ Marco I haven’t heard that yet. Everyone was mentioning you and linking to it and stuff.
⏹️ ▶️ John it covered a lot of the same ground, but then went forward more past what I had talked about when I talked about Hypercritical
⏹️ ▶️ John have transpired, although not much in the Apple world.
⏹️ ▶️ Casey All right, what else going on? Anything?
⏹️ ▶️ Marco I don’t know. We recorded the last episode like two days ago,
⏹️ ▶️ Marco nothing’s different now.
⏹️ ▶️ Casey I know, yeah, it’s true.
⏹️ ▶️ Marco Except somebody’s going on vacation all next week.
⏹️ ▶️ Casey I don’t know who. Yeah, John!
⏹️ ▶️ John Nope, not me. I’m all done. Back to the grind.
⏹️ ▶️ Casey Yeah, so Erin doesn’t know where we’re going tomorrow. She knows we’re going, but she doesn’t know where.
⏹️ ▶️ Casey, John We’ll see how this
⏹️ ▶️ Casey works out. It should be fun, but we’ll see how this works out. I’m a little scared. She’s extremely easygoing,
⏹️ ▶️ Casey So it should be fine, but I’m a little scared.
⏹️ ▶️ Marco I’m gonna get you guys back by not being here the entire fall
⏹️ ▶️ Marco, Casey Like what are you gonna be
⏹️ ▶️ Casey doing? What are you gonna be doing? You have no job. You have nothing to do
⏹️ ▶️ Marco pretty much Almost every weekend in September or October. I’m doing something like it’s crazy.
⏹️ ▶️ Marco Those months are insanely booked for me
⏹️ ▶️ John On Wednesdays, it’s fine
⏹️ ▶️ Marco I think I’m only gonna miss I think I’m only gonna miss like one Wednesday It’s really not it’s gonna be like the easiest vacation
⏹️ ▶️ Marco schedule for this show ever. Although it might be a problem if I’m trying to actually ship my app around that time which I’m almost definitely
⏹️ ▶️ Casey So you don’t think you’re gonna be there on day one?
⏹️ ▶️ Marco I would give that like a 20% chance at this point maybe even less. I really…
⏹️ ▶️ Marco the more I do with it the more I want to do with it and I know I’m gonna obviously have that problem of you know
⏹️ ▶️ Marco taking forever and never shipping version one but the bigger thing is I’m way behind
⏹️ ▶️ Marco on even getting the basics done. And some of it’s going faster than I expected, some of it’s going slower than I expected.
⏹️ ▶️ Marco And so I don’t… I’m still too far out to say whether I will
⏹️ ▶️ Marco be able to get out there for day one, whether it’s even going to be possible. But I’m
⏹️ ▶️ Marco guessing looking at it now, it’s not. Because what if day one is
⏹️ ▶️ Marco late September? That’s what, six weeks away? I mean, it’s pretty
⏹️ ▶️ Marco close. There’s no… And I still… I’m still working on the naming
⏹️ ▶️ Marco issue. I still don’t have the company form, because I’d like to give the company the same name as the product.
⏹️ ▶️ Marco And therefore, I don’t have the stupid Dunn’s number yet, so I can’t get the Apple developer account
⏹️ ▶️ Marco yet, so I can’t get all my final certificates done, and it makes it harder to test things like push notifications. And
⏹️ ▶️ Marco it’s like all these things that, no matter how much I work my butt off right
⏹️ ▶️ Marco now, these things all take blocks of time that have to be done in a certain sequence
⏹️ ▶️ Marco and so the reality of me getting this out there in any kind of shippable 1.0 state within
⏹️ ▶️ Marco six weeks is pretty much zero plus you should probably submit it like two weeks before
⏹️ ▶️ Marco the actual release date of the OS and that’s assuming you get approved in the
⏹️ ▶️ John more than two weeks you gotta assume it’s gonna be bounced back at least
⏹️ ▶️ Marco once. Exactly yeah I mean any new app you got to assume you’re going to be rejected. So, you
⏹️ ▶️ Marco know, the chances of me getting it out there for iOS 7’s release are pretty much nil.
⏹️ ▶️ Marco I mean, the app would have to be almost done right now for that. You know, like,
⏹️ ▶️ Marco you’d have to have it pretty much ready to go, ready to be in the App Store on day one.
⏹️ ▶️ Marco You’d have to have all the code effectively done now. It would have to be in a very advanced beta.
⏹️ ▶️ Marco And if it’s not in a very advanced beta today, probably not getting it out there for day one.
⏹️ ▶️ Casey Yeah, that’s fair. So when are you gonna put it out like March of next year then?
⏹️ ▶️ Marco I’m shooting for fall as well you know but you know depending on whose definition of fall like
⏹️ ▶️ Marco I want to get it out there for this fall. I don’t again I don’t know how realistic
⏹️ ▶️ Marco it’ll be to hit any particular month. I’m thinking October November
⏹️ ▶️ Marco is probably more reasonable.
⏹️ ▶️ John I’ll have it there for the holidays people get their new iPhones and iPads for Christmas, they can install your app.
⏹️ ▶️ Casey Yeah, but you have a busy October for sure, because I’m involved with
⏹️ ▶️ Casey Half of your October.
⏹️ ▶️ Marco I’m going so between September and October, I’m going to two conferences that are that are
⏹️ ▶️ Marco very far away each. I’m going to anniversary trip because
⏹️ ▶️ Marco it’s our fifth anniversary this year. And I’m going to our driving trip,
⏹️ ▶️ Marco which is going to be awesome. That’s all that’s like, was that four major
⏹️ ▶️ Marco trips? I have four major trips within two months.
⏹️ ▶️ Casey Where are you going for your anniversary thing? Are you willing to share?
⏹️ ▶️ Marco Upstate, a little resort that we like. Nice. Yeah, we went there on our wedding night, it’s cute.
⏹️ ▶️ Marco So, yeah, I’m cramming all this stuff in to that time,
⏹️ ▶️ Marco plus maintaining the blog, the show, and the general baseline
⏹️ ▶️ Marco workload that I have to do every week. It’s gonna be a rough fall, I think.
⏹️ ▶️ Marco or at least a rough early fall. You know, by November or so, I should
⏹️ ▶️ Marco have an easier schedule. Right in time for the holidays and all the family travel that goes along with that.
⏹️ ▶️ John I can help you out by just telling you, Marco, that actually you only have five vacation days left this year, so you’ll have to adjust your plans
⏹️ ▶️ John to account for that.
⏹️ ▶️ Casey Imagine if Marco had a real J-O-B job. Oh, man.
⏹️ ▶️ Marco I did a couple of times. Mm-hmm. Mm-hmm.
⏹️ ▶️ Casey Oh, yeah, yeah. Now everyone’s confused about what the driving thing is. I feel like we should just let them
⏹️ ▶️ Marco Yeah, let them be confused. We’ll take pictures and post them somewhere.
⏹️ ▶️ John It involves driving, there’s your hint.
⏹️ ▶️ Marco And John refused to come.
⏹️ ▶️ Casey And John— He refused! I chose not to. Don’t even get me started about John.
⏹️ ▶️ John There are items on either side of these things, and I weigh the pros and
⏹️ ▶️ John cons, and I make a decision. There’s not a refusal to do an obviously good thing, nor is it a rejection
⏹️ ▶️ John of an obviously bad thing.
⏹️ ▶️ Casey So angry at you, John. And I’m only slightly kidding.
⏹️ ▶️ John how many vacation days I have left this year.
⏹️ ▶️ Casey Oh, after all I have booked, I only have one. How many do you have?
⏹️ ▶️ John Not counting booked, but like, actually my wife just booked, I think, the rest
⏹️ ▶️ John, Tiff Arment my vacation
⏹️ ▶️ John days today. I think she just bought plane tickets. And so she, after she booked it, she said, okay, how many vacation
⏹️ ▶️ John days do you have left? That really should have gone in the other order. Wow. I believe I’m more or less booked up. I think
⏹️ ▶️ John I have, I have to give myself like two, keep two in my back pocket for like one day this
⏹️ ▶️ John winter, I’ll be sick and one day I may be panicked and have to one day I may be panicked and have to do take a
⏹️ ▶️ John day off work to do like emergency Mac OS 10 review scrambling Hopefully I won’t have to use that
⏹️ ▶️ Casey nice I’m still mad at you either way
⏹️ ▶️ John but then kids get sick and then you have to stay home with the kids and Sometimes you can be working from home and sometimes you can’t depending
⏹️ ▶️ John on how sick the kid is and taking to the doctor and yeah Limited vacation days.
⏹️ ▶️ John It’s like RTS where you have limited resources. You can’t just mind
⏹️ ▶️ Casey No, you cannot just mine for it
⏹️ ▶️ Casey yeah, we should do titles before I fall asleep
⏹️ ▶️ John Yeah, I like three phones ago. That that’s nice Nicely encapsulates some
⏹️ ▶️ John of the themes that we talked about It’s kind of interesting
⏹️ ▶️ Marco that might be the nicest opinion you’ve ever had about a title
⏹️ ▶️ John, Marco Yeah, I mean like that’s what
⏹️ ▶️ John I said I’m always looking for in a title is something that I can look at and remind me what we like the
⏹️ ▶️ John Thrustmaster one I’m not sure if that will remind me of what we talked about in the previous show Although
⏹️ ▶️ John I I know I never had a thrust master, but I wanted one. They were definitely very cool
⏹️ ▶️ Casey well, the only reason I got it was because dad decided he wanted one.
⏹️ ▶️ John, Casey That’s the secret And
⏹️ ▶️ Casey so yeah, it wasn’t really even it wasn’t mine, but I was the only one who used it that was during the time that dad loved
⏹️ ▶️ Casey getting us a random fun piece of electronics and Thought he would use them and then
⏹️ ▶️ Casey, John never ever did.
⏹️ ▶️ John Yeah, I told this to my son explicitly I said look the only reason you have all these video games is
⏹️ ▶️ John because I like playing video games These are my games. I let you play them So if you if you really
⏹️ ▶️ John like to like the harmonica or something like I’d get you a harmonica But I wouldn’t spend the amount of money You know what
⏹️ ▶️ John I mean? Like be it like you are getting the advantage of overlapping with my hobbies and
⏹️ ▶️ John these are my game systems These are my games and that’s why you can’t play a lot of them because he’s asked like he wants to play the last of
⏹️ ▶️ John Us and stuff. I’m like, that’s that’s a grown-up game Like it’s kind of sad because you would think he’s like
⏹️ ▶️ John he’s the kid who has everything He gets every modern, you know, as soon as his Zelda comes out, he gets it. Every time a new Nintendo system comes out, he
⏹️ ▶️ John gets it. But they’re not his, they’re mine. He doesn’t have anything. He’s got every
⏹️ ▶️ John Lego known to man, I guess. He does have those. Those are his. But that’s kind of because I want them too.
⏹️ ▶️ Casey Yeah, exactly. The truth comes out.
⏹️ ▶️ John But they are his. The Legos are his. video games are mine.