PodSearch

Under the Radar

117: The iMac Pro

 

00:00:00 ◼   ► Welcome to Under the Radar, a show about independent iOS app development.

00:00:03 ◼   ► I'm Marco Arment.

00:00:04 ◼   ► >> And I'm David Smith.

00:00:05 ◼   ► Under the Radar is never longer than 30 minutes, so let's get started.

00:00:09 ◼   ► Both you and I, Marco, had a, I guess, a slightly belated Christmas present this year, in that

00:00:15 ◼   ► we both are, I believe, currently sitting in front of brand new primary development

00:00:20 ◼   ► computers, specifically iMac Pros.

00:00:23 ◼   ► And I think it seemed like an interesting topic to talk about.

00:00:26 ◼   ► I think there's some interesting things to unpack a little bit about the machine itself.

00:00:32 ◼   ► I think it's probably also interesting to talk about why we both use this particular

00:00:36 ◼   ► setup, which I think is, if I had to guess, a minority of people use an iMac, or in this

00:00:44 ◼   ► case an iMac Pro, as a primary machine versus using a laptop.

00:00:48 ◼   ► And then I think it's also, whenever I get a new machine, which is fairly rare, it's

00:00:54 ◼   ► not something that I have to do very often.

00:00:57 ◼   ► It's an interesting opportunity to kind of look at my development setup, see how portable

00:01:01 ◼   ► it is, and kind of take inventory on all the different things that you have to do to set

00:01:07 ◼   ► one up.

00:01:08 ◼   ► And I think that process, hopefully there's a few things to share and to learn from there.

00:01:13 ◼   ► But first, I think maybe an interesting place to start is, why do you use an iMac rather

00:01:17 ◼   ► than a laptop as your primary machine?

00:01:20 ◼   ► >> I've done both.

00:01:21 ◼   ► I've spent years as a laptop as my only machine and then just plugging it into a monitor,

00:01:26 ◼   ► keyboard and mouse, like when I was at work, and then bringing it home every day.

00:01:29 ◼   ► This is a very, very common situation people use.

00:01:33 ◼   ► And there are a lot of advantages to just having a laptop like that.

00:01:37 ◼   ► First of all, cost-wise, you only have to buy and maintain and upgrade and later buy

00:01:43 ◼   ► again one computer.

00:01:46 ◼   ► There's a pretty big question among a lot of people's minds about, do you need a laptop

00:01:52 ◼   ► at all or can you just get an iPad?

00:01:53 ◼   ► But for a lot of developers, there is no question.

00:01:57 ◼   ► For a lot of developers, the answer is you can't do what you need to do on an iPad or

00:02:00 ◼   ► it would be so cumbersome that it would be very not practical for you.

00:02:05 ◼   ► So a lot of developers need laptops.

00:02:08 ◼   ► And so then the question only becomes, do you have one computer or two?

00:02:12 ◼   ► If you're going to have one, you have a lot of advantages and things like you don't have

00:02:15 ◼   ► to worry about how you sync file between them, whether you set them up the same way, like

00:02:21 ◼   ► oh, I forgot to install this app on this computer or it's configured differently and you can't

00:02:26 ◼   ► quite figure out how the heck do I get Photoshop settings to look the way they look on my other

00:02:30 ◼   ► computer, things like that.

00:02:32 ◼   ► There's a lot of pains in the butt around maintaining multiple computers that if you

00:02:37 ◼   ► just have the laptop, you're totally fine with.

00:02:40 ◼   ► On the other hand, when you only have one and say something goes wrong and you need

00:02:44 ◼   ► to bring it in for service and be without it for a few days, you are kind of out of

00:02:48 ◼   ► luck and you have a problem in that situation.

00:02:52 ◼   ► So there are advantages both ways.

00:02:54 ◼   ► If you have multiple computers, you can also intentionally set things up differently between

00:02:58 ◼   ► them.

00:02:59 ◼   ► So you can have your work desktop that has certain things on it versus your personal

00:03:03 ◼   ► laptop or vice versa.

00:03:05 ◼   ► You can have your windows will be preserved on your desktop and you can come down and

00:03:11 ◼   ► sit down in front of it and start work immediately as opposed to plugging in your laptop, rearranging

00:03:17 ◼   ► everything, closing the things you were running at home, starting things you were running

00:03:20 ◼   ► at work.

00:03:21 ◼   ► So there are advantages and disadvantages on both sides.

00:03:25 ◼   ► I personally find the ergonomics of a laptop for long term work pretty rough when it's

00:03:32 ◼   ► used as a laptop.

00:03:34 ◼   ► So I find that for getting work done all day, I really want to be sitting in front of a

00:03:40 ◼   ► desktop screen positioned away from my face by a few feet, lifted up to the right height

