On this episode we talk with Brett Terpstra, the coder, author and web developer behind apps such as Marked 2 and nvALT, and podcasts including Systematic and Overtired. Brett discusses how he got his start, lessons he’s learned from freelancing, why it’s vital to share your work, the importance of choosing the right clients, and much more.
Alexis: So Brett, thank you for coming on the podcast.
Brett: My pleasure.
Alexis: I don’t know exactly – well, I lied. I know exactly where to start, but I think there’s a lot of ground to cover here. But before we get too far into things, we should say that Brett has a podcast called Systematic, and he also has one called Overtired. Go over there if you’ve got more time that you would like to fill with podcasts. I have to admit, I’ve only listened to Systematic, but when I first started listening, I went through about 40 episodes in a couple of days.
Brett: It’s a fun one.
Alexis: Yeah, 40 episodes in a couple of days is not something I regret, I tell you.
Brett: [Chuckles] I would say that Overtired is almost a different audience. It’s more pop culture and completely 100% random. We never know what we’re going to talk about when we sit down.
Alexis: No show notes?
Brett: We’ll brainstorm for about five minutes before we start recording, whatever pops in our head, and just talk about it. That’s with Christina Warren and it’s really fun. Both of them are over at esn.fm now.
Alexis: Anyway, let’s start from the beginning. How did you first start programming?
Brett: My dad brought home a PC junior – that would have been ’83 or ’84 – and I was six at the time. He basically just let us play with it whenever he wasn’t doing drafting or spreadsheets. I figured out a little bit of BASIC and a little bit of Logo, and King’s Quest I and Jumpman, and got really into making computers do things.
I was really fascinated with the idea of providing a series of commands that made something happen. Choices were limited back then or functionality was limited, but soon after you could program Lego with Logo and make robots and things, and that’s where it all started. Instantly, as soon as I had my fingers on a keyboard, this kind of obsession with making computers do cool things instantly began.
Alexis: I guess it’s a little misleading for me to start by asking you that question since you were also very firmly in the design side of things, especially early on, right?
Brett: See, that’s a part of the story. All through high school I ran a BBS and I spent a lot of time on Gopher and just working around the Web and Linux and having fun. I’m sorry, not the Web – the Internet, because the Web wasn’t really in existence until my later years of high school, and that’s when I got into building web pages.
It was the dawn of the web and things were not pretty at the time and that led me wanting to make prettier web pages and studying CSS more deeply. I went to school originally for Comp Sci after high school. In my second year, I withdrew from Calc2 and that was a required class. I just realized in that moment that I probably wasn’t going to get a computer science degree, so I went to art school. That’s what everyone does, right?
Just quit and go to art school and I studied interactive multimedia there and got heavily into the design side but never stopped coding—even my interactive design projects were all based on Director. I don’t know if anyone remembers Director but that used to be Macromedia and then became Adobe. Anyway, got into that and then after college I went more into design, started a design studio after having a job as an art director that I hated.
Then as the web developed, so did the tie between design and code—as someone who was working pretty much singlehandedly on everything, I had to get more into code again. Eventually I decided that design critics are too annoying because you’d get all these clients that said things like “Hmm, I don’t know what it is but I don’t like it.”
Brett: That would just drive me nuts. You know? They wouldn’t trust any decision that you made, but they had all these completely subjective criticism, and I just started coding. Do you want the rest of the story now?
Alexis: Oh yeah, sure.
Brett: While I was running the design studio, I started writing an app called MoodBlast and you could pop it out with a hot key and it would update nine different social services with one string. It had all these like syntax, like features—you could add Bang weather and insert the current temperature. It got out of hand like most of the stuff I do, but I was just doing it for fun. It started in AppleScript and morphed into Objective-C.
David Chartier over at The Unofficial Apple weblog at that time—he picked up on it and he loved it. That started getting me a lot of traffic and it was the beginning of actually seriously programming anything other than scripts and webpages.
Alexis: Now let’s go back to the whole I don’t know what it is, but I don’t like it kind of thing. Maybe that box should be moved a little bit more to the right, it should have a bit more padding –.
Brett: No, see that kind of stuff I can live with. Like someone sees an alignment issue or a very specific aspect doesn’t feel right. It’s mostly in those first concepts where you present the overall mock up and they just tell you, “Nope, that doesn’t work, go back to the drawing board.” Or they do the “Well I’d like half of this one and half of this one, can you mix them together?” and ultimately you lose control of the project. Details I don’t mind.
Alexis: Now how did you handle that kind of thing? Was it mostly self-control—“Okay, I’m not going to explode, I’m going to keep my sanity”—or did you have some sort of “Okay, I’ve got a formula of how I’m going to handle this technically.”
Brett: We did design a formula at the ad agency—it was like a rule sheet that was included in the contract of a new client. But, ultimately I hired a clerical position to talk to clients for me because I’m not great with people.
Alexis: [Chuckles] You say that so calmly. I don’t know, well at least on podcast, you are.
Brett: Well, I do alright with an hour a week and just talking over the phone.
Alexis: Alright, so was it at this point that you started blogging more often or does that come a bit later?
Brett: Well, I would say I was blogging before the term weblog was coined because I had sagas of messages on FidoNet and on Usenet, and on BBSs. That was more like two way communication, and then the web 1.0 “hit” and it became all about one way communication. I started making web pages to express ideas and pretty soon WordPress came along. I jumped on it because that was a really easy way to collect all of these ideas.
I think the blogging thing started most heavily when I was running the ad agency. I had some downtime and could start playing with code and experiments. My first official blog was called The Circle Six Design blog. Circle Six was the name of the agency and I lost that domain so don’t bother looking for it.
Where was I? Oh, yeah. So I’m toying around with code and I start recording what I discover on the blog and that’s essentially what I still do with my blogging is share my exploits in code.
It’s kind of a way for me to both recreate a library of things I figured out for my own reference and to help people that have the same questions as me. I found over the years that a lot of people have the same questions as me.
Alexis: Now I guess we could always cover the downsides to freelancing later or now, really. Since you did this for design for quite a while, what were some of the –. Freelancing is a tough gig, whether it’s finding new clients or dealing with clients who want something changed but they’re not very specific with it. Do you have any tips or anything you may have learned that might make life easier for folks that are currently freelancing, whether it’s design or programming?
Brett: I think the hardest part for me was figuring out what to charge. I talked to people who both freelanced or owned studios—small startups studios. Essentially they told me to map out how much I would have make to be happy with the job, figure out what the maximum number of hours I could put in which is basically 12 a day, then do the division and double the end price and offer that as your initial quote. That gives you room to give people a discount to make a second offer. The biggest fear when you’re starting freelancing or doing a startup is that you’ll overbid and someone else will come in lower and just take the job.
Brett: It depends on what kind of client you’re having or working with. If you don’t have a portfolio—if you don’t have the word of mouth yet—it’s scary to offer a number that seems big to you.
I had to test the waters a lot and I did probably lose a lot of clients because I overbid. Then I went through a phase where I was underbidding everything and getting more work than I could handle and not enough money. So figuring out that price is really the first thing I would do if I was sitting down and planning to start freelancing.
Then work on your client skills but that’s hard to make a tip. You’re either good at accepting criticism and dealing with frustration or you’re not. If you’re not, my tip would be find someone who can communicate for you.
Alexis: [Chuckles] Yeah, find the good clients. Speaking of clients, again, this is probably terribly hard to answer because the answer is probably, “I find out through friends and people I’ve already worked for,” but how did you find the clients? What were some of the things that made life easier when it came to that?
Brett: My whole life somehow, I’ve always managed to get a decent word of mouth in whatever I do and I don’t have an explanation for that. But the first year of true freelancing that I did, the jobs just kept coming to me and that’s a very fortunate position to be in. At times when I needed clients, I would often just go out and head hunt. Cold call basically, people that I thought could use some help and give them a sales pitch and go with it.
I don’t know if that was the best way to do it or not. I definitely had not had a lot of luck with general advertising like paying for placement anywhere. Getting a respectful word of mouth and being brought up in conversations is definitely the way I’ve made most of my living in freelancing.
Alexis: Now before we dive deeper into freelancing and its issues and its benefits too, you also wounded up at AOL. Was this further down the line than when you were featured on The Unofficial Apple Weblog?
Brett: That was the pivoting point. The popularity I got there—when David left, he suggested that I be his replacement. I worked with Victor and Mike Rose and I started right out of the gate blogging in TUAW a lot, and that waned off heavily over time.
In the process of that I had to use their CMS, and their CMS was extremely frustrating to me. What you were using at Engadget was not far removed from the original but it was definitely improved. So I started hacking tools for the CMS. Eventually that got the attention of the people running the blogs, and I got a contract position and did that for maybe nine months and then there was the upheaval with The Verge. There were suddenly a lot of spots open, and then I rapidly made it up to Tech Lead—the head of my department.
Brett: It was all good fortune, it was an accident.
Alexis: That worked out very well. I often lamented while working with that CMS. Man, if it was only written in Python, I could change X and this. It was like, “Goddamn it, PHP!”
It was a huge bundle of tools that did things like auto-linking and auto keyword suggestions and things like that. That got the attention of Merlin Mann when he found it, because a lot of it translated outside of the Weblogs, Inc system and Merlin started talking about me. That increased my popularity slash traffic. Everything just kind of—.
Brett: Well yeah, it’s all the result of just constantly tinkering and then making discoveries public, whether they’re good or not. I think that’s true for any profession in the digital era is if you make something and you don’t share it, you wasted your time, in my opinion. I mean, you can make tools that improve your workflow, that make your life easier—that’s great. But if you’re tinkering late at night just to see if something will work, share it, because no one will ever see it otherwise and if no one ever sees it then it’s gone into the void. GitHub is awesome for that.
Brett: I spent a lot of time late at night just reading the random things that people push to Github.
Alexis: [Chuckles] See if you stumbled upon something interesting?
Alexis: Now, before we get to leaving AOL, we should probably focus on tinkering. There were several projects – nvALT, which is what I use daily for note-taking and also for this podcast; I’m staring at it right now. Marked and Marked 2, but Marked 2 is I guess this year. When did you find time/make time for all these side projects?
Brett: Well, the beauty of being a remote worker, which is what I was for AOL, is that you have more flexibility. You don’t have to ask to go walk the dog—you’re responsible for getting your job done. You get to work when you’re most productive. Then when I couldn’t focus on work, I could go code a side project for an hour and just make it up later.
That kind of flexibility let me do what I was most capable of at any point in the day, because my moods and my brain patterns and my attention span all shift based on how much I’ve eaten and what time it is and various factors. So, that kind of situation made it easy to explore side projects in addition to getting all my work done.
Alexis: So for folks not familiar with nvALT or Marked, could you tell us a little bit of what they are?
Brett: Well, nvALT is probably by far the most popular thing I’ve ever done. Notational Velocity is the origin of nvALT and it looks almost exactly the same—I haven’t changed the base of Notational Velocity at all. Then over one of my lunch breaks I did—it was called Notational Velocity ALT and the code for NV was open source so I grabbed it and started playing with it. I started adding Markdown features and other tweaks that I wanted in it, mostly just to explore the code.
I shared those, as I do with everything, and it became rapidly popular. Lifehacker featured the fifth version of it that I did and it got renamed to nvALT. It became its own thing, and full credit to Zachary who created Notational Velocity. nvALT would not exist at all without that base to work from.
But was the question what it is or was it the origin? Cause I just go off on a tangent.
Alexis: You can absolutely go off on a tangent.
Brett: But what it is is it’s a modal note-taking system. Basically, you type into the address bar a title and if that note already exists, it’ll instantly filter up to the top. You can hit enter and start editing it. If it doesn’t exist, you can just hit enter and it’ll create a new note with that title. It’s extremely fast, really easy to search through thousands of notes.
nvALT includes full Markdown support and preview and export. I’m like you; I use it every minute of every day. It’s where all of my ideas, thoughts and notes and everything go.
Alexis: And if your life was anything like mine before nvALT, you’d had a lot of text edit files everywhere strewn throughout folders within folders and things would fall out of your mind, but with this it’s always a bit closer to being within your own consciousness.
Brett: Easily retrievable, which, over time I’ve learned, is essential to any decent note-taking system that you’d be able to find the note you took. Otherwise, you’re getting them out of your head but you’re also getting them out of your life and that doesn’t help.
Alexis: And Marked on the other hand is a Markdown preview. You just type everything in Markdown and then you can see it on the right hand side as a preview. Now, at what point in time did these take off and have a life of their own?
Brett: Well, nvALT just organically grew. That was after I closed the agency and Moodblast faded away; nvALT just happened and I don’t make any kind of money on it so I haven’t pursued it terribly quickly. By the way, the code on Github is updated with Yosemite fixes.
Brett: So if you need them and you have XCode you can update before you get the final release out. Marked, I wrote on a road trip to New Mexico in the passenger seat on a MacBook Air and hadn’t originally intended to sell it; it was just to solve a problem. I wanted to be able to preview Markdown output rendered from any text editor and that’s what the first version did.
Then, by the time I got home I decided, “Hey, the App Store’s available; I can submit this, I can charge whatever I want for it.” So I did that to see how it would go. John Gruber was kind enough to link it the second day it was on the App Store and it went big. Immediately, it started making enough money for me to start thinking about quitting my job, and I didn’t. I kept just developing at night.
Then Marked 2.0—basically it was just suppose to be Marked 1.5—and it got so big and so many development hours and so rewritten that I just made it a 2.0 and sold it as a new application. That has done almost the same sales; it’s just been very consistent. I can’t believe there are that many new people everyday discovering it. I figured there was a limited pool that I would run out of potential customers eventually, but it hasn’t happened in three years.
Alexis: Yeah, I asked that to a game developer a couple of weeks ago, if that keeps him up at night. Actually, it wasn’t a game developer. It was Keith over at Literature and Latte with Scrivener. “Have you hit a wall?” He says, “No. The sales have kept on coming in even though it might not seem that people are clamoring so much for a text editor. I guess there are just more and more people out there that still don’t know about it.”
Brett: Well yeah, it’s that and in the case of Scrivener, it’s that he has become—and rightly so—the de facto standard for long form writing editors.
Brett: You ask any group of people, “What do you write books with?” They’re going to say “Scrivener,” and that word of mouth doesn’t end – unless you really make people mad. You can even mess up a release and people will wait for the new one and then continue talking about it.
He’s in a great position. Marked is kind of in that position, but yeah. Have you ever used Ulysses?
Alexis: No, but I’ve heard about it. That’s one thing that I thought, “Oh Markdown. Sure, I’ll use this.”
Brett: Right, and Ulysses is a great editor and they’ve completely rethought of the format that Scrivener was using. In the newest version of Ulysses, they’ve hit that same rethinking, simplified. It’s an excellent writing app and book organizing app and even note-taking app, but Scrivener still has the de facto standard title and you can’t beat that for sales.
Alexis: So going back to Marked for a second, how did you settle on pricing? Did you shoot from the hip and go “Okay this sounds like what I would pay for it” or did you do research and dived into what other apps were charging?
Brett: Well, let’s start by saying that I’m pretty impulsive. When I decided to sell it, and in its first incarnation I think I charged the right amount, but I took a look through the app store and got a feel for what current prices were. At that time, everything was pretty cheap.
Brett: I decided to go a dollar over what I thought it was worth and charge $3.99 for it. Then after Apple’s thirty percent, I was still making good money, so I just kept it there for the entire duration of Marked 1.0.
When I put out Marked 2.0, I decided to shoot high. Marked 2.0 was initially released only outside the App Store direct sales. When I released it on the App Store, I raised the price again to $13.99 and that allows me to do regular sales, which is not a great advertising strategy because you train customers to wait until the next sale. But in the app store environment, that actually works pretty well because most of the people who would buy it on sale wouldn’t even hear about it if it weren’t for the sale promo.
Alexis: Right, two different audiences.
Brett: If the discount is, say 20-30%, you make up the difference in quantity and cover the gross. It works fine for me, I would say. If I were doing it from scratch, I would definitely shoot high and then offer an intro price that was more in line with what I thought they would pay, and then raise it back up to something I think that is ridiculously high then run sales once in a while.
Alexis: Do you have any sense as to how much Marked 2.0 success is thanks to Marked 1.0? Because maybe there’s a bunch of those who had the first one and goes “Oh I need the second one” or does it have a feeling that there are more people coming into the Marked fold?
Brett: It’s both. Marked 2.0 would not be doing anything without the word of mouth that Marked 1.0 got. Marked 1.0 was the de facto standard because there were no competing apps. I still am not sure there are that do the basic function of Marked and just watch a file and update a preview.
Marked 2.0 expanded the feature set tremendously so all the original Marked 1.0 fans were mostly willing to pay again and get the new features and that was the base. Then the word of mouth that sprouted from having loyal users made Marked 2.0 worked. But without having success with Marked 1.0, Marked 2.0 would just be sitting at the bottom of the rankings and not selling anything.
Alexis: So it’s been almost a year since you left the shackles of AOL, if you would allow me to put it that way.
Brett: To be fair, I really enjoyed working at AOL up until that point.
Alexis: Yes, and for the listeners we’ll leave that incredibly vague [chuckles]. So, what was the game plan when you were thinking about leaving AOL? Were you thinking, “This is exactly what I’m going to do: I’m to going to work on these projects and I’m going to split my time like this”? In comparison, how have things gone? Have you adhered to that plan?
Brett: I’d say 50%. Basically before I left—when I decided I needed out—I sat down and I mind mapped everything. That’s the only way I really can brainstorm.
I made a mind map of all the talents that I had and all of the feasible avenues for income, and added up the bottom bar and a maximum that I thought those skills could earn. Then I came up with a median: this is what I think I could make working on these set of projects and these set of skills like writing or coding. I kept that around as a mind map/Markdown file called Money Makers, and every time I felt like I was going to come up short on my goal for a month, I would squeeze in another project.
The list was fluid. It shifted as I got a feel for what each area could actually make rather than what I estimated. I’d say it’s probably 50-60% what I originally thought I was going to be doing. Writing got—I’m really bad at finishing books and I thought I was going to be –.
Alexis: You and me both [chuckles].
Brett: I thought I was going to be making more money on writing than I am. I have too many books in the works and very little published at this point, so I’m not considering that a main source of income anymore.
Alexis: It’s okay if you don’t want to divulge, but could you share what your split looks like between personal projects and freelance?
Brett: I have since I left, but I’m not currently freelancing at all. I do some consultation, but I’m not working on any major websites or any long term projects with anybody. Most of my day, most of my week is spent working on my own projects.
Alexis: Now, although your plan shaked out to 50-60% of what you thought you would be doing, do you think that it’s going well? Are you happy with striking out on your own?
Brett: Yeah, I actually am really happy in general these days [chuckles]. I control what stresses me out. I won’t say I don’t get stressed out, but I have control over every aspect of it and that has been truly a pleasure. There are times that maybe I should make more money to be more comfortable, but I’m doing what I really want to do. It’s paying enough that I still own my house, I can take vacations, I have money in the bank and that’s enough for me right now.
Alexis: Now, when you can decide what stresses you out, there’s always this additional stress. At least I found that you’re stressing about “What should I be focusing on?” like “Am I working on the right things?” How do you know you’re working on the right things?
Brett: I try to prioritize. I try to make a list of current projects and figure out based on various factors which one is most important to put time into today. But same as I was talking about before I have to work on what I’m in the mood for otherwise I’m being completely unproductive. So sometimes my mood determines more what’s priority than actual reality does.
Alexis: That’s more of a—to quote Merlin Mann, “getting things done”—or well, not quote but to channel Merlin Mann, that’s more of a “getting things done” aspect of how do I get things done during my day. I guess I also mean it broadly, how do you know that Marked is the thing that I really should be working on, or maybe a commercial version of nvALT or that kind of thing?
Brett: Well, that does exist, the commercial version of nvALT, and there are plenty of times that I should be working on that because it’s going to make more money at launch than Marked does. I guess my personal desires trump the price tag on things. I know how much I could make if I finish this project, but man I have this really cool idea for a feature in Marked. I program it and I will say that’s the wrong thing to do. Someone who is more disciplined and really took all those factors into consideration and acted that way would probably be making more money than I do.
Alexis: But may not necessarily be as happy.
Brett: Right. And I’m a sucker for happiness. [Chuckles]
Alexis: So I guess you answered my question of how you get all this done. I mean you’re not Merlin Mann, but aside from working on what you’re currently interested in, how else do you manage time and attention?
Brett: Well I keep an OmniFocus system going with some basic GTD stuff, and I just happen to have enough mood changes that I’m able to work on everything I’m supposed to be working on. I do. I sort and prioritize and sort by deadline when needed and I manage to stay on top of things, but having the completely flexible schedule helps with that.
Alexis: Now going back to the whole freelancing thing for awhile, you mentioned that sometimes clients get on your nerves when they were very vague about things, and I guess that goes towards the “choosing good clients”. When you’re lucky enough to choose what clients to work with not just because “I got to get food on the table”, “I got to get as many clients as you can.” What do you look for when you’re selectively choosing which clients you’re going to work for?
Brett: That is so hard. Well because it is important to choose clients but you don’t have the experience when you’re starting to know the signs of a bad client.
Brett: And it’s been long enough since I did any major freelancing that I’ve actually gotten pretty foggy on the red flags. There are certain red flags that come up in the initial estimate process that you learn to watch out for people that don’t have clear objectives, people that ask for discounted payment terms upfront—things like that—that just kind of warn you what the long term relationship would be like. And then there are good signs when people say things like, “This is our end goal and we want your input on how to get there”. That kind of thing is gold for a freelancer.
Brett: Because they’re hiring you for your skills, not just someone to create what they’ve already decided on. I mean that’s specific to design, but I think it actually relates to any kind of work. Being able to use your skills creatively is really important.
Then the other side of picking a client would be don’t pick clients that won’t pay what you think you’re worth. And don’t do pro bono work—ever. That whole line about “it’ll be great exposure, everyone will see this and will put your name on it”—it almost never pans out. It’s not worth it.
Alexis: Even in the early days when you still needed to put something on your resume?
Brett: I would argue that yes, even in the early days. There are probably books and blogs written about doing pro bono work and arguing either way, but for me, building my portfolio was way easier when I was working with clients that could afford to pay me to do the best work.
Brett: A lot of pro bono work I did was not representative of my skills set because I wasn’t getting paid for it.
Alexis: Now you’re generally a one man band, right? Design and programming?
Alexis: Again, this is probably tough to answer. For folks who are a one-man band—or a one-lady band—what would you say to help them find collaborators who would be able to lend them a hand where their skills are short maybe?
Brett: I actually do that occasionally. I know my limits, and I go by the word of mouth thing. I ask people I trust, and people who have – say, I’m looking for an icon designer. I will talk to people who have great icons and I will find out who is doing the greatest work, and then contact them. I’ll set a budget before I start the search, and I’ll be upfront about what my budget is. And I will specifically request that if it’s too low for someone, that they turn me down, because I don’t want to bargain because that never leads to good lasting relationships.
Brett: At least not with strangers, friend bargains are one thing.
Alexis: Lesson one: haggle with your friends. Strangers: eh.
Brett: You can negotiate as new variables come into a project, but have a hard line on both sides before you come together. And watch out for scope creep. That’s on the other side, that’s for the freelancer themselves.
Make a contract after you do a consultation, and you get the goals for the project. Break them down to what you need to do achieve them and have them sign that as “this is scope.” And if it ever goes over that, have a clause in the contract that says “We bill hourly for any work outside of this scope”. That’s extremely important.
Especially clients that are trying to get a discount to begin with are very commonly prone to just adding to the project as they figure out what it was they wanted to begin with, and they expect to not pay anymore. It’s an energy suck.
Alexis: [Chuckles] I have experienced this. Let’s see, so community is one thing that’s always tossed about with all kinds of software. Now, this might be different for Marked and nvALT and other projects of yours, particularly the text based ones, because I guess they tend to be more focused on the work that people are doing with them. But has there been a community that’s formed around these, and have you managed that or dealt with it?
Brett: Well, Marked has a support forum running on Tender that has—the community for all of my software is kind of weird because even though I set up forums and I use GitHub issues as kind of suggestion bins, I get a lot of direct emails. So I have these conversations going privately between hundreds of people, and they’re not seeing what other people are doing. I’ve tried to change that—tried to build an actual community where people answer each other’s questions and offer each other new solutions using the software. I’ve had limited success with it.
There’s a Markedstyle GitHub repo where people can share their custom styles. That has seen a lot less traffic than I think it should have because everyone I talk to has their own custom style, but there are maybe fifteen on that repo. So I wish for more community. It think it’s importan.
If you look at the TextMate community back in the day, probably still—I learned so much from just other TextMate users and they answered all my questions and gave me new ideas and it was amazing to have. GitHub in general kind of engenders that community but yeah I haven’t had a lot of great luck forming my own.
Alexis: Have you ever been tempted by a subscription model pricing for certain software?
Brett: Not really because none of my software provides a service outside of what a normal app would do. If I were providing something that required consistent resources on my end over time, I would definitely charge to subscription model because that would make sense. But the idea of having to renew an application that you bought once the next year—I hate that idea. For the stuff that I sell right now it doesn’t apply, and I wouldn’t, but there are times that it makes sense.
Alexis: Let’s see. Okay, I don’t want to put a date range here. In all your experience of freelancing and building apps and all sorts of stuff, what’s one mistake you’d rather not repeat?
Brett: Oh man, one mistake.
Alexis: We’ve got time for more.
Brett: I think when I ran my design studio or my ad agency—sorry, I mix the two up. When I did that, I went completely broke to the point where I was using credit cards to pay bills and that was the worst point in my life. It was all because I undercharged and did pro bono work and spread myself too thin. I didn’t learn until near the end of that when it was too late to recover—that I need to be more selective about my clients, I need to charge rates that will actually let me survive. Pricing models and finding the right clients were the biggest mistakes I made, and the biggest lessons I learned.
Alexis: On the flip side, what’s one decision you’re particularly proud of?
Brett: I’m pretty proud of quitting a day job and surviving for a year and doing well with it. I think allowing my rather wide but none specific skill set to actually make money on its own has been very fulfilling.
Alexis: As somebody who’s done it before it’s a scary thing so—[chuckles].
Brett: It is. I have this interesting quirk where I lack any healthy sense of fear of consequences. I mean, this is apparent through my entire life from when I was a toddler. I just don’t understand how to gauge consequence, so that’s kind of been – every major move I’ve made in my career has been more or less just for fun because I didn’t think things through. Some of it’s worked some of it hasn’t.
Alexis: Now I guess I should cover a bit more about open source stuff because you’ve done a lot of open source projects – nvALT is one of them. How has that affected your other work? I guess it’s a vague question but –.
Brett: It’s been beneficial. Like I said, when I started sharing all of my code exploits on a blog, immediately I met more people in the community and I gained people who looked up to me, which was weird at first because the web was full of people that I looked up to. I found my place because of what I was sharing for free. Then, that base of people is what made my commercial projects successful.
I mean, MoodBlast was completely open source and free. I shared it and I got feedback on it and I met a lot of people, and in this business, knowing a lot of people is how you succeed. So I’d say open source was fundamental to what I’ve done.
Alexis: Now one thing you mentioned earlier that you said you weren’t exactly great with people but you have worked with different folks on sizeable teams. What advice would you give to folks when they’re not just on their own and they have to interact with other folks?
Brett: I’m relatively eloquent. I can express an idea pretty clearly especially if I have a few minutes to think about it, and that allows me to fake my way through a lot of human communication. I don’t read expressions well face to face, and I’m even worse at detecting sentiment in emails and chat rooms. So when I’m dealing remotely online with people, I prefer to work in mediums that give me as much time to think about something as possible.
Alexis: I feel the same way.
Brett: With a Skype call, I get myself into trouble quickly. The biggest thing for my remote work was when I first meet a teammate or a team, I do a video call. I always try do a video call because you can put names with faces and you can put personalities with faces as you listen to them talk and their eyebrows and forehead, and when they’re joking and when they’re not. Then everything gets super easy after that. You can read it in their voice. And then I move away from—I can’t do stand-ups man, the whole Agile thing. I can see why it works, but for my personality, it’s horrible. I can’t stand it, so separation is good for me.
Alexis: Now I have to say that the whole putting faces and tone of voice to what you’re reading in text also helps when you meet the team once a year or twice a year, that kind of thing.
“Oh yeah, that person that I talk over text all the time; I forgot how awesome they are” or lack thereof, but usually how awesome they are. When you get back to just reading the text, you don’t put as much of your own feelings into what they’re writing.
Brett: It completely changes your interpretation.
Brett: It’s beneficial in just about every case especially if you don’t like somebody in person, it lets you remove yourself and take what they’re saying less personally, which is also really important for communication outside of face to face.
Alexis: Yeah. So how did you start podcasting?
Brett: Oh, I was asked to start a podcast and offered money for it. It’s not a romantic story at all. I have never even thought about podcasting or listened to a podcast. I just said, “Okay, I can probably do that” and just started, and it became something I really enjoyed.
Alexis: Well that’s a—I would say—an original for most of the stories I’ve heard [chuckles].
Brett: Yeah well, most people that I know that podcast do it because they listen to a lot of podcast and they want to be part of the voice.
Brett: I just happened to have just enough twitter followers that somebody was willing to pay me, and Merlin Mann backing my name. So I had the good fortune to just be offered, much like the rest of my life, lucky circumstances.
Alexis: All right, let’s see. The last question that I have for you and I ask it of every guest—I think it might be the toughest question—when it comes to code, what’s your text editor of choice?
Brett: Oh Sublime Text right now. It used to be TextMate. I used to be a diehard TextMate guy, but Sublime is easier for me to customize these days, even though I’m way better at Ruby than Python.
Alexis: Alright, I’ll forgive your affinity for Ruby. [Chuckles]
Brett: I get that a lot these days. [Chuckles] Filthy Ruby User, I’ve been called.
Alexis: No, I wouldn’t go that far.
Brett: You know what it is though?
Brett: I learned Ruby writing TextMate bundles and I had a community that helped me and I had all these code that I could dig apart to find how to make something work. I haven’t yet been forced to do that with Python. I can hack my way around in it but I don’t. I don’t have the grasp on it that I got from working on TextMate bundles.
Alexis: Now this actually touches upon something interesting that you said in another podcast that I was listening to, that the way you code—I can’t exactly remember how you described it—it’s not a classical kind of mechanical way and this goes back to I guess the computer science days, when you were studying computer science and you didn’t do so well at the math—exactly like me—and it’s more of a creative way.
Brett: It’s a creative process for me and I think all programming to some extent is creative. Some people just take a more abstract approach than others. I often wish that I could make clean elegant code from the get-go, but for me I have to build it like clay and pound it into shape and then re-factor. It probably takes me twice as long to do something, but I can get my ideas out and working faster than someone who spends a lot of time making UML Maps and planning out all the storage strategies and everything. They’re faster and it works better probably but I enjoy my process. It’s fun.
Alexis: So how does that compare to your design work?
Brett: I guess design was pretty much exactly the same. I would draw ideas out on paper or out into an illustrator base, and then just keep manipulating things until they work within my grid and within my aesthetic that I’m shooting for. Put it out there and let people tell me what to change [chuckles]. It’s really the same process.
Alexis: My process is really just about looking at Twitter bootstrap and some antique UI [chuckles] and then lamenting my inability and my bad eye for design.
Brett: I do gather a lot of inspiration. I use Pinboard tags and any time I see—especially for web design—a page that I think, “I don’t know how to do that I wish I did” or “Man, they did that really well”, I’ll just bookmark it with inspiration tags, and when I sit down to do a project I have piles of websites or webpages and screenshots to look for what’s going to work and then adapt to my needs. That’s been important.
Alexis: Alright. So is there anything that I should have asked you that I didn’t?
Brett: No. I think this was very thorough.
Alexis: Alright. Well Brett, if folks would like to find out about Marked and nvALT and all your other projects, where could they go?
Brett: I would say to go directly to my projects. If you go to brettterpstra.com/projects, you’ll find a list of all the projects I consider worth having their own project page for and there’s, I don’t know, twenty on there right now. And then @ttscoff on Twitter, and all my podcast are at esn.fm now.
Alexis: I was waiting to ask you where we can find pictures of pit bulls so that we can give your twitter account but you jumped the gun and I couldn’t insert the pit bulls here. Well I guess I did, in a roundabout way.
Brett: You pulled it off [chuckles]. I’m on Flickr, I’m on last.fm. You can find all kinds of stuff just by looking for ttscoff that will work just about everywhere.
Alexis: And for us, you can find us @binpress and myself @alexissantos. Thanks again, Brett. I will say that while we did recorded this in the listeners now know this—it won’t be out until I think January 13th or so.
Brett: I’m alright with that.
Alexis: And we will catch listeners at—well, it’s already is 2015, so happy 2015. [Chuckles]
Brett: Thanks for having me.
Alexis: Not a problem.
Author: Alexis Santos