Podcast Search

Developing Perspective

#10 - A Digital Diet

Select a time to play from there. The line being spoken is highlighted as the audio plays.

0:00:00Hello, and welcome to Developing Perspective.

0:00:03Developing Perspective is a near-daily podcast discussing the news of Note and iOS, Apple,

0:00:07and the like.

0:00:08I'm your host, David Smith.

0:00:09I'm an independent iOS developer based in Herndon, Virginia.

0:00:13This is show number 10, and today is Wednesday, August 10, 2011.

0:00:18The format of Developing Perspective is basically that I'll cover a handful of links, articles,

0:00:22and other things that I found interesting since roughly the last 24 hours ago, and then

0:00:27and move over to a more general discussion towards the end.

0:00:30The show will never be longer than 15 minutes, and without that, further ado, let's get going.

0:00:35All right, our first link today is entitled "The Growing User and the Perennial Beginner."

0:00:40This is over on Ignore the Code, Lucas Mathis's blog, who you may have noticed I've linked

0:00:46to a lot recently because he's got so much good stuff there.

0:00:49Basically it's just a really good walkthrough of the analyzing and understanding the topics

0:00:55of depth and experience with an application.

0:00:59So if you imagine in a normal application, as you use it more and more, as your experience

0:01:04grows, the depth to which you can use that application tends to increase as well.

0:01:08So if you imagine when you first sat down to write your first Word document, you're

0:01:13opening it up and you were using it at a very shallow level.

0:01:16You were just typing and looking at the words add in there.

0:01:20Then as you get more and more experienced with the application, you get more and more

0:01:23depth.

0:01:24doing more and more things with that application.

0:01:28And the interesting thing that Lucas walks through,

0:01:30though, is how a lot of applications

0:01:32segment the continuum of experience

0:01:35and depth in different ways.

0:01:37So for example, something like iMovie

0:01:41is designed to be very easy to just pick up and use.

0:01:44With very little experience, you can immediately

0:01:47start using the application.

0:01:48However, it's not very deep.

0:01:50At some point, you level off.

0:01:52And no matter how much more you use the application,

0:01:54You're not really getting more depth, no more functionality,

0:01:57no more abilities are starting to appear.

0:02:00Whereas you can contrast that to something like Final Cut Pro,

0:02:03where in order to get started at all,

0:02:06there's this large discontinuous area

0:02:08where you start at a pretty deep place in order to do anything.

0:02:12But it allows you to expand dramatically out from that.

0:02:16This is interesting as a developer to think about,

0:02:18because whenever you make an application,

0:02:20you need to have this in the back of your mind

0:02:22what it is that you're trying to do.

0:02:25Are you trying to create an application that

0:02:27has that kind of depth and richness,

0:02:29that as you use it more and more,

0:02:30it becomes a richer user experience for your users?

0:02:33Or are you trying to make something that's shallow and easy

0:02:35to use and doesn't go sort of beyond that?

0:02:37Or are you trying to create something for a power user that

0:02:40starts fairly deep and moves on?

0:02:41And you'll make a lot of design and decisions

0:02:44about how you're going to do it based on that choice.

0:02:49And while it's not necessarily one is right, one is wrong,

0:02:51It's often very hard to have an application that

0:02:53scales linearly with experience, with depth.

0:02:58And so it's often easier to pick a market

0:03:00and have two different versions, for example,

0:03:02sort of the basic version of the advanced

0:03:04or something like that, where you

0:03:06can make those trade-offs in a much more manageable way.

0:03:10Next, I just wanted to point out something

0:03:13that Apple recently started.

0:03:14I think it was just in the last day or two, which

0:03:17is an Apple recycling program, where basically they're

0:03:19allowing you to get store credit for recycling old Apple hardware.

0:03:25Which if you're anything like me, you've got boxes and boxes of the stuff sitting around.

0:03:29Now the way that I handle my old devices is I basically never get rid of anything.

0:03:34I never sell or dispose of any device I have primarily because it allows me to have such

0:03:39a wide variety of testing devices.