00:03:46 ◼   ► and then a keyboard that is low in front of me and a split ergonomic natural keyboard

00:03:50 ◼   ► because that's the style that I find most comfortable ergonomically that reduces my

00:03:54 ◼   ► RSI issues.

00:03:56 ◼   ► A mouse on my right side, a trackpad on my left side so I have two input devices, one

00:04:01 ◼   ► for each hand.

00:04:02 ◼   ► This is the kind of setup I like and then the monitor should be as big as possible because

00:04:07 ◼   ► that is directly related to how happy I can be and how productive I am with what I'm

00:04:11 ◼   ► doing on my computer.

00:04:12 ◼   ► All that basically leads to either the laptop plugged into a big monitor and keyboard when

00:04:18 ◼   ► you're working or the iMac.

00:04:20 ◼   ► And really either of these options are totally fine, but when you use a laptop as a desktop,

00:04:28 ◼   ► it's not a very good desktop.

00:04:30 ◼   ► You not only have issues with just the pains of connecting and disconnecting it every day

00:04:34 ◼   ► and bringing it back and forth, but then also laptops don't cool themselves very well under

00:04:40 ◼   ► sustained load or especially if you're using it in clamshell mode where the laptop is closed

00:04:43 ◼   ► and you're plugging the monitor in, it really doesn't cool itself well.

00:04:46 ◼   ► They're usually louder when they're under load because they have these little tiny fans.

00:04:50 ◼   ► They usually have lower powered parts.

00:04:53 ◼   ► The laptops tend to lag behind the consumer iMacs in CPU performance by a couple of years

00:04:58 ◼   ► and GPU performance by maybe more.

00:05:03 ◼   ► Desktops are more constrained with things like what kind of storage you can put in them,

00:05:06 ◼   ► how much storage, what kind of upgrades, how much RAM you can put in the current lineup,

00:05:12 ◼   ► and then things like ports and peripherals.

00:05:15 ◼   ► Desktops just have more ports and different ports and better ports usually.

00:05:20 ◼   ► Desktops can be better in a number of ways and I really like having both the reliable

00:05:28 ◼   ► consistent setup where my desktop screen never changes size, so the windows are always in

00:05:32 ◼   ► the right spots and everything's always where I left it and all the apps can stay running

00:05:37 ◼   ► or not stay running or whatever else.

00:05:39 ◼   ► You can have stuff running in the background that serves media to your house for instance

00:05:42 ◼   ► because it's never asleep or never closed or never off or whatever else.

00:05:45 ◼   ► There's a lot of advantages to a desktop and I think the decision is made even easier when

00:05:51 ◼   ► you work at home for yourself.

00:05:53 ◼   ► Then you don't have to worry about having the same computer between work and home.

00:05:58 ◼   ► All these reasons I just really like having a desktop.

00:06:02 ◼   ► If you are a developer and you get a desktop computer, the one you probably want is the

00:06:06 ◼   ► iMac.

00:06:07 ◼   ► Gotta say it's a great computer.

00:06:10 ◼   ► For the last three years I used a regular 5K non-pro iMac because the iMac Pro didn't

00:06:15 ◼   ► exist.

00:06:16 ◼   ► I used a regular iMac and it's great.

00:06:20 ◼   ► They're pretty good machines.

00:06:22 ◼   ► They really are very compelling with the features you get, the combination of the nice screen,

00:06:28 ◼   ► the 5K resolution and this beautiful color screen and everything.

00:06:34 ◼   ► Having everything be fairly tidy, fairly all in one, it's just a really nice overall package.

00:06:40 ◼   ► I use an iMac in general, not even considering whether it's a Pro or not, because A, it's

00:06:45 ◼   ► a desktop.

00:06:46 ◼   ► B, it's a really good desktop.

00:06:48 ◼   ► C, I think it's the best choice and in many ways the only choice in Apple's current lineup

00:06:56 ◼   ► for the kind of things that I like.

00:06:58 ◼   ► Yeah, and I think I use an iMac for many of the same reasons.

00:07:01 ◼   ► I've used the Retina iMac since I bought a maxed out first generation Retina iMac.

00:07:09 ◼   ► As soon as I could get a Retina screen in the 27 inch size, that was huge.

00:07:16 ◼   ► I remember how, at the time, how amazing that was for things like doing iOS simulator work

00:07:23 ◼   ► on the iPad, or any of the simulators, honestly, would just be these comically huge things.

00:07:31 ◼   ► It's like, "What?

00:07:32 ◼   ► I can have a Retina monitor that's this big?"

00:07:35 ◼   ► That was what sold it for me initially, and then I just got used to it and I really like

00:07:39 ◼   ► it.

