Developing Perspective

#11 - My Workflow


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

00:00:03   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:13   This is show number 11, and today is Thursday, August 11, 2011.

00:00:19   The format of Developing Perspective is that I'll cover a handful of articles, links, things

00:00:23   that I found interesting in roughly the last 24 hours, and then move over to a more general

00:00:27   discussion towards the end.

00:00:28   The show will never be more than 15 minutes.

00:00:30   Let's get started.

00:00:32   All right, our first article today

00:00:34   is over on the Fog Creek Software blog.

00:00:36   And they're starting an interesting series here,

00:00:38   talking about the price of developer happiness.

00:00:41   And essentially, what I think they're looking through

00:00:43   is trying to put some numbers and some quantities on really

00:00:47   what it is that you would need to do as if you run a software

00:00:49   company to make your developers the most productive,

00:00:52   the happiest, and sort of the best environment

00:00:55   that you can for them, and kind of really what that looks like.

00:00:58   So as an example, what they did in this article

00:01:00   is they sat down and took essentially a workstation,

00:01:04   a top notch, top of the line workstation,

00:01:07   and kind of built it together and saw

00:01:09   what the total cost that you would end up spending would be.

00:01:13   And so here, for example, it's got an Aeron chair,

00:01:16   which is $1,000.

00:01:17   A little side note, I really recommend the Embody chair

00:01:20   rather than the Aeron.

00:01:21   I've used both.

00:01:22   And the Embody, it's a bit more expensive,

00:01:24   but it is quite a chair.

00:01:27   Next, they have an amazing adjustable sit-stand desk.

00:01:31   And then you have an anti-fatigue mat,

00:01:34   a big 30-inch monitor with a little one on the side,

00:01:37   some beefy workstation.

00:01:38   They're talking mostly about Dells and things.

00:01:40   If I remember correctly, Fog Creek is a .net shop.

00:01:44   So that's probably why they're focusing there rather than it

00:01:47   getting a 27-inch cinema, Thunderbolt display,

00:01:51   and a Mac Pro.

00:01:52   But then the numbers work out relatively similar.

00:01:55   whatever keyboard you want, a fancy mouse, fancy trackpad,

00:01:59   whatever it is.

00:02:01   And basically, they came down and they ended up

00:02:03   with a total cost of just over $6,000, which is a little bit--

00:02:08   it's a maximum.

00:02:09   You likely wouldn't end up spending all of that

00:02:11   because people would choose different parts of that setup.

00:02:16   The interesting thing that he said is because of the way

00:02:18   depreciation works, it basically works out

00:02:22   to be about $100 a month per developer

00:02:26   to have this in terms of you depreciate most of those assets

00:02:29   over five years.

00:02:30   And so that's not that much.

00:02:33   I mean, $100 a month versus the cost of an actual developer

00:02:38   who you probably are spending thousands of dollars a month,

00:02:41   it's really not that bad to give them an ideal setup.

00:02:44   And so definitely it's good to see that number

00:02:47   and put it in perspective.

00:02:49   All right, next, there's a great article

00:02:52   on FastCompany.com talking about Adam Isigore.

00:02:55   So if you're at all familiar with his work,

00:02:57   which at this point I would hope you are,

00:02:59   if you're not, go over and check out SandwichVideo.com.

00:03:02   But basically he's known as Lonely Sandwich.

00:03:05   If you listen to 5x5 shows with John Gruber or Merlin Mann,

00:03:08   they call him Sandy because of his sandwich name.

00:03:12   And basically it's just an interesting walkthrough

00:03:14   of kind of getting into what he does,

00:03:17   getting into sort of rather than just seeing the end result,

00:03:19   getting a sense of what it is that, what it is and how it is that he's done, what he has,

00:03:25   and how he's kind of taken such a different approach and created this whole niche where

00:03:30   he is just sort of the legend and the king over a relatively short period of time. In many ways,

00:03:37   it's kind of impressive for, you know, he does amazing work and rightfully so, he's gotten such

