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