00:07:40 ◼   ► In some ways, some of the things are kind of silly.

00:07:45 ◼   ► I have a work setup, and that work setup for me is downstairs, and when I'm at work, I'm

00:07:50 ◼   ► at work, and my most comfortable place to work is down at that desk.

00:07:56 ◼   ► I think it helps with the temptation to work in other places or at other times when I maybe

00:08:00 ◼   ► shouldn't be working, because I feel very separate when I'm down here working.

00:08:06 ◼   ► I have a 12 inch MacBook that I can do work on.

00:08:11 ◼   ► It's certainly slower and smaller and not as good, but I can get work done there, but

00:08:15 ◼   ► it's uncomfortable.

00:08:16 ◼   ► It's a nice thing that I have this super comfortable, great place to work, and then I have a place

00:08:21 ◼   ► that I can work.

00:08:23 ◼   ► And then, rather than dealing with the...

00:08:27 ◼   ► I've tried all manner of things for dealing with the two computer problem.

00:08:30 ◼   ► There was actually even a period where I had an external drive.

00:08:36 ◼   ► I bought an external SSD hard drive that I would boot from, and so I would plug it into

00:08:43 ◼   ► my iMac and boot from that, and then if I wanted to use it on my laptop, I would unplug

00:08:49 ◼   ► it and plug it into my laptop and boot from it there, which works surprisingly well, but

00:08:55 ◼   ► it's just mind-bending.

00:08:57 ◼   ► It's a little cumbersome.

00:09:01 ◼   ► Cumbersome is a good word, yes.

00:09:02 ◼   ► It's not the most straightforward.

00:09:04 ◼   ► So instead, I just work from my iMac, and it's worked out very well for me.

00:09:10 ◼   ► I was a little bit skeptical to start with, and I think I used to also come from a world

00:09:14 ◼   ► where I used to having the two monitor setup.

00:09:19 ◼   ► I typically had...

00:09:22 ◼   ► My previous setup often was the laptop up on a stand, so it wasn't ergonomically gonna

00:09:27 ◼   ► cripple me, and then a big mains display that was plugged into it.

00:09:32 ◼   ► I liked having the two monitors, but honestly, once the monitors went retina, I really don't

00:09:37 ◼   ► miss having the two monitors set up anymore.

00:09:40 ◼   ► I like having just one big retina monitor, and from a pixel perspective, it's like I

00:09:45 ◼   ► have four monitors, I guess, from the amount of detail that I'm able to reasonably look

00:09:50 ◼   ► at.

00:09:51 ◼   ► An iMac is the machine for me, and really, at this point, it was just a question of,

00:09:56 ◼   ► should I stick with just the regular 5K iMac, or now that there's the pro model, I am a

00:10:04 ◼   ► pro, is it something that I should go to?

00:10:07 ◼   ► And in the end, I decided it made sense based on a variety of things that I guess we'll

00:10:13 ◼   ► get into, a lot of them around performance and ports, and just trying to...

00:10:19 ◼   ► If I use this machine so much, I wanna make sure that it's the best that I can reasonably

00:10:22 ◼   ► have, 'cause it's what I use to make my entire living, so it may as well be a sharp tool.

00:10:28 ◼   ► - Exactly.

00:10:29 ◼   ► And moving back just a moment to the dual monitor thing, I forgot to mention that, but

00:10:34 ◼   ► I too went through a period where I used dual monitors, and where first one of them was

00:10:39 ◼   ► the laptop on a stand, and then a big monitor, usually at that time I was using 24-inch monitors

00:10:44 ◼   ► next to it, and then eventually I upgraded to the laptop with a 30-inch monitor, which

00:10:50 ◼   ► is the same resolution as 27s that are in iMacs.

00:10:54 ◼   ► And then I decided that after years of using dual monitors this way, I learned that I really

00:11:01 ◼   ► don't use dual monitors very effectively, that one of them would always be the primary,

00:11:08 ◼   ► and then whatever the secondary monitor was, like off to the right or whatever, it was

00:11:12 ◼   ► just like a junk drawer.

00:11:14 ◼   ► Like I would have, oh, maybe I put my email client or Twitter or iTunes over there, but

00:11:22 ◼   ► it didn't really serve any purpose.

00:11:24 ◼   ► I wasn't usually looking over there, and it didn't serve any purpose that just hiding

00:11:29 ◼   ► those windows when I wasn't using them wouldn't also serve just as well.

00:11:32 ◼   ► Like I found that I was not well-suited to dual monitors.

00:11:37 ◼   ► I thought I was for a while, and if I'm gonna have only a 24-inch size, sure, give

00:11:43 ◼   ► me a second one.

00:11:44 ◼   ► But once I set up to the 27/30-inch size, I realized that just having one larger monitor