00:03:44   impressive results, but it's just kind of, wow.

00:03:48   He took a very distinct approach and really ran with it, and the results have been amazing.

00:03:53   All right, next, over on Dr. Drank's blog, Lean Crew, he kind of, it's an interesting

00:04:01   title, "Giving Up on Giving Up Text Mate."

00:04:04   And I think it's, he seems to be ending up in a very similar place to where I ended up.

00:04:09   And he's someone who I know has spent a tremendous amount of time doing both of these types of

00:04:14   working with text editors, customizing text editors,

00:04:17   that's kind of what he does.

00:04:19   And essentially, it sounds like he's in the same place

00:04:21   that I am, where the thing is that TextMate works

00:04:24   for my workflow.

00:04:25   It works how I like using it.

00:04:29   And it does some things in a way that just totally

00:04:31   crushes everything else.

00:04:33   And most of that is just its scope system, the way

00:04:35   that it is very smart about what it is that you're working on

00:04:39   at different parts of a document.

00:04:41   So even if you have sort of a mixed format document that's got some HTML with some CSS

00:04:46   with all those types of things, it really just, you know, it kind of works it out and

00:04:51   lets you adapt the assistance that you get and adapts the syntax highlighting and coloring

00:04:57   and all those things in a way that is just really clever.

00:05:00   And it sounds like at this point he's probably going to end up sticking with TextMate.

00:05:03   He gave BBEdit a good try and that's great.

00:05:06   I did the same thing, but in the end, it just didn't work.

00:05:11   It doesn't work for my workflow.

00:05:13   I hope at some point TextMate gets updated.

00:05:18   And when that happens, that will be wonderful.

00:05:20   But at this point, TextMate 1.4 or whatever it is I'm running,

00:05:24   works fine.

00:05:25   And I'm just happy to keep it that way.

00:05:28   And lastly, on the link front today,

00:05:30   I have a link over to the new Amazon Kindle Cloud app.

00:05:35   And so if you're not familiar with this, basically the back story is a couple of-- it was almost

00:05:41   a year ago, I guess, so eight, nine months-- Apple announced a bunch of changes to the

00:05:46   in-app purchase rules, which essentially meant that if you sell digital content inside of

00:05:51   an application, you have to sell it as in-app purchase.

00:05:57   Or if you don't, then you are not allowed to link to the store where you sell that content.

00:06:04   And one of the big sort of canonical examples where we were going to see the edge of this

00:06:10   is where they ended up serving the Amazon Kindle app where they have thousands and thousands

00:06:18   and thousands of books that they're trying to sell, which you couldn't realistically

00:06:22   set up as an in-app purchase given the way that Apple has their system.

00:06:26   I think there's even a max of number of items that you can have.

00:06:30   And also, of course, it would mean that Amazon would have to pay Apple a 30% cut on all of

00:06:34   their sales, which given the way that the agency model works for books, that's just

00:06:38   not realistic.

00:06:39   For Amazon, they would make no money from their Kindle store.

00:06:43   And so it was always kind of interesting to see how that was going to happen.

00:06:46   And then as a developer, I was mostly interested to see how that would play out, how they would

00:06:51   be pushing the limits of the rule in such a way that it would be adjusted and tweaked

00:06:55   for smaller developers like myself.

00:06:58   And it seems like as a response to that,

00:07:00   they recently released an update to Kindle

00:07:02   that removed the link to the store.

00:07:04   So you can still read and do all kinds of interesting things

00:07:06   inside the Kindle app, but you cannot get to the store

00:07:10   directly from there.

00:07:11   You have to open up Safari and go to amazon.com

00:07:14   and buy your books and then open up the app.

00:07:16   So it's a bit awkward.

00:07:18   To counteract that, what Amazon released yesterday

00:07:20   is the Cloud Reader, which is a HTML5 web

00:07:25   app that has roughly all the same functionality

00:07:28   that a Kindle app does, but doing all of it

00:07:32   without avoiding the actual app store.

00:07:35   And it's a very impressive application.