0:03:41I think I have something in the range of eight or nine different iOS devices covering the

0:03:45the range of spectrum I think starting from the iPhone 3G all the way up through to the

0:03:49iPad 2.

0:03:52And so it's really nice for me to be able to do all kinds of different operating systems

0:03:55and versions to be able to do compatibility testing to be able to try and simulate what

0:03:59a user has and say "Oh, I'm using this second gen iPod touch running 4.1, I actually have

0:04:05a device that I can play with and make that work with them."

0:04:09But if you're not, if you're someone who likes sort of clearing out your stuff, this is a

0:04:12nice, very convenient way to get rid of your old hardware

0:04:15in a way that gets you a little cash back in your pocket.

0:04:17For example, when the new iPhone 5 comes out,

0:04:21if you're someone who sells your current model to replace it,

0:04:25I think if you had a current 16 gig iPhone 4,

0:04:29you get about $230 credit for that, which is pretty good.

0:04:32It essentially pays for your new iPhone.

0:04:35So worth checking out.

0:04:37All right, next, just a quick little note

0:04:39that Apple released something called the Line Recovery Disk

0:04:41And this is just an easier way to create a recovery disk off your main boot partition.

0:04:47So if you're someone who wants to have another way to be able to recover a Lion machine,

0:04:52obviously without using it because there is no physical media to recover from, you have

0:04:56to recover from a physical drive.

0:04:57So this is just a little tool that they created to allow you to do that.

0:05:02Just worth checking out if that's something that you are concerned about with your Lion

0:05:05installation.

0:05:06All right.

0:05:08And next, there's a great little trick I found while I was working on a project that is using

0:05:14Arc, which is automatic reference counting, which is something new coming in iOS 5 and

0:05:20I guess Lion, probably it's 10.7.1, something like that, which is basically a way to avoid

0:05:26memory management constraints and problems in your Cocoa development.

0:05:32And this is, originally it was something that was under NDA at this point.

0:05:36It's fairly public.

0:05:37They've talked about it a lot in public in the LLVM development

0:05:42site and those types of things.

0:05:43So I think it's fairly safe to talk about at this point.

0:05:46But it's interesting, the best part about this article

0:05:50I post on Stack Overflow that I found

0:05:52is that it's possible to selectively enable

0:05:56automatic reference counting on a per file basis in an Xcode

0:06:00project.

0:06:01And especially what I found this to be helpful for

0:06:04is if I'm using a library code, whether that

0:06:06be an internal library that I wrote or a library that's

0:06:09a third party coming off someone's GitHub repository

0:06:15or something.

0:06:16And if they are not ARC compliant, which in general,

0:06:20things aren't at this point, because why would you be?

0:06:22It's not a publicly shipping version, so it's kind of tricky.

0:06:25But it allows you to take--

0:06:27you essentially just add a compiler flag in the build

0:06:30settings for that file, and it allows you that--

0:06:34it'll then compile that normally.

0:06:35So it'll have normal reference counting,

0:06:37and you're then responsible for the purposes of that file

0:06:41to be doing all the reference counting correctly.

0:06:43Now, you could probably end up with some kind of strange things

0:06:46in the boundaries between that, but so far I've

0:06:48had some pretty good experience with it.

0:06:50And it allows me to kind of just quickly get some projects

0:06:52off the ground using internal libraries

0:06:55that I have that aren't yet converted over to Arc.

0:06:58So worth checking out.

0:07:00All right, and lastly today, I just

0:07:02have a quick little link to customizing your Bash prompt.

0:07:05And this is something that if you're

0:07:07a developer of a reasonable sophistication,

0:07:09you probably know anyway.

0:07:10But I recently redid mine, and so I figured I'd link to it.

0:07:14But it's basically your bash prompt.

0:07:15So when you open up the terminal,

0:07:17the characters that appear before your-- I guess

0:07:21the carrot where you're actually going to be entering your code

0:07:25are entirely customizable.

0:07:26And you can put all manner of things in there-- usernames,