00:11:52 ◼   ► worked better for me.

00:11:53 ◼   ► And it allowed me to avoid a lot of just like bugs and OS weirdness around dual monitors.

00:12:01 ◼   ► Certain apps still don't really behave well with dual monitors.

00:12:05 ◼   ► There are certain other issues, like if one of them is your laptop screen and the other

00:12:09 ◼   ► is like an external monitor, then you'll have usually a different pixel density between

00:12:13 ◼   ► them.

00:12:14 ◼   ► So like if you move a window to the other monitor, it'll appear physically smaller

00:12:19 ◼   ► or bigger because the two monitors have different pixel densities.

00:12:23 ◼   ► And all sorts of just weird little OS weirdness around having dual monitors where clearly

00:12:30 ◼   ► Mac OS supports dual monitors, but there are certain things that get a little iffy with

00:12:35 ◼   ► them or that don't work the way you expect, or things like full screen mode that kind

00:12:38 ◼   ► of don't work at all or have weird limitations.

00:12:43 ◼   ► Just the entire computer experience I find for myself, and this is personal preference,

00:12:48 ◼   ► but I find for myself, just works a lot more smoothly and better and cleaner with just

00:12:54 ◼   ► with one monitor that is as big as it can be, rather than having two separate ones.

00:12:57 ◼   ► Yeah, exactly.

00:12:59 ◼   ► And now that I'm used to it, it just feels like the right way to do it.

00:13:03 ◼   ► And I never feel lacking for space, even when I'm doing, you know, have lots of windows

00:13:08 ◼   ► open.

00:13:09 ◼   ► Like I use a tool called size up, which I know there's millions of these, but where

00:13:13 ◼   ► I can easily make a window an exact quarter of my screen, and I find that works really

00:13:20 ◼   ► well to just be able to like keep it organized, but to be able to take full advantage of it.

00:13:26 ◼   ► We are sponsored this week by Linode.

00:13:29 ◼   ► With Linode, you'll have access to a suite of powerful web hosting options with prices

00:13:33 ◼   ► starting at just $5 a month.

00:13:35 ◼   ► You can be up and running with your own virtual server in the Linode cloud in under a minute.

00:13:39 ◼   ► Whether you're just getting started with your first server or deploying a complex system,

00:13:43 ◼   ► Linode is the right choice for you.

00:13:45 ◼   ► They offer the fastest hardware and network with fantastic customer support behind it

00:13:48 ◼   ► all.

00:13:49 ◼   ► It's never been easier to launch a Linode cloud server.

00:13:52 ◼   ► They guarantee 99.9% uptime for server availability.

00:13:56 ◼   ► Once your server is up, they intend to keep it that way.

00:13:58 ◼   ► And Linode offers additional storage too.

00:14:00 ◼   ► They now have block storage, which is now out of beta and available in their Fremont

00:14:04 ◼   ► and Newark data centers.

00:14:05 ◼   ► And they plan to expand their block storage to all data centers by June.

00:14:09 ◼   ► Linode is great for tasks like hosting large databases, running a mail server, operating

00:14:14 ◼   ► a VPN, running Docker containers, hosting a private Git server, and so much more.

00:14:18 ◼   ► And Linode is hiring right now.

00:14:20 ◼   ► If this sounds interesting to you, go to linode.com/careers to learn more.

00:14:24 ◼   ► So Linode has fantastic pricing options available.

00:14:27 ◼   ► Their plans start at one gig of RAM for just $5 a month.

00:14:30 ◼   ► And they also offer high memory plans starting with 16 gigs of RAM if you need that.

00:14:34 ◼   ► As a listener of this show, sign up at linode.com/radar to support us and get $20 towards any Linode

00:14:41 ◼   ► plan.

00:14:42 ◼   ► On the one gig plan, that's four free months.

00:14:43 ◼   ► And with a seven day money back guarantee, there is nothing to lose.

00:14:47 ◼   ► So go to linode.com/radar to learn more, sign up, and take advantage of that $20 credit

00:14:53 ◼   ► or use promo code radar2017 at checkout.

00:14:56 ◼   ► Thank you so much to Linode for supporting our show.

00:14:59 ◼   ► So we both now have, I'm at pros and I think we have almost identical ones.

00:15:04 ◼   ► I know we both got the 10 core model, I believe.

00:15:07 ◼   ► And then I got the lower spec video card, the two terabyte drive, and I feel like it's

00:15:15 ◼   ► 64 gigs of memory is what I ended up with.

00:15:18 ◼   ► I love that you don't know how much RAM you have then.

00:15:19 ◼   ► I had to check too.

00:15:20 ◼   ► I don't know.

00:15:21 ◼   ► It's like, it's enough.