00:07:36   If you sort of have it-- especially once you pin it

00:07:39   to your home screen, it works very well as an application.

00:07:45   The thing that I found sort of struggling with it,

00:07:47   though, is for all of its impressive sort

00:07:49   of technical achievement, which is very, very good,

00:07:54   It falls in some ways because of its impressive technical ability.

00:07:59   It falls into the strange uncanny valley where it feels like it should be native.

00:08:03   It's almost native, but it keeps falling down in these small little ways that make it incredibly

00:08:09   distracting and frustrating to use.

00:08:12   And so it's kind of this strange thing where its UI is making all of these promises that

00:08:18   it looks and feels just like an app, but then you interact with it and it just doesn't work

00:08:23   quite right. And I look forward to seeing how they improve and develop this application.

00:08:27   I imagine it's going to be getting a lot of love over the next, you know, little while.

00:08:32   But it's just such a thing at the end of the day that a native app, I think, is always

00:08:36   going to feel better. No matter how good your web app is, it's just never going to be quite

00:08:42   as good as a native app. And that's unfortunate. If your goal as a developer is to make the

00:08:46   best application you can, it's sort of like trying to write an application without using

00:08:52   four loops or you know I'm not I'm only going to use one button in the entire application.

00:08:58   So if you're tying your hands in a way that's going to be frustrating I think.

00:09:01   And as a user of the application I mean I'll still use the native app as long as I can

00:09:05   because I think it's just better.

00:09:07   I think it's just a better experience and I you know but I wish them the best with it

00:09:11   because it's very impressive from just from an engineering perspective.

00:09:16   All right and so now I'm going to move over into a general discussion today and I thought

00:09:20   it would be interesting to discuss my workflow for how I put together the show. There's a

00:09:26   lot of different moving parts for that, and I thought it would be an interesting thing

00:09:29   to have as a discussion. Workflow shows are always kind of funny because, especially if

00:09:35   you listen to, for example, on the MacPower users podcast, they have a lot of workflow

00:09:39   shows. A lot of times it doesn't really apply to you, so sometimes it feels like, "Ah, this

00:09:44   doesn't really make sense. This isn't what I need to be doing." But the thing that I've

00:09:47   I've often found is I've never listened to a workflow show and not found something that

00:09:51   I thought was helpful and useful moving forward. So hopefully it's helpful and interesting

00:09:55   to you. If not, just hang in there and it will be over soon.

00:10:00   All right, so essentially if you can imagine the way the developing perspective works,

00:10:04   where I walk through a couple of links and then I have a general discussion, probably

00:10:08   the part that requires the most preparation is the link creation. And essentially that's

00:10:13   just an extension of what I was doing normally. Before I started working on the show, it was

00:10:18   something that I was doing anyway. I read a lot online. You may remember from yesterday's

00:10:23   Digital Diet Show, it's something that was even becoming a problem that I was doing so

00:10:27   much. And so essentially what I did is I just kind of created a bit of a workflow around

00:10:32   that. And I use Instapaper as the core of that, so Instapaper.com, and it's a great

00:10:36   app if you're not familiar with it, for saving bookmarks later for reading, to read and look

00:10:42   at later. And essentially what I do is during the day, so during the 24 hours after I finish

00:10:48   a show to when I start the next one, anything that I think will be interesting, either for

00:10:52   me or especially for the show, I hit read later on. And they all just go into one big

00:10:57   queue. And I just sort of, they're throwing anything and anything in there. I try very

00:11:01   hard to not be too particular at the ingestion stage. It's very similar to a lot of what

00:11:07   you'd see in a GTD system where the time when you are thoughtful about what it is you're

00:11:13   sort of putting into your system is not in the inbox phase.

00:11:16   You throw everything you think of in there and it's far better to then organize and categorize

00:11:20   that later so you're not spending the energy on the in, you're spending it when it's the

00:11:24   appropriate time to really think about the task.

00:11:28   And so I throw everything in there and then I create a folder for every day.