0:07:29times, dates, all kinds of interesting stuff there.

0:07:33And you can change colors and who knows what.

0:07:36And it allows you to just kind of customize that to your preferences.

0:07:39For me, I like having the time and the current path as the two things that are in my prompt.

0:07:46And I do that primarily because the time is really helpful often when I'm trying to see

0:07:50how long something ran.

0:07:52So if I'm running a script and I'm like, "That seemed like that took a little longer than

0:07:54I thought, that kind of thing," I can easily just compare the timestamps and see when I

0:07:58kicked it off and when it completed.

0:08:01And then it includes the working directory because it just helps kind of keep track of

0:08:03where you are.

0:08:04So just a nice way to kind of customize and improve your workflow in the terminal.

0:08:09All right, so now I'm going to move over to the general discussion for today.

0:08:14And the topic for today is what I'm calling my digital diet.

0:08:19And what I am specifically talking about here is something that I recently started doing.

0:08:23After realizing how much, just how much that I was, time and energy and specifically just

0:08:29sort of effort that I was putting into keeping up with sort of digital news and related things.

0:08:36So often the most primary place that this was happening was inside of Twitter and the

0:08:40way that I was using it and the way that I was checking it.

0:08:43And what a typical kind of day for me would look like is I'd wake up, pick up my iPhone

0:08:474, open it up, open up my email, see if there's anything in there that needs immediate attention,

0:08:53open up Tweetbot, open up, look in there, read all my tweets, see what's going on.

0:08:57I was following at the time, maybe 120 people, something like that.

0:09:02So it's a fair volume, not an absurd volume, but it was almost at that dangerous point

0:09:07where I could keep up with everything in it.

0:09:09So it wasn't sort of declaring bankruptcy about following things.

0:09:12If I was following a thousand people, it would just be impossible to read every tweet in

0:09:16my stream.

0:09:18But it was at this kind of dangerous point where it was taking a lot of time to keep

0:09:21up with that, but it still felt possible.

0:09:24So that's what I was doing.

0:09:25And I'd go over to Reader and look at all my RSS feeds,

0:09:29check that out, and then flip over

0:09:31to Instapaper at the end of all that

0:09:34to read all the articles and things

0:09:35that I had marked as interesting for later in Reader or Tweetbot.

0:09:40And the thing that I was kind of struck by, though,

0:09:42was how much of my day and how much

0:09:44of my sort of cognitive energy of a day

0:09:47was being spent doing that.

0:09:49I was probably checking those various things.

0:09:53it's probably not an exaggeration to say 50 times a day, maybe, something like that.

0:09:57It sort of became my default activity. It was almost this visceral addiction that I had when

0:10:03I had a free moment, where my mind went from actively engaged in whatever it was into that

0:10:09more resting state. It was like, "Oh, let's go check what's going on. Let's see what's happening.

0:10:13I wonder what's happening there. Let's check my email. Let's check Twitter. Let's check the RSS."

0:10:16And I was becoming very cognizant that what I was doing, though, that I was never allowing

0:10:23myself to rest. That my mind was creating this sort of dependence and addiction on constantly

0:10:29having being fed with new more information, more knowledge, more links, more articles,

0:10:34all kinds of things. And it was, I think, ultimately was being very damaging to sort of my

0:10:39typical day for me. I was always being tired. I was always kind of feeling worn down. And part

0:10:45of that was because I was never actually resting. I was always on. And so what I did is this most of

0:10:52this was being manifested itself on my iPhone. And so I specifically took my iPhone, I removed,

0:10:58I, let's see, I removed mail, I removed all my Twitter clients, all my RSS readers, I

0:11:04removed Instapaper, and I removed Safari that I took all and then I went into the parental

0:11:11controls area, I set a, I removed the ability to add new applications, the ability to turn

0:11:16on Safari, those types of things. And then I had asked my wife to set a passcode for

0:11:21that I didn't know.

0:11:22And the reason is that I had to do that rather than just

0:11:25turning them off and then knowing the passcode,

0:11:27is I don't trust myself.