00:15:22 ◼   ► Yeah.

00:15:23 ◼   ► I got the exact same setup, but four gig instead of, or four terabytes instead of two terabytes

00:15:26 ◼   ► in the SSD.

00:15:27 ◼   ► So yeah.

00:15:28 ◼   ► And so, I mean, and I picked that configuration a little bit from your advice in terms of

00:15:31 ◼   ► the 10 core seems to be a reasonable trade off in terms of cost and performance and seem

00:15:38 ◼   ► to be reasonable.

00:15:39 ◼   ► I got the base video card because I don't think anything I do is ever going to really

00:15:43 ◼   ► tax it, or at least every now and then when I happen to do some Final Cut Pro work for

00:15:50 ◼   ► like an app review or a YouTube video and the export takes a little bit longer, it's

00:15:55 ◼   ► so rare that that's not something I'm worried about.

00:15:58 ◼   ► But overall, I think my initial impressions is that it's like, it is noticeably faster.

00:16:03 ◼   ► It's noticeably snappier and like, is a tangible improvement, which you never really know.

00:16:09 ◼   ► Like it's also at this point, honestly, it's the funny thing of I've been using it for

00:16:13 ◼   ► a couple of weeks.

00:16:14 ◼   ► And so now my brain is entirely recalibrated itself to this is normal.

00:16:19 ◼   ► So it's even hard to remember, which is always something to keep in mind with these kind

00:16:22 ◼   ► of improvements where you'll notice them for a day or two and then you just get used to

00:16:27 ◼   ► it.

00:16:28 ◼   ► It's normal.

00:16:29 ◼   ► And so when it takes, you know, things still aren't instantaneous, or there are many things

00:16:33 ◼   ► that still aren't.

00:16:34 ◼   ► Like when I hit, you know, build and run, it still takes a moment for Xcode to like

00:16:38 ◼   ► do its stuff.

00:16:39 ◼   ► And so until those times actually go to zero, I'm still going to be aware of performance

00:16:45 ◼   ► as a thing.

00:16:46 ◼   ► But overall, I'm very happy with it.

00:16:49 ◼   ► And I think it's more, it was just about, it was time to upgrade from my earlier computer.

00:16:56 ◼   ► And I think it's a noticeable upgrade, whether or not it was an essential one, it's hard

00:17:01 ◼   ► to say.

00:17:02 ◼   ► I think I was starting to notice some, you know, like my older computer every now and

00:17:06 ◼   ► then would have some image retention issues or things like that, that I was starting to

00:17:12 ◼   ► notice that it's like, well, it's maybe it's just time to move on.

00:17:15 ◼   ► And I think the three years I think it had been since I got that computer, it seemed

00:17:19 ◼   ► like a reasonable time to upgrade.

00:17:20 ◼   ► But like, it's a noticeable upgrade.

00:17:22 ◼   ► It's a good upgrade.

00:17:23 ◼   ► It's not like a mind bending like, wow, this is amazing.

00:17:26 ◼   ► Now I can do all these things that I couldn't do before.

00:17:28 ◼   ► But you know, welcome and welcome improvement, nevertheless.

00:17:31 ◼   ► Yeah, I don't have much to add.

00:17:33 ◼   ► I agree with everything you just said.

00:17:34 ◼   ► I have all the exact same experiences basically.

00:17:37 ◼   ► Yeah.

00:17:38 ◼   ► And so one thing I will say that I do like is I like the having extra ports on the back.

00:17:45 ◼   ► I found that to be quite nice where we have previously on the previous generation, IMAX,

00:17:50 ◼   ► I only had four USB-A plugs on the back.

00:17:54 ◼   ► Whereas now I have four of those and four USB-C or I don't even know.

00:18:00 ◼   ► There's probably Thunderbolt 3 ports maybe as well.

00:18:03 ◼   ► It's both.

00:18:04 ◼   ► They are Thunderbolt 3 USB-C ports.

00:18:06 ◼   ► Great.

00:18:07 ◼   ► Whatever those are, the small skinny ones, I have four of those as well.

00:18:10 ◼   ► And that's been a welcome improvement.

00:18:13 ◼   ► Like I plug a backup drive into one of those.

00:18:15 ◼   ► Like I have a Thunderbolt 3 backup drive that I plug in there and I do daily snapshots onto.

00:18:21 ◼   ► And so it's nice to not have to -- because the one thing that I can never -- I find like

00:18:25 ◼   ► you can never have enough USB-A ports.

00:18:28 ◼   ► And I mean I even have one of them going into a 12-port hub.

00:18:32 ◼   ► Yeah, me too.

00:18:33 ◼   ► I think mine's only 10-port, but yeah.

