#10 - A Digital Diet
00:00:00
◼
►
Hello, and welcome to Developing Perspective.
00:00:03
◼
►
Developing Perspective is a near-daily podcast discussing the news of Note and iOS, Apple,
00:00:07
◼
►
and the like.
00:00:08
◼
►
I'm your host, David Smith.
00:00:09
◼
►
I'm an independent iOS developer based in Herndon, Virginia.
00:00:13
◼
►
This is show number 10, and today is Wednesday, August 10, 2011.
00:00:18
◼
►
The format of Developing Perspective is basically that I'll cover a handful of links, articles,
00:00:22
◼
►
and other things that I found interesting since roughly the last 24 hours ago, and then
00:00:27
◼
►
and move over to a more general discussion towards the end.
00:00:30
◼
►
The show will never be longer than 15 minutes, and without that, further ado, let's get going.
00:00:35
◼
►
All right, our first link today is entitled "The Growing User and the Perennial Beginner."
00:00:40
◼
►
This is over on Ignore the Code, Lucas Mathis's blog, who you may have noticed I've linked
00:00:46
◼
►
to a lot recently because he's got so much good stuff there.
00:00:49
◼
►
Basically it's just a really good walkthrough of the analyzing and understanding the topics
00:00:55
◼
►
of depth and experience with an application.
00:00:59
◼
►
So if you imagine in a normal application, as you use it more and more, as your experience
00:01:04
◼
►
grows, the depth to which you can use that application tends to increase as well.
00:01:08
◼
►
So if you imagine when you first sat down to write your first Word document, you're
00:01:13
◼
►
opening it up and you were using it at a very shallow level.
00:01:16
◼
►
You were just typing and looking at the words add in there.
00:01:20
◼
►
Then as you get more and more experienced with the application, you get more and more
00:01:24
◼
►
doing more and more things with that application.
00:01:28
◼
►
And the interesting thing that Lucas walks through,
00:01:30
◼
►
though, is how a lot of applications
00:01:32
◼
►
segment the continuum of experience
00:01:35
◼
►
and depth in different ways.
00:01:37
◼
►
So for example, something like iMovie
00:01:41
◼
►
is designed to be very easy to just pick up and use.
00:01:44
◼
►
With very little experience, you can immediately
00:01:47
◼
►
start using the application.
00:01:48
◼
►
However, it's not very deep.
00:01:50
◼
►
At some point, you level off.
00:01:52
◼
►
And no matter how much more you use the application,
00:01:54
◼
►
You're not really getting more depth, no more functionality,
00:01:57
◼
►
no more abilities are starting to appear.
00:02:00
◼
►
Whereas you can contrast that to something like Final Cut Pro,
00:02:03
◼
►
where in order to get started at all,
00:02:06
◼
►
there's this large discontinuous area
00:02:08
◼
►
where you start at a pretty deep place in order to do anything.
00:02:12
◼
►
But it allows you to expand dramatically out from that.
00:02:16
◼
►
This is interesting as a developer to think about,
00:02:18
◼
►
because whenever you make an application,
00:02:20
◼
►
you need to have this in the back of your mind
00:02:22
◼
►
what it is that you're trying to do.
00:02:25
◼
►
Are you trying to create an application that
00:02:27
◼
►
has that kind of depth and richness,
00:02:29
◼
►
that as you use it more and more,
00:02:30
◼
►
it becomes a richer user experience for your users?
00:02:33
◼
►
Or are you trying to make something that's shallow and easy
00:02:35
◼
►
to use and doesn't go sort of beyond that?
00:02:37
◼
►
Or are you trying to create something for a power user that
00:02:40
◼
►
starts fairly deep and moves on?
00:02:41
◼
►
And you'll make a lot of design and decisions
00:02:44
◼
►
about how you're going to do it based on that choice.
00:02:49
◼
►
And while it's not necessarily one is right, one is wrong,
00:02:51
◼
►
It's often very hard to have an application that
00:02:53
◼
►
scales linearly with experience, with depth.
00:02:58
◼
►
And so it's often easier to pick a market
00:03:00
◼
►
and have two different versions, for example,
00:03:02
◼
►
sort of the basic version of the advanced
00:03:04
◼
►
or something like that, where you
00:03:06
◼
►
can make those trade-offs in a much more manageable way.
00:03:10
◼
►
Next, I just wanted to point out something
00:03:13
◼
►
that Apple recently started.
00:03:14
◼
►
I think it was just in the last day or two, which
00:03:17
◼
►
is an Apple recycling program, where basically they're
00:03:19
◼
►
allowing you to get store credit for recycling old Apple hardware.
00:03:25
◼
►
Which if you're anything like me, you've got boxes and boxes of the stuff sitting around.
00:03:29
◼
►
Now the way that I handle my old devices is I basically never get rid of anything.
00:03:34
◼
►
I never sell or dispose of any device I have primarily because it allows me to have such
00:03:39
◼
►
a wide variety of testing devices.
00:03:41
◼
►
I think I have something in the range of eight or nine different iOS devices covering the
00:03:45
◼
►
the range of spectrum I think starting from the iPhone 3G all the way up through to the
00:03:52
◼
►
And so it's really nice for me to be able to do all kinds of different operating systems
00:03:55
◼
►
and versions to be able to do compatibility testing to be able to try and simulate what
00:03:59
◼
►
a user has and say "Oh, I'm using this second gen iPod touch running 4.1, I actually have
00:04:05
◼
►
a device that I can play with and make that work with them."
00:04:09
◼
►
But if you're not, if you're someone who likes sort of clearing out your stuff, this is a
00:04:12
◼
►
nice, very convenient way to get rid of your old hardware
00:04:15
◼
►
in a way that gets you a little cash back in your pocket.
00:04:17
◼
►
For example, when the new iPhone 5 comes out,
00:04:21
◼
►
if you're someone who sells your current model to replace it,
00:04:25
◼
►
I think if you had a current 16 gig iPhone 4,
00:04:29
◼
►
you get about $230 credit for that, which is pretty good.
00:04:32
◼
►
It essentially pays for your new iPhone.
00:04:35
◼
►
So worth checking out.
00:04:37
◼
►
All right, next, just a quick little note
00:04:39
◼
►
that Apple released something called the Line Recovery Disk
00:04:41
◼
►
And this is just an easier way to create a recovery disk off your main boot partition.
00:04:47
◼
►
So if you're someone who wants to have another way to be able to recover a Lion machine,
00:04:52
◼
►
obviously without using it because there is no physical media to recover from, you have
00:04:56
◼
►
to recover from a physical drive.
00:04:57
◼
►
So this is just a little tool that they created to allow you to do that.
00:05:02
◼
►
Just worth checking out if that's something that you are concerned about with your Lion
00:05:05
◼
►
installation.
00:05:08
◼
►
And next, there's a great little trick I found while I was working on a project that is using
00:05:14
◼
►
Arc, which is automatic reference counting, which is something new coming in iOS 5 and
00:05:20
◼
►
I guess Lion, probably it's 10.7.1, something like that, which is basically a way to avoid
00:05:26
◼
►
memory management constraints and problems in your Cocoa development.
00:05:32
◼
►
And this is, originally it was something that was under NDA at this point.
00:05:36
◼
►
It's fairly public.
00:05:37
◼
►
They've talked about it a lot in public in the LLVM development
00:05:42
◼
►
site and those types of things.
00:05:43
◼
►
So I think it's fairly safe to talk about at this point.
00:05:46
◼
►
But it's interesting, the best part about this article
00:05:50
◼
►
I post on Stack Overflow that I found
00:05:52
◼
►
is that it's possible to selectively enable
00:05:56
◼
►
automatic reference counting on a per file basis in an Xcode
00:06:01
◼
►
And especially what I found this to be helpful for
00:06:04
◼
►
is if I'm using a library code, whether that
00:06:06
◼
►
be an internal library that I wrote or a library that's
00:06:09
◼
►
a third party coming off someone's GitHub repository
00:06:15
◼
►
or something.
00:06:16
◼
►
And if they are not ARC compliant, which in general,
00:06:20
◼
►
things aren't at this point, because why would you be?
00:06:22
◼
►
It's not a publicly shipping version, so it's kind of tricky.
00:06:25
◼
►
But it allows you to take--
00:06:27
◼
►
you essentially just add a compiler flag in the build
00:06:30
◼
►
settings for that file, and it allows you that--
00:06:34
◼
►
it'll then compile that normally.
00:06:35
◼
►
So it'll have normal reference counting,
00:06:37
◼
►
and you're then responsible for the purposes of that file
00:06:41
◼
►
to be doing all the reference counting correctly.
00:06:43
◼
►
Now, you could probably end up with some kind of strange things
00:06:46
◼
►
in the boundaries between that, but so far I've
00:06:48
◼
►
had some pretty good experience with it.
00:06:50
◼
►
And it allows me to kind of just quickly get some projects
00:06:52
◼
►
off the ground using internal libraries
00:06:55
◼
►
that I have that aren't yet converted over to Arc.
00:06:58
◼
►
So worth checking out.
00:07:00
◼
►
All right, and lastly today, I just
00:07:02
◼
►
have a quick little link to customizing your Bash prompt.
00:07:05
◼
►
And this is something that if you're
00:07:07
◼
►
a developer of a reasonable sophistication,
00:07:09
◼
►
you probably know anyway.
00:07:10
◼
►
But I recently redid mine, and so I figured I'd link to it.
00:07:14
◼
►
But it's basically your bash prompt.
00:07:15
◼
►
So when you open up the terminal,
00:07:17
◼
►
the characters that appear before your-- I guess
00:07:21
◼
►
the carrot where you're actually going to be entering your code
00:07:25
◼
►
are entirely customizable.
00:07:26
◼
►
And you can put all manner of things in there-- usernames,
00:07:29
◼
►
times, dates, all kinds of interesting stuff there.
00:07:33
◼
►
And you can change colors and who knows what.
00:07:36
◼
►
And it allows you to just kind of customize that to your preferences.
00:07:39
◼
►
For me, I like having the time and the current path as the two things that are in my prompt.
00:07:46
◼
►
And I do that primarily because the time is really helpful often when I'm trying to see
00:07:50
◼
►
how long something ran.
00:07:52
◼
►
So if I'm running a script and I'm like, "That seemed like that took a little longer than
00:07:54
◼
►
I thought, that kind of thing," I can easily just compare the timestamps and see when I
00:07:58
◼
►
kicked it off and when it completed.
00:08:01
◼
►
And then it includes the working directory because it just helps kind of keep track of
00:08:03
◼
►
where you are.
00:08:04
◼
►
So just a nice way to kind of customize and improve your workflow in the terminal.
00:08:09
◼
►
All right, so now I'm going to move over to the general discussion for today.
00:08:14
◼
►
And the topic for today is what I'm calling my digital diet.
00:08:19
◼
►
And what I am specifically talking about here is something that I recently started doing.
00:08:23
◼
►
After realizing how much, just how much that I was, time and energy and specifically just
00:08:29
◼
►
sort of effort that I was putting into keeping up with sort of digital news and related things.
00:08:36
◼
►
So often the most primary place that this was happening was inside of Twitter and the
00:08:40
◼
►
way that I was using it and the way that I was checking it.
00:08:43
◼
►
And what a typical kind of day for me would look like is I'd wake up, pick up my iPhone
00:08:47
◼
►
4, open it up, open up my email, see if there's anything in there that needs immediate attention,
00:08:53
◼
►
open up Tweetbot, open up, look in there, read all my tweets, see what's going on.
00:08:57
◼
►
I was following at the time, maybe 120 people, something like that.
00:09:02
◼
►
So it's a fair volume, not an absurd volume, but it was almost at that dangerous point
00:09:07
◼
►
where I could keep up with everything in it.
00:09:09
◼
►
So it wasn't sort of declaring bankruptcy about following things.
00:09:12
◼
►
If I was following a thousand people, it would just be impossible to read every tweet in
00:09:18
◼
►
But it was at this kind of dangerous point where it was taking a lot of time to keep
00:09:21
◼
►
up with that, but it still felt possible.
00:09:24
◼
►
So that's what I was doing.
00:09:25
◼
►
And I'd go over to Reader and look at all my RSS feeds,
00:09:29
◼
►
check that out, and then flip over
00:09:31
◼
►
to Instapaper at the end of all that
00:09:34
◼
►
to read all the articles and things
00:09:35
◼
►
that I had marked as interesting for later in Reader or Tweetbot.
00:09:40
◼
►
And the thing that I was kind of struck by, though,
00:09:42
◼
►
was how much of my day and how much
00:09:44
◼
►
of my sort of cognitive energy of a day
00:09:47
◼
►
was being spent doing that.
00:09:49
◼
►
I was probably checking those various things.
00:09:53
◼
►
it's probably not an exaggeration to say 50 times a day, maybe, something like that.
00:09:57
◼
►
It sort of became my default activity. It was almost this visceral addiction that I had when
00:10:03
◼
►
I had a free moment, where my mind went from actively engaged in whatever it was into that
00:10:09
◼
►
more resting state. It was like, "Oh, let's go check what's going on. Let's see what's happening.
00:10:13
◼
►
I wonder what's happening there. Let's check my email. Let's check Twitter. Let's check the RSS."
00:10:16
◼
►
And I was becoming very cognizant that what I was doing, though, that I was never allowing
00:10:23
◼
►
myself to rest. That my mind was creating this sort of dependence and addiction on constantly
00:10:29
◼
►
having being fed with new more information, more knowledge, more links, more articles,
00:10:34
◼
►
all kinds of things. And it was, I think, ultimately was being very damaging to sort of my
00:10:39
◼
►
typical day for me. I was always being tired. I was always kind of feeling worn down. And part
00:10:45
◼
►
of that was because I was never actually resting. I was always on. And so what I did is this most of
00:10:52
◼
►
this was being manifested itself on my iPhone. And so I specifically took my iPhone, I removed,
00:10:58
◼
►
I, let's see, I removed mail, I removed all my Twitter clients, all my RSS readers, I
00:11:04
◼
►
removed Instapaper, and I removed Safari that I took all and then I went into the parental
00:11:11
◼
►
controls area, I set a, I removed the ability to add new applications, the ability to turn
00:11:16
◼
►
on Safari, those types of things. And then I had asked my wife to set a passcode for
00:11:21
◼
►
that I didn't know.
00:11:22
◼
►
And the reason is that I had to do that rather than just
00:11:25
◼
►
turning them off and then knowing the passcode,
00:11:27
◼
►
is I don't trust myself.
00:11:29
◼
►
I don't trust that I'm not going to be like,
00:11:30
◼
►
oh, this would be a great time for me to do that.
00:11:32
◼
►
I really want to.
00:11:34
◼
►
And it's kind of like forcing me to go cold turkey.
00:11:37
◼
►
It's allowing me to kind of break that habit.
00:11:39
◼
►
The interesting thing is after I did that,
00:11:41
◼
►
I still have this urge, which is kind of a strange thing,
00:11:46
◼
►
and always kind of worrying when you find yourself kind of
00:11:49
◼
►
driven by something that you're not really mindful of. I was still reaching for my iPhone,
00:11:55
◼
►
I'd pick it up and I'd be like, "Wait, I can't do anything on this." But that would happen dozens
00:12:00
◼
►
of times a day. And that just sort of proves to me that I'm doing the right thing because I'm not
00:12:05
◼
►
really in control of that. That's sort of become an addiction and become a part of my day that is
00:12:10
◼
►
not something that I'm consciously intending to do. It's a bad habit that I'd fallen into.
00:12:17
◼
►
And so at this point, it's about four or five days into this, and the incidence of those
00:12:22
◼
►
kinds of adjustments are getting better.
00:12:25
◼
►
I'm doing that less and less.
00:12:27
◼
►
And on the plus side, and this is where I sort of get to the point of recommending someone
00:12:31
◼
►
to recommend going on a digital diet, kind of cutting off yourself from that sort of
00:12:37
◼
►
always on, never-ending sort of approach to information is at this point, I feel like
00:12:43
◼
►
I'm more rested.
00:12:45
◼
►
My mind is more at peace.
00:12:49
◼
►
In some ways, it reminds me a bit of--
00:12:51
◼
►
it's like I'm spending more time taking a shower.
00:12:54
◼
►
And when I say that, I mean it's that kind of thinking
00:12:56
◼
►
that you have when you take a shower.
00:12:58
◼
►
Most people have this shared experience
00:13:00
◼
►
that you have your best ideas when you're in the shower.
00:13:02
◼
►
And I think a lot of that is your mind is idling.
00:13:04
◼
►
It's kind of like your computer when it does something to do.
00:13:07
◼
►
It just switches into idle mode, and you kind of
00:13:09
◼
►
get into this different state.
00:13:11
◼
►
Whereas if I was never allowing myself to get there,
00:13:13
◼
►
I was always, whenever I went to sort of idle,
00:13:16
◼
►
whenever I went to sort of had nothing
00:13:18
◼
►
as my first most thought, all of a sudden I was like,
00:13:21
◼
►
oh, let's fill that in.
00:13:22
◼
►
Let's throw stuff in there.
00:13:23
◼
►
And it's kind of turned me into--
00:13:26
◼
►
it's like I'm a little kid who is having a piece of candy
00:13:28
◼
►
every 10 minutes.
00:13:30
◼
►
And it tastes great at the time.
00:13:31
◼
►
It's good, exciting, it's fun.
00:13:33
◼
►
I feel like I'm engaged.
00:13:34
◼
►
I feel like I'm part of the community.
00:13:36
◼
►
This is great.
00:13:37
◼
►
But really, all I'm doing is rotting my teeth
00:13:39
◼
►
and making my blood sugar go wild.
00:13:42
◼
►
And so in that sense, I think it's definitely
00:13:44
◼
►
been a good thing.
00:13:44
◼
►
And at some point, I expect I'll probably
00:13:47
◼
►
start putting a few things back on to my iPhone.
00:13:50
◼
►
At some point, I'll probably be--
00:13:53
◼
►
I'll work on exactly what I want that to be.
00:13:55
◼
►
But the nice thing is I'll be making
00:13:57
◼
►
a proactive, conscious decision for what
00:13:59
◼
►
it is that I want that to be, rather than being
00:14:01
◼
►
driven by a bad habit that I got myself in.
00:14:04
◼
►
So anyway, that's just something that I've been doing that I
00:14:06
◼
►
hopefully is helpful to think about, or at least
00:14:09
◼
►
to be a little introspective on and think
00:14:11
◼
►
about really what's driving me.
00:14:13
◼
►
Am I in control of this?
00:14:14
◼
►
Or am I kind of falling into a bad habit?
00:14:17
◼
►
And that's creating problems for me.
00:14:19
◼
►
So anyway, that's the topic for today.
00:14:21
◼
►
Hope you enjoyed today's show.
00:14:22
◼
►
If you have any questions, comments, thoughts,
00:14:24
◼
►
hit me up on Twitter.
00:14:25
◼
►
I'm @_davidsmith.
00:14:26
◼
►
Though, like I just said, I probably
00:14:28
◼
►
won't be getting back to you quite as quickly.
00:14:29
◼
►
I still check Twitter.
00:14:30
◼
►
But it's more something I do once a day, twice a day.
00:14:34
◼
►
And then otherwise, I hope you have a good day.
00:14:37
◼
►
If you like the show, make sure you tell your friends about it.
00:14:39
◼
►
And otherwise, happy coding.
00:14:40
◼
►
and I'll talk to you tomorrow.