0:11:29I don't trust that I'm not going to be like,

0:11:30oh, this would be a great time for me to do that.

0:11:32I really want to.

0:11:34And it's kind of like forcing me to go cold turkey.

0:11:37It's allowing me to kind of break that habit.

0:11:39The interesting thing is after I did that,

0:11:41I still have this urge, which is kind of a strange thing,

0:11:46and always kind of worrying when you find yourself kind of

0:11:49driven by something that you're not really mindful of. I was still reaching for my iPhone,

0:11:55I'd pick it up and I'd be like, "Wait, I can't do anything on this." But that would happen dozens

0:12:00of times a day. And that just sort of proves to me that I'm doing the right thing because I'm not

0:12:05really in control of that. That's sort of become an addiction and become a part of my day that is

0:12:10not something that I'm consciously intending to do. It's a bad habit that I'd fallen into.

0:12:17And so at this point, it's about four or five days into this, and the incidence of those

0:12:22kinds of adjustments are getting better.

0:12:25I'm doing that less and less.

0:12:27And on the plus side, and this is where I sort of get to the point of recommending someone

0:12:31to recommend going on a digital diet, kind of cutting off yourself from that sort of

0:12:37always on, never-ending sort of approach to information is at this point, I feel like

0:12:43I'm more rested.

0:12:45My mind is more at peace.

0:12:49In some ways, it reminds me a bit of--

0:12:51it's like I'm spending more time taking a shower.

0:12:54And when I say that, I mean it's that kind of thinking

0:12:56that you have when you take a shower.

0:12:58Most people have this shared experience

0:13:00that you have your best ideas when you're in the shower.

0:13:02And I think a lot of that is your mind is idling.

0:13:04It's kind of like your computer when it does something to do.

0:13:07It just switches into idle mode, and you kind of

0:13:09get into this different state.

0:13:11Whereas if I was never allowing myself to get there,

0:13:13I was always, whenever I went to sort of idle,

0:13:16whenever I went to sort of had nothing

0:13:18as my first most thought, all of a sudden I was like,

0:13:21oh, let's fill that in.

0:13:22Let's throw stuff in there.

0:13:23And it's kind of turned me into--

0:13:26it's like I'm a little kid who is having a piece of candy

0:13:28every 10 minutes.

0:13:30And it tastes great at the time.

0:13:31It's good, exciting, it's fun.

0:13:33I feel like I'm engaged.

0:13:34I feel like I'm part of the community.

0:13:36This is great.

0:13:37But really, all I'm doing is rotting my teeth

0:13:39and making my blood sugar go wild.

0:13:42And so in that sense, I think it's definitely

0:13:44been a good thing.

0:13:44And at some point, I expect I'll probably

0:13:47start putting a few things back on to my iPhone.

0:13:50At some point, I'll probably be--

0:13:53I'll work on exactly what I want that to be.

0:13:55But the nice thing is I'll be making

0:13:57a proactive, conscious decision for what

0:13:59it is that I want that to be, rather than being

0:14:01driven by a bad habit that I got myself in.

0:14:04So anyway, that's just something that I've been doing that I

0:14:06hopefully is helpful to think about, or at least

0:14:09to be a little introspective on and think

0:14:11about really what's driving me.

0:14:13Am I in control of this?

0:14:14Or am I kind of falling into a bad habit?

0:14:17And that's creating problems for me.

0:14:19So anyway, that's the topic for today.

0:14:21Hope you enjoyed today's show.

0:14:22If you have any questions, comments, thoughts,

0:14:24hit me up on Twitter.

0:14:25I'm @_davidsmith.

0:14:26Though, like I just said, I probably

0:14:28won't be getting back to you quite as quickly.

0:14:29I still check Twitter.

0:14:30But it's more something I do once a day, twice a day.

0:14:34And then otherwise, I hope you have a good day.

0:14:37If you like the show, make sure you tell your friends about it.

0:14:39And otherwise, happy coding.

0:14:40and I'll talk to you tomorrow.

0:14:41Bye.