00:18:35 ◼   ► Yeah, it's like because I mean -- and they're all -- every one of them is used because they're

00:18:38 ◼   ► all going out to some test device or Apple Watch or something.

00:18:43 ◼   ► So like I have so many things in here that charge via USB.

00:18:46 ◼   ► So it's nice to kind of have those.

00:18:48 ◼   ► And then now I have this other array of ports that I can plug drives into and things that

00:18:52 ◼   ► I feel like should be plugged directly into the computer.

00:18:55 ◼   ► Because I never felt good about plugging my backup drive into the hub because I mean it's

00:19:01 ◼   ► fine because it's a backup drive, but it's the kind of thing where you feel like a direct

00:19:05 ◼   ► connection would be good for bandwidth purposes.

00:19:07 ◼   ► Well, and also a lot of times direct connections are the only reliable connections.

00:19:11 ◼   ► For a lot of peripherals, a lot of adapters and hubs and things, they are like 99% reliable,

00:19:16 ◼   ► but not 100% reliable.

00:19:17 ◼   ► And for certain tasks, that matters a lot.

00:19:20 ◼   ► Like things that are related to like my network connectivity or my audio interfaces for podcasting,

00:19:25 ◼   ► I need those to be 100%.

00:19:27 ◼   ► And my keyboard, like I can't have my keyboard drop 1% of its keystrokes or repeat things

00:19:33 ◼   ► or be weird.

00:19:34 ◼   ► And I have had those issues with a lot of hubs and adapters I've used in the past.

00:19:39 ◼   ► So this is a much bigger problem on laptops and the desktops, especially the more recent

00:19:44 ◼   ► ones.

00:19:45 ◼   ► But there's a lot of reasons why the ports that are built in to computers tend to be

00:19:51 ◼   ► 100% reliable, whereas anything that's broken out with a hub or anything tends to not be

00:19:57 ◼   ► quite 100% a lot of the time.

00:19:58 ◼   ► Yeah.

00:19:59 ◼   ► And so it's great to have those extra ones.

00:20:00 ◼   ► And as a brief aside, my main, like the way I typically am working when I'm developing

00:20:06 ◼   ► is I'll have an iPhone, depending on what I'm developing and where I am, one of my various

00:20:12 ◼   ► test iPhones, plugged directly into my computer with lightning.

00:20:17 ◼   ► I know you can do the wireless version of this now, but I just like the lightning version

00:20:21 ◼   ► because I'm old and curmudgeonly.

00:20:24 ◼   ► But one thing I was curious was if the USB-C to lightning cable would be a faster way to

00:20:31 ◼   ► do that process than the USB-A to lightning cable.

00:20:34 ◼   ► And so this last week I actually did an experiment that I figured I'd mention on the show where

00:20:38 ◼   ► I was just basically benchmarking how long it took to move files and things back and

00:20:43 ◼   ► forth when it was plugged in via the USB-C to lightning versus USB-A to lightning.

00:20:49 ◼   ► Turns out it's basically the same.

00:20:51 ◼   ► It's basically a wash between the two, which makes me think that the bottleneck is on the

00:20:54 ◼   ► phone rather than on the computer because clearly more data could be pushed through

00:21:01 ◼   ► the USB-C port to the lightning cable or the lightning cable is the bottleneck.

00:21:07 ◼   ► But along the short list I figured I'd mention it here that I appreciate having the extra

00:21:13 ◼   ► USB-C ports because now I can have a dedicated direct connection as my primary development

00:21:18 ◼   ► plug.

00:21:21 ◼   ► It's not there for speed.

00:21:22 ◼   ► It's probably just there for reliability and not having to go through the hub.

00:21:25 ◼   ► So you win some, you lose some, I suppose.

00:21:27 ◼   ► Yeah, actually, minor feedback on that.

00:21:30 ◼   ► I would be interested to see if the test is the same if you're using a 10.5 or a 12.9

00:21:36 ◼   ► inch iPad Pro because those, I think, are the only iOS devices that actually have USB-3

00:21:43 ◼   ► support on their lightning port.

00:21:45 ◼   ► As far as I know, all of the iPhones and every iPad except the 10.5 and 12.9 Pros, the internal

00:21:52 ◼   ► USB parts of their lightning plug are USB-2 and I think the USB-A to lightning cables

00:21:57 ◼   ► are also USB-2 cables whereas the USB-C to lightning cable is a USB-3 cable and the 10.5

00:22:03 ◼   ► and 12.9 have USB-C, or have USB-3 as their interfaces.

00:22:07 ◼   ► Okay, so maybe it is just, yeah, so I will admit I was testing with an iPhone X, but

00:22:13 ◼   ► I can certainly repeat the test with an iPad or iPad Pro and see if it works any better.

