Show 3
00:00:00
◼
►
Hello, and welcome to Developing Perspective.
00:00:02
◼
►
Developing Perspective is a near-daily podcast discussing the news of note in 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:12
◼
►
This is show number three, and today is Monday, August 1st, 2011.
00:00:18
◼
►
The format of Developing Perspective is that I will cover a handful of links and articles
00:00:22
◼
►
that I found interesting roughly the last 24 hours or so, and then move on to a more
00:00:26
◼
►
general discussion towards the end.
00:00:29
◼
►
The show will never be longer than 15 minutes.
00:00:31
◼
►
And without further ado, let's get to it.
00:00:34
◼
►
The first link I have is to an article called
00:00:37
◼
►
"Marketing Hacks for iOS-- How We Got 250,000 Downloads
00:00:41
◼
►
in Four Days."
00:00:42
◼
►
This is an article that doesn't necessarily
00:00:44
◼
►
cover a lot of new materials.
00:00:45
◼
►
So if you've been a developer for any length of time,
00:00:49
◼
►
most of these things they talk about are fairly old hat.
00:00:51
◼
►
But it serves as a very good introduction for someone
00:00:54
◼
►
who is potentially getting started in iOS development.
00:00:57
◼
►
and it's just kind of trying to understand what it is to market your apps and the things
00:01:02
◼
►
to consider and things to keep in mind.
00:01:05
◼
►
It's just an interesting place, especially as an introduction and tutorial.
00:01:11
◼
►
Next over on BigBucket Software's blog, there's an article called "Making Lion Work Right
00:01:19
◼
►
And this is just a great little sort of one of these little tips and tricks things for
00:01:23
◼
►
Lion talking about some of the things and settings that he set up, especially as a developer
00:01:28
◼
►
and especially just as sort of more of a power user. Things to do, definitely just interesting
00:01:34
◼
►
to get some perspective on that. And the next link I have is just sort of a blog post by
00:01:40
◼
►
Samuel Snutch talking about sort of the vast difference between programming for iOS and
00:01:46
◼
►
programming for Android. And not to beat up on Android too much, but essentially what
00:01:51
◼
►
he talks about here, which I just thought was an interesting angle, is that he's essentially
00:01:56
◼
►
saying that in many ways, Android's API is actually sort of better in a purity sense
00:02:03
◼
►
that a lot of what Android does is very design-pattern oriented, very sort of clean and thoughtful
00:02:10
◼
►
in that regard. But when you actually go to use it, things become incredibly more complicated.
00:02:15
◼
►
And it's one of those things that you end up with a situation where on iOS you can write
00:02:22
◼
►
a very little small amount of code that covers 95, 99% of cases that someone's going to use
00:02:28
◼
►
your application and it'll work great.
00:02:30
◼
►
There'll be the edge case that it doesn't work quite as well, where in theory on Android
00:02:35
◼
►
you'll be able to much more effectively handle that edge case.
00:02:38
◼
►
However, in order to actually make your application work, all the things you have to do and implement
00:02:43
◼
►
and make happen for that to actually work is so much more complicated that most users
00:02:48
◼
►
are probably just going to kind of end up doing sort of half of the work they need to
00:02:53
◼
►
do to get it basically working.
00:02:54
◼
►
Then you end up in a worse place because their API is assuming that you're going to do all
00:02:58
◼
►
of the right things, not just half of them.
00:03:00
◼
►
So just an interesting thing to kind of look at as a developer, kind of walking the line
00:03:07
◼
►
between those two.
00:03:10
◼
►
I have a link to an article over on MacObserver.com, and this is talking about the future of Mac
00:03:17
◼
►
And a lot of this is just an interesting discussion of, well, okay, so now Lion's out, what does
00:03:21
◼
►
that mean going forward?
00:03:23
◼
►
What are we going to be seeing in macOS sort of in the future as we move sort of down the
00:03:30
◼
►
road, say you look at whatever that next release is, whether that's Big Cat or if they're going
00:03:35
◼
►
to come out with macOS 11.
00:03:38
◼
►
And the interesting thing, I think, here is talking a lot about how what the line release
00:03:45
◼
►
did was, to a large degree, was change the operating system to mirror a lot of what iOS
00:03:53
◼
►
And some of that's in the way that it does it with UI and user experience and those types
00:03:59
◼
►
But really, what this article is talking about, I think, moreover, is in philosophy, where
00:04:04
◼
►
a lot of what has changed in going from Snow Leopard to Lion is making the system much
00:04:12
◼
►
more like iOS in the sense that users, it's targeted at a much more simpler user.
00:04:20
◼
►
So that the average user who uses it, who picks it up in this Apple store, comes home,
00:04:23
◼
►
works with it, their experience will be much, much better.
00:04:27
◼
►
However, the power user may be somewhat more frustrated by Lion as a result.
00:04:33
◼
►
Because what Lion does is kind of crunches you in-- OK,
00:04:37
◼
►
so as an example, the library directory
00:04:39
◼
►
is hidden by default on Lion.
00:04:42
◼
►
Now, if you're a power user, that's easy to get a roof.
00:04:44
◼
►
There's a little thing you can type in the terminal
00:04:48
◼
►
to turn that off.
00:04:49
◼
►
But the fact that that's the default
00:04:51
◼
►
is starting to indicate, OK, there's all these things
00:04:53
◼
►
that applications do that the average user should never even
00:04:56
◼
►
have the opportunity to try and mess with.
00:04:59
◼
►
And so it's just something that increasingly, I
00:05:01
◼
►
I think there's this movement in Lion to Apple is sort of unifying not just in the way that
00:05:08
◼
►
the thing looks and feels in terms of all the gesture support and what they did with
00:05:13
◼
►
scroll bars and those types of more sort of visual things.
00:05:16
◼
►
But in philosophy, I wouldn't be surprised if we're ending up into a place where, for
00:05:21
◼
►
example, launch pad becomes the sort of default view, which at that point, your Mac looks
00:05:28
◼
►
very much like an iPad.
00:05:30
◼
►
And then you have some way to get out of that and escape it, but only really if you're a
00:05:35
◼
►
So just some interesting things to think about.
00:05:40
◼
►
And lastly, in the links section today, I'm going to talk about--there's just a great
00:05:45
◼
►
use of Stack Exchange over on apple.stackexchange.com.
00:05:49
◼
►
Someone posted a question, "What tiny thing in Lion has made you smile or caught you off
00:05:56
◼
►
And so if you're not familiar, Stack Exchange is a place that you can ask questions and
00:06:00
◼
►
have them answered.
00:06:01
◼
►
And so the person who wrote this question essentially just was asking, "What are these
00:06:07
◼
►
little things?
00:06:08
◼
►
What's that tiny nugget of functionality or feature that you've discovered in Lion or
00:06:14
◼
►
been surprised by that's either made you smile or cry?"
00:06:18
◼
►
And some of these things are just really interesting.
00:06:19
◼
►
I mean, very few of them are sort of new discoveries to me, but I highly recommend if you're new
00:06:26
◼
►
to Lion playing with some of these things.
00:06:28
◼
►
As an example, there's a new thing in Finder where when you select a number of items, right-click,
00:06:32
◼
►
and instead of saying "new folder," you now have the opportunity to say "new folder with
00:06:38
◼
►
So you can very easily start grouping files and things, which is a pretty minor thing
00:06:41
◼
►
rather than creating the folder and then dragging the contents you want into it.
00:06:46
◼
►
There's lots and lots of these little things.
00:06:48
◼
►
Using Terminal Online is now amazing with all of the auto-resume and those types of
00:06:55
◼
►
does benefit a lot from that, from kind of removing the context, the state things.
00:07:00
◼
►
So every time I open up terminal, it's opened up in all the same directories, all the places
00:07:04
◼
►
that I was before.
00:07:06
◼
►
There's things in preview where you can now do signature import, where you sign on a piece
00:07:10
◼
►
of paper, hold it up in front of your iSight camera, and then use that to sign PDFs, which
00:07:15
◼
►
is pretty cool.
00:07:16
◼
►
It just adds something, you know, just an offhand feature that I don't think I heard
00:07:21
◼
►
So anyway, it's just a really good article, or certainly an article, I guess.
00:07:24
◼
►
It's just a collection of comments and things that people have discovered, but definitely
00:07:29
◼
►
worth checking out over on Stack Exchange.
00:07:34
◼
►
Next I was just going to sort of move over to the general discussion.
00:07:37
◼
►
But before I do that, I was just going to have one quick side note about the show notes.
00:07:41
◼
►
And when I say, "Oh, all those links are in the show notes," what I mean by that is the
00:07:46
◼
►
RSS feed for this podcast.
00:07:49
◼
►
If you're subscribing to inside of something like iTunes, if you look at the description
00:07:53
◼
►
of the show, you'll see the titles of all the links but not the actual targets for where
00:07:59
◼
►
So the best place to get that is either to go to the website directly for this podcast,
00:08:05
◼
►
so that's developingperspective.com, find the show you're interested in, all the links
00:08:08
◼
►
are linked to there, or if you subscribe to the show via using a nice, for example, iOS
00:08:16
◼
►
application.
00:08:17
◼
►
I'm rather partial to SimpleCasts, which is the one that I wrote.
00:08:20
◼
►
But if you subscribe in something like that, then typically there's a show notes button.
00:08:24
◼
►
In simple casts, if you're listening to this, there's a little paperclip icon in the bottom
00:08:29
◼
►
When you're listening to the show, it lets you open up all the links, look at them, add
00:08:32
◼
►
them to Instapaper, those types of operations.
00:08:35
◼
►
Or finally, if you're wanting to get them in a more sort of standardized way, you can
00:08:40
◼
►
subscribe to the podcast feed just in a news reader.
00:08:43
◼
►
So in Google Reader, NetNewswire, something like that.
00:08:46
◼
►
And then it'll ignore all of the audio parts of the podcast and instead just show you the
00:08:51
◼
►
links associated with it.
00:08:53
◼
►
So those are just some ways to get a hold of that if you were curious what I mean by
00:08:56
◼
►
"get it up," you know, take a look at them in the show notes.
00:09:02
◼
►
So for today's general discussion, I'm going to talk a little bit about tools.
00:09:06
◼
►
And this discussion is sort of started by a tweet that I heard or I saw over the weekend
00:09:10
◼
►
by John Cook, who's talking about what originally caught my eyes.
00:09:15
◼
►
He has a quote from Donald Knuth, which if you're not familiar with Donald Knuth, you
00:09:20
◼
►
could probably safely call him the grandfather of modern computer science.
00:09:26
◼
►
He famously has the art of computer programming books.
00:09:32
◼
►
He's just very, very smart.
00:09:34
◼
►
He's one of those people who wrote tech, which if you're familiar with that, is quite an
00:09:40
◼
►
impressive thing.
00:09:41
◼
►
He's famous for, if you find bugs in his code, he'll write you a check for an amount of money.
00:09:49
◼
►
It's often things like for powers of two, so you get $2.56 for finding a bug in something
00:09:55
◼
►
He's a great character, but really it's just an interesting thing.
00:09:59
◼
►
And if you've never read The Art of Computer Programming, it's definitely a tough thing
00:10:03
◼
►
to get through, and I can't say I've done it myself, but I've definitely browsed it
00:10:05
◼
►
and perused it, and it's just kind of one of those.
00:10:07
◼
►
If you want some instant geek cred, it's a book series to put up on your shelf.
00:10:11
◼
►
But one of the things, there's a quote that he had from Donald Knuth saying, "The enjoyment
00:10:16
◼
►
of one's tools is an essential ingredient of successful work."
00:10:20
◼
►
Let me read that again.
00:10:23
◼
►
"The enjoyment of one's tools is an essential ingredient of successful work."
00:10:29
◼
►
And what I thought about, I was just very struck by how honest and true that actually
00:10:33
◼
►
is in my own experience.
00:10:35
◼
►
Whether that be while I'm developing software or while I'm doing hard labor in the back
00:10:40
◼
►
digging a ditch, the enjoyment and the ability to which a tool makes your job easier is almost
00:10:49
◼
►
directly related to how much you are able to have success in your work.
00:10:56
◼
►
If you're constantly feeling like you're fighting your tools, then you're almost inevitably
00:11:00
◼
►
not going to be able to be successful.
00:11:04
◼
►
For a developer, this comes into play with things like where you spend most of your time.
00:11:11
◼
►
As a developer, for example, this is what text editor you use, what version control
00:11:17
◼
►
system you use.
00:11:18
◼
►
I think that's even one that I think, moreover, recently I've been struck by where using the
00:11:24
◼
►
right version control system can make your project so much more successful because it
00:11:28
◼
►
allows you to do things with such an easier way.
00:11:31
◼
►
If you think back, my first version control system was CVS, which is probably still in
00:11:37
◼
►
use in some places, or Perforce, or one of those kind of more old school version control
00:11:43
◼
►
systems, versus something, say for example like Mercurial or Git.
00:11:47
◼
►
You have all of these differences that make your, the tool itself so much more enjoyable
00:11:53
◼
►
that makes you so much more successful in what you do, because a good tool will feel
00:11:59
◼
►
like an extension of yourself.
00:12:01
◼
►
It will feel like something that just makes sense and it just works, rather than being
00:12:05
◼
►
something that you're actually fighting.
00:12:06
◼
►
The tool becomes invisible to you in your operation of it.
00:12:11
◼
►
And so I just couldn't agree more with Donald Knuth in saying that.
00:12:16
◼
►
And if you read through some of this article here, that's John Cook's article where this
00:12:23
◼
►
quote originally came to my attention, the thing that's interesting is it's a discussion
00:12:27
◼
►
about whether things are getting more and more--having more and more sophisticated IDEs
00:12:33
◼
►
is actually hurting development by making that process more complicated.
00:12:38
◼
►
And the thing that I found is I would say the opposite.
00:12:40
◼
►
I think having a really well-designed, well-written piece of sort of development environment is
00:12:48
◼
►
very, very conducive to increasing productivity for a developer.
00:12:51
◼
►
Things that just sort of get out of your way, then things like, you know, IntelliSense or
00:12:56
◼
►
code sense or whatever they call it these days where you don't have to remember all
00:12:59
◼
►
the nuances of your API.
00:13:01
◼
►
Those types of things, once you get good at them, really improve your productivity.
00:13:08
◼
►
It's doing it in such a way that you're not necessarily losing the granularity and the
00:13:15
◼
►
-- I'm trying to think of the right way to say that.
00:13:19
◼
►
It's dangerous if a tool takes away your ability to change and tweak things.
00:13:24
◼
►
But it's good if a tool makes it easier for you to do the things that you do often.
00:13:29
◼
►
So it's bad if you have something that completely takes away, puts all of this code into a black
00:13:35
◼
►
It's good when it makes creating that box in the first place much easier.
00:13:39
◼
►
So anyway, just sort of a little, some thoughts I was having about how important it is.
00:13:45
◼
►
And it also kind of makes you understand why developers get so fanatical about their tools.
00:13:49
◼
►
why the classic Emacs versus Vim war has been going on for so long.
00:13:55
◼
►
Because people really care, and it's not just a, "Oh, this one's better than that one, this
00:14:00
◼
►
one's better than this."
00:14:01
◼
►
There's actually a difference there in terms of one of them makes that individual coder
00:14:06
◼
►
much more successful, much more productive at his job, and the other one doesn't.
00:14:10
◼
►
And so it's important to understand that and to recognize it.
00:14:13
◼
►
All right, that's it for today's show.
00:14:15
◼
►
If you have any questions, concerns, comments, hit me up on Twitter.
00:14:20
◼
►
I'm @_DavidSmith.
00:14:22
◼
►
And have a good day.
00:14:24
◼
►
Otherwise, happy coding and I'll talk to you tomorrow.