Marco Arment. Infinite Potential.
00:00:00
◼
►
(upbeat music)
00:00:02
◼
►
- Hello and welcome to the fifth
00:00:04
◼
►
in the Developing Perspective Interview Series.
00:00:06
◼
►
The Developing Perspective Interview Series
00:00:08
◼
►
is something that I do to break out of the 15-minute mold
00:00:11
◼
►
of just me talking and to hopefully talk
00:00:12
◼
►
with interesting developers about how and why they work.
00:00:15
◼
►
And today I'm delighted to be joined by Marco Orment,
00:00:17
◼
►
who I'll introduce more fully in a moment.
00:00:19
◼
►
And we're gonna talk about just how he works
00:00:21
◼
►
and why he does the things that he does.
00:00:23
◼
►
So first I wanna thank you for taking the time
00:00:24
◼
►
to be on the show.
00:00:27
◼
►
- So probably the best place to start off
00:00:29
◼
►
is just to give a little bit of a background of who you are
00:00:33
◼
►
and what you do.
00:00:37
◼
►
Well, I'm Marco Arment.
00:00:39
◼
►
I currently work on a few projects.
00:00:41
◼
►
I have Instapaper, the magazine, Marco.org,
00:00:45
◼
►
the neutral.fm podcast, and wasting all my day on Twitter
00:00:49
◼
►
at Marco Arment.
00:00:51
◼
►
And I've currently forgotten about app.net.
00:00:54
◼
►
Haven't we all?
00:00:56
◼
►
Unfortunately.
00:00:57
◼
►
You know, I'm kind of upset about that, because I got a really good username there.
00:01:02
◼
►
I just got Marco.
00:01:06
◼
►
And I joined Twitter too late for that, so I had to take Marco Arment on Twitter.
00:01:07
◼
►
And I kind of feel bad that App.net didn't take off and replace Twitter for me,
00:01:11
◼
►
because I just have a way better username there.
00:01:16
◼
►
Well, I think it's the kind of thing for me that I'm glad that it's there.
00:01:18
◼
►
It's the fallback position.
00:01:22
◼
►
It reminds me a little bit about Pinboard and Delicious,
00:01:24
◼
►
that I feel like at some point there'll be a day in the future
00:01:24
◼
►
where there'll be this mass exodus of nerds from Twitter
00:01:29
◼
►
for some reason that they're doing.
00:01:33
◼
►
And we'll all go there, and I'll be glad it's there,
00:01:35
◼
►
and you'll have your great username.
00:01:38
◼
►
I hope so, yeah, I hope that happens.
00:01:41
◼
►
We'll see, I guess.
00:01:44
◼
►
So anyway, that's what I do.
00:01:45
◼
►
I waste time on the internet,
00:01:46
◼
►
and when I'm not wasting time on the internet
00:01:48
◼
►
for about a half hour a day, I do some work.
00:01:50
◼
►
So when you're doing that work,
00:01:53
◼
►
what kind of, if you just kind of work through,
00:01:51
◼
►
What is that, sort of the physical environment
00:01:54
◼
►
and sort of the computers and things that you use,
00:01:56
◼
►
what's that kind of setup look like for you?
00:01:58
◼
►
- It's pretty straightforward.
00:02:00
◼
►
I work from home and I have a home office,
00:02:02
◼
►
so it's just a room in my house that is called the office.
00:02:05
◼
►
And it contains, my wife and I each have a Mac Pro
00:02:08
◼
►
and a desk and a monitor in this room,
00:02:10
◼
►
so it's just a room with two desks and computers.
00:02:15
◼
►
And really, for the most part, for most of the day,
00:02:18
◼
►
I'm sitting here in headphones.
00:02:20
◼
►
Generally speaking, if I'm not wearing headphones,
00:02:23
◼
►
I'm not working, because it helps to block out
00:02:27
◼
►
both ambient noise and noise, we have a baby,
00:02:30
◼
►
so he's occasionally noisy, and just noise from the house,
00:02:33
◼
►
and UPS deliveries and stuff like that.
00:02:36
◼
►
So headphones help prevent distraction for me.
00:02:39
◼
►
Yeah, so basically watching me work looks like
00:02:43
◼
►
a guy typing while wearing headphones,
00:02:45
◼
►
and not really moving until it's time for chicken salad.
00:02:48
◼
►
And is that, that sounds basically like the same environment
00:02:52
◼
►
that you would have if you were working in a,
00:02:54
◼
►
like a traditional office too, right?
00:02:56
◼
►
That sounds like, almost every time I've ever seen
00:02:59
◼
►
a software engineer working in a normal cube farm
00:03:02
◼
►
or something like that, that's exactly the same thing.
00:03:06
◼
►
- Not only is it similar, it is my desk from Tumblr.
00:03:09
◼
►
I took it with me when I left.
00:03:11
◼
►
The actual physical desk.
00:03:13
◼
►
- Did they know about that?
00:03:15
◼
►
- Yeah, I negotiated on my way out.
00:03:18
◼
►
it was, 'cause it's an electrically raising
00:03:20
◼
►
and lowering desk, and it's very nice,
00:03:22
◼
►
and I like being able to raise it
00:03:24
◼
►
to a standing position occasionally.
00:03:26
◼
►
It is very convenient.
00:03:27
◼
►
So I took that home with me, and yeah,
00:03:31
◼
►
and even when I was working there,
00:03:33
◼
►
I would always try to have an exact clone
00:03:36
◼
►
of my work hardware set up at home.
00:03:38
◼
►
So at work, at first I had a laptop
00:03:41
◼
►
I'd bring between both places,
00:03:42
◼
►
just a 15-inch MacBook Pro, put it on a stand,
00:03:46
◼
►
have an external keyboard, a mouse, and a 24 inch monitor.
00:03:49
◼
►
And then eventually I upgraded to a Mac Pro at home
00:03:52
◼
►
and went to two 24 inch monitors
00:03:54
◼
►
and I convinced my boss at Tumblr
00:03:57
◼
►
to upgrade us there to the exact same thing.
00:03:59
◼
►
And so I always tried to keep parody
00:04:01
◼
►
of the hardware in both places
00:04:02
◼
►
because as a computer nerd,
00:04:06
◼
►
I'm sure you've always had a really nice monitor at home.
00:04:08
◼
►
Well, what if you go to work somewhere
00:04:10
◼
►
and you have this tiny little 17 inch monitor at work
00:04:14
◼
►
and you go home to your 30 inch?
00:04:15
◼
►
I was like, that sucks, you know?
00:04:17
◼
►
It sucks to have worse equipment in one place or the other.
00:04:21
◼
►
Yeah, I try to make it as work-like as possible.
00:04:25
◼
►
There are some people who, in fact,
00:04:28
◼
►
my boss at Tumblr, David, was like this,
00:04:30
◼
►
who are very comfortable working on a laptop,
00:04:32
◼
►
like on a couch, and I really can't do that for very long.
00:04:36
◼
►
I'll do it if I'm on vacation somewhere
00:04:38
◼
►
and I have to get something done
00:04:39
◼
►
or I wanna type something up,
00:04:40
◼
►
but I really prefer working at a desktop,
00:04:45
◼
►
at a desk with a full-sized keyboard, a mouse,
00:04:48
◼
►
and a giant monitor.
00:04:50
◼
►
And it feels-- whenever I do it, like, the only things
00:04:53
◼
►
that I can do in that kind of environment, if I'm not sitting
00:04:57
◼
►
in my fancy chair with my Microsoft
00:05:00
◼
►
keyboard and my particular mouse and the whole thing,
00:05:03
◼
►
the only thing I can do there is I
00:05:04
◼
►
can be sending email, maybe, Twitter or something like that.
00:05:08
◼
►
But it doesn't feel like work, unless I'm
00:05:10
◼
►
in that particular place in my particular setup, I find.
00:05:15
◼
►
- Right, and also because I have a giant monitor at my desk,
00:05:20
◼
►
every laptop screen feels cramped to me.
00:05:22
◼
►
So every laptop screen feels like, just like what you said,
00:05:25
◼
►
it's like I can get some stuff done here,
00:05:28
◼
►
but I'm not gonna really get any, quote, real work done
00:05:31
◼
►
until I get back to my giant setup at home.
00:05:33
◼
►
And it really has nothing to do with synchronizing files
00:05:37
◼
►
or anything like that.
00:05:38
◼
►
I mean, those are all minor things
00:05:40
◼
►
when you have multiple computers versus single computers.
00:05:43
◼
►
There are some minor issues like that,
00:05:44
◼
►
but for me, really, the biggest thing is just
00:05:46
◼
►
I need a whole bunch of space
00:05:48
◼
►
and I need the comfortable ergonomic setup.
00:05:52
◼
►
- Yeah, and it just allows you to,
00:05:54
◼
►
there's something, I don't even know if it's,
00:05:56
◼
►
it's almost like Pavlovian or whatever, right?
00:05:58
◼
►
Like, I don't know for you, but for me,
00:05:59
◼
►
it's like when I'm in that environment,
00:06:02
◼
►
that's where I can become productive,
00:06:04
◼
►
even if I'm not in the mood to be productive
00:06:05
◼
►
by putting myself in that place
00:06:08
◼
►
in a way that's more difficult if I was just like,
00:06:10
◼
►
pick up my MacBook Pro and just sit down
00:06:12
◼
►
and try and do something.
00:06:14
◼
►
It doesn't feel as,
00:06:16
◼
►
it doesn't put me in that kind of mindset
00:06:19
◼
►
or in that frame of like, okay, I need to do some work,
00:06:21
◼
►
let's get this done.
00:06:23
◼
►
- And again, back to the headphones,
00:06:24
◼
►
that really helps isolate myself from the outside world,
00:06:27
◼
►
whereas when you're like on a captured laptop,
00:06:30
◼
►
that's harder to do.
00:06:32
◼
►
And my headphones usually are at my desk
00:06:33
◼
►
'cause they're tremendous.
00:06:34
◼
►
And so, just like everything else on my desk,
00:06:36
◼
►
Tremendous headphones, giant monitor,
00:06:39
◼
►
ridiculously giant keyboard,
00:06:41
◼
►
'cause it's all big, split ergonomic.
00:06:44
◼
►
Yeah, ergonomics are very important to me.
00:06:47
◼
►
I had a brief RSI scare during about my second year
00:06:51
◼
►
out of college when I was two years into working full time,
00:06:55
◼
►
where I started getting some pretty bad wrist pains,
00:06:56
◼
►
and it freaked me out so much,
00:06:59
◼
►
'cause RSI is such a big problem in our field,
00:07:03
◼
►
that I quickly switched my whole setup over
00:07:07
◼
►
to using a split keyboard and sitting properly
00:07:10
◼
►
with proper posture and knowing the proper height
00:07:12
◼
►
for desks and monitors and everything.
00:07:14
◼
►
And what a lot of people don't realize is like,
00:07:16
◼
►
if you use a laptop on a desk all day just by itself,
00:07:19
◼
►
that's really terrible for ergonomics.
00:07:21
◼
►
Like it's one of the worst things you can do.
00:07:23
◼
►
- Yeah, 'cause your monitor's at the wrong height,
00:07:25
◼
►
your keyboard's at the wrong height, your--
00:07:27
◼
►
- Right, and your wrists are bending in and yeah,
00:07:29
◼
►
and yeah, just having the monitor at the wrong height,
00:07:31
◼
►
you're going to mess up your neck and shoulders probably.
00:07:33
◼
►
And I've talked to a lot of people who do work that way,
00:07:38
◼
►
and then at the end of the day, they have a sore neck
00:07:41
◼
►
or a headache and they don't know why.
00:07:42
◼
►
And it's like, yeah, laptops are really,
00:07:46
◼
►
and I think this is going to be an increasing problem
00:07:48
◼
►
because laptops are so popular these days
00:07:50
◼
►
as people's primary or only computers,
00:07:53
◼
►
but they're really not designed ergonomically
00:07:55
◼
►
to work on for long periods.
00:07:58
◼
►
they're really designed for occasional or portable use.
00:08:03
◼
►
And so if you do work on a laptop all day,
00:08:06
◼
►
at the bare minimum, you should really put it up on a stand
00:08:09
◼
►
and get an external keyboard and mouse.
00:08:11
◼
►
And ideally, you can even get a bigger monitor then too.
00:08:14
◼
►
And that's a very good setup for a lot of people.
00:08:16
◼
►
I used that setup for years before I switched to a Mac Pro.
00:08:18
◼
►
- Yeah, and that's what I use right now.
00:08:19
◼
►
I have my Retina Mac Pro connected to a 27-inch
00:08:24
◼
►
cinema display, and it's strange because
00:08:27
◼
►
The Retina display is so nice, but I just find that looking at a huge display feels
00:08:31
◼
►
more comfortable.
00:08:32
◼
►
There's just things being un-cramped about it, even though the Retina actually has more
00:08:36
◼
►
pixels I think, but it feels different because it's just spaced out.
00:08:42
◼
►
It definitely pains me that the Retina MacBook Pro screen is so nice, but there is no big
00:08:48
◼
►
desktop version of it yet.
00:08:52
◼
►
That's one thing that I really hope is fixed soon in the computing world, because there's
00:08:57
◼
►
this awesome screen that I want to use full time,
00:09:00
◼
►
but ergonomically I kind of can't,
00:09:02
◼
►
and practically it's kind of too small for me.
00:09:04
◼
►
And so just please fix this.
00:09:07
◼
►
Especially because we know it's possible.
00:09:09
◼
►
It's just a question of timing and technology.
00:09:14
◼
►
It's some inconceivable technology
00:09:16
◼
►
that we're asking for.
00:09:17
◼
►
It's like the same thing, just stretch it out
00:09:20
◼
►
by an extra, what is that, 12 inches or something.
00:09:24
◼
►
It's like going all SSD for your storage.
00:09:27
◼
►
A lot of people can already do it, a lot of people can't.
00:09:32
◼
►
They need more space.
00:09:35
◼
►
You know that in five years you can probably go all SSD
00:09:36
◼
►
if you can't do it today.
00:09:41
◼
►
But just from now to then it's going to be this weird transition.
00:09:43
◼
►
Same thing with retina.
00:09:49
◼
►
So moving in from the physical hardware,
00:09:50
◼
►
when you're actually working,
00:09:54
◼
►
what are the software, the tools, the things that you use
00:09:54
◼
►
outside of maybe the traditional ones like Xcode and Photoshop?
00:09:59
◼
►
Well, first of all, TextMate, of course, as my text editor,
00:10:02
◼
►
I'm actually using the TextMate 2.0--
00:10:05
◼
►
I don't know, is it an alpha? Is it a beta? I don't know.
00:10:08
◼
►
I'm using the TextMate 2.0 development branch, whatever it is.
00:10:11
◼
►
And it's usable. It's surprisingly fun.
00:10:14
◼
►
In fact, I would say it's no more buggy than TextMate 1.0, whatever.
00:10:19
◼
►
point, whatever.
00:10:24
◼
►
So I think if you're a TextMate user
00:10:25
◼
►
and you want to try out the newest stuff with TextMate,
00:10:27
◼
►
I think it's pretty, I would very safely recommend it
00:10:30
◼
►
at this point.
00:10:32
◼
►
I've been using TextMate 2.0 for about a year now,
00:10:33
◼
►
ever since the alpha came out,
00:10:37
◼
►
I've been using it full-time and it's fine.
00:10:38
◼
►
- Yeah, I do as well.
00:10:41
◼
►
- Yeah, so that's good.
00:10:43
◼
►
And then, you know, kind of other software.
00:10:44
◼
►
I use desktop Twitter clients.
00:10:46
◼
►
I don't really like using Twitter much on my phone
00:10:46
◼
►
anywhere else. The desktop is my primary environment. That's where I use it most.
00:10:51
◼
►
And I do have to use Twitter, or have to with air quotes, I have to use Twitter a lot for work.
00:10:55
◼
►
Because I have to use Twitter to self-promote.
00:11:00
◼
►
And so I have an account for the magazine, I have an account for Instapaper, an account for neutral,
00:11:04
◼
►
an account for my website separately, for the feed people to follow.
00:11:11
◼
►
And so I use Twitter as a promotional channel very heavily.
00:11:13
◼
►
So my Twitter client's always open, and Solver's always open.
00:11:18
◼
►
Got to have Solver.
00:11:19
◼
►
Solver, Solver, I don't know how it's said,
00:11:21
◼
►
but you know what I'm talking about.
00:11:23
◼
►
We'll put a link in show notes or something.
00:11:24
◼
►
Do you have show notes?
00:11:26
◼
►
OK, we'll put a link in show notes.
00:11:29
◼
►
And I cannot undersell this program to the audience.
00:11:34
◼
►
It is so good, especially for programmers.
00:11:37
◼
►
Anybody who works with numbers all day,
00:11:41
◼
►
even basic math.
00:11:46
◼
►
Solver, to give a quick description,
00:11:48
◼
►
is kind of the hybrid between a spreadsheet
00:11:51
◼
►
and a text editor.
00:11:53
◼
►
It's like a line editor almost.
00:11:54
◼
►
But you gotta see it, you gotta play with it.
00:11:57
◼
►
If you haven't tried it yet,
00:12:01
◼
►
delete calculator off your computer somehow.
00:12:02
◼
►
Either hide the icon, move it, somehow get rid
00:12:04
◼
►
of the calculator app.
00:12:06
◼
►
Never launch the calculator app again.
00:12:07
◼
►
Leave a Solver document open as a number scratch pad,
00:12:07
◼
►
and you'll be sold, trust me.
00:12:12
◼
►
The thing that I use solver for,
00:12:14
◼
►
the thing that absolutely sold it for me was when I first realized that it did variables.
00:12:16
◼
►
That I could say, "width equals 320,"
00:12:21
◼
►
and then width becomes a token that I can use elsewhere in the document.
00:12:25
◼
►
That just blew me away for usefulness for programming and for those types of things.
00:12:29
◼
►
Because A becomes basically a programming language at that point.
00:12:34
◼
►
It doesn't have iteration, but it has the ability to store things up and move them around in that way.
00:12:37
◼
►
And I was like, that's perfect.
00:12:39
◼
►
Yeah, I mean, not only will it replace calculator
00:12:42
◼
►
for most people, but it will also
00:12:44
◼
►
replace a lot of basic uses of spreadsheets, which is really--
00:12:48
◼
►
at this point, I use spreadsheets
00:12:50
◼
►
for very little casual, everyday stuff,
00:12:53
◼
►
because Solver is so good for that.
00:12:55
◼
►
So I cannot recommend this program highly enough.
00:12:57
◼
►
I've been beating this drum to death for, I don't know,
00:13:03
◼
►
But eventually, I will get everybody to use this program.
00:13:06
◼
►
It really is that good.
00:13:08
◼
►
In fact, I almost developed the iOS version of it.
00:13:11
◼
►
I was back about a year after Instapaper launched
00:13:15
◼
►
on the App Store, so around 2009 or so.
00:13:19
◼
►
I've been using Solve for forever,
00:13:21
◼
►
and not a lot of people were using it at that point.
00:13:24
◼
►
And I went to the developers and I said,
00:13:26
◼
►
"Hey, there really needs to be an iOS version of this,
00:13:29
◼
►
and I would love to make it,
00:13:31
◼
►
and I would love to license the engine from you
00:13:33
◼
►
from you and whatever else, and here's how I think
00:13:37
◼
►
the interface would look, and they're like,
00:13:40
◼
►
you know, well, we have these concerns about the market,
00:13:43
◼
►
and I'm like, look, whether you do it or I do it,
00:13:46
◼
►
I just want it to exist, and I just want to use it.
00:13:50
◼
►
And they're like, all right, we'll do it.
00:13:53
◼
►
Okay, that was it.
00:13:54
◼
►
- There you go.
00:13:55
◼
►
That's all the push they needed was to know that someone,
00:13:58
◼
►
it's like that there was a market for at least one person
00:14:00
◼
►
to use it on iOS.
00:14:03
◼
►
So when you're sort of doing something new,
00:14:07
◼
►
when you're laying out a new,
00:14:09
◼
►
whether it be a new app or a new part of an app,
00:14:12
◼
►
what's your workflow in doing that?
00:14:15
◼
►
So you start from an idea of I need a screen
00:14:17
◼
►
or I need an interface or I need something that does that.
00:14:19
◼
►
Are you a pen and paper person?
00:14:21
◼
►
Do you get into something to mock it up in Photoshop
00:14:24
◼
►
or one of the other image editors?
00:14:26
◼
►
Do you just dive into code and just start building it?
00:14:28
◼
►
What's your kind of workflow for you have a new idea
00:14:30
◼
►
and do you want to kind of get it going?
00:14:33
◼
►
I would love to be a pen and paper person, but I'm not.
00:14:36
◼
►
I would love to be a Photoshop person, but I'm not.
00:14:40
◼
►
I have Photoshop, I use Photoshop,
00:14:41
◼
►
but not for any kind of mock-ups.
00:14:43
◼
►
I really, I may just get in there and code it person.
00:14:46
◼
►
I tend to have some idea of how I want something to look,
00:14:50
◼
►
but for the most part, I just dive in there
00:14:53
◼
►
and I code it from the bottom up.
00:14:54
◼
►
So the data model, the views, kind of from the bottom up.
00:14:58
◼
►
And then I put the pieces together afterwards,
00:15:01
◼
►
which actually does help in a lot of ways,
00:15:04
◼
►
keeping the MVC roles separate,
00:15:07
◼
►
because I'm kind of forced to by the way I make things.
00:15:10
◼
►
But really for the most part,
00:15:13
◼
►
I really just kind of build it.
00:15:15
◼
►
I jump right in, and I know a lot of people say
00:15:17
◼
►
you aren't supposed to do that,
00:15:17
◼
►
and they're probably right.
00:15:20
◼
►
I just don't have the artistic skills or the self-control
00:15:25
◼
►
to go to paper or Photoshop first and make prototypes
00:15:29
◼
►
and throw three of them away.
00:15:30
◼
►
I don't do that.
00:15:31
◼
►
I just go right into the feature and just make it.
00:15:36
◼
►
And if it sucks, I don't ship it.
00:15:38
◼
►
But for the most part, if I'm going to make something,
00:15:40
◼
►
and most of what I make, I do ship.
00:15:44
◼
►
If I'm going to make something,
00:15:47
◼
►
I just jump right in and do it.
00:15:48
◼
►
- And I think a lot of that speaks to,
00:15:50
◼
►
it's wherever you're going to be fastest in,
00:15:52
◼
►
or whenever you're going to be able to go most quickly
00:15:56
◼
►
from your idea to some realization of it,
00:15:56
◼
►
to see if it's a good idea.
00:15:59
◼
►
I'm the same as you.
00:16:00
◼
►
I just code things.
00:16:01
◼
►
I remember I was writing for Check the Weather, a weather app
00:16:03
◼
►
I recently launched.
00:16:05
◼
►
I drew one picture on a piece of paper.
00:16:09
◼
►
And I still have it, just this tiny little sketch,
00:16:12
◼
►
essentially on a napkin, but it was just
00:16:14
◼
►
in a notebook in my office.
00:16:15
◼
►
And that's it.
00:16:16
◼
►
And then everything else was just in code.
00:16:18
◼
►
I just needed that concept of, yep,
00:16:20
◼
►
it's going to have a panel to the side, the bottom,
00:16:22
◼
►
and the other side.
00:16:23
◼
►
OK, that's it.
00:16:26
◼
►
And you have to kind of try it.
00:16:28
◼
►
For a lot of people, myself and it sounds like you included,
00:16:31
◼
►
you kind of have to try something, a working prototype,
00:16:35
◼
►
before you really know whether it's good or not.
00:16:38
◼
►
- Yeah, especially for something as tactile as iOS.
00:16:42
◼
►
There's something different of,
00:16:43
◼
►
will it even work in your hand is,
00:16:46
◼
►
you hear by people, a lot of designers have those tools
00:16:48
◼
►
that mirror the interface on their device
00:16:50
◼
►
to get some sense of it, but there's that sense
00:16:54
◼
►
if you want it to see if your idea will actually work,
00:16:59
◼
►
and when you're actually touching it and playing with it
00:17:00
◼
►
and seeing, you know, putting it into reality.
00:17:05
◼
►
- And then it's like, so then on the other end of that,
00:17:11
◼
►
what's your workflow when you're,
00:17:15
◼
►
once you've built something in terms of testing
00:17:16
◼
►
and debugging on the back end of creating an app?
00:17:19
◼
►
Obviously you've launched enough apps
00:17:21
◼
►
or on enough platforms, sort of enough,
00:17:24
◼
►
they've been doing this for a long enough time
00:17:25
◼
►
that in terms of dealing with compatibility,
00:17:27
◼
►
dealing with all the kinds of challenges that you have
00:17:30
◼
►
in terms of making sure that what you think is gonna work
00:17:32
◼
►
will actually work for everybody.
00:17:34
◼
►
- Part of how I do that is just by keeping
00:17:38
◼
►
the feature set relatively light.
00:17:40
◼
►
You know, I try to reduce the number of possible
00:17:43
◼
►
configurations and conditions that my apps can be in,
00:17:46
◼
►
just so that I don't have to test so many different things.
00:17:49
◼
►
And so for example, I've been much more aggressive
00:17:53
◼
►
than you recommend with the iOS version updating
00:17:57
◼
►
and requiring minimum iOS versions.
00:18:00
◼
►
I was requiring iOS 5 for Instapaper I think a year ago.
00:18:03
◼
►
And I required iOS 6 from the magazine's launch
00:18:07
◼
►
in October, which wasn't that long after iOS 6 came out.
00:18:13
◼
►
I think it was a few weeks after it came out, actually.
00:18:15
◼
►
It really was not very long at all.
00:18:16
◼
►
And for the most part, the reasons why I do that
00:18:21
◼
►
are to reduce testing and to reduce bug potential, really.
00:18:27
◼
►
So that's part of my approach.
00:18:28
◼
►
And the other part is I just use these apps a lot.
00:18:31
◼
►
So you have a little bit of a different problem,
00:18:34
◼
►
because you do a lot more apps than I do,
00:18:36
◼
►
and you at least used to do a lot of consulting.
00:18:39
◼
►
For me, I only make two apps, and I use them both
00:18:42
◼
►
all the time.
00:18:43
◼
►
And so pretty much almost any problem
00:18:46
◼
►
that I'm going to run into with the apps,
00:18:51
◼
►
I'll run into myself during development.
00:18:53
◼
►
It's very, very rare that a bug in production comes out
00:18:55
◼
►
that I didn't know about in development
00:19:00
◼
►
or that never happened to me in development.
00:19:01
◼
►
I might not have known how to fix it yet,
00:19:03
◼
►
or I might have thought I fixed it,
00:19:05
◼
►
or I might have thought the conditions that lead to it
00:19:07
◼
►
are so rare that it would never be a problem.
00:19:09
◼
►
But usually I have at least seen every bug in development,
00:19:11
◼
►
and usually I try to fix most of them.
00:19:12
◼
►
Do you find that works well in terms of both the split between iPhone and iPad?
00:19:19
◼
►
In terms of using them both enough to get good coverage that way?
00:19:22
◼
►
Because the other thing that I struggle with is I use my iPhone all the time.
00:19:25
◼
►
It's within arm's reach essentially 24 hours a day, seven days a week.
00:19:30
◼
►
And yet my iPad I use very sparingly.
00:19:33
◼
►
And so I always struggle with that on the-- like my apps, all the iPhone's versions tend
00:19:37
◼
►
to be 10 times better than the iPad versions just because that's where I'm used to and
00:19:40
◼
►
in this where I'm working.
00:19:43
◼
►
- Yeah, I mean, I have a little bit of that problem.
00:19:45
◼
►
I don't think it's as bad as what you're saying,
00:19:47
◼
►
because, well, with the magazine,
00:19:51
◼
►
if I'm gonna ship a really terrible bug on the magazine
00:19:53
◼
►
that only happens on one platform, it'll be the iPhone,
00:19:56
◼
►
because I hardly ever use the magazine on the iPhone.
00:19:58
◼
►
That's almost always iPad.
00:19:59
◼
►
And Instapaper, I kinda use half and half,
00:20:03
◼
►
so it's not, I don't think it's really a problem
00:20:06
◼
►
for me that way, because I use it on both platforms
00:20:09
◼
►
pretty reliably.
00:20:10
◼
►
And if I ever made any more apps, that would be a problem.
00:20:16
◼
►
- Yeah, the thing that actually, honestly,
00:20:18
◼
►
as I think about it even more,
00:20:19
◼
►
that I struggle with recently has been
00:20:21
◼
►
making iPhone apps look good on the old stubby screens.
00:20:26
◼
►
- Because I never--
00:20:27
◼
►
- Well, no one's buying those anymore.
00:20:29
◼
►
- Yeah, it's like, I just never see it.
00:20:32
◼
►
I mean, obviously, I have testing devices and things,
00:20:35
◼
►
but the phone that I use all the time
00:20:36
◼
►
that I'm doing most of my testing is an iPhone 5.
00:20:40
◼
►
And so it's like, it's always a little awkward when I run out.
00:20:43
◼
►
You turn it around, run it on the old screen.
00:20:46
◼
►
It's like, oh, that doesn't work.
00:20:48
◼
►
Right, like the keyboard slides up and something's covered,
00:20:50
◼
►
or some minor layout problem like that.
00:20:54
◼
►
Yeah, that is a good point, actually,
00:20:55
◼
►
now that we have a different size screen
00:20:57
◼
►
that we're not really using reliably anymore ourselves.
00:21:01
◼
►
Yeah, I guess I probably have bugs I don't know about.
00:21:06
◼
►
It helps me a little bit that I designed Instapaper
00:21:08
◼
►
for that old phone.
00:21:11
◼
►
So it was more like the iPhone 5.
00:21:13
◼
►
I just had to stretch everything out and stretch
00:21:15
◼
►
some flexible borders, and that was about it.
00:21:19
◼
►
But if you started out on the iPhone 5 with a new app,
00:21:22
◼
►
I could see where that could be a problem.
00:21:24
◼
►
And I mean, it also depends a lot
00:21:26
◼
►
on the content of your app, too.
00:21:27
◼
►
If it's something that's vertically scrolling,
00:21:29
◼
►
it's usually a lot better.
00:21:30
◼
►
The place that I struggle with it--
00:21:32
◼
►
Yeah, so you'll have a profile screen,
00:21:33
◼
►
or you'll have some kind of informational screen.
00:21:35
◼
►
and you want that layout to look perfect,
00:21:38
◼
►
and it's very hard to make it work perfectly
00:21:40
◼
►
on both platforms.
00:21:41
◼
►
Because like, which one are you going to make look best?
00:21:45
◼
►
And I found, too, over time that at first I
00:21:50
◼
►
was designing for the iPhone and just kind of blowing it up
00:21:53
◼
►
for the iPad.
00:21:53
◼
►
And then over time, I've switched to the opposite,
00:21:56
◼
►
where now I'm mostly designing for the iPad
00:21:58
◼
►
and then trying to figure out how to shove it into the iPhone
00:22:01
◼
►
after I know what it wants to do and what it's going
00:22:03
◼
►
on the iPad first.
00:22:05
◼
►
And that probably isn't great, honestly,
00:22:08
◼
►
but it depends on the kind of app you're doing.
00:22:10
◼
►
For a reading app, like both of mine,
00:22:13
◼
►
I think the iPad experience really matters more.
00:22:18
◼
►
- Sure, and it's even where, from a business side of it,
00:22:20
◼
►
it's where most of your customer's going to be,
00:22:22
◼
►
where's most of your usage going to be coming from.
00:22:25
◼
►
It matters far more than anything else,
00:22:28
◼
►
because your ultimate goal is to make the most customers
00:22:33
◼
►
happy as possible.
00:22:34
◼
►
Wherever they're going to be using it is where they want the most optimal and best experience.
00:22:45
◼
►
And then moving out of the workflow side of things, one of the things I always try to
00:22:53
◼
►
get into is the why you work or where you see things on that side of things.
00:23:03
◼
►
And what I was curious is where do you see,
00:23:05
◼
►
as someone who's been, I think if I'm remembering right,
00:23:08
◼
►
Instapaper launched on the first day
00:23:10
◼
►
the iOS App Store launched.
00:23:11
◼
►
Do I remember that right?
00:23:12
◼
►
- It was like the third day.
00:23:14
◼
►
It was annoying.
00:23:14
◼
►
I got there in time for the deadline,
00:23:16
◼
►
but they had too many apps than they expected,
00:23:18
◼
►
so I got bumped.
00:23:20
◼
►
- But you've essentially been in there from the beginning.
00:23:22
◼
►
And it's obviously, the App Store today
00:23:24
◼
►
is a totally different beast than it was back then.
00:23:29
◼
►
And I've been curious from your take on
00:23:32
◼
►
Where do you see the biggest opportunities
00:23:34
◼
►
in the App Store these days?
00:23:36
◼
►
Specifically, sort of focused on more of the smaller,
00:23:40
◼
►
independent style of developer shop.
00:23:43
◼
►
- Sure, I think it's important, you know,
00:23:47
◼
►
I hear all the time from people, from bloggers,
00:23:50
◼
►
from developers, I hear all the time this idea that
00:23:55
◼
►
all the low-hanging fruit is gone,
00:23:57
◼
►
and that the App Store is now so big
00:23:59
◼
►
that little people can't get noticed anymore.
00:24:01
◼
►
And I don't think that's the case, I really don't.
00:24:05
◼
►
I think that's crap, and I think people say that
00:24:09
◼
►
either to discourage themselves from taking an effort
00:24:12
◼
►
or to excuse poor sales of something that just
00:24:16
◼
►
wouldn't have sold well regardless of when it was released.
00:24:19
◼
►
I really don't think that's true at all.
00:24:21
◼
►
I think there is still tons of potential
00:24:24
◼
►
in the App Store, and one of the easiest examples
00:24:28
◼
►
of that to point out is how you,
00:24:30
◼
►
I think you and Brent talked about this last week,
00:24:35
◼
►
or whenever you're releasing that time interval,
00:24:37
◼
►
talked about Clear, the to-do list
00:24:41
◼
►
with its all gesturey and orange and gradient.
00:24:43
◼
►
And Clear came out with a very small team
00:24:45
◼
►
and it got noticed and it exploded,
00:24:48
◼
►
because it was good, it was noteworthy.
00:24:50
◼
►
I actually still use Clear as my shopping list app.
00:24:52
◼
►
It's a good app.
00:24:56
◼
►
And there are a million to-do apps in the app store,
00:24:56
◼
►
all with check mark icons.
00:25:01
◼
►
There's a million of them.
00:25:03
◼
►
And yet, there is still room for new ones
00:25:05
◼
►
that do something interesting or that are different
00:25:11
◼
►
from the other ones in some way that people want.
00:25:13
◼
►
So I think there's infinite potential.
00:25:16
◼
►
I don't know if that's mathematically true,
00:25:20
◼
►
but there's a lot of potential out there
00:25:21
◼
►
still left to be tapped for not only creating new kinds
00:25:26
◼
►
of apps, but for creating just new takes on common apps.
00:25:31
◼
►
I've talked a lot how if I ever get free time,
00:25:36
◼
►
which is unlikely, honestly, but if I ever get
00:25:39
◼
►
some free time, I'd love to do my own podcast client.
00:25:42
◼
►
And there's a million podcast clients already out there,
00:25:45
◼
►
some of which I like a lot.
00:25:48
◼
►
And there's a few that are really successful
00:25:51
◼
►
in the App Store.
00:25:53
◼
►
In fact, I think Instacast and Downcast sell about as well
00:25:57
◼
►
as Instapaper most of the time, if not better.
00:26:00
◼
►
They're very successful and I would love to do
00:26:05
◼
►
my own podcast client someday because I have some ideas
00:26:08
◼
►
that I'm not going to tell everybody, but I have some ideas
00:26:11
◼
►
on things I would do differently
00:26:13
◼
►
than what everyone else is doing.
00:26:15
◼
►
And I think you can point to almost any app category
00:26:17
◼
►
in the App Store as a user of these platforms.
00:26:20
◼
►
you can say, you know, if I was making this kind of app,
00:26:23
◼
►
I would do things differently in this way.
00:26:26
◼
►
Or I would add this one feature that none of these apps
00:26:28
◼
►
really have.
00:26:29
◼
►
Or even a simpler thing, I would totally
00:26:33
◼
►
change the visual design to a different type of mood
00:26:37
◼
►
or theme or style.
00:26:39
◼
►
Those are all-- I mean, look at Clear.
00:26:40
◼
►
Clear is-- it's a very simple type of app, in theory,
00:26:45
◼
►
it's a to-do list.
00:26:47
◼
►
And they did a really radical visual design,
00:26:50
◼
►
really radical functional design with the gestures
00:26:52
◼
►
and everything, and that was compelling for people.
00:26:55
◼
►
Even though it lacked most of the features
00:26:56
◼
►
of the advanced to-do apps, and in many ways,
00:26:59
◼
►
that was a feature.
00:27:01
◼
►
- It seems like a lot of that is finding
00:27:02
◼
►
the right niche there.
00:27:04
◼
►
You don't have to address the entire market,
00:27:06
◼
►
you only need probably a few hundred people a day
00:27:11
◼
►
And so that helps a lot with that.
00:27:15
◼
►
It's like even if there's a million podcast clients
00:27:18
◼
►
or a million to-do clients.
00:27:23
◼
►
You only need a few hundred people a day
00:27:25
◼
►
to say, "Hey, I like that," for it to be
00:27:26
◼
►
a sustainable, reasonable business.
00:27:29
◼
►
- Right, because if a few hundred people a day
00:27:31
◼
►
give you a few dollars each, that's a job.
00:27:32
◼
►
- Yeah, exactly.
00:27:35
◼
►
- That's a pretty good job, usually.
00:27:36
◼
►
You know, that's all you need to do.
00:27:38
◼
►
And the iOS market is so big.
00:27:41
◼
►
There are so many people using iOS devices,
00:27:44
◼
►
and it is still fairly routine for people
00:27:45
◼
►
to spend money on apps.
00:27:50
◼
►
And I'm not sure that's always going to be the case.
00:27:52
◼
►
I think it probably will be for a while more,
00:27:54
◼
►
and then it'll switch more to in-app purchase stuff
00:27:57
◼
►
and stuff like that.
00:27:59
◼
►
But we're seeing the beginnings of that now.
00:27:59
◼
►
But I still think you can, either way,
00:28:01
◼
►
whether it's in-app purchase or up front,
00:28:05
◼
►
I think it's very clear to everyone in this business
00:28:07
◼
►
that people are spending real money on iOS
00:28:11
◼
►
to solve problems, or just for fun, for entertainment.
00:28:11
◼
►
So apps are like the new going out to see a movie.
00:28:16
◼
►
Like if you have some free time with your phone or your iPad
00:28:20
◼
►
and you want to try out some new stuff,
00:28:22
◼
►
you'll go to the app store and you'll go spend
00:28:24
◼
►
five or six bucks on a few new apps.
00:28:27
◼
►
That's a form of entertainment now for so many people.
00:28:29
◼
►
I do it, do you do it?
00:28:30
◼
►
- Sure, yeah.
00:28:31
◼
►
- Lots of people do this.
00:28:32
◼
►
And so even with that, you don't even need to have
00:28:37
◼
►
a groundbreaking bombshell of an app
00:28:39
◼
►
that's going to get on all the sites in CNN reporting on it and everything,
00:28:44
◼
►
you just have to have something interesting that people haven't seen before
00:28:49
◼
►
or that does something a little bit differently that kind of looks like,
00:28:51
◼
►
"Oh, hey, maybe I'll try that."
00:28:54
◼
►
I mean, I bought tons of apps that I don't have on my phone anymore.
00:28:55
◼
►
I don't regret having bought them.
00:28:59
◼
►
I bought them to try them.
00:29:00
◼
►
And that's the fact, that's iOS business.
00:29:02
◼
►
That's it right there.
00:29:04
◼
►
People do that all the time.
00:29:05
◼
►
So you don't have to think in these giant terms like,
00:29:06
◼
►
oh, what am I going to do entering this market with a big competitor?
00:29:11
◼
►
Or what happens if someone else comes in here and kills my app?
00:29:15
◼
►
You know, kill in quotes.
00:29:18
◼
►
And I don't think people have to really think that way.
00:29:21
◼
►
I think it's very apparent that there's room on iOS
00:29:23
◼
►
for lots of different interpretations of the same concept.
00:29:29
◼
►
And there's tons of potential concepts,
00:29:33
◼
►
some of which have been discovered already and beaten to death,
00:29:33
◼
►
but even those have some life left in them,
00:29:35
◼
►
and some of them people haven't even thought of yet.
00:29:40
◼
►
- Yeah, and it's, I think, it makes me think so much of the,
00:29:44
◼
►
how I think so often people get too wrapped up
00:29:46
◼
►
in how they define being successful in the App Store,
00:29:50
◼
►
that you can get so wrapped up into trying to
00:29:53
◼
►
be the next whatever it is.
00:29:55
◼
►
It's the next, I want to be the next camera plus.
00:29:57
◼
►
I want to be the next clear, or whatever it is,
00:29:59
◼
►
that it's like the sort of the more runaway hits.
00:30:02
◼
►
And the reality is, you can build a very, very good business
00:30:06
◼
►
not being anywhere near there, just by doing the basics right
00:30:10
◼
►
over and over again, and building a small
00:30:14
◼
►
but consistent user base.
00:30:18
◼
►
And a lot of people just don't see that option.
00:30:22
◼
►
They only see what becomes big and famous, because that's what gets
00:30:26
◼
►
to them press-wise or attention-wise, and they don't see all these
00:30:30
◼
►
all these jobs in the middle.
00:30:32
◼
►
It's like when you're in high school
00:30:34
◼
►
and your parents start asking you
00:30:36
◼
►
what kind of job you want to do for the rest of your life,
00:30:39
◼
►
and at that point, you're aware of maybe 30 jobs that exist.
00:30:43
◼
►
And so you've got to pick between these 30 jobs
00:30:46
◼
►
that you know of that exist.
00:30:47
◼
►
Well, do I want to be a doctor, a lawyer, a teacher?
00:30:51
◼
►
There's not that many that you know of.
00:30:54
◼
►
And then you get into the real world and you realize,
00:30:56
◼
►
wow, there is somebody who has to climb up
00:31:00
◼
►
on that bridge and paint it.
00:31:05
◼
►
That's a job I didn't know existed until high school,
00:31:07
◼
►
or if I watch the Discovery Channel.
00:31:10
◼
►
Or you guys are the workforce and you see people who are like,
00:31:11
◼
►
"I don't really think they do anything all day."
00:31:15
◼
►
It sounds like their job is really easy,
00:31:18
◼
►
but someone's paying them a full-time salary to use Twitter.
00:31:20
◼
►
There's all these jobs that you don't see
00:31:25
◼
►
until you're in it.
00:31:25
◼
►
And that's how iOS apps are.
00:31:27
◼
►
From the outside, you see the big hits.
00:31:30
◼
►
You see the top grossing list, which as you said last time,
00:31:32
◼
►
I agree, is mostly useless.
00:31:34
◼
►
You see the high profile stuff,
00:31:38
◼
►
but there's this entire massive world
00:31:41
◼
►
of the middle class of iOS apps.
00:31:44
◼
►
And it's really a massive middle class.
00:31:48
◼
►
There is so much potential there.
00:31:50
◼
►
And yeah, I'm not going to be the next Angry Birds
00:31:54
◼
►
by any means with any of the apps I make in all likelihood,
00:31:59
◼
►
and neither will anybody who's hearing this in all likelihood.
00:32:02
◼
►
But that doesn't mean that you can't make a good living
00:32:05
◼
►
on the App Store, just making a handful of apps
00:32:08
◼
►
or even one app that people like.
00:32:11
◼
►
And it doesn't have to be half the world who likes it.
00:32:14
◼
►
It can just be a few hundred thousand people who like it.
00:32:16
◼
►
That's a good living.
00:32:19
◼
►
Yeah, I mean, it's that difference of,
00:32:21
◼
►
I think it's so easy to be distracted by the concept of being,
00:32:22
◼
►
It's like the App Store millionaires, right?
00:32:27
◼
►
As a concept.
00:32:30
◼
►
Whereas there's far more,
00:32:31
◼
►
and it's probably a better thing to aim for,
00:32:34
◼
►
to be an App Store 100,000-er or whatever it is.
00:32:36
◼
►
I was going to say it if you weren't.
00:32:40
◼
►
It's like you want to do, to have that goal.
00:32:42
◼
►
I remember when I first started out,
00:32:44
◼
►
and I was trying to convince my wife,
00:32:46
◼
►
we're talking to her about, oh, I want to make apps.
00:32:47
◼
►
At the time, I was doing Rails work for a larger company,
00:32:48
◼
►
and I was like, I just want to, I want to do,
00:32:51
◼
►
sort of make something, I want to do something on my own.
00:32:53
◼
►
And originally, sort of the deal in some ways
00:32:57
◼
►
was I could focus on it fully.
00:32:58
◼
►
I think it was once I made, I had to consistently make
00:33:01
◼
►
$200 a day in the app store, which isn't easy by any means.
00:33:06
◼
►
It takes a lot of work to get to there.
00:33:08
◼
►
But that was my goal, which works out to be,
00:33:11
◼
►
I think about, what, $70,000 a year or something like that.
00:33:13
◼
►
Something like that.
00:33:14
◼
►
That was the, because like, OK, that's a salary.
00:33:16
◼
►
That's what I need to--
00:33:18
◼
►
And that goal, when you kind of squish it down in that way,
00:33:22
◼
►
makes it so much more attainable and tangible
00:33:25
◼
►
for what you're trying to do.
00:33:27
◼
►
It's not, I'm trying to meet millions of users
00:33:29
◼
►
or have a system or an infrastructure that
00:33:31
◼
►
can scale for that.
00:33:32
◼
►
It's like, it's just a few hundred people a day.
00:33:35
◼
►
And that's it.
00:33:36
◼
►
And there's a lot of-- I know this
00:33:38
◼
►
is going a little off track, but I think it's fun anyway.
00:33:40
◼
►
There's a lot of stress.
00:33:43
◼
►
Before I took InstaHaper full time,
00:33:46
◼
►
I was really scared to do it.
00:33:48
◼
►
And I probably should have done it a year earlier
00:33:53
◼
►
than I actually did, but I was too scared
00:33:54
◼
►
to leave my full-time job with health insurance.
00:33:57
◼
►
And so when I took it full-time,
00:33:59
◼
►
I had to do crazy, scary things
00:34:03
◼
►
like address the health insurance problem
00:34:07
◼
►
and do my own taxes and stuff like that.
00:34:10
◼
►
And I was doing some of that beforehand,
00:34:12
◼
►
but not most of it.
00:34:14
◼
►
And then I realized once I was going,
00:34:17
◼
►
like okay, well health insurance, that's just a number.
00:34:19
◼
►
You know, I gotta pay, well here,
00:34:22
◼
►
I pay a ridiculous amount because it's New York.
00:34:25
◼
►
So I pay like 2,000 bucks a month
00:34:27
◼
►
for health insurance for my family.
00:34:29
◼
►
And it's like, well, that's a lot of money,
00:34:31
◼
►
that's really scary, but that's just a number.
00:34:32
◼
►
So that's okay, if I wanna do this full time,
00:34:35
◼
►
I have to make whatever I wanted to make before
00:34:37
◼
►
plus $2,000 a month.
00:34:39
◼
►
And okay, then that's X dollars a day, whatever that is.
00:34:42
◼
►
And okay, so you figure it out.
00:34:44
◼
►
It's just a number.
00:34:46
◼
►
And just like, you know, starting a business
00:34:48
◼
►
was this intimidating thing for me.
00:34:49
◼
►
Well, it's just paperwork that you gotta file.
00:34:52
◼
►
You filed some paperwork and you are officially a business.
00:34:55
◼
►
You know, like that's it.
00:34:56
◼
►
- It's almost scary how easy it is to do that.
00:34:58
◼
►
- Yeah, exactly.
00:34:59
◼
►
And I actually, yeah, I feel bad for people
00:35:02
◼
►
who live in countries where it's a lot harder to do.
00:35:05
◼
►
'Cause I know in the US it's almost notoriously easy.
00:35:09
◼
►
But yeah, the fact is in the US,
00:35:11
◼
►
starting a business is really, really simple.
00:35:13
◼
►
Making money is not so simple,
00:35:15
◼
►
but having a business entity is quite easy.
00:35:19
◼
►
And so, there was all this,
00:35:23
◼
►
I was so scared to do it, and before I did it full time, I was so scared
00:35:27
◼
►
because I had always just heard, or there was this mythos around
00:35:31
◼
►
going on your own, you got to do everything yourself, and oh, what do you
00:35:35
◼
►
do about benefits, and all these big questions.
00:35:39
◼
►
On this topic, if the US really cared about small businesses,
00:35:44
◼
►
we would have nationalized health insurance
00:35:48
◼
►
for this exact reason.
00:35:49
◼
►
But that's a different topic.
00:35:51
◼
►
I'm going to get you so much angry emails, Dave,
00:35:54
◼
►
but it's going to be great.
00:35:56
◼
►
So I think starting a business
00:35:58
◼
►
and being independent on the App Store
00:36:02
◼
►
and succeeding, and of course, success is a variable there.
00:36:05
◼
►
It's like, you know, people wonder,
00:36:07
◼
►
oh, how do you succeed on the app store?
00:36:09
◼
►
Well, what do you mean by success?
00:36:11
◼
►
You know, I think most people mean money.
00:36:14
◼
►
And so, and you have to be more specific.
00:36:16
◼
►
You have to say, okay, well, you know,
00:36:17
◼
►
how much money do you need to make
00:36:19
◼
►
to consider it a success?
00:36:22
◼
►
And again, it's not some big scary thing.
00:36:24
◼
►
You just add up all these numbers,
00:36:25
◼
►
say, all right, well, if I have this much coming in,
00:36:27
◼
►
then I have to spend this much on health insurance,
00:36:30
◼
►
this much on accounting, this much on taxes,
00:36:31
◼
►
and blah, blah, blah, you go down the list,
00:36:33
◼
►
and then you have at the end a number,
00:36:35
◼
►
and that's roughly what you get to keep.
00:36:37
◼
►
And then you can say, all right, well,
00:36:40
◼
►
in order to get there, I have to make this.
00:36:41
◼
►
And that's it.
00:36:42
◼
►
And if you make it, you're succeeding.
00:36:44
◼
►
And you have about as much job security
00:36:46
◼
►
as you have at any real job anyway.
00:36:48
◼
►
- Yeah, I mean, I was going to say,
00:36:49
◼
►
the biggest part, I remember when I was going out on my own,
00:36:51
◼
►
I've been out on my own, I think, for about seven years now.
00:36:53
◼
►
And it's, the biggest part of that
00:36:56
◼
►
was the real understanding that,
00:36:59
◼
►
if at the end of whatever it was,
00:37:01
◼
►
a few weeks, a few months, a few years,
00:37:04
◼
►
If those numbers all suddenly crossed over
00:37:07
◼
►
and I was unable to keep doing it,
00:37:09
◼
►
it's not like I have a gap in my resume that I've created.
00:37:12
◼
►
If anything, I'm more desirable to most smart companies
00:37:17
◼
►
as somebody who's gone through that experience
00:37:19
◼
►
and tried to be entrepreneurial,
00:37:22
◼
►
who understands all these other different parts
00:37:23
◼
►
of what being a successful business looks like
00:37:27
◼
►
than I would have if I'd just stayed at my old job
00:37:30
◼
►
writing code, being like one of a dozen programmers
00:37:33
◼
►
sitting there working on a project.
00:37:35
◼
►
And I think understanding that it's like the worst case,
00:37:38
◼
►
the absolute, probably the worst case scenario
00:37:40
◼
►
for if this happens is I'll end up with no job
00:37:45
◼
►
and I'll have to go find one, which okay,
00:37:48
◼
►
but I'll be coming at that from a position
00:37:50
◼
►
of a lot of really interesting, recent, good experiences.
00:37:54
◼
►
- Exactly, and you'll have your name on all those things.
00:37:59
◼
►
If you spend seven years working at a big company,
00:38:03
◼
►
a lot of times, depending on what you're doing,
00:38:05
◼
►
you can't really put your name on anything big
00:38:07
◼
►
that an outside employer would have heard of,
00:38:09
◼
►
or can easily see or view or browse.
00:38:13
◼
►
That's one of the reasons why people in our field
00:38:15
◼
►
are so often encouraged to contribute
00:38:16
◼
►
to open source projects,
00:38:18
◼
►
because then potential employers can at least look
00:38:20
◼
►
and see, okay, here's what you've done,
00:38:22
◼
►
here's an example of your code,
00:38:24
◼
►
here's a product that you helped contribute to
00:38:27
◼
►
or designed entirely yourself.
00:38:29
◼
►
Those are all very helpful to look at.
00:38:31
◼
►
When you work at a big company,
00:38:32
◼
►
a lot of times you aren't allowed to disclose
00:38:34
◼
►
what you worked on, or you can't show the code
00:38:36
◼
►
that you worked on or things like that,
00:38:38
◼
►
or what you worked on is just some boring internal thing
00:38:41
◼
►
that no one even cares to hear about.
00:38:43
◼
►
Whereas, yeah, if you have to go get a job,
00:38:46
◼
►
you can show them this giant pile of apps
00:38:48
◼
►
that you've made entirely yourself and say,
00:38:50
◼
►
"Hey, here's everything I did in the last seven years."
00:38:53
◼
►
- Yeah, and as soon as I got my head around that,
00:38:57
◼
►
I was like, "Oh, that's not so scary."
00:38:59
◼
►
I don't have any, I have the illusion of job security
00:39:04
◼
►
working a corporate job in the sense of,
00:39:07
◼
►
I feel like it's stable just because every month
00:39:10
◼
►
they've direct deposited into my bank account.
00:39:13
◼
►
But there's nothing to say that they can't just,
00:39:16
◼
►
the next day I show up they're like,
00:39:19
◼
►
"Hey, sorry, the contract was canceled, you're out."
00:39:21
◼
►
- Yeah, I think a lot of people overestimate
00:39:24
◼
►
their job security until there's something like that
00:39:30
◼
►
A lot of people think that any full-time job is inherently secure,
00:39:31
◼
►
and it really isn't.
00:39:35
◼
►
And I would say that the job security of most full-time jobs,
00:39:37
◼
►
especially in our business, is roughly the same as your
00:39:43
◼
►
self-employment job security, unless you're really terrible
00:39:47
◼
►
at it or something.
00:39:50
◼
►
But for the most part, I think it's pretty much the same
00:39:51
◼
►
where, yeah, if you're self-employed, maybe you
00:39:51
◼
►
couldn't run at the same job for eight years,
00:39:54
◼
►
working for yourself.
00:39:55
◼
►
If you're employed at a big company,
00:39:56
◼
►
maybe you can go there for eight years
00:39:58
◼
►
before you get laid off or fired,
00:39:59
◼
►
or driven to quit because it's so miserable.
00:40:02
◼
►
So you have about the same job security,
00:40:04
◼
►
I think, in both conditions.
00:40:07
◼
►
Yeah, and it's just-- I don't know.
00:40:09
◼
►
I mean, obviously, I think we're both in the same boat
00:40:11
◼
►
of enjoying it.
00:40:12
◼
►
But I think the upsides of having control over what you do
00:40:17
◼
►
and the final say on the quality of it,
00:40:20
◼
►
on the nature of what you're doing,
00:40:23
◼
►
and the motivations behind it,
00:40:25
◼
►
is ultimately even a bigger incentive
00:40:29
◼
►
than it's not like the two are even neutral
00:40:30
◼
►
in terms of one being out the same as the other.
00:40:33
◼
►
At least from my perspective,
00:40:35
◼
►
I don't know why, at this point I'm unemployable, I think.
00:40:37
◼
►
I don't think I could go and work at a regular job
00:40:39
◼
►
and be happy. - I sure could.
00:40:42
◼
►
Yeah, I definitely couldn't.
00:40:44
◼
►
I'm totally with you on that.
00:40:45
◼
►
I mean, and I would imagine you're probably a control freak,
00:40:49
◼
►
'cause I know I sure am.
00:40:51
◼
►
Is that fair?
00:40:52
◼
►
- It's just certainly in the area of software.
00:40:56
◼
►
Maybe not as much in other parts of my life,
00:40:58
◼
►
but definitely in terms of--
00:40:59
◼
►
- Well, in the area of what you do.
00:41:00
◼
►
- Yeah, I like--
00:41:02
◼
►
- I never really liked being told what to work on.
00:41:05
◼
►
And I imagine this is very common,
00:41:08
◼
►
especially in software developers,
00:41:09
◼
►
because usually, most software developers,
00:41:13
◼
►
I would imagine, I guess I don't have any data
00:41:15
◼
►
back this up, but I would imagine most software developers
00:41:18
◼
►
started at a young age programming as a hobby.
00:41:21
◼
►
And when you have started that way,
00:41:24
◼
►
it's probably, I know, like some of the best programmers
00:41:28
◼
►
I've worked with were very difficult to employ
00:41:31
◼
►
because they always wanted to go off on some tangent
00:41:35
◼
►
doing their own thing with something
00:41:37
◼
►
that was technically interesting.
00:41:39
◼
►
And it was really hard to get them to meet a deadline.
00:41:42
◼
►
Or work on some really boring feature
00:41:44
◼
►
or some back end stupid administrative thing,
00:41:47
◼
►
or fix some really obnoxious bug,
00:41:50
◼
►
because they instead wanted to be working
00:41:51
◼
►
on the cool new thing, the interesting thing.
00:41:54
◼
►
And that's, I think, so prevalent in our industry.
00:41:57
◼
►
It kind of helps to, it helps us have
00:42:00
◼
►
so many independent workers,
00:42:02
◼
►
because there's so many people who, like,
00:42:05
◼
►
I want to work on what I want to work on, dammit,
00:42:06
◼
►
and you can't tell me what my homework is.
00:42:10
◼
►
- Yeah, and there's an opinionation about,
00:42:12
◼
►
or like being a very opinionated person, I find.
00:42:14
◼
►
seems to be also another attribute of a lot of
00:42:17
◼
►
the kind of software developers who end up
00:42:18
◼
►
going into independent work.
00:42:21
◼
►
There is so many different ways to solve a problem
00:42:24
◼
►
in software that in my mind there's almost always only one
00:42:29
◼
►
that's correct and the rest are terrible ideas.
00:42:33
◼
►
Intellectually I know that's not right
00:42:36
◼
►
and that probably somewhere in the middle
00:42:38
◼
►
there might be something there,
00:42:39
◼
►
but I'm just an opinionated person.
00:42:40
◼
►
I'm like, nope, that's the way I do it
00:42:42
◼
►
because that's better.
00:42:44
◼
►
And because you work for yourself,
00:42:49
◼
►
you can do it exactly that way.
00:42:51
◼
►
A long time ago, Merlin Mann on Back to Work, his podcast,
00:42:53
◼
►
a long time ago there was three episodes in a row
00:42:57
◼
►
about the concept of agency and being in control
00:43:00
◼
►
of what you're working on and being in control
00:43:03
◼
►
of your destiny professionally, basically.
00:43:08
◼
►
And how when you're just somebody's employee,
00:43:10
◼
►
you have given up some of that control
00:43:15
◼
►
in exchange for less risk-taking, less liability,
00:43:17
◼
►
a more stable paycheck, et cetera,
00:43:22
◼
►
the benefits of working for somebody else.
00:43:24
◼
►
But if you really want that control,
00:43:26
◼
►
that's always going to be a friction point
00:43:28
◼
►
in that relationship where if you are the kind of person
00:43:30
◼
►
like you and I, if you're the kind of person
00:43:34
◼
►
who really wants to work on what they want to work on
00:43:36
◼
►
and doesn't want to do the boring homework,
00:43:37
◼
►
then every single time your boss tells you to do something,
00:43:42
◼
►
it's going to kind of hit that nerve.
00:43:45
◼
►
And you're probably not going to do as good of work there
00:43:47
◼
►
as you could because you're going to be working on stuff
00:43:50
◼
►
you don't want to be working on.
00:43:52
◼
►
And for a lot of people, I know, certainly myself included,
00:43:53
◼
►
that means less productivity.
00:43:56
◼
►
When your heart's not in it,
00:43:58
◼
►
that means you don't do as good of work,
00:44:00
◼
►
or at least as much work.
00:44:02
◼
►
And so for me, I always kind of found,
00:44:04
◼
►
like at Tumblr, I was at Tumblr for the longest part of my,
00:44:05
◼
►
It was the longest uninterrupted part of my career.
00:44:10
◼
►
I was lucky there that I could pretty much invent
00:44:12
◼
►
whatever I was working on.
00:44:14
◼
►
There were some problems that I'd have to solve
00:44:17
◼
►
just out of necessity, but a lot of times
00:44:21
◼
►
I basically had the freedom there to say,
00:44:22
◼
►
"You know what?
00:44:24
◼
►
"I want to spend the next two weeks
00:44:25
◼
►
"designing a new cache layer,"
00:44:27
◼
►
or doing something like that,
00:44:29
◼
►
something that I found interesting.
00:44:32
◼
►
Certainly not all the time, but it was a lot of the time.
00:44:34
◼
►
That's one of the reasons why I was so happy there
00:44:35
◼
►
for so long.
00:44:37
◼
►
But now it's even better because now I decide
00:44:41
◼
►
everything I do and don't do for the most part.
00:44:43
◼
►
And of course, you know, there's always,
00:44:45
◼
►
even when you run your own business,
00:44:46
◼
►
there's always things that you have to do
00:44:48
◼
►
just as part of reality or, you know, the law,
00:44:52
◼
►
like counting paperwork.
00:44:54
◼
►
There's always stuff you have to do.
00:44:55
◼
►
There's some overhead.
00:44:56
◼
►
But there's a heck of a lot less stuff that you have to do
00:44:59
◼
►
that you don't want to do for the most part
00:45:01
◼
►
if you've set it up that way.
00:45:04
◼
►
So it does make me, this is something that I struggle with
00:45:06
◼
►
and I'm curious how you tackle this.
00:45:09
◼
►
The most difficult part I find of being independent
00:45:12
◼
►
is dealing with the concept of software maintenance
00:45:15
◼
►
or you're doing work that isn't that interesting
00:45:19
◼
►
new problem, that isn't that interesting new app,
00:45:22
◼
►
that isn't that interesting new concept.
00:45:23
◼
►
That it's going back and doing compatibility updates
00:45:27
◼
►
for an older app or making it doing,
00:45:30
◼
►
I mean even you imagine an app like Instapaper
00:45:33
◼
►
point. There's a certain amount of the reality of a lot of the interesting problems have
00:45:40
◼
►
already been solved, but you're still working on maintaining it and keeping it going. How
00:45:43
◼
►
do you balance those two, the urge to be always be on working on the interesting thing and
00:45:50
◼
►
the necessity to be, you're the only person who can work on it, so you just have to?
00:45:56
◼
►
It's occasionally hard. I think in the case of Instapaper, what helps a lot is that the
00:46:01
◼
►
the app is pretty mature at this point.
00:46:02
◼
►
I don't really have to do much to it to just keep it going.
00:46:06
◼
►
And I've set up the servers in sexuality
00:46:08
◼
►
to be pretty low maintenance,
00:46:09
◼
►
'cause that's how I have always done things
00:46:11
◼
►
out of added necessity.
00:46:13
◼
►
And so I've really kinda set up the whole product
00:46:17
◼
►
to be low maintenance, relatively low cost of running it,
00:46:22
◼
►
low overheads.
00:46:24
◼
►
Really, Instapaper's biggest cost every month
00:46:28
◼
►
the servers that it runs on.
00:46:30
◼
►
If I have the urge to add a new feature to it, I can do it,
00:46:38
◼
►
but at the same time, I decided this past summer and fall
00:46:42
◼
►
to start up the magazine, and one of the reasons
00:46:45
◼
►
I was able to do that was because the paper was
00:46:47
◼
►
at this point where I could kind of de-emphasize it
00:46:51
◼
►
for a while, and I don't intend for that to be permanent,
00:46:55
◼
►
and I intend to reemphasize it soon,
00:46:58
◼
►
because the magazine is now reaching a stable point,
00:47:00
◼
►
but I had that freedom because the app
00:47:04
◼
►
is pretty low maintenance.
00:47:07
◼
►
And so when I jump back into it and start really working
00:47:11
◼
►
on this big upgraded version full time,
00:47:15
◼
►
I wish I still haven't done, but once I start doing that,
00:47:23
◼
►
First of all, I have the freedom now
00:47:26
◼
►
that I have an additional source of income,
00:47:28
◼
►
which then, it kind of frees me up with Instapaper
00:47:32
◼
►
to be a little more experimental.
00:47:35
◼
►
Because when Instapaper was my only income,
00:47:38
◼
►
it was very, very hard for me to take any risks with it.
00:47:42
◼
►
If I wanted to remove a feature that was really old
00:47:46
◼
►
and crufty and causing lots of problems
00:47:48
◼
►
and making it hard to move forward,
00:47:50
◼
►
Like a long time ago, I did that with the RSS folder feature,
00:47:53
◼
►
which was a terrible idea.
00:47:56
◼
►
When I wanted to remove a feature, that was a really,
00:47:58
◼
►
really hard thing to do, because I knew it would anger people.
00:48:01
◼
►
When I wanted to raise the iOS minimum bar,
00:48:04
◼
►
that was a really hard thing to do.
00:48:05
◼
►
Because I was afraid, this is my only income.
00:48:07
◼
►
What if I anger everybody?
00:48:09
◼
►
Everyone's going to go jump to Clipped or whatever,
00:48:13
◼
►
if I anger them, whatever my new competitor this month is.
00:48:17
◼
►
And that was always a big stress point.
00:48:19
◼
►
And now, I have the magazine income,
00:48:22
◼
►
and I have my blog income,
00:48:24
◼
►
and I have occasional podcast income.
00:48:27
◼
►
And so now, I have something else to fall back on,
00:48:32
◼
►
so I can say, you know what, with Instapaper,
00:48:35
◼
►
I'm gonna do what I wanna do here.
00:48:36
◼
►
And I know a lot of people are gonna follow me on it,
00:48:39
◼
►
I know a lot of people are going to love what I'm doing,
00:48:42
◼
►
and I'm gonna get some new customers.
00:48:44
◼
►
And if I anger a handful of existing customers,
00:48:46
◼
►
that's just the cost of the progression of time here.
00:48:50
◼
►
- Yeah, and I've had a very similar experience in that.
00:48:53
◼
►
The biggest peace of mind I've been able to grow
00:48:56
◼
►
in my business is by diversification,
00:48:58
◼
►
into having all my eggs in many baskets.
00:49:01
◼
►
And so you can be more,
00:49:06
◼
►
even just from a peace of mind perspective,
00:49:08
◼
►
it's like in aggregate, you'll probably end up the same,
00:49:11
◼
►
even if one thing's going down,
00:49:13
◼
►
there's a good chance something else will be going up.
00:49:15
◼
►
- Exactly, and again, if I really screw up big time
00:49:20
◼
►
and I somehow kill Instapaper by trying to update it,
00:49:24
◼
►
then I'll make a podcast client.
00:49:26
◼
►
You know, there's always more to do.
00:49:29
◼
►
I mean, every time I need an app for something,
00:49:31
◼
►
this happens a lot, like if I go on a trip somewhere
00:49:34
◼
►
or if there's some kind of like single,
00:49:36
◼
►
specialized purpose single use that I have for an app
00:49:39
◼
►
and I go to the store and try to download something,
00:49:41
◼
►
I'm always appalled at how bad most of the options are.
00:49:45
◼
►
And so like almost every month I run into some situation
00:49:49
◼
►
like this where I need a new app for something
00:49:50
◼
►
and I think, man, if I had the time,
00:49:53
◼
►
I would make the crap out of an app that does this.
00:49:57
◼
►
And just really do this right, you know?
00:49:59
◼
►
And I don't have time because I'm working on the other apps.
00:50:02
◼
►
So if I really screw up royally and somehow torpedo
00:50:05
◼
►
one of my main apps, well then I'll have some free time.
00:50:09
◼
►
And it's not that big of a problem.
00:50:12
◼
►
- Just move on and--
00:50:13
◼
►
and make something else.
00:50:15
◼
►
- And I think the last area I wanted to talk about
00:50:19
◼
►
I thought was really interesting is if you kind of think
00:50:21
◼
►
about you've been doing this for long enough
00:50:24
◼
►
that you've probably made a few mistakes.
00:50:26
◼
►
And I'm curious if you could talk about,
00:50:30
◼
►
it's like, it's always a funny question to say
00:50:31
◼
►
what's the biggest mistake you've made,
00:50:33
◼
►
whether it's sort of business or technically,
00:50:34
◼
►
but an interesting mistake that resulted in a lesson
00:50:38
◼
►
that was worth learning, that you,
00:50:41
◼
►
as you go forward you're thinking about,
00:50:42
◼
►
I definitely don't want to do that again.
00:50:46
◼
►
- I definitely think, it's hard to say
00:50:50
◼
►
because I haven't fixed this mistake yet,
00:50:52
◼
►
so it's hard to say whether it was a mistake, I think.
00:50:55
◼
►
In retrospect, what I'm going to regret the most
00:50:59
◼
►
with Instapaper especially,
00:51:02
◼
►
is not having hired help earlier.
00:51:04
◼
►
Because I've been doing Instapaper mostly myself.
00:51:09
◼
►
I have somebody else, the awesome Richard Dunlop Walters,
00:51:12
◼
►
who does the feature, formerly give me something to read,
00:51:15
◼
►
who picks the stories for that and edits that whole thing.
00:51:17
◼
►
In fact, he even does the site layout for that now.
00:51:20
◼
►
He took the whole thing over, he's awesome.
00:51:22
◼
►
And he does all that and all the support emails.
00:51:25
◼
►
But beyond that, and beyond occasional design contracting
00:51:29
◼
►
for mostly little things, I really have done
00:51:32
◼
►
all of Instapaper myself.
00:51:34
◼
►
That's partially because I'm a control freak
00:51:38
◼
►
and partially because I am scared to delegate,
00:51:41
◼
►
but also partially because I'm scared of the cost
00:51:43
◼
►
of bringing on anybody else full-time.
00:51:45
◼
►
You've talked a lot about having had full-time employees
00:51:47
◼
►
in the past or even having worked with just contractors
00:51:50
◼
►
on a long-term basis.
00:51:51
◼
►
I've never done that really, and so that does scare me.
00:51:55
◼
►
But with the magazine, putting together a magazine
00:51:59
◼
►
turns out to be so much work.
00:52:01
◼
►
I mean, the app is easy.
00:52:02
◼
►
The app I've been working on, but it's, you know,
00:52:04
◼
►
the app is gonna be done, for the most part,
00:52:07
◼
►
quote, done relatively soon,
00:52:09
◼
►
as soon as I fixed the main bugs left.
00:52:11
◼
►
But the editorial side of it is just so much work
00:52:15
◼
►
that I had to hire Glenn Fleischman, the editor,
00:52:18
◼
►
almost full-time already.
00:52:20
◼
►
And once I hired him, I realized,
00:52:22
◼
►
and part of this is just 'cause Glenn's ridiculously awesome,
00:52:25
◼
►
but I realized just how awesome it is to have help.
00:52:29
◼
►
'Cause when I hired Richard to do the feature
00:52:33
◼
►
and the inspaper support,
00:52:36
◼
►
those were things I was barely doing anyway.
00:52:38
◼
►
So support I was mostly ignoring, which I know is terrible,
00:52:43
◼
►
but that's the reality.
00:52:47
◼
►
I was mostly ignoring support emails,
00:52:48
◼
►
and the feature was relatively quick to do.
00:52:51
◼
►
So when he took over, it wasn't that big of a problem.
00:52:56
◼
►
Just, you know, I saved a little bit of time every day
00:52:59
◼
►
from not doing the feature,
00:53:02
◼
►
and all the support emails started getting answered.
00:53:04
◼
►
But I wasn't doing that before,
00:53:06
◼
►
so it wasn't that big of a savings.
00:53:05
◼
►
When I hired Glenn for the magazine though,
00:53:07
◼
►
doing all the editorial work,
00:53:09
◼
►
I was doing the editorial work
00:53:11
◼
►
for the first couple of issues,
00:53:12
◼
►
and it was so much more work than I thought it would be.
00:53:15
◼
►
Once I hired him, it was a massive burden
00:53:18
◼
►
lifted off of my shoulders.
00:53:20
◼
►
And I realized then the value of help,
00:53:24
◼
►
the value of having somebody who's doing work for you.
00:53:29
◼
►
And he took things in a direction
00:53:32
◼
►
that he did things a little bit differently
00:53:33
◼
►
than I would have done them.
00:53:35
◼
►
turns out I like the way he does things.
00:53:40
◼
►
So I would like to hire help for Instapaper, I think.
00:53:43
◼
►
And maybe this is how I get to do my podcast client.
00:53:47
◼
►
I don't know yet, I haven't decided all this yet.
00:53:49
◼
►
But I want help for Instapaper because
00:53:51
◼
►
I would like to free up more of my time.
00:53:57
◼
►
So I think in retrospect I am going to have that regret
00:54:01
◼
►
of seeing, you know what, I probably should have hired
00:54:01
◼
►
like three years ago.
00:54:06
◼
►
But we'll see.
00:54:08
◼
►
The interesting part I found is that,
00:54:09
◼
►
or at least the biggest,
00:54:12
◼
►
in that vein, the biggest lesson I found
00:54:13
◼
►
is to try and identify the things that you do
00:54:15
◼
►
on a repeated basis that someone else could do
00:54:18
◼
►
as well or better than you could.
00:54:21
◼
►
And those are the things that you want to try and,
00:54:24
◼
►
like I have somebody who does the help desk for me.
00:54:28
◼
►
She also does my books, my accounting, my taxes.
00:54:28
◼
►
she's an operations wizard, that's what she does.
00:54:31
◼
►
- That sounds awesome.
00:54:32
◼
►
- She does it in a way that's, it blows my mind.
00:54:36
◼
►
It's in a totally different world,
00:54:38
◼
►
and it's at the time, when it's sort of starting out,
00:54:41
◼
►
it's like, oh, does this make sense, is that good?
00:54:43
◼
►
But it's like, the reality is, that's what she,
00:54:45
◼
►
it's like, she's an expert in that,
00:54:47
◼
►
in the same way that I am, I guess at this point,
00:54:48
◼
►
an expert in iOS development, or something like that.
00:54:52
◼
►
And so, finding those things, it's like,
00:54:54
◼
►
I don't really like, I drive no joy from that work.
00:54:57
◼
►
I don't like doing my books.
00:54:58
◼
►
I don't like doing those kind of things.
00:55:02
◼
►
I enjoy doing Help Desk to some degree,
00:55:04
◼
►
especially when I first launch or something.
00:55:06
◼
►
Maybe it's good to be in there and making sure
00:55:08
◼
►
I really have a good sense of things.
00:55:09
◼
►
But at the end, after a little while,
00:55:11
◼
►
it becomes very rote and becomes just a question
00:55:14
◼
►
of giving people some time and some reaction,
00:55:18
◼
►
but it's the same questions every single time.
00:55:21
◼
►
- Right, like how many password resets
00:55:22
◼
►
do you want to answer per day?
00:55:24
◼
►
- Yeah, or just, yeah, the same,
00:55:27
◼
►
It's like, one of my apps is an audiobook app.
00:55:29
◼
►
And the number of times I get an email asking me why Harry Potter is not in my app, my book
00:55:36
◼
►
It's not even joking.
00:55:37
◼
►
The first autoresponder I ever wrote was, "I'm sorry.
00:55:42
◼
►
I have been unable to secure the rights to include Harry Potter for free in my audiobook
00:55:46
◼
►
app that you also downloaded for free.
00:55:48
◼
►
I'm sorry that's a disappointment, but that's where we find ourselves."
00:55:52
◼
►
Oh, that's great.
00:55:53
◼
►
Yeah, I mean, that's the thing.
00:55:55
◼
►
So I definitely think the lack of,
00:55:58
◼
►
and again, I was doing so much more of my own accounting
00:56:03
◼
►
and bookkeeping too for a while,
00:56:04
◼
►
and over the last two years I've finally hired an accountant
00:56:08
◼
►
and I've finally just started using QuickBooks Online,
00:56:11
◼
►
which is horrible, but it saves me time.
00:56:14
◼
►
Out of curiosity, what do you use for accounting?
00:56:19
◼
►
I know this is a bit of a derail,
00:56:20
◼
►
but for bookkeeping, do you use a particular software package
00:56:24
◼
►
or does your employee handle all of that
00:56:26
◼
►
and you don't even know?
00:56:28
◼
►
- So it's QuickBooks, that's what she uses.
00:56:31
◼
►
- Online or local?
00:56:33
◼
►
- Local on the Mac.
00:56:34
◼
►
I never see it, except for probably
00:56:37
◼
►
maybe three or four times a year
00:56:39
◼
►
when we do kind of like a quarterly review or something,
00:56:42
◼
►
or sometimes she'll just send me rollup reports and things.
00:56:44
◼
►
But it's to a point now that,
00:56:46
◼
►
yeah, she could use whatever she wants.
00:56:48
◼
►
I know she uses QuickBooks because that's what she wanted
00:56:51
◼
►
and what she wanted to use,
00:56:52
◼
►
mostly because that's what our tax preparer prefers,
00:56:55
◼
►
to get the import from.
00:56:56
◼
►
Yeah, that's always the case.
00:56:58
◼
►
But the key there was just to-- it's whatever she--
00:57:02
◼
►
that's her specialty.
00:57:03
◼
►
That's what she does.
00:57:04
◼
►
She's an operations and finance person.
00:57:06
◼
►
And so it's kind of like if she comes up and says,
00:57:09
◼
►
I need this tool, I need this thing,
00:57:11
◼
►
it's like, absolutely, whatever.
00:57:14
◼
►
That's money well spent for me to make you as productive as you
00:57:17
◼
►
as possible, because obviously that's
00:57:19
◼
►
less time I need to be paying for.
00:57:22
◼
►
And then on the flip side, it's like,
00:57:27
◼
►
the better you are at your job,
00:57:28
◼
►
the better my business is running.
00:57:29
◼
►
- See, like in that way then,
00:57:32
◼
►
what I just asked was actually a terrible question.
00:57:33
◼
►
The right question is why am I still worrying about this?
00:57:34
◼
►
- Yeah, that's the better question.
00:57:37
◼
►
- That's a much better question.
00:57:39
◼
►
It's like, why should I need to care
00:57:40
◼
►
what accounting software I'm using
00:57:42
◼
►
because why am I doing my own accounting at all?
00:57:43
◼
►
Because I've already outsourced like 80% of it
00:57:45
◼
►
to my accountant, like why don't I just outsource
00:57:47
◼
►
the rest to somebody or them also?
00:57:49
◼
►
I guess that's a very good question.
00:57:50
◼
►
- You can apply to a lot of different sides.
00:57:52
◼
►
I mean, I had someone recently ask me a question about
00:57:55
◼
►
if the icon for Check the Weather was created
00:57:58
◼
►
in Photoshop or Illustrator.
00:58:00
◼
►
And they're asking-- - You don't even know,
00:58:02
◼
►
do you? - I was like,
00:58:02
◼
►
I have no idea.
00:58:04
◼
►
I contacted a designer that went to the icon factory,
00:58:06
◼
►
they did a great job.
00:58:08
◼
►
I told them a concept, they came back with pixels
00:58:11
◼
►
that look pretty.
00:58:11
◼
►
I have no idea how, like,
00:58:13
◼
►
they could have individually drawn those in MS Paint.
00:58:16
◼
►
I have no idea.
00:58:17
◼
►
That doesn't matter to me because
00:58:19
◼
►
that's not where I'm seeking to put my effort,
00:58:21
◼
►
or put my time, or put my energy.
00:58:23
◼
►
It's like, I want to focus on the things that I'm good at,
00:58:25
◼
►
and everything else, I'll try and find someone
00:58:27
◼
►
who can do it better than I can.
00:58:29
◼
►
- I definitely have a lot to learn from your method.
00:58:32
◼
►
Also, and one other thing too,
00:58:34
◼
►
I realize it was kind of a dodge for me
00:58:36
◼
►
to say my biggest mistake was a mistake
00:58:38
◼
►
I'm not sure that I actually have made yet.
00:58:41
◼
►
So, a more concrete example,
00:58:43
◼
►
because I'm far from perfect, I've made tons of mistakes,
00:58:47
◼
►
A more concrete example, recently,
00:58:50
◼
►
when I launched the magazine 1.0, the data storage engine--
00:58:55
◼
►
and I know that Brent just talked about this,
00:58:56
◼
►
so I'll try to be brief--
00:58:58
◼
►
the data storage engine in the magazine 1.0
00:59:01
◼
►
was just plist files, and just with a bunch of keys and values
00:59:06
◼
►
for each issue and everything like that.
00:59:08
◼
►
And the reason I wrote it this way
00:59:11
◼
►
was I didn't know core data yet.
00:59:13
◼
►
And with Instapaper, I do everything with raw SQLite,
00:59:18
◼
►
I don't care how it's pronounced,
00:59:20
◼
►
with raw SQLite calls to the C library
00:59:22
◼
►
with a few functions around them.
00:59:24
◼
►
So I didn't want to bring all that over to the magazine.
00:59:27
◼
►
I thought it was overkill.
00:59:28
◼
►
So I thought, you know, this is a really simple app.
00:59:30
◼
►
There's no real user side data, really.
00:59:34
◼
►
Like, it's just downloading issues and showing them to you.
00:59:36
◼
►
So it's so simple.
00:59:38
◼
►
I'll just use plist.
00:59:39
◼
►
It'll be fast.
00:59:40
◼
►
And I'll be able to get this launched quickly
00:59:41
◼
►
and find out if there's going to be any subscribers at all.
00:59:48
◼
►
So it was, by almost every definition,
00:59:49
◼
►
it was quick and dirty.
00:59:52
◼
►
And what I realized by version 1.1
00:59:53
◼
►
was that the system was just horrible.
00:59:58
◼
►
And because what I thought when I first started doing it,
01:00:01
◼
►
oh, there's no user site data
01:00:06
◼
►
that I really need to store here.
01:00:07
◼
►
It can be really, really gross and just a big
01:00:07
◼
►
file for each issue and a big index of the issues somewhere
01:00:11
◼
►
and a different plist file and it'll be fine. And it turns out
01:00:15
◼
►
that that's not the case at all.
01:00:19
◼
►
Even though I thought it was going to be simple, there's all these complex things. Well, okay,
01:00:23
◼
►
is it downloaded? Is it saved? Is it deleted? Was it downloaded at one time and then they deleted it?
01:00:27
◼
►
Is it open? Is it collapsed? Are the issues
01:00:31
◼
►
here read? And then when the server updates this article,
01:00:35
◼
►
is it easy to re-download just that article?
01:00:40
◼
►
So when I fix a typo in an article after it's been published,
01:00:43
◼
►
the app will download it without downloading
01:00:46
◼
►
the entire issue again.
01:00:47
◼
►
There's all these things that I thought
01:00:48
◼
►
it was going to be a simple problem,
01:00:51
◼
►
but it really isn't simple.
01:00:52
◼
►
And so the solution I made with the assumption
01:00:53
◼
►
it was going to be really simple
01:00:56
◼
►
ended up ballooning into a tremendous pile
01:00:57
◼
►
of terrible hacks to get this stupid Pila system working.
01:01:00
◼
►
So eventually, after, I don't know, two months maybe,
01:01:03
◼
►
I realized this was completely unmaintainable,
01:01:06
◼
►
threw the entire thing out and rewrote the whole thing
01:01:08
◼
►
in core data learning as I went and it was fine.
01:01:10
◼
►
And I felt like such a fool for not having known
01:01:14
◼
►
core data earlier because while it isn't the solution
01:01:17
◼
►
to every problem, it was the solution to this problem.
01:01:20
◼
►
And I just didn't know it.
01:01:22
◼
►
And it was definitely the solution to this problem.
01:01:25
◼
►
And so I definitely regret that.
01:01:29
◼
►
And that was just a huge technical architectural mistake
01:01:33
◼
►
to try to build my own crazy system that ended up being
01:01:35
◼
►
a massive pile of hacks because I underestimated
01:01:37
◼
►
the complexity.
01:01:39
◼
►
- Yeah, and the difficulty I always have with that kind of
01:01:41
◼
►
thing is as you're describing it, often I will do the same
01:01:44
◼
►
thing to start with, that almost always, whenever I'm building
01:01:47
◼
►
an app, initially its data store is some variation on
01:01:51
◼
►
PLists or NS user defaults.
01:01:53
◼
►
That's where you start off.
01:01:55
◼
►
It's super easy, you can just get up and running and go.
01:01:58
◼
►
And I think the danger is at what point,
01:02:01
◼
►
It's having the awareness to say,
01:02:03
◼
►
at what point does that just completely break down?
01:02:05
◼
►
At what point is it no longer kind of prototyping,
01:02:08
◼
►
and at what point is this like,
01:02:09
◼
►
will this really stand up down the road?
01:02:12
◼
►
Because it's valuable to start where you started.
01:02:14
◼
►
I'm sure it helped you get off your feet
01:02:18
◼
►
and be like, okay, this is going to work,
01:02:19
◼
►
I'm going to build it, here it is,
01:02:21
◼
►
I can play with it much more quickly
01:02:23
◼
►
than if you had to start learning.
01:02:25
◼
►
If you had said at the beginning,
01:02:27
◼
►
in order for me to do the magazine,
01:02:28
◼
►
and they need to learn core data,
01:02:31
◼
►
that may have been much more intimidating
01:02:32
◼
►
and something that you would have been more resistant
01:02:34
◼
►
to diving into.
01:02:36
◼
►
- Exactly, yeah, and it would have,
01:02:39
◼
►
you know, when I was starting it,
01:02:40
◼
►
this is one of the reasons I keep using PHP
01:02:42
◼
►
for all my server stuff, when I started it,
01:02:44
◼
►
I was just like, alright, I, again,
01:02:46
◼
►
like I have to get this out quickly,
01:02:47
◼
►
I don't know if it's going to have any subscribers,
01:02:49
◼
►
so I don't want to spend six months making the app
01:02:51
◼
►
before I know what, if it's, you know,
01:02:53
◼
►
if it's going to flop on its second week,
01:02:54
◼
►
I want to know that sooner rather than later.
01:02:57
◼
►
so I don't pour all this time into it
01:03:02
◼
►
that I could have spent on Instapaper.
01:03:04
◼
►
So I wanted to just get it out there
01:03:06
◼
►
as quickly as possible.
01:03:07
◼
►
And so the last thing I wanted to do at that point
01:03:08
◼
►
was learn a whole new technology.
01:03:10
◼
►
It's like, all right, and so the server side
01:03:13
◼
►
is written in PHP using the exact same framework
01:03:15
◼
►
as Instapaper and Tumblr.
01:03:18
◼
►
Because that's the framework I know best
01:03:20
◼
►
in the language I know best for the server,
01:03:22
◼
►
and running it is really easy and really low maintenance.
01:03:23
◼
►
because once you've designed a framework to run 150 servers,
01:03:27
◼
►
like at Tumblr when I left,
01:03:29
◼
►
when you bring it down to 11 servers at Instapaper,
01:03:34
◼
►
it's really easy to run.
01:03:36
◼
►
- And when you bring it down to one server,
01:03:38
◼
►
like the magazine, it's even easier.
01:03:40
◼
►
And so I used what I knew.
01:03:42
◼
►
And that works great in a lot of cases
01:03:46
◼
►
until you run into something where
01:03:48
◼
►
something that you don't know yet is a way better solution,
01:03:52
◼
►
but you don't know about it.
01:03:53
◼
►
And that's why you gotta always keep broadening
01:03:54
◼
►
your horizons so that you know what tool to use for the job.
01:03:59
◼
►
Because if you don't even know about a whole class of tools
01:04:02
◼
►
that could save you a lot of time on what you're doing,
01:04:04
◼
►
then it's harder for you to make good decisions
01:04:06
◼
►
about what to use.
01:04:07
◼
►
- Yeah, and I think that speaks to all kinds of areas
01:04:11
◼
►
about how you keep trying new things, keeping,
01:04:15
◼
►
it's like learning new stuff, having projects
01:04:17
◼
►
whose purpose is just to learn something new
01:04:21
◼
►
and to just keep trying to stretch out of your comfort zone
01:04:26
◼
►
so you can try and just see what's out there.
01:04:29
◼
►
It's always kind of amazing when you find
01:04:32
◼
►
some of the things that, you're very rarely
01:04:34
◼
►
solving that problem for the first time.
01:04:36
◼
►
Someone else has almost certainly already solved it
01:04:38
◼
►
and solved it in a way that's cleverer
01:04:40
◼
►
than you could ever come up with.
01:04:46
◼
►
That being said, I still don't know
01:04:49
◼
►
what the hell storyboards are.
01:04:47
◼
►
- Or why I would want to use them.
01:04:50
◼
►
- I think that's okay.
01:04:51
◼
►
- I did just start using Arc, finally.
01:04:54
◼
►
- Welcome to 2012.
01:04:56
◼
►
- I'm shipping a point-to-point update to the magazine.
01:05:01
◼
►
That changes it over to Arc,
01:05:03
◼
►
as well as a whole bunch of other stuff,
01:05:04
◼
►
but for marketing reasons,
01:05:06
◼
►
it makes sense to call it a point-to-point.
01:05:09
◼
►
- So it's going to be like 1.2.1 or something like that,
01:05:12
◼
►
changing over to Arc and rewriting the whole backend.
01:05:16
◼
►
Pretty-- it's-- yeah, it's-- again,
01:05:20
◼
►
what I love about the technology like that
01:05:21
◼
►
is that it let me focus on more interesting problems.
01:05:25
◼
►
And I think that's even maybe at the undercurrent
01:05:27
◼
►
of what you're getting at with this challenge was you
01:05:31
◼
►
had to-- in order for you to keep advancing the app
01:05:35
◼
►
and making it better and better, you
01:05:36
◼
►
had to keep hacking on top of hacks in a way that was probably
01:05:41
◼
►
a distraction from what you're actually trying to accomplish.
01:05:44
◼
►
Your goal wasn't to try and work out a way to store this data.
01:05:46
◼
►
Your goal was to enable a user-facing feature that
01:05:49
◼
►
would make the experience better when reading.
01:05:52
◼
►
And so that's always the thing that's so bad.
01:05:54
◼
►
Like, I live up on Arc is I don't
01:05:55
◼
►
have to worry about memory management nearly as much
01:05:57
◼
►
as I used to.
01:05:58
◼
►
And obviously, you have to have an understanding
01:05:59
◼
►
of the fundamentals, and et cetera, et cetera.
01:06:01
◼
►
But in general, it's one less thing
01:06:02
◼
►
that I have to worry about.
01:06:04
◼
►
I have less code to write, and I can just focus on stuff
01:06:07
◼
►
that users will actually care about.
01:06:09
◼
►
Because if you put in your release notes,
01:06:11
◼
►
migrated from retain release to Arc.
01:06:16
◼
►
I'm pretty sure nobody's going to care.
01:06:19
◼
►
Maybe your techie followers or someone
01:06:22
◼
►
would be interested about it, but it's like,
01:06:25
◼
►
otherwise, no one cares.
01:06:26
◼
►
Well, you know what?
01:06:28
◼
►
The reason why I switched to Arc is pretty embarrassing.
01:06:29
◼
►
You have massive memory leaks?
01:06:33
◼
►
No, because I've actually, I don't do that much crazy stuff
01:06:35
◼
►
with how I manage my objects and my code.
01:06:38
◼
►
So for me, the regular retain release and conventions
01:06:42
◼
►
around that, auto-release stuff, that's
01:06:44
◼
►
always worked pretty well.
01:06:45
◼
►
I very rarely had memory leaks in my shipping code.
01:06:49
◼
►
It was fairly easy for me to do the old model.
01:06:52
◼
►
The main reason, the only reason I switched to Arc,
01:06:56
◼
►
the driving force here-- because again, I
01:06:58
◼
►
didn't want to learn anything new up front.
01:07:00
◼
►
I just wanted to push through and release this thing.
01:07:02
◼
►
The reason I switched to Arc for this version
01:07:06
◼
►
is because I added, for the first time,
01:07:11
◼
►
AF networking to my project.
01:07:14
◼
►
And the current version of AF networking requires Arc.
01:07:17
◼
►
And I thought, you know, I could just enable it
01:07:20
◼
►
for this file, but that's kind of hacky.
01:07:22
◼
►
And I don't really trust that to not,
01:07:26
◼
►
I know this is probably superstition on my part.
01:07:28
◼
►
I know in reality it's probably very well isolated,
01:07:31
◼
►
but I didn't want to just have Arc enabled
01:07:32
◼
►
were part of my code.
01:07:34
◼
►
I thought, that's gonna cause problems later on,
01:07:36
◼
►
or that's gonna at least cause annoyances.
01:07:38
◼
►
So I thought, you know what,
01:07:39
◼
►
let me just convert the whole thing.
01:07:41
◼
►
So that's why I'm using Arc,
01:07:44
◼
►
because I added AF networking for some conveniences.
01:07:47
◼
►
Now, I'm not even using most of what it can do.
01:07:49
◼
►
I added it for some conveniences,
01:07:51
◼
►
and I realized, you know what,
01:07:54
◼
►
let me just switch the whole thing over now.
01:07:56
◼
►
That's how I started learning Arc and using Arc.
01:08:01
◼
►
And imagine it lets you, once you do it, you move on,
01:08:06
◼
►
and now you can focus on whatever it was,
01:08:09
◼
►
adding AF networking, adding more rich media support
01:08:12
◼
►
or whatever it is.
01:08:14
◼
►
- Oh, it's really boring.
01:08:15
◼
►
It's working around newsstand bugs.
01:08:17
◼
►
That's the reason I'm adding AF networking.
01:08:19
◼
►
Is because working around the newsstand asset download,
01:08:22
◼
►
the NK asset download class, which is limited.
01:08:27
◼
►
- Limited, limited.
01:08:29
◼
►
- Is this the politically correct or the gentle way
01:08:32
◼
►
of saying it, it's limited?
01:08:34
◼
►
- Somebody said recently, I forget who on Twitter,
01:08:39
◼
►
you can definitely tell which APIs Apple designed
01:08:42
◼
►
for its own use and which ones they designed
01:08:45
◼
►
for others to use.
01:08:47
◼
►
Newstand is very clearly not used by Apple.
01:08:51
◼
►
It is very, very apparent that they don't have
01:08:54
◼
►
any of their own apps using Newstand.
01:08:57
◼
►
And it kind of makes sense, like why would they?
01:08:59
◼
►
You can understand why they wouldn't have newsstand apps,
01:09:01
◼
►
but yeah, it's very clear that they don't use newsstand.
01:09:06
◼
►
- Yeah, and that's just part of being on the platform,
01:09:09
◼
►
I suppose, that's just the kind of thing you just learn,
01:09:11
◼
►
and you're just like, alright, well,
01:09:12
◼
►
I'll work my way around.
01:09:15
◼
►
- And the advantage is, I'm very unlikely
01:09:16
◼
►
to ever be Sherlocked here.
01:09:18
◼
►
- That's true, that's right, you're not in a path
01:09:21
◼
►
that's likely for them to get into.
01:09:24
◼
►
- Alright, so I think that's probably a good point
01:09:27
◼
►
to wrap it up.
01:09:32
◼
►
Before we do, though, I just wanted to give you,
01:09:33
◼
►
if people wanted to follow you, follow your work,
01:09:35
◼
►
follow your apps, where would be the best place for them
01:09:38
◼
►
to find you online?
01:09:40
◼
►
Craig: Go to Marco.org or Marco Arment on Twitter.
01:09:42
◼
►
Or if you want to be mostly ignored for a long time,
01:09:46
◼
►
Marco on app.net.
01:09:48
◼
►
Peter: Excellent.
01:09:51
◼
►
So anyway, thank you so much for taking the time.
01:09:52
◼
►
I think it was a, I definitely learned a few things,
01:09:54
◼
►
which is always great, and I hope everyone else did too.
01:09:53
◼
►
- Oh, I have a TENTUS account.
01:09:55
◼
►
- Oh, a TENTUS account.
01:09:55
◼
►
- That's a real way to be ignored,
01:09:57
◼
►
because I at least have an app.net client
01:09:59
◼
►
that I can occasionally remember to launch.
01:10:01
◼
►
I don't even remember how to log into TENTUS.
01:10:04
◼
►
So if you find me there somehow,
01:10:06
◼
►
that's the best way for me to never find that information.
01:10:10
◼
►
- That's kind of like leaving a treasure buried somewhere
01:10:13
◼
►
that one day you may discover.