00:22:19 ◼   ► Yeah, but not the 9.7.

00:22:20 ◼   ► That's still USB-2.

00:22:21 ◼   ► It has to be a 10.5 or a 12.9.

00:22:24 ◼   ► Anyway, yeah, and I have found too, like the wireless debugging, I like it, but it's, I

00:22:31 ◼   ► don't know if it's like when I upgrade to a new beta or something, but a lot of times

00:22:34 ◼   ► it just stops working.

00:22:35 ◼   ► Like I have to, then I have to like plug in the phone to reconfigure it and so I just

00:22:38 ◼   ► like, it's kind of annoying.

00:22:39 ◼   ► - Yeah, and that's not what you want.

00:22:41 ◼   ► Like you don't want your debug cycle to be, every so often, just to stop working.

00:22:49 ◼   ► It's already the most inconvenient part of development is that sort of the cycle where

00:22:52 ◼   ► you're kind of, you're making a change and then you're building and deploying it to your

00:22:55 ◼   ► phone and then going back and forth.

00:22:57 ◼   ► So yeah, I will continue to use a plug directly plugged in and now I'm using USB-C to Lightning

00:23:03 ◼   ► just because now I can have, I have an extra port that I can dedicate to that and it seems

00:23:08 ◼   ► to work really well.

00:23:10 ◼   ► The last thing I think it makes sense to probably close off talking about is I always find getting

00:23:15 ◼   ► a new machine is kind of an interesting process just as it's an opportunity to see how portable

00:23:21 ◼   ► your setup is.

00:23:22 ◼   ► And I think as a slightly more meta point, like it's an important thing if you're self-employed

00:23:28 ◼   ► to think about how portable your setup is because you are going to be, like you're responsible

00:23:35 ◼   ► for being able to continue work progress irrespective of whatever's going on externally.

00:23:41 ◼   ► Like if your computer has a horrible problem and has to go to the shop for two weeks or

00:23:48 ◼   ► whatever, even if you have to buy a new computer for some, you know, you spill water on it

00:23:54 ◼   ► and it breaks or it falls off your desk or whatever.

00:23:58 ◼   ► If something happens, you need to be able to continue to work.

00:24:00 ◼   ► And so it's an important thing I think to use getting a new computer as an opportunity

00:24:05 ◼   ► to see how portable your setup is, to see how quickly you can get set up and going onto

00:24:11 ◼   ► a new machine because you want to practice it when the stakes are low rather than having

00:24:16 ◼   ► to practice when the stakes are high, when suddenly you're in a situation where you have

00:24:21 ◼   ► a critical bug fix you need to do and then your computer dies for some reason and then

00:24:25 ◼   ► all of a sudden you're in a really big problem.

00:24:27 ◼   ► Even if you went to the Apple Store, bought a brand new laptop, brought it home, if you

00:24:31 ◼   ► don't have all the files you need, if your setup isn't portable in that way, if you're

00:24:36 ◼   ► entirely reliant on the data on that drive, you're going to be in big trouble.

00:24:41 ◼   ► So hey, it's always a good thing to keep in mind that I trust and hope that you have a

00:24:46 ◼   ► robust backup solution that allows you to make this process straightforward that, like

00:24:50 ◼   ► I said, I have a daily clone of my main development machine that is just always running and it

00:24:56 ◼   ► means that if ever my, you know, something were to happen, I will at most lose a day's

00:25:01 ◼   ► worth of work, probably less than that because of, you know, syncing and check-ins and things,

00:25:05 ◼   ► but at worst it would be that and it's a bootable backup so if I, worse came to worst, I could

00:25:10 ◼   ► just get any laptop, any Mac laptop ever, plug my backup into that, boot from that,

00:25:16 ◼   ► and at least even if it's not as optimized of a setup, I could do it there, but anyway,

00:25:22 ◼   ► just worth mentioning.

00:25:24 ◼   ► And when I was doing my migration to this new computer, I tried to kind of keep track

00:25:28 ◼   ► of the things that become part of that and it's like, I need to move over all my code,

00:25:33 ◼   ► I need to move over all my assets, graphic design assets like Photoshop files, things

00:25:38 ◼   ► like that, migrate my SSH keys so I can connect all my machines, all my signing keys, which

00:25:45 ◼   ► you can, there's a, in theory, Xcode makes much easier now with all of its tools, but

00:25:53 ◼   ► in practice I found it still was a bit cumbersome and problematic, but, you know.

00:25:56 ◼   ► Oh yeah, this is the import and export developer profile settings in Xcode's account pane?

00:26:01 ◼   ► Yes.

00:26:02 ◼   ► I've had great luck with that, it's always worked for me.

00:26:04 ◼   ► It's like, I always find that it works, maybe it's just because I have so many apps, but

