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:06and the like.
0:00:07I'm your host, David Smith.
0:00:08I am an independent iOS developer based in Herndon, Virginia.
0:00:11This is show number 15, and today is Wednesday, August 24, 2011.
0:00:16The format of Developing Perspective is that I'll cover a handful of links, articles, things
0:00:20I found interesting since the last show, and then move on to a more general discussion
0:00:23towards the end.
0:00:24The show will never be more than 15 minutes.
0:00:26Let's get started.
0:00:27All right.
0:00:28The first thing today is an interesting post
0:00:30that I came across via a friend of mine, Mike Ash.
0:00:34It's talking about Plausible Labs.
0:00:36And Plausible Labs is essentially a software
0:00:39consulting company.
0:00:41The interesting thing about them is
0:00:42that rather than being a typical company where
0:00:46there's sort of an owner or a founder or something like that,
0:00:51and then everyone works for them, they're a cooperative.
0:00:54And they have this article that's
0:00:56describing how that works and what that looks like for them.
0:00:59Essentially, it's an interesting prospect
0:01:01whereby the developers that join the cooperative
0:01:04have to buy into it.
0:01:06And then they share evenly in the benefits thereof.
0:01:12And the interesting thing about that, I think,
0:01:14is it's a very good way potentially
0:01:16of being independent, but not necessarily
0:01:18being totally independent.
0:01:20So being fully independent has a variety of downsides,
0:01:22specifically in the United States,
0:01:24to things like insurance rates and overheads for accounting,
0:01:28bookkeeping, those types of things,
0:01:30where it's nice to be just an employee for a lot of that
0:01:33so that you can just take advantage of those types
0:01:35of benefits.
0:01:37But then at the same time, it also
0:01:38is nice to be independent in the sense of sharing richly
0:01:42in the rewards of your work.
0:01:44So if you do good work, you really get excellent work done
0:01:48and are making great progress to actually benefit directly
0:01:51from that.
0:01:52I remember one of the most frustrating things
0:01:54being a sort of salaried software engineer,
0:01:57was that I would feel as though there
0:01:59was no real connection between the quality of the work
0:02:02that I did and the effort I put into that and the outcome
0:02:05that I got financially.
0:02:06And since I was there primarily for financial reasons,
0:02:10that was always a bit frustrating.
0:02:11It would always kind of be like, this work I do here
0:02:13may in some amorphous way benefit my bonus, for example,
0:02:18at the end of the year.
0:02:19But typically, even there, it's like my bonus
0:02:21is capped at a certain amount.
0:02:22And after I've done a certain number of things
0:02:24that I think are worthy of getting a full bonus,
0:02:27it starts to become very counter motivating,
0:02:33whereby rather than me feeling like everything that I do
0:02:37to constantly be better for the business,
0:02:38better for the business, better for the business,
0:02:40is always better for me.
0:02:41And that just creates a strange tension
0:02:43that is part of why I like being independent.
0:02:45If I do a good work, I benefit directly from it.
0:02:47If I do bad work, I am hurt directly by that.
0:02:50And that creates-- so if you're incentivizing the right things.
0:02:53The things that I do that make me money
0:02:55are good for the business.
0:02:56Things that I do that don't make money
0:02:58are not good for the business, and I share richly in that.
0:03:01This is just an interesting thing I'd never really thought
0:03:04about as a structure for a business
0:03:06to have a little bit of the best of both worlds.
0:03:09So definitely worth checking out.
0:03:11Next, there was an interesting article by Benjamin De Cook
0:03:16talking about his experience with writing an iOS app,
0:03:21but doing it as a web app.
0:03:23And essentially what he sounded like what he was doing
0:03:25is creating some experimentation in really
0:03:28what does that look like to make it HTML5, CSS3,
0:03:32sort of awesome app.
0:03:34And it's just interesting.
0:03:35And I think his experience proves out
0:03:38a thing that I suspected, where you can see that Apple really
0:03:41is taking very seriously making web applications
0:03:45first class citizens in the sense of attention
0:03:48that they're giving to that.
0:03:49They're making them as good as they can be.
0:03:52And if you look at his application
0:03:54and install it on your iPhone, it's
0:03:55a pretty interesting application that is actually surprisingly
0:03:58effective for web application.
0:04:01And I think that's certainly encouraging that you can do
0:04:04a lot with HTML5 in a way that you may not
0:04:07have been able to previously.
0:04:09I think it probably is getting even better in iOS5.
0:04:12Of course, the challenge I think is still
0:04:13there of the best HTML5 app is never going
0:04:16to be as good as a native app.
0:04:18That's just, I think, a given.
0:04:19And so while this is very interesting,
0:04:21and I think especially it's helpful for a more
0:04:24corporate customer or corporate play,
0:04:27where they're trying to create an application that
0:04:29hits a lot of different people, I
0:04:31think you'd probably in some ways
0:04:33have more luck writing your application as an HTML5 app
0:04:37than you would if it were using some
0:04:38of these cross-platform tools.
0:04:40Where the problem there is then you
0:04:42have two levels of indirection.
0:04:43A lot of them are still-- you're running
0:04:48to their framework, which is then being interpreted
0:04:50into the native.
0:04:51And you have all these translations going on.
0:04:53At least with HTML5, to some degree, most of them
0:04:55are running WebKit.
0:04:56For most modern-- at least most smartphones,
0:04:59I think, other than Windows Phone 7,
0:05:01I think are all WebKit-based.
0:05:03And so you have a fair amount of consistency between them all.
0:05:06And that should make your development much better.
0:05:08Though I think native application development is
0:05:10still probably the way to go for most customers.
0:05:13And then thirdly, there's just a funny little article
0:05:18that I ran across yesterday that makes
0:05:21you think of it's like a Bond movie or something, where it's
0:05:23talking about how Venezuela is trying to move $12 billion
0:05:28in gold from Europe to Venezuela.
0:05:32And specifically, I think this is a lot of nationalistic
0:05:35reasons behind it.
0:05:35He wants to bring all the gold in and so on.
0:05:39But it's just kind of a funny thing when you think about the prospect of how you would
0:05:42actually do that is kind of complicated.
0:05:46That amount of gold weighs about 211 tons and has a value of $12 billion.
0:05:50So if you were able to, for example, steal it in transit, that would make you, I believe,
0:05:56one of the top 20 wealthiest people in the world, which is quite a remarkable thing if
0:06:01you think about it.
0:06:02And so it's kind of all this article kind of walks through kind of some of the funny
0:06:05things about that for the different ways they could do it and kind of what that would look
0:06:10like.
0:06:11So just the words, just sort of worth reading for a smile.
0:06:14And our last link today is a thing from over on the Brooks Review.
0:06:18And specifically, he's actually, it's a Brooks Review commenting on Robert X. Kringley's
0:06:23article about whether the Mac Pro will die or not.
0:06:28And essentially what he is talking about is he is speculating about if Apple may be heading
0:06:32in a direction whereby they use Thunderbolt or things like Thunderbolt to be able to sort
0:06:38of mix and match your, the fastest computer. For example, you would buy, you know, four
0:06:43Mac Minis and daisy chain them together in some interesting way. You then take advantage
0:06:48of the fact that Thunderbolt is essentially a system bus. I think it's, you know, sort
0:06:53of PCI Express on a wire or something like that. And so you can actually get away with
0:06:57with quite a lot of sharing between resources.
0:07:01So you can have a machine where it has all of its processors
0:07:04talking together and showing up as different cores
0:07:07for the central processor.
0:07:10They're sharing RAM, those types of things.
0:07:13And I think I agree with Ben Brooks's take on that,
0:07:17and I just don't see it.
0:07:18I think the thing that is ultimately
0:07:20where the Mac Pro falls into is the Mac Pro creates
0:07:24a great bookend for the Apple line, where it is that is,
0:07:29if performance is what you're after, buy a Mac Pro.
0:07:33And it is priced accordingly.
0:07:35They probably make good margins on it.
0:07:37But it's also targeted at a very specific type of user.
0:07:41And it's someone for whom their time is worth more than money.
0:07:46Or if you look at it that way, they make a lot of money
0:07:49with their time.
0:07:50And so for them, spending $6,000 on a computer that
0:07:54is the absolute fastest thing that money can buy
0:07:59is totally worthwhile to them.
0:08:01They make that back very quickly.
0:08:03And in a way that--
0:08:05also, I think it's important that--
0:08:06I think what Ben talks about here
0:08:09is that a lot of the people who buy Mac Pros,
0:08:12as best as I understand it, are people who are,
0:08:15for example, creative professionals.
0:08:17Let's just say.
0:08:18They aren't necessarily software engineers, they aren't hardware designers, they aren't
0:08:22things like that.
0:08:23There are a lot of photographers, videographers, graphic designers, those types of applications.
0:08:29And the thing about them is those aren't especially technical people.
0:08:33They're very technical in their particular sort of niche, whatever that may be, you know,
0:08:37Photoshop or photography or those types of things.
0:08:40But if you're talking about a system whereby you're daisy chaining different machines together
0:08:43and building all this complexity, I don't think that would be especially appealing to
0:08:47them. All they want to do is to go into the Apple store and say, "Hey, I'm a very successful
0:08:52video maker. I want the fastest machine that you have." And to walk out with that, they
0:08:56plug it in, and that's that. Rather than having it be this kind of niche thing that I think
0:09:01a lot of geeks like myself, I could see enjoying that, kind of playing with it. It reminds
0:09:06me a lot of the days back on the PC when I would tinker and build my own PCs. I'd be
0:09:14different configurations, changing the CPU, changing the RAM, those types of things.
0:09:19But I think for a lot of people, that just doesn't appeal.
0:09:21Anyway, so I'm going to move on to our more general discussion today.
0:09:25And today I'm going to be talking about billing hourly.
0:09:28So if you do any amount of consulting, which if you're an independent iOS developer or
0:09:32something like that, you've probably either done that or thought about doing that.
0:09:36One of the sort of common ways that you will earn your money is that you will have a contract
0:09:40with a customer whereby you are charging them per hour.
0:09:44So say, for example, you're charging them $100 an hour, $125 an hour, $200 an hour,
0:09:50whatever it may be.
0:09:51And that's sort of the way that you quantify the work that you're doing for them.
0:09:57And specifically, I'm not going to go too much about rates or negotiations, those types
0:10:00of things.
0:10:01What I'm mostly interested in talking about today is how you actually count your hours.
0:10:05And this is, I think, something that I've talked to a lot of different people about,
0:10:08And it's a very tricky and nuanced subject.
0:10:11Because at the end of the day, you have to decide what's your goal.
0:10:14Is your goal to get the most money out of your client that you can?
0:10:18Is your goal to accurately represent the work that you do?
0:10:23Is the goal to get a fair value for the attention and your XP expertise that you're giving that
0:10:30client?
0:10:31And it's kind of important to make sure you understand that.
0:10:33And then I think beyond that, it's the importance of actually putting that into the contract
0:10:38that you're entering into and be talking about why you're charging hourly, what is the purpose
0:10:45behind that, what it is that you're expecting to be giving them in exchange for that money.
0:10:51And then I'll also just point out is that hourly contracting often will almost always,
0:10:57in my experience, be also joint with an hourly cap. So essentially, you're working fixed
0:11:05price, but the client would get a discount if you don't use all your hours.
0:11:08And that certainly gets tricky for if you don't finish the work and the hours are allocated
0:11:13and so on.
0:11:14But those are many, often very similar to things that you would have problems you'd
0:11:17have with a fixed price contract.
0:11:20Anyway, and so I always thought of recently thinking about this, I thought I'd go to the
0:11:25place that probably does the most hourly billing and that is lawyers.
0:11:29And specifically, I went to the American Bar Association and was curious about their policy
0:11:32about it.
0:11:34And they have a sort of a, I guess you could call it a best practices document that they
0:11:41include in their sort of recommendations for attorneys.
0:11:46And I'll link to it in the show notes.
0:11:47But it has some very interesting things that I think are fairly sort of true.
0:11:53And essentially what they're talking about is what your goal is to be reasonable.
0:11:56Your goal is to represent your client's best interests in your hourly billing scheme.
0:12:04So for example, they create a couple of different scenarios where one, for example, if you have
0:12:10simultaneous appearances on a client's behalf is one they have.
0:12:13Or perhaps a more interesting one is say you're flying on a – taking a plane trip on a client's
0:12:19behalf.
0:12:20In your contract, you're able to allow yourself to bill for that.
0:12:23So from the time you leave your house to the time you arrive at your hotel, for example,
0:12:27is billable time.
0:12:28That's just part of your contract.
0:12:29Now, say if on that flight you say, "I'm going to work for another client.
0:12:34I'm going to work on the brief for them or I'm going to write this app for them while
0:12:37I'm traveling."
0:12:38You get to count twice.
0:12:40You get to benefit both ways from that.
0:12:43And a similar thing.
0:12:44So say I do work for one client that creates a library, for example.
0:12:48They talk about doing research.
0:12:50in the software engineers view, maybe it's like, okay, I worked on a library for one
0:12:54client that benefits directly the other another client, can I get to build for the time that
0:12:58I wrote the first one? And I think what they ended up saying here sounds pretty, pretty
0:13:02accurate. It's the rather than you looking to profit, and this now I'm quoting from them
0:13:07from the fortuity of the coincidental scheduling, the desire to get work done rather than to
0:13:12watch a movie, for example, or the lack of being asked to identical question twice, the
0:13:17has agreed to build solely on the basis of time is spent as a blind to pass the benefits
0:13:21of these economies onto the client."
0:13:23Which I couldn't agree with more.
0:13:26I think so much of this ultimately comes down to, as you're looking out for the best interest
0:13:31of your client, you'll ultimately be a better sort of consultant for them, and which is
0:13:35going to do good things for your business in the long run.
0:13:38And secondarily, it's rather than trying to find all these little ways that you can sort
0:13:41of squeeze an extra hour out, it's just going to be bad for business.
0:13:45And I think you're going to drive yourself crazier than you would otherwise.
0:13:49One thing that I'll say is this is sort of my policy for how I handle this is all of
0:13:53my consulting work that I do hourly tends to have whatever a minimum unit of time is.
0:13:58And that's probably the only part where it gets interesting.
0:14:00Otherwise, I record roughly the exact time that I spend on each project.
0:14:05And I try and organize my activities so that I only work on one thing at a time as much
0:14:09as I can.
0:14:10So for a lot of projects, let's say to the quarter hour to the half hour.
0:14:14And then I'll bill to a minimum of that per day.
0:14:17So if I only spend five minutes on a project,
0:14:19I will go ahead and bill whatever the minimum is.
0:14:21But if I spend 30-- see, my unit of time is half an hour,
0:14:26and I spend 31 minutes, well, I'll charge him half an hour.
0:14:29And it's just rounding to the nearest sort of increment
0:14:32that I met Bill to, and that seems to work pretty well.
0:14:35Anyway, so let me talk about sort
0:14:37of the other sides of this a little bit later.
0:14:38But that's all I have for today.
0:14:40Anyway, I hope you enjoyed the show.
0:14:41And otherwise, happy coding.
0:14:43If you like the show, make sure you tell a friend, tell somebody about it, and share
0:14:47the word.
0:14:48Otherwise, have a good day.
0:14:49Bye.
0:14:49Bye.