00:11:32   So for example, today's the 11th, so this is, I have a folder in my Instapaper queue

00:11:36   and my system called 11.

00:11:39   And as I'm going, I just move articles for the next day's

00:11:42   show into the 11 folder.

00:11:44   Sometimes I'll do one or two shows out.

00:11:46   So if it's something that I think will require more time,

00:11:49   say I'll throw it into-- in this case,

00:11:51   it would be like into the 12 folder--

00:11:52   to kind of talk about for the next day.

00:11:56   And once I end up with that, I'll end up at the end of the day

00:12:00   or by the following morning with a list of-- usually

00:12:03   seems pretty consistently around five or six articles, sometimes a little less, sometimes

00:12:08   a little more, that I think are really good, things that are worth discussing, things that

00:12:12   I enjoy during that day. So I'll take that. And so that's now the basis for the first

00:12:16   part of the show. And then the general discussion, I just have a notebook where I've kind of

00:12:21   had different notes of things that I think are interesting to talk about, different topics,

00:12:25   different ideas, things that have struck me during the day. And those are often either

00:12:30   What I do is either write them in a notebook or I wrote an app that's actually in the app

00:12:35   store if you're interested in it.

00:12:36   It's called Note to Self.

00:12:39   Note to the number two in self.

00:12:41   And basically what it's an app is all it does is sends an email to your inbox with a brief

00:12:48   message.

00:12:49   And what I really like about that is it takes like two seconds.

00:12:51   I hit the app.

00:12:52   It's on the home screen of my iPhone.

00:12:55   It just comes up straight with a cursor ready to start writing.

00:12:58   I start writing.

00:12:59   I hit send.

00:13:00   is gone. And that lets me easily capture things wherever I am in a way that, you know, if

00:13:06   I could have a notebook, but even with a notebook I think it would be faster just opening up

00:13:09   note to self and writing them in there. And so that's where you have kind of a collection

00:13:13   of articles. And then there are just not, at this point, my sort of things for the ends

00:13:18   of the show are just all in one big text document. And I just kind of walk through, you know,

00:13:21   what's going to be interesting today, what kind of fits, and often that gets bumped if

00:13:25   if there's news or something that comes up.

00:13:28   But otherwise, that's just kind of how I work through.

00:13:30   And then I do some basic preparation,

00:13:32   a little bit of outlining, and then just kind of go for it.

00:13:34   It's mostly off the cuff, because I think that kind of

00:13:36   gets a better flavor.

00:13:38   Then I record the show every morning.

00:13:40   I use a Rode Podcaster mic on a nice swivel arm and shock

00:13:45   mount.

00:13:46   This is onto my 27-inch iMac.

00:13:49   I record just into Audacity, which

00:13:50   is a great little free piece of software that just does

00:13:53   basic single track recording, which is really all I need. I've tried more complicated things,

00:13:58   but since it's just sort of a one-take show, that works just fine for me. I then, I finish

00:14:05   that, I export it, the show, to an MP3 file. I think I do 64 kilobits per second encoding,

00:14:13   and then I have a transmit sort of drop point, I guess you could call it, where essentially

00:14:19   It's a bookmark that's in the sidebar of my finder.

00:14:23   And you just take the MP3 file, drop it onto that,

00:14:25   and it does all the FTP upload stuff

00:14:27   to the server where it's hosted.

00:14:29   I log into my WordPress site where I host the show,

00:14:33   create the show, drag the links in from my Instapaper Q,

00:14:36   which you can actually just do in Safari.

00:14:38   If you click the link and drag it,

00:14:39   it'll just create a link in WordPress,

00:14:42   which is very helpful.

00:14:43   And then hit Publish.

00:14:44   And then, hopefully, you enjoy the show,

00:14:47   and it gets sent around the world.

00:14:49   And then I track my stats just using the podpress plugin for wordpress that does all the actual

00:14:54   feeds and things for me.

00:14:55   So that's it.

00:14:56   Hope you enjoy it.

00:14:57   That's it for today's show.

00:14:58   Have a good day.