00:26:08 ◼   ► I find that it inevitably, there's some little thing that catches me out, and I have to do

00:26:14 ◼   ► something in a slightly more manual process or export the keychain from my old computer

00:26:18 ◼   ► and move it into my new computer and kind of merge them together or things like that,

00:26:22 ◼   ► but overall it's certainly gotten a lot better, and the automatic code signing stuff helps

00:26:26 ◼   ► a lot with this too, that at least once you have the base signing keys transferred over,

00:26:31 ◼   ► then it can take care of a lot of, if you're missing other profiles or things, it can take

00:26:35 ◼   ► care of that a lot for you now.

00:26:38 ◼   ► One thing that I do, I have run into recently that was kind of a funny thing is I forgot

00:26:42 ◼   ► that I run a local development database, like I have a Postgres database that's just running

00:26:47 ◼   ► on my main computer.

00:26:48 ◼   ► Oh sure.

00:26:49 ◼   ► And, which, you know, it's like, but it's, I, for some reason I got so used to the fact

00:26:53 ◼   ► that all my databases are remote and posted on Linux servers that I'd totally forgotten

00:26:58 ◼   ► that when I, you know, when I kicked up a development environment and it's like, "Can't

00:27:03 ◼   ► connect to the database," and it's like, "What do you mean you can't connect to the database?"

00:27:05 ◼   ► And it's like, "Oh right, that's because the database is on the computer that's sitting

00:27:08 ◼   ► on the floor next to me," and so I had to remember to go and get the actual, like, the

00:27:12 ◼   ► data from the database and move it over into the new computer, even though I had set up

00:27:17 ◼   ► Postgres on it as part of my process.

00:27:20 ◼   ► One thing I like to do for this is keep certain files and scripts for doing new computer setup

00:27:26 ◼   ► in Dropbox.

00:27:27 ◼   ► I have a whole Dropbox folder for basically, like, setting up a new computer, and it includes

00:27:32 ◼   ► a couple of shell scripts for doing things like configuring Homebrew and installing the

00:27:37 ◼   ► Homebrew apps that I use, you know, on my Mac, you know, so that I can run that whenever

00:27:42 ◼   ► there's an OS upgrade or whenever there's, you know, a new machine or a clean install,

00:27:46 ◼   ► and just like, you know, checklists.

00:27:48 ◼   ► I always look at Casey's checklist and move into a new computer that he, on his blog,

00:27:52 ◼   ► is willing to because it's great.

00:27:53 ◼   ► It includes a lot of stuff that I might sometimes forget, like, you know, deauthorizing and

00:27:58 ◼   ► reauthorizing certain applications and iTunes and things like that.

00:28:02 ◼   ► But yeah, it's something that it's really nice to, like, write down, keep in a list,

00:28:08 ◼   ► and keep that list somewhere that you will find it and that it's obvious, like Dropbox.

00:28:12 ◼   ► And there will be steps to the migration process that you want to remember or that you need

00:28:18 ◼   ► to remember that you will very likely forget if it's not in a list.

00:28:22 ◼   ► You could, in theory, use like Migration Assistant or like make a clone and deploy that clone

00:28:27 ◼   ► onto your computer, but I really think the process of going through that checklist and

00:28:31 ◼   ► going through and rebuilding is so useful.

00:28:35 ◼   ► And because it only happens every couple of years, it's something that's worthwhile doing.

00:28:39 ◼   ► And I will say, always keep a snapshot clone of your old machine and keep that drive, like,

00:28:47 ◼   ► forever.

00:28:48 ◼   ► I have found, I've started, it's a habit I got into where I keep the last snapshot of

00:28:52 ◼   ► every development machine I've ever had.

00:28:54 ◼   ► And even if I end up just getting rid of that computer, I sell it or I give it to a friend

00:28:58 ◼   ► or a family or whatever, like, oh, whatever ends up happening, I have a snapshot of that

00:29:01 ◼   ► machine.

00:29:02 ◼   ► And the number of times that it proved invaluable for going back and finding some file that

00:29:06 ◼   ► I thought I'd checked in but I hadn't, and it's come back time and time again to save

00:29:11 ◼   ► me.

00:29:12 ◼   ► So highly recommend just take a snapshot, put it on a hard drive, label what it is,

00:29:16 ◼   ► put it on a shelf.

00:29:17 ◼   ► You never know when you're going to, that can come into handy in the future.

00:29:19 ◼   ► So always recommended practice.

00:29:21 ◼   ► That's a good tip.

00:29:22 ◼   ► All right, thanks for listening everybody, and we'll talk to you next week.

00:29:26 ◼   ► Bye.

00:29:27 ◼   ► Thank you.