Sam Soffes the Founder of Nothing Magical and the maker of Cheddar joins Adam Stacoviak to share all the details of his wild ride as an indie software developer and designer. Sam has worked at Hipstamatic, built YouTube ripoffs, gotten offers from some of the most respected names in the business (some accepted and some turned down) all to circle back around to start Nothing Magical and build his own products. He shares the highs, the lows and all the things he's learned along the way - plus so much more. And, check out "After Dark" for a short extended chat with Sam.
Make sure you listen to Sam's other appearances:
- #51: Sam Soffes / Onward - Part 4
- #40: Sam Soffes / Seesaw - Part 3
- #39: Sam Soffes / Nothing Magical, Cheddar - Part 2
- Four Years
- GitHub - samsoffes (Sam Soffes)
- Chedder iOS - Open Source on GitHub
- GitHub - samsoffes/grater
- Hello Internet: Selling My Stuff
- Hello Internet on Vimeo
- Cheddar Lessons So Far
- Shares App
- The Changelog - Episode 0.8.2 - Ruby Motion, MacRuby and more with Laurent Sansonetti
- Freshly Served: Cheddar App - Take your tasks everywhere - The Industry
- The Industry Radio Show #8: Adobe, HTML5Rocks, Dialoggs invites and making Cheddar
I'm joined today by Sam Soffes. He's actually -- I wouldn't say you're really a pal of mine, Sam... We're kind of pals, in a way. We met about a month and a half back officially, I've seen you on the internet here and there, but we kind of became pals after you were on the Industry that one time with us, so it was kind of fun.
Yeah, it was good. Thanks for having me.
Yeah, man. Sam, I think that everybody has kind of been looking forward to this conversation with you, because you're the [unintelligible 00:00:50.24] of any developer. You've been doing a lot of fun stuff with Cheddar, you've got a great story behind you, you're a designer, you're a developer, and you've spawned this new company Nothing Magical. I don't wanna do your introduction for you, but for those who may not know exactly who Sam Soffes is, this is your time.
Cool. Yeah, I quit my job a couple months ago and started a company called Nothing Magical. It's just me, and I work on an app called Cheddar currently. It's a really simple to-do list for the web, iOS and Mac version... So yeah.
And for the listeners of this show, they know that we go deep into our guest's pasts, but before we actually officially kick off the show, I do have a few sponsors I wanna just quickly touch on before we get started.
Without further adieu, let's dive deep into Sam's past, I suppose... Sam, you know your story a little bit better than I do - where exactly do we begin to tell the story of where you're at today?
Well, how far back do we wanna go?
As far as it takes.
I started HTML when I was like ten years old.
And then Objective-C in high school... So yeah.
So you were in high school and you were learning these things and actually making apps, or what?
Yeah, so a friend and I - hilariously, also named Sam - we had a company called Trimonics, which I sold a couple years ago... And we made a Mac app called Countdown Maker, and another couple little things. We were selling Mac apps right around the time I graduated high school in like 2007.
Nice. I like how in your bio you say -- I hope I don't make you feel old when you say 2007 is when you graduated; I like how you said that in your bio, a part of it.
It's funny, because everywhere I've worked I've been the record youngest employee, so I'm always like -- people like to make a movie reference or something; it was like "What year did that come out?" "Oh yeah, I was like three." "Oh, I hate you."
You missed that one.
I'm used to it.
Yeah... Alright, continue. So you guys were in high school, you were doing these things... Continue. I jumped in on there.
[00:03:46.26] Yeah, so I moved to Oklahoma that December - so I was like 18, I had just graduated - to work at LifeChurch.tv, doing PHP full time. Then the iPhone SDK got announced, and I was like "Well, I kind of know Objective-C. Why don't we make something?" So I got to spend six months working on an app called Bible that launched the first day of the App Store. Last I looked there were like 13 million people using it, but I think there's way more now. That was several years ago.
Yeah, there's a lot more users... I'm actually one of those users, so yeah, definitely.
When we first chatted, I was like, you know, that's so unique that I get a chance to enjoy something for so long, and then the world circles me back and says "And here's the fellow who made it."
It was crazy -- I mean, no one knew that App Store was even gonna be a big deal...
Right, what it is today.
Right. When I was working on it, for those six months, they're like "Oh yeah, whatever, we're gonna work on it", because other things were slow... And then it came out and there was like 60,000 people using in the first couple days. And for a church, that's like an enormous amount of people. 60,000 people in a building is insane, you know?
A lot, yeah.
So they're like, "Oh, this is kind of a big deal." So I got to work on it for a while after that, which was great, because I was just learning as much as I could on everything. I remember the first -- a couple weeks later I was standing in line to order lunch at some fast food place, and the person in front of me had it on their home screen... I was like, "Oh, this is amazing. I made that!" I don't know, it's a really cool feeling.
I can only imagine. So you're now 23, right? You've just turned 23 in March...
How does it feel to finally be 23? Is it the same as 22 and 21?
For the most part. I can get into things now. I remember being less than 21 and being really annoyed... Because all of my friends have always been older. Most 18-year-olds don't have a career, so you kind of just like naturally make older friends, I guess... But yeah, it's good. Nothing is really different.
So you're a man who chooses not to attend college. This is a choice you made... You kind of pseudo since then have gone to college in a way, just to kind of please your mom from what I can understand, but... You know, at least to keep promises -- we always try to keep promises to our mothers, but...
Well yeah, so no one in my family has really gone to college, so I was like "Alright, I'm gonna go to college..." You know, like the age-old struggle... I had never really wanted -- even in high school, all my friends were excited and I was like "I don't wanna go. I don't like school at all." I mean, I never got good grades in high school or anything... And I was enrolled in school and I already had a full-time time job, and I was like "Fine, I guess I'll go to school." Then I moved to Oklahoma and I was like "Well, I can't go there", because it was in Kentucky where I grew up... So I took two classes online, and then didn't anymore. It was like "Introduction to Learning Online" and "Introduction to Writing Papers Online", or something silly... After that I was like "Yeah, I don't--" I already have a salary and healthcare. Isn't that the point? I guess I don't really need to do this.
No sense in going to college if you've already got what college is supposed to give you, right?
Yeah, so I was like "Well, I guess I'm good."
So you said you didn't get very good grades when you were in high school, but you were learning HTML and you were writing HTML and you were writing Mac apps and Objective-C... Those aren't simple languages exactly. HTML is a bit more simple, it's a bit more entry-level, but -- I don't wanna offend the HTML5 fanboys out there, because I'm sure it's definitely getting a lot more complex these days, but back four years ago it was not as difficult...
[00:08:05.24] Then I started doing PHP and a little bit of Flash, and then finally Objective-C... I spent all my time programming. I never really played any sports... I was in bands, but... Yeah, I just didn't really care about writing a good paper. I still suck at writing.
Well, you're writing blogs really well.
Thanks... It's funny, anytime I release anything I write, immediately it's like five or six tweets, like "Hey, there's a typo here, here and here..." I'm like, "Yes, I'm bad at this..."
I've noticed a couple typos in your bio I was gonna mention, but... Since you said that, I did catch a couple.
Yeah, it's-- I just spend a long time writing API documentation for Cheddar, and immediately it was like "Hey, I found a typo..." All these different people in all different spots, and I was like "I know. I'm sure this thing is filled with terrible spelling."
I could only imagine -- I mean, the one thing you wanna do with API documentation is try to open-source it, right? Because then you can get pull requests for you.
Actually, I'll absolutely do that.
Yeah, do it after this show.
So you're 23 now. You didn't go to college exactly, you kind of just like jump-started your life a little bit. I think you're kind of -- I wouldn't say you're young to be where you're at, because we have a lot of people that are really young in this industry, jumping out the gates with immediate success, but for the age you are, you've got a lot of experience. You've done things with Hipstamatic, you've freelanced in a number of different places, you've built a YouTube rip-off that didn't go anywhere... You've done a lot of stuff. You've even had some of your work featured on TechCrunch, hopefully Cheddar gets featured on TechCrunch as well... I mean, I'm not sure about that, but we'll see, right?
We'll see. Well, it was interesting, because I remember seeing on my Facebook all my friends graduating from college, and I was like "Huh, they're starting -- they don't have a job or any experience... I've been working for four years" and then I'm like "I have the maximum amount of iOS experience possible." I don't know, it's kind of interesting.
I'm really lucky to be in an industry where college isn't required. But if you're trying to be a doctor, you have to go to school forever. I don't know, it's been nice to learn when I wanna learn, versus learning some curriculum. If I wanna learn something, I'll just go learn it. I don't know, it's great.
Yeah, it's funny the way you say that... So you have the maximum amount of iOS experience... What exactly does that mean? Did you coin that phrase?
I've been saying it for a little while... I remember the day the SDK got announced, and I was like "Yes!" I was actually on a cruise with a friend, and I paid for internet on the cruise and I was trying to download the SDK. It was like 4 gigs, and it never finished...
Right. It took the rest of the cruise.
But I got back and I was like, "Yes, this is awesome!" I started working on an app, that launched day one, you know? So it's the maximum amount of iOS experience. I mean, I guess you could beat me by a couple days, but still...
Right. It's kind of luck, though -- I mean, not so much kind of luck, but the fact that you were writing and programming Objective-C when you were in high school. That kind of gave you a kickstart to be in the right place, the right moment, with the right language, to kind of easily jump into the SDK and start making something day one.
Yeah, it's a funny story about learning Objective-C... I went with my friend (named Sam) to an Apple tech talk for Lion -- or no, not Lion... Leopard, or Tiger, an older one. And they were showing off all the developer tools, and I was like "This is awesome." We just went because we were Apple fans, but we didn't know anything...
[00:11:53.21] So I went home and I bought a book and played with it just because I really liked Apple. It wasn't like planning on my part, or anything. It's been great. I really like Objective-C in general, but building products with iPhone is very exciting.
So prior to that moment where you guys went to this tech talk for Apple just because you were fanboys - prior to that were you doing the HTML stuff, or were you kind of getting geeky?
Yeah, we had already sold a couple websites that were written in PHP and MySQL.
Okay, so you kind of had some intros to programming of course, right?
Yeah, just nothing object-oriented really to speak of... Just really simple PHP. All just web stuff. But the first time I made an object and all that was all in Objective-C... But variables, and if statements, I was obviously familiar with.
So take us, for those of us who haven't jumped into this stuff, the iOS SDK and stuff like that - at that time it wasn't even called iOS, it was just called...
Exactly, iPhone SDK... You're obviously a creative person, so from a creative standpoint and somebody who's got an entrepreneurial spirit -- you're totally like that, because you said "I'm not gonna go to school" because you can have the foresight of thinking which direction you're likely to go, so you obviously have that kind of thought process to see beyond the hill, right? From that perspective, when you looked at the SDK the first time, what were some of the early pipe dreams you might have had, what were some of the early apps you built, what were some of the early thoughts you thought about the SDK in general?
All I wanted was a Twitter client from day one, and I gladly paid for Twitterrific when it came out, and it was terrible, but... I kind of like it. I don't know, I mean... Making something and putting it in your pocket and carrying it around, and then pulling it out to show your friends is like really cool, so... I never had -- I don't know, I don't remember walking around, or like thinking of great app ideas; at the time I was just making stuff. It didn't matter what it was... It was like the exciting part. I think it wasn't until much later that I got excited about the actual product and choosing what I wanna work on, than just programming for the fun of it.
But it's interesting -- I remember when the iPhone SDK came out... I think Facebook was hands down the best app at the time. It was really well done. I think probably because Apple helped them a lot with it... But now people have taken it way further than I think Apple even expected, as far as custom controls and interactions and gestures. It's a really exciting platform to be on.
Do you have a garage door, by any chance?
If you didn't know, you can actually open and close your garage door with an iPhone app.
That's taking it pretty far. There's even more creative stuff, like a whole entire orchestra standing in front of mics with iPhones.
Yeah. There's this new product by Belkin, I can't remember what it's called, but you can basically get this little thing you put in your outlet, and then you can plug something into that and you can control it with an iPhone app. It's amazing, home automation made easy. Really cool stuff.
Yeah. That's definitely cool stuff. Let's take a quick pause to thank a sponsor. When we come back, we'll talk to Sam more about some awesome stuff from his past and get to know him a bit more.
Sam, we kind of went on that riff by talking about how you didn't attend college, and the early days of the iPhone SDK, and the fact that you can have this device in your pocket and you can make stuff for it, and you can show it to your friends, and it was just this thing at first... At what point do we get into the picture of like you working for LifeChurch and you start working on the Bible app?
Well, so I was there for like two or three months before the iPhone SDK came out, and then I worked on it until July or something, whenever it launched. So I guess it was like less than six months. But I worked on it for a while, and then worked on some other web products again after we'd added a lot of the features that we wanted to do. Then I left and worked on my own for a while, which was scary...
And you're back there again, so we'll get into that, I'm sure.
Yeah. Well, it was like I knew that's what I wanted to do, because it got to the point where being told what to write wasn't as exciting as it used to be. I guess that happened pretty quickly, since I was very early in my career... So it was like, "Alright, I'm gonna quit my job and I'm gonna do my own thing", and I actually just bought a house at the time, so it was super bad timing... So also being able to say I was 19 and bought a house sounds awesome, but granted, it was dirt cheap in Oklahoma, so I guess that doesn't count, but whatever... But I ran out of money immediately on my own, and went to work for a startup in Dallas, and ended up moving to Dallas.
So you moved around a lot. You were back and forth between Louisville, to Dallas, to San Francisco... You've kind of been in this -- you had a little try area here quite a bit. It seems like you moved around a lot. What was the reason for moving around so much? Just opportunity?
Yeah, I mean... There's like almost no tech scene in Louisville, especially at the time. And even now, it's almost non-existent. But then in Oklahoma, I got the job to work at LifeChurch, and it was a job writing PHP full-time, and I was like "Amazing! I get paid to program. This sounds awesome." So yeah, I moved there to do that.
Then in Dallas it was like, well -- I had met a friend at WWDC, the Apple conference, and we talked and kind of hit it off, and I was like "You should hire me", because he had just started a company. And I had like no money at all, so he kind of like rescued me from all that. I moved there just to make it easier to work together.
[00:20:04.09] Then I left there and contracted, staying in Dallas. Then I decided I wanted to move to San Francisco, so I moved to San Francisco -- just to move to San Francisco, because I knew that's where everything was.
Is that true?
Yeah, it's crazy out there. I mean, in like a ten block radius it's like Twitter, and Dropbox, and GitHub... Everyone's here. I can't even begin to list everyone. It's crazy that not that long ago knowing anyone that works at Twitter was like "Oh wow, this is amazing. I have someone that works at Twitter that replied to me." And now it's like, I hang out with people that work at Twitter. It's not a big deal. I don't know, it's really cool being around everyone that shares your same interest and is really smart and good at what they do.
So why San Francisco and not somewhere like Austin or Boulder? From what I understand, those are the next booming cities for tech. You've got Chicago as well, and you've got Portland as well... Those are good places to be in for tech as well, but Austin and Boulder - the next runners up, in my opinion, to San Francisco.
Why would I not do the best one? If I have a choice... I don't know. It just seemed like a logical -- like, "Well, of course it will be San Francisco." I've never even thought twice about it. I mean, I really love Austin, and for a while I was wanting to move to Austin after I moved here, because --
It's a lot closer, right? Dallas is not that far from Austin.
Like three hours, yeah. Three and a half.
But yeah, I was like -- I had kind of started my search for Austin or San Francisco, and I found a cool job in San Francisco at Scribd. I was like, "Well, that makes that easy", and moved to work at Scribd.
You've had some adventures in this landscape, doing lots of fun stuff... You even said yourself you're... How did you say again about you've had the maximum amount of exposure, the maximum amount of -- what was it again?
Experience, yeah. So you've been doing this for quite a while; you've bounced around from opportunity to opportunity... Some where you were freelancing, some where you were actually working for other people... If somebody asks you, when you sit down -- I guess you don't interview anymore because you're on your own, but if you were sitting in an interview, what would you say if they said "Why all the change, Sam?"
I think I just get -- like, starting a project is fun, and a lot of the places I've gone to work have been like "We don't have a nice product, we don't have one that we're proud of. Come here and make it better." And I was like "Okay, that sounds awesome." Then after a while it's like, "Well, I'm really tired of this." There's either stupid bureaucratic stuff in the way, or it's not progressing as fast as I'd like it to, or I'm just bored of it... So I was like, "Well, maybe I'll go do something else." It's like "Well, they're gonna offer me way more money, so I guess I'll go do that." For a while that's what I was doing, going after cool salaries.
Then I was like, "Well, I don't really care about that anymore, because I kind of make more than I need. I wanna work on something fun." So I did that for a while. Hipstamatic - I really liked working there. Then I was like -- the whole time, I'd rather just work on my own stuff... Because it was always like "I'll work on my own stuff and night and save up, and then I'll quit and do my own thing." I was like "Well, rather than wait forever, I'll just go do it", so I did.
So you went and did it. What was the experience like getting -- is there a fun story around how you got hired or how you took the job at Hipstamatic? Because that was after Instagram, right? Instagram was already out, and Hipstamatic was coming out and it had some fun things going on, right?
[00:24:00.06] No, actually Hipstamatic was out -- they were one of the first photo apps on the store. They were app of the year the year before Instagram got app of the year. They have kind of always been around, and I'd seen it and I was kind of a fan, but their co-founder e-mailed me and said "Hey, I saw this tutorial in your blog post. Thanks so much, we're using this in Hipstamatic. Do you wanna meet up?" and I was like "Sure." Then they were like, "Well, we want you to come on and lead this new product and work here." I was like, "Oh, well that sounds fun!", so I took it.
I mean, it was kind of a long back and forth, and it was like several months later after meeting them that I actually went to work there. And I was actually a contractor first, because I was like, "Well, I just left Scribd, and it's like I don't really wanna work for anyone else again", and then I was like, "Well, okay. I kind of like really wanna lead this product." As a contractor, it's hard to have ownership of the project when you're kind of just like told what to do as a contractor.
So I was like, "Well, I really wanna do that, and hire a team..." That was a good experience. I hired a decent amount of people there and all that... It was great, but...
What excited you most about Hipstamatic? When you first joined the team, what were some of the highest hopes you had that didn't get fulfilled?
Well, I started to work on this new project and it wasn't that successful, so that was not as good as I had hoped... And part of it was doing things out of my control, like "The product has to do this one thing, but then everything else is like whatever..." I don't know, that was kind of frustrating. Overall, I had hoped to just kind of make everything as excellent as possible at Hipstamatic, and I didn't really get a chance to work on much stuff besides the one product that failed.
I don't know, I had hoped to make a bigger impact, but I feel like I didn't really accomplish anything in the time I was there. I mean, granted, I wrote a ton of code and hired a bunch of people, but I don't know... Looking back on it, I feel like I wasn't that effective.
I can't tell if this is a blog post we looked over, but to me it's kind of like Sam's Autobiography; you wrote this yourself, it's about you... It's kind of a chronological order of events that have happened over the last four years in your life, and it ends in 2011, so I can only imagine that the last four years when you mentioned this is, you know, '11, '10, '09 and 2008, so I can only imagine that's what it's referencing at least, but you said -- and I'm only gonna say this because of what you've just said there... You said "I feel like everything I've done these last four years are kind of worthless."
Yeah, so I wrote that on the day all of my friends graduated from college. I was like, "What have I done in the last four years?" Because this whole time I was like, "I'm not going to college and I'm gonna get all this stuff done" and I was like "Oh, time's up. Now I'm gonna be like on the same page as everyone else, so what have I done, what can I show for the last four years?" It was like, "Well, I worked at some companies..." The project I was working on at Scribd no one uses. The contract work I did before that, they killed the project, it's not out. I built a ton of software that's never been released... That I'm proud of, but who cares if I'm proud of it? I mean, I'm not using it anymore anyway... I mean, I made Bible and a lot of people really like that, so that's cool, but I haven't worked on that in years, so I'm sure none of my code is even in it anymore.
[00:28:05.16] I was like, "I have all this experience, I guess that's valuable... I feel like everything I've created though isn't really that useful, due to one thing or another." Maybe that's why I'm so passionate about doing my own thing, so I can not have stupid things kill what I'm working on.
And have more control.
Yeah. I don't know...
Maybe we could even go a little further back in the past, I'm just kind of curious about this piece... Not so much to dig up sad memories and stuff like that, but even with the Bible app - that's something that's substantial. I get the e-mails from them, I think it's used by 15 million people, or something like that. You were a part of the early days of that app going out, but even when it did release the first day -- it's a story that maybe you can kick off in a better way, but even when that released its first day, you couldn't really fully enjoy it.
Yeah, well -- so I moved from Kentucky to Oklahoma in December of (gosh...) '07. At the time I had just got engaged to the girl I was dating through high school, and we were supposed to get married in June or July of '08. And I chose to move, and already enrolled in school and everything in Oklahoma, the city I was working in... But then she kind of changed her mind shortly before, and decided she didn't wanna do that, which was devastating. So for a while -- especially in that four-year period, I was single the whole time. I don't know, I thought a lot about that, because I was just like at home in my apartment, not doing anything... It was like, "Well, I'd rather just like be married than be successful at what I'm doing." I mean, relatively successful I guess, I don't know.
Especially like buying a house, I was like "Yeah, this is awesome. I love having a house, and I really miss having a house", but San Francisco makes that near impossible.
Yeah, it's just way too expensive.
The house down the street to my apartment - I really like it, and I looked it up and it was like eight million dollars, or something just stupid. I was like, "Ugh... Well, I have good taste, I guess." But even like, buying a house and sitting alone in my house, "Oh, this sucks! This was not the plan, to be alone in my house."
Now that I'm doing things and I have friends... Because moving a lot makes that problem worse.
Yeah, you can get lost in the shuffle.
Yeah, so it seemed like every time I started to make friends, I'd move... Not because I was making friends, it's just like that was when I was moving. But yeah, it's been good; I've been here a little while, and... I mean, I still feel the same about that time in my life. There's nothing on the App Store that I'm proud of right now, with the exception of Cheddar. Even Shares - that's another little project I did with a friend; it's like, I'm not like "Yeah, this is so good." It's like, "It's okay, I guess..." I don't know, but I'm hoping to change that. I'm really excited to do my own stuff, because I can have the ability to make something I'm proud of.
Well, let's take a quick break and pick back up there.
Sam, the one other thing I wanna ask you about, and we talked quickly about this before we kicked off the call, and I was really just intrigued by the answer you gave, and I think just to kind of extend and close that topic - the listeners probably wanna hear this as well, because I enjoyed hearing it from you... At one point you also said "I think most of my outlook on life today is affected by almost being married and then not being married." You're young, right? You just turned 23, you're not some old strap; you're a young buck, and that's not to say it's a bad thing, but how true is that statement even today? That was a couple years ago...
At the time I think it was absolutely true, because I was really close to it and I didn't get it, and it was like "Well, it's all I want now." Maybe it's just because I couldn't have it, I don't know... But I never really was like -- even still, I don't really enjoy drinking; like, it just tastes bad, I don't understand how people like this so much. But anyway, going to bars was never really exciting; I mean, there's not many 18-year-olds with a career, so it was hard to make friends.
It's kind of hard to get on the same playing field when you're like, "Yeah, I'm 18 and I've got a career."
Yeah, I mean... People wanna talk about their school problems, and I'm like "This is silly. I don't care about any of this." So I don't know, I was never really one to have a lot of friends, so I just kind of stood alone in my apartment. I was like, "Well, this sucks. I wish I wasn't alone right now." So I thought about it a lot for a long time, until I started to make friends and do things. But like I said, because I moved a lot, I didn't really have friends until recently -- I mean, not to say that everyone I've known in the last four years isn't my friend, by any means... I've had friends, but I've never really had a lot of friends or people I do things with a lot... But it's good. I don't know, I guess don't sit alone in your apartment for four years is the moral of this story.
The takeaway from that one? Yeah...
But even in high school, I didn't really do anything except sit at home and program... Because that's what I wanted to do. I didn't really wanna play sports, or... But I don't know.
Alright, let's take a left turn and talk about some other more fun stuff. I just like to get a little real with guests, so I think you get a chance to tell a bit more about your story that no one else really gets to hear the deeper parts about... And I think everywhere you're at today is a reflection of where you've been, and that's a part of where you've been.
The listeners don't know this, but we share similar things. We've had breaks in our relationships that have defined the next thing we've done, and I just kind of wanna know a bit more about how it defined where you went and what you did.
[00:35:49.21] Let's delay Cheddar just a little bit, let's talk about open source for a bit, because I know that you're a really -- obviously, you're really good at coding and you're really good at releasing things, and you've sort of adopted this mindset that everything you wanna do should be open-sourced. You can even mention what you've said before the call started if you'd like, but open source - and you even wrote a blog post about it, too... You said "Open source is rewarding." What do you mean about that?
I started working on this thing called SSToolKit a long time ago, in like '08 I think. It was just some things I wrote in Bible that I could reuse in my next app, because I was starting to do contract work. I put it on GitHub, because where else would I put it? It was free and open source... Maybe it was '09, I think that's when I sent it to GitHub. Whatever. And I've just kind of always added stuff to it; I didn't really expect anyone to use it or even look at it.
Then eventually a lot of people started looking at it, and replying to me and fixing things or asking me to fix things for them or whatever. Now it seems like whenever I go to meetups someone will come up to me that I don't know and say like "Hey, thanks so much for that. I really like SSToolKit." It's like, "Oh, you're welcome. I'm really happy to hear that you use something I've spent hundreds and hundreds of hours on. That's pretty cool."
That was kind of like the first thing I open-sourced, and since then it's like "Well, if there's anything I can do that's reasonable that someone else could use, why not give it to them and save them the trouble? And if they wanna help me make it better, then everyone wins."
So SSToolKit is your first adventure into open source, in terms of your own code?
I had no idea that that was the case. I guess I thought that it might be, but I didn't know for sure... That's your crown jewel, man. That's the one.
Well, I guess I had put out a couple of PHP things... No, I think that was after, actually. I don't know. But if not, it was one of the first, and it was never intended to be what it is. It was just like a folder of things I reuse in every app, and it kind of got more structure over the years.
People might be thinking this - and I know I thought this at one point, as you know, because I mentioned it in the intro that you were on the Industry Radio Show with me, Drew and Jerod at one point... And on that show at one point we were talking about some sort of open source thing -- it wasn't yours, but it was something with Objective-C and I was like "What the heck is the SS in front of that thing?" Or not the SS -- like, in your case it's your initials, but I was like "Why in the world does that have those two letters in front of it?" I couldn't understand it, and then Drew was like "Oh, that's an Objective-C thing. It's the first two initials of the person who wrote the software", so in your case that's why it's called SSToolKit, right?
Do you get a lot of questions about that? I'm just curious.
No. I mean, I think people in the Objective-C community kind of just like know that's what it means... But it's funny, because it actually started out as a folder of things I had copied around on my hard drive; actually, its first name was TWToolKit, for Tasteful Works.
That's where I was working in Dallas. And I left there and I was like, "Well, 100% of this code is my, and it's free and open source, so I'm just gonna fork it and change the name, because I wanna keep working on it." And you can still find TWToolKit; it's still on GitHub, and it hasn't been touched in years, I'm sure... But yeah, it was like -- I don't know, something I've carried around for a long time.
And not to mention the URL is certainly cool...
It's SSToolK.it. Buying an Italian domain is a giant pain, but not as hard -- when I bought my personal domain (Soff.es), I bought it in Spanish, on a website, using Google Translate.
Because at the time I couldn't find an American place to buy it. Since then, several places have it. I wonder if Hover does, because right now it's at GoDaddy, and I cannot stand -- that website hurts my eyes.
Yeah, speaking of GoDaddy, Hover.com is a sponsor of this podcast, by the way...
Yeah, so after the show I'll have to see if they have .es. Not all do, and that's why it's still at --
Yeah, I guess it's tough.
So you said that open source is rewarding... You've gotten people to -- when you were at meetups, people were just like "Hey Sam, thanks for doing that awesome work, I appreciate you sharing that." You've gotten some of those accolades... You've also, as part of the extension of that conversation we had on the Industry Radio Show way back when -- which seems like way back, but I think maybe a month and a half now... Was that about how long ago it was?
Yeah, something like that. There were like three or four guests since then, so yeah.
Yeah, it's been -- we also had a couple breaks in our production schedule too, because I had some vacations and some other things going on, too. We had two two-week breaks, so we actually have missed an entire month in like the last two months, so... Technically, we've released like maybe five shows. But the show is really popular, as a side-note, by the way... So if you listen to Founders Talk, maybe you'll love the Industry Radio Show. It's more for designers/developers, people that enjoy the other side of startups, where this is more focused on the person behind the startup, or a founding member, and something like that, so it's kind of neat.
But all that to say that after that conversation I was so impressed with just your demeanor and who you are, just the kind of person you are and the way you treat the world and the way you treat the people around you and how you wanna give back... You just seemed like a really great fellow, so I was like "Hey Sam, we have this awesome blog called The Changelog, and a podcast. I'm sure that we would be excited to have you on board if you wanted to write about Objective-C", which you seemed to be very excited about as well. Then you started to do that as well, so that's kind of an extension from open source in a way, because The Changelog is all about promoting what's fresh and new in open source.
Yeah, it's been great. It's really cool to feature something someone has made and see how excited they get. Most people making stuff for open source don't really expect to get any recognition, or a lot of the people they get is people reporting bugs and they've gotta fix the bugs, and it's kind of like, "Ugh...!" But you make someone's day when they're on the featured list of things on GitHub; it's like "Wow, thanks so much." They can have that feeling of appreciation and payoff, and I think that's really cool. And Wen's been super nice to feature some of mine and to give some of my new stuff exposure... So yeah, it's been great.
And not to mention just writing, but you've also been able to be on the show recently. This most recent show we have, it's actually one of our most popular episodes we've actually had. I think it's at like 60,000 listens or something like that in just a few weeks. It's insane, but a lot of people seem to be very excited about RubyMotion.
Yeah, Laurent -- I don't know if I'm saying his name right (lrz), he's been fantastic; a really great guy, and he's been really supportive of being on my own and stuff, because he just left Apple to do his own company. So yeah, he's a great guy.
[00:43:59.03] Yeah, Laurent Sansonetti is - and I only know that because I heard Wen practice it a couple times before the show actually goes off... So those who are listening to this Founders Talk, you also know about The Changelog, so I get the chance to mention that show here and there, but I also happen to be the producer and editor, so I get to kind of just make things happen behind the scenes, take care of sponsorships, but I also get to edit it, which is really rewarding for me because I get the chance to sit back and listen to some very deep - and don't take this the wrong way, Sam, but very geeky conversations that I would not otherwise be involved in. And it's kind of cool because I get to -- you know, I can't be a part of that conversation because it's after the fact, but I get a chance to listen in. I really enjoyed some of the conversations you guys had around RubyMotion.
Here's one topic I wanted to talk to you about, just because of your passion with that show in particular, that particular episode, and RubyMotion, and Ruby, and Objective-C and iOS, and the fact that you also say that open source is really rewarding... So Laurent has been able to build a business around an open-sourced library, or open source libraries. There's a couple of them that are a part of that, and I think that not all of RubyMotion is open source, but there are pieces of it that are. What do you think about people finding unique ways to build businesses? Even like -- what's the database? I can't recall the name now, for some reason.
React is --
Yeah, React from [unintelligible 00:45:41.10] Them building a business around an open source technology - they have this other flipside. What do you have to say about entrepreneurs out there that are thinking there's a place to disrupt, or there's a technology that's really neat out there -- even like Git; GitHub has turned Git into a way to make obviously 100 million dollars, right? I mean, that's pretty obvious there. What do you think about entrepreneurs who look at open source and find unique ways to build businesses around it and make money?
Yeah, there was a blog post by Tom, one of the co-founders of GitHub -- or I think it's a talk... Yeah, it's a talk. I think it's "Open Source as Much as Possible." Actually, I think it's a quote in a talk... Whatever. He said that at one point. Basically, it was like "We're never gonna open-source GitHub.com, because that's how we make money, but open-source as much as possible, because--" I mean, especially for GitHub, because they're really high profile in the community, so people contribute a lot... But he had some good points, and I think it's really interesting, and I think it's great that RubyMotion is starting to be open-sourced.
The part he's open-sourcing is the tools and stuff to work with RubyMotion, which is like a really great place for people to contribute. It's something I've been thinking a lot about lately, because I've been considering open-sourcing most of my current project, and there's a lot of pros and cons; I'm trying to figure out what I'm gonna do, but... I don't know, I'm not like "If you're not open-sourcing it, you're bad", and I'm not even overly excited if you are. I think it depends on the different cases, I don't know.
Well, you have to have some sort of motivation. It sounded like you had some desires and motivation to open-source... Your current project is Cheddar, so you're talking about open-sourcing the forthcoming Mac app, the forthcoming -- or not forthcoming because it already came out a week ago, right? The iOS app, officially. It's been in beta [unintelligible 00:48:01.06]
Yeah, like two weeks ago tomorrow.
[00:48:06.24] Right. So you've got this, and you even have the dotcom codebase as well, you're looking at open-sourcing it. What's your motivation behind it? What would be the motivation?
Well, the first thing I wanna do immediately is gonna be the developer docs, per your recommendation... [unintelligible 00:48:20.24] fix some of my typos, because I'm terrible at spelling. As far as everything else goes, all the apps are free; there's an optional monthly subscription for Cheddar, and that's how I make money. So I figure -- I mean, if all the apps are free anyway, why not? Especially since the API is open. You could write your own if you wanted to, and why don't you just help me make mine better, instead of writing your own? I mean, you write your own, I don't care.
I don't know, it seemed interesting. Also, it's a great source of sample code for just iOS in general, and other people that wanna make stuff around Cheddar, which helps my business and potentially helps that developer's business. So it seemed like there's a lot of wins; there's definitely some -- you know, people could be stupid with it, or competitors could try to rip it off, or whatever... But I kind of feel like all of Cheddar is execution and not -- because making a to-do list is not hard at all, but design and which features to have, interactions and all of that I think is what's cool about it.
Someone was saying "The UI is your product", and I disagree; I think the platform is the product, and the UI is dictated by the platform's limitation. If the platform doesn't support crazy stuff like assigning the people, and due dates, and all this stuff that requires all this complex UI... It's simple, and so is the UI, because it has to be.
And another thing -- Twitter is a great example, because how many Twitter clients have I used in the last five years? I can't even count. A ton.
Yeah, at least ten, for sure. At least ten for me. Maybe twelve.
Tweetsville. I remember I was really excited about that. It's not even on the store anymore. There has been a lot...
Well, listeners of this show would know at one point I was excited about HootSuite. And I've got nothing bad about HootSuite, it's just that I've since learned there's lots of other better things... I don't know.
Putting ads in frames on links... Ugh, that pushes all the wrong buttons in my book. But anyway, I'm sure they're great and they have other stuff. That's just the only memory I have of them - people putting ads in frames on links, and I was like "Ugh, I hate this." But anyway, UI changes, and people get over it, and like why don't other people help me update mine, so people can stay happy with it? Because I want them to just use the platform, I don't really care if they look at my UI. I'm not an amazing designer; if someone wants to make it better, then more power to them.
I think what you've done with Cheddar is pretty awesome, honestly. As a non-designer designer, I think you've done a pretty well job of keeping it simple. This is a neat topic to talk about, but I think it's kind of neat what non-designers do, and they consider themselves non-designers. In your case, I think that Cheddar is simplistically beautiful in the fact that it does keep lists simple; it doesn't try to go other ways, like Things or Flow, that's like a web app in an iOS app, or others that are just known for doing to-do lists. You just keep it really simple. I think it's done really well, in my opinion.
[00:52:10.26] A funny story, I actually almost worked on Flow. I mean, not almost... They asked me, because they were thinking about making a native Mac app at the time, and then they decided to make the web app to look really interactive, and it never worked out. I mean, that was like years and years ago; I was still living in Texas. It came out way after, like over a year after. I know that the developer for Flow for iOS, he's at Square now. It's kind of funny how we were all close.
It's also funny how you guys bounce around. I mean, I've even done my fair share of bouncing around, but it's just so funny how people that used to work at Google now work at Microsoft, or who used to work at XYZ company now works at Square, or Hipstamatic to Nothing Magical, for example, or from your company to GitHub, for example... It's just kind of crazy how we move around. I think it's the nature of the beast, right?
You can't stick somewhere forever. Not one situation will make everyone happy, so there's always room for growth and room for change and competition and whatnot. Since we're talking about open source and moving around and stuff like that - this is a topic we're gonna kind of hang on before we go into the next ad that supports the show, and then we're gonna dive deeper into Cheddar... So I wanna talk about this, mention our next sponsor and then go into Nothing Magical and deeper in Cheddar and some things around that. But since we're talking about open source and moving around a bit, recently you actually had to say no to not moving around.
You almost moved from what you're building now to somewhere else, and it's kind of a touchy subject maybe, but... You know, that company just recently got some awesome funding, and they're a good company, we all respect them of course, but I'll leave it to you to tee that one off.
Yes, so I was having dinner with a friend, and I was just telling him how much I loved doing my own thing and how great it is, and I was like "I don't want another job ever again. This is great!" and he's like "Well, what if GitHub e-mails you?" I was like, "Well, I don't know. That's like the best job in the world." I'd probably have to -- I'd definitely talk to them. I don't know. I was like, "Oh, I don't even know."
You were kind of giddy, right?
Yeah. And then literally the next day the CEO e-mails me. He was like, "Hey, you should come work at GitHub. I almost didn't e-mail you, because you're bootstrapping and I really respect that, but you should come work at GitHub." I was like, "Oh, man... Really? What are the odds?"
So anyway, we talked for a while, and they ended up making me an offer and I actually accepted the offer. Then as I was thinking about it, "Oh, I'm gonna work at GitHub in two weeks. This is gonna be great!" Because I told them I wanted to get two weeks at Nothing Magical so I could finish Cheddar; I thought that was kind of funny, giving myself two weeks, but...
As I was thinking about it more and more, I was like "Well, this will be great, because I'm gonna get paid now, and I don't get paid right now... And I'll have an insurance..." I was like, "Well, I'll just work on the weekends on Cheddar and hopefully that will make enough money where I can just quit GitHub again and work on Cheddar full-time." I was like, "Well, I'm already working on Cheddar full-time. If this is my end goal, then this seems silly, and maybe I won't be as excited about working on it while I'm gonna work at GitHub", which by the way, they were working on some insane stuff that's gonna blow your mind when it comes out.
They're doing really cool things. And that's what was so hard, because these are the best people in the world working on this. I would have been working with some just amazing people. So eventually, I had to e-mail them and I was like, "Actually, I'm going to have to decline the offer after all."
So you actually accepted the offer.
Is this what you did at [unintelligible 00:56:13.05] because you had this blog post, "Staying Strong", and in there you didn't mention any names... So this is actually what we're talking about, right?
Yeah. Hopefully... Yeah. I felt awful about accepting, and then they told everyone, and then I told them I didn't accept, and apparently that information didn't get passed around as much internally... So people were still directing me on Twitter like "Hey, I'm so excited for you to start..." and it's like "Actually, I don't work there." I probably could have handled it better and just declined in the first place.
That was a really tough decision, because as an engineer, GitHub is the best place in the world to work. I can't think of a better place I would wanna work. But I don't know, a lot of people encouraged me to stay indie and... Cheddar wasn't even out at the time; it came out a week or two after all this happened. I was like, "Man, I at least have to give it a chance. If it totally fails, I'll go get a job, or try to get funding... I'll do something. I'm sure I won't go hungry."
There's always options, right? You're -- what is it again? You have the maximum -- I forget what it was what we said earlier... The maximum experience with iOS, so... [laughs]
It sounds good on paper.
Yeah, it's a good -- I'd definitely put that next to my name on my resume, I'd be like "The maximum...", you know? I would totally...
The last thing that's on my resume is "Followed by John Gruber on Twitter."
Is that right?
That's literally the last thing that's on my resume.
So let's dive into one more segment of this before we go to our sponsor. Beyond it being a hard decision - and I really want you to speak to the people out there listening to this show that are thinking, "You know, I'm really a big fan of Sam..." Like I said before coming on this show, and I think I even tweeted this, I think you're an inspiration to indie developers, whether they're on the Mac, or Android, or anywhere else. I think you're an inspiration to that because of what you've done in such a short amount of time and how much wisdom you have, that you even get to share on your blog, and through open source code, and even through the insight of wanting to open-source parts of Cheddar, if not all of it, just to give back even more... But you turned down this, you know, for most developers who are listening to this show right now thinking "The best dream job." You turned that down for Nothing Magical.
I'm not disappointed in that, I'm just thinking it's ballsy.
Yeah, I mean... Well, especially turning down income, and insurance, which right now I have neither. Whenever I go [unintelligible 00:59:16.17] it's like, "Well, minus whatever from my bank account" and hardly anything is going into it. That's scary on its own, not to mention the opportunity to work at GitHub and be a part of some of the things they're working on. It was really tough. But I know a ton of people that hate their job. As an engineer, I was like, "What are you doing? Quit today." And not to be on the extreme, like "Whenever you're angry, just quit." There's a balance to this, but...
Right, think about it. Make a wise decision.
[00:59:52.01] But you can get a job anywhere. Surely you'll get tons of recruiter e-mails, most of which are probably terrible, but... Everyone is hiring. I know two companies right now that would hire an iOS engineer today if I were to send them an e-mail with like "Hey, I know someone looking for work." Everyone's hiring, and that said, don't just jump from job to job. I think that's the bigger thing I've learned. I've had a lot of other great opportunities before GitHub, even while at Hipstamatic, and I was like, "Well, I don't hate working at Hipstamatic... I'm just gonna switch jobs, and start again and be really happy about it for a couple of months" and then like "Okay, well, I'm out of job again. Something else will come along and I'll move jobs..." That's pointless, besides having a lot on my resume.
Yeah, actually if I was interviewing you for a job today, I would say "Why all the change?" But you even said it yourself though, Sam... You said that you almost took it with the plan to just come right back to where you're at now, and it just seemed insane to do that... Because you've done that before. The definition of insanity is to keep doing the same thing over and over and over and expecting a different result, but you've done this song and dance before.
Yeah. For a while I was like, "I'm gonna hold out for designer or co-founder" or "I'm gonna hold out for this", to do my own thing, and eventually it was just like [unintelligible 01:01:17.07] It doesn't matter. There could always be better circumstances to do something, but that's like a silly reason to delay something you wanna do. I know a ton of people that would never wanna do what I'm doing; they're really happy just making stuff at a company, and good for them. But if you wanna be on your own, do it. It's not hard.
The toughest part is jumping from income to no income, and you can always supplement that with contract work... Which sucks, but it's better than doing nothing.
So was the news that came out two days ago, or yesterday - did it turn your head, for GitHub?
I knew about that already.
Oh, so you knew about this beforehand.
Because they were offering me equity and stuff, and like "We're gonna get funding, but you won't be diluted." They were really upfront about it, which was cool. I'm really happy for them. I don't know how much of the deal was public as far as how it went down, but they got a really good deal -- I mean, GitHub is totally the better end of that deal, and great for them; I'm really happy for them.
100 million dollars is a lot of money.
So much money.
Yeah, that's a ton of money, and when we look back at it... I mean, I'd even seen somebody say the other day like "It's just a source code manager", and I think based on something you've said, and some -- you know, we all have our leaks... Not so much leaks, but let's say rumors that we were gonna start up, or think about or dream about for Apple, and I think GitHub kind of has some of those, because I can see them doing some very massive, very big things. Like you've said, they've got some of the most talented people there. It's crazy. I can see them doing a lot of fun stuff in the future, that's for sure.
But let's veer away from that one, let's dive deeper into Nothing Magical, let's dive deeper into what you're doing currently now with the startup you started. I think it was June -- let me look at my notes here real quick... It would be I guess around June this year; end of April, May this year you started Nothing Magical, right?
April 2nd, actually.
Nice, okay. Well, let's start there then. When we come back we'll pick right back up there.
Sam, I guess we're kind of full circle now. We're almost to present day, maybe a few months back really this year, to talk about Nothing Magical, and specifically diving a little bit closer to some of the details around Cheddar, which is your first product of Nothing Magical. Where exactly do we begin with this subject, with Nothing Magical? Where did the idea come from, the name, whatever?
So I actually started working on Cheddar like a year and a half ago, I think. It was just a web app and I had started on it working on a couple weekends... I actually started it on a plane. I'd worked on a product for a long time and never launched called Pepper Jack... Because I was just code-naming things cheeses, and Pepper Jack is my favorite cheese.
And I was on the plane and I was like File, New Project, and I was like "Oh, what do I name this thing? Cheddar. Done." I didn't even think about it, I just kept going and I never changed it. So when I was decided to quit Hipstamatic, I was like "Well, I need to work on something." I was like, "Well, Cheddar is almost done. Maybe I can just do that--"
Well, before you go there, what made you quit Hipstamatic? I'm still trying to piece that together. It seems like you left a good situation or a place you were happy with, but I guess what you were launching didn't launch and it kind of failed, so maybe is that the reason why you left?
No, and I don't wanna say anything bad about their company, but they're very design-focused; both the co-founders are designers. It's run like an ad agency and not like a software company... And they wanna say that they're not a software company, but all the revenue comes from selling software. So there was a lot of struggle, all based on that issue, basically; they didn't really value engineering... It was just kind of a means to an end to get their design out. And I didn't really see me making that much impact on the things that actually mattered there. It was just kind of like this one product that no one used.
So then you left, and...
Yeah. So I was like, "Well, I'm semi-frustrated at my job." I'm not like, "Ugh, I wanna quit because I'm so mad at them." I was like, "Well, now is a good time if I need to do my own thing", so I did.
And then shortly after doing your own thing -- I thought this was kind of neat, this kind of (I guess) self-introduction to everybody, really... It was your "Hello Internet: Selling My Stuff" video that I thought was just pretty hilarious.
Well, I'd actually done a bunch of Hello Internet videos. Back when I was living in Dallas and I was self-employed doing contract work, I did a lot of them because I was just like "I don't wanna write a blog post. I just wanna complain for a minute." So I did, and people seemed to think it was hilarious, which was like "Awesome! I like that people like watching me complain, because I can complain all day."
[01:08:10.13] So I did a lot of them, and then didn't do it for a long time, because I was just busy. And that was the first one I did in probably a year, and it sold all my stuff, except for my desk and my bed, pretty much. I really want a couch. I've not had a couch for three months, and I'd like to have one now.
So you have no couch.
No. Literally, my living room is just my desk.
No TV, I sold my Xbox... Everything.
Yeah, you mentioned the fact that you had done these Hello Internet videos for a while, and I actually remember -- I think it was... I'm trying to look them up; I'm on Vimeo now... If you go to vimeo.com/channel/hellointernet, and that's your channel, you can see all of them... I'm trying to recall the one that it was that I saw that introduced me to this funny thing.
I think it was the iPhone screen one. That was one of my most popular ones. I don't know if you saw that one.
No, I think it was Twitter, because you were talking about it being down [unintelligible 01:09:16.06] I believe you mentioned in there...
That was really after they had a lot of problems.
Yeah, Twitter Is Down a Lot. That's right, it was totally this one right here. This is the one that introduced me to you, way back in the day.
So you were telling the world "Hello, internet. I've got some money needs. I just quit my job and I'm starting something on my own, and I'm selling all of my stuff."
Oh, I still have a lot of my music here, unfortunately. That stuff is hard to sell for any money.
[laughs] So you're still selling your music, aren't you?
[unintelligible 01:10:02.25] I'm pretty excited about that. I'm really bummed about selling them as well, but I hadn't played them in a long time, so whatever.
So you're selling your stuff to start this new company, and even in the video you say you don't have a plan for income for the next (I think you said) month, or a few weeks at least. So it's not hard for you to get hired, because as we know, you've got a ton of experience with iOS, so it's gonna be easy for you to get hired pretty much anywhere, should you really need money and pay bills... But you have choices, and the choices you've made are actually what are financially strapping; you've made choices to be financially strapped to this point, right?
It's not like you couldn't go out and make more money. You could go get hired for $150,000 or $200,000/year it seems like. It seems like your financial position is based on your own choice to be where you're at.
Yeah, so I contracted with Hipstamatic for a couple months before I worked there, and getting paid $150/hour is a lot of money, so I just saved it all, because I was like "I don't know what I'm gonna do with all this money." So I had a lot in savings, all in Apple stock, and that did pretty well since starting and now... So I was like "Yeah, I mean I can live off of that." And for a while I was like "You know what? I'm gonna do ten hours a week of contract work." I think the last time we talked, that was--
That's pretty rad, yeah.
And it was terrible.
It was the worst idea ever?
Yeah, I mean... Because I could never actually do it all in one ten-hour sitting in a week. It was constant back and forth with the client...
[01:11:52.04] And before you know it, ten hours is up and they've wasted their money.
Yeah, I mean I spent more time doing stuff besides coding than coding. And not to their fault; it was just the way the project went... And it's like, I need to focus on Cheddar, I don't have a week to sit here and avoid it, and then work on it, and then be angry that I'm doing this. I need to just finish this. Cheddar would have been done a month sooner I think, had I not done this one 40-hour contract.
So when we talk about Cheddar and things you need to do - when you say that, what are those things to do? Let's talk about Cheddar, let's talk about -- I mean, obviously you told us the story about how Cheddar came up, because at one point back in the day you did this fun thing called Pepper Jack, and you had this fascination with cheeses, so now you had to do something quickly and you just came up a name at random and it was Cheddar, because of your fascination with cheeses...
So it's called Cheddar, here we are today, and what is Nothing Magical and what is Cheddar?
Yeah, I was leaving Hipstamatic and I was like, "Well, I need to work on a product, because that's why I'm leaving. I already have Cheddar; I'll just finish it in two weeks and put it out there", thinking that it would be really fast.
And then I was like, "Well, I should launch it with an iPhone app. Okay, this is gonna be a big project", and I started over... I was like, "Well, I need a name for the company", and I was brainstorming, and hilariously enough, the client that I did this work for - at one point I had Something Magical and all these other ones... And he's like "What about Nothing Magical?" and I was like, "Oh, I love it." So I actually used that as the name. From one night of brainstorming it came up, but...
But yeah, so then I threw out all my Cheddar code, which wasn't a lot and it wasn't great...
And it was written a year and a half ago, so it couldn't be that good anyway, right?
Yeah. I'm sure I'll have what I have now in a year and a half. But yeah, I threw it out and I started over, and I wrote the iOS app in less than a week, I think. The original version in definitely less than a week. It was like a day, or something... And then I wrote the iPad app in a day as well, converted it. And I spent a long time (a couple weeks) polishing and animations and such, but... It came together really quickly.
I definitely spent way more time on the server and the website and all of that than iOS, which is funny, because that's what gets the most attention.
Well yeah, I mean, what you're doing really is you're creating accounts and you're storing to-do items per a list, and each of those have a lot of things to be stored on a database, and the fact that you're also using things like Pusher to do all that real-time pushing makes it that much more complex, as compared to just like a common web app, where if I added this... I'm doing this spiel for you, I hope you don't mind; but if I added an item - because I use Cheddar, so I'm happy about it. But if I add an item here on my iPhone, immediately I see it if I have the desktop client version pulled up... Which isn't in Mac yet, but you've alluded to the fact that it might be.
I've been working on it all day.
There you go. This is pretty neat. What is it about the back-end of Cheddar that was the most complex piece of it, besides what I've just said. So the real-time stuff actually isn't that hard, it's just everything you can do has to be real-time. So implementing a feature or just like editing a task, it's like "Okay, I have to edit it and then make sure all that pushes and is in a good state." It just makes everything take longer; it's not that big of a deal. And then Pusher is fantastic, if you haven't looked at Pusher. It's pusher.com.
[01:15:55.16] But the other stuff is Cheddar supports a lot of cool text features, which is funny because that was never the original plan; it was just like only a simple list, and then I was like "Oh, wouldn't it be neat if I added tags and then implemented it in like a couple hours?" And that's everyone's favorite feature.
Yeah, I love that one, actually. I was just sort of using that one a lot more.
The animation iOS makes me like it more than a day when it was just on the web. I'm pretty proud of that little interaction. Then I added on a whim, like "Oh, let's see how hard it would be to add markdown", and then spent a day and added markdown. I was like, "Oh, this is really cool." I actually really like this. And emoji, and all the text stuff I've spent a lot of time on, to do the right thing.
"Oh, if there's Russian characters, it all breaks." "Ugh, okay. I've gotta go fix that." There's a lot of stuff I didn't really think about that I needed to handle to support all these text features. I actually wrote my own markdown parser, because I couldn't find one to work the way I needed it to work, to work on iOS and work on the web, and whatever.
Is that open source, by the way?
It's not. I don't know if that will ever be, but we'll see. It's kind of like my secret sauce, it's my [unintelligible 01:17:21.07] But I don't know. I've thought about it... We'll see.
I just figured since Markdown is so popular, that it's used in a lot of places.
I mean, maybe I can open-source just the Markdown part, but honestly, there's a lot better Markdown parsers; it's just it integrates with the rest of my tech stuff, and I couldn't find one I could use to craft it into how I need it.
It's nice to see that you can actually just be like "I don't like what's out there. I'll build it myself."
Well, it's funny, because I care deeply about every little piece of Cheddar, and making it as good as it can possibly be.,, All with the balance of like shipping, because I could spend forever tweaking, but -- it's interesting when you care that much about all of the details how much stuff you end up making.
I made a thing to do [unintelligible 01:18:21.00] in my docs, to make one to work the way I needed it to work... And that's open source. I recently open-sourced my [unintelligible 01:18:31.05] and I was using a Pusher client in Objective-C that wasn't that great, so I wrote my own. I'm selling T-shirts, and I was trying to customize Big Cartel, or Shopify or something, and I couldn't get the template to look as good as the website, and I was like "Forget it, I'll just make my own." So I made my own store... I've spent a lot of time making little things, just so everything is excellent. I think it just feels better. No one really notices that I've written all that stuff, but...
Yeah, when you go end-to-end of the experience of Cheddar, you certainly can't -- I can't say "certainly can't", but it's not immediately apparent that you spent as much time as you have rounding all the corners and kind of looking at it with both eyes, and you kind of cock your head to the left a little bit and you're like "Is that right? Is that not right?" You're paying attention to all the little details that just make it an end-to-end good experience.
[01:19:39.17] I have to say, I've been using Cheddar since it was in beta, since you gave me access to it, but even since then, I realized that something wasn't working right... So I had to actually go download the real app from the App Store, because I realized that the beta one I had was not working right anymore. But I've had a good experience with it since day one, and all the aspects of it have been really good - the update screens, all this different stuff...
Speaking of upgrade screens and just different pieces of it, I wouldn't mind if you talked a little bit about just -- I know you blogged about this and you kind of went into some details in there, but just for the listeners' sake who are listening to this show thinking "Great, Sam, you've shared tons of great stuff here... What have you learned so far in this adventure you've been on?" You turned down a well-suited offer for someone like you to keep plugging away on Cheddar and releasing it and putting it out, and you've obviously shared some details about how important those details are to you... What have you learned in general about this adventure you've been on with Cheddar so far?
Sure. It's funny, I started writing a blog post called "From nothing to shipping in 0 to 90 days" or something like that (I don't know, it had a cool title), trying to list everything I've learned, and then I started to proofread it and I was like, "I'm tired of reading this." I need to do a series of posts or something...
It's funny that now I get way more excited about things other than programming. I mean, obviously that's still a really good time, but how can I price this so it will be as successful as possible? Or marketing, or the design, or pitching writers... I always get up and start my day answering all my support e-mail laying in bed, and that's really fantastic, to connect with all my users and help them if they have problems... Which is less fun, but hearing feedback and how I can make things better is great, but... I'm trying to think of --
Well, if you need some help, I can help you out.
Just the important pieces I really wanted -- I mean, you know you blogged about this and you do go into detail there, but since this is audio and we're not looking at the screen we're looking at right now... I mean, I was admiring the fact that you said "Tech doesn't matter" and it's kind of -- given the fact that you're an Objective-C programmer and tech totally has mattered over the last four years of your life, to be in a position now that that's a lesson you learned... That's not only the lesson you learned, but it's lesson number one, at least in the list, if you're going based on prioritization or levels of importance.
So tech doesn't matter, ship the product - you dive into that because you get motivated by putting software out there in a rapid-fire kind of way, and since you're the only developer doing it, you can kind of say "Oh, I'll wait on delivering this two days...", but just ship it and get feedback from people, and especially since you had TestFlight in place and you were in a beta where you can share that with friends, you were kind of in a comfort zone where you can actually share it and not feel like you're killing people or killing babies or something like that; you're just trying to get feedback from what you're developing.
And then charging money - that's a big, huge, important point... And you know, you said it yourself earlier that you're a non-designer who has become a designer, and that does take time to not just put a gradient or a line or a certain color on the page or the device. Design is much more bigger than that; design is copy, it's the experience, and you've obviously taken a very good liking to all those nuances and details... To just say that it does take time, it's not just design, like in Photoshop, it's the end-to-end experience.
Yeah, I guess you via I said a lot of good points there. I was like "Oh yeah, I forgot about all that stuff." I was like "Yeah, I like that."
But I'd love to have your final thoughts, because I figured you can wrap that one up.
[01:24:01.06] What is the title of this blog post? Oh, there it is - "Short lessons." Look at that. I'm just surprised of myself left and right.
You work too hard, man...
I do work a lot, but... You know, I was thinking about this today, someone was saying "You shipped the API yesterday, you're working on a Mac app today..." Like, yeah, I do work a lot, and for a long time, especially in the first month, I would get up, walk to my desk, and then stay there until like 2 AM and go to bed. But it doesn't even seem like work, this is just what I wanna do. I get up and I'm excited to go work on stuff. If it was the weekend and I'm sitting home, that's what I'm gonna do anyway, because it's fun.
But yeah, I mean, it's exciting to see the result of this, and to look back and -- because when I started, I didn't... I mean, I still don't know what I'm doing. I just e-mailed a bunch of press people and I was like "Hey, do you wanna write about my thing I made?" I don't know how to pitch a press person, or any of that kind of thing.
I'm a big fan of the 37signals way of doing things, I guess. Their biggest thing is you should charge for something if you're doing a business, and that was from the beginning like "Okay, I know I wanna do that, and I know I want people to use it." As a user, this is what I want, so this is how I made things, and people seem to like it, so I guess it worked out alright.
Since we mentioned charging money, are we able to talk about financials at all, some of the details you've gotten?
Sure, I don't mind to share.
Well, let's start with the premise of how long it's been out to actually collect money?
So tomorrow is the two-week anniversary of it being anyone can sign up. I had a limited -- like, you could sign up during certain times before, and a little bit of money came in, but essentially it's been out two weeks. There's 11,000 users - or over 11,000. That was the last big number. About 2% are paid. That number has fluctuated a decent amount. It was like 4,5% for a while, which was awesome, and it was like 1,8% for a while, and then Mark Jardine tweeted that he was signing up, and that brought it back up to 2%... So that was cool. Thanks, Mark!
There's 150,000 tasks created so far, which is pretty cool, but as far as total... I don't have a good breakdown; I should probably have some better things about money. All my metrics I have are like usage, because that's more important to me at the moment. But total I've received like $2,200. That's my total income. But what's great about Cheddar is it's a subscription, so it's recurring.
I should really have metrics to know how much I'll be making next month, but... Some of that will be recurring next month, which is awesome.
That is awesome, and in two weeks... I mean, you've obviously -- because getting paid for something is the first sign that you're doing something that solves somebody's real problem, or they like you a lot; one of the two. That's why you adhere to the 37signals mindset, which is - and you paraphrase this in your blog post - if you're running a business, charge for something. I totally think that's the point here. And you said it's worth it to you and it's important to you, so you need to charge for a piece of this. But in two weeks to get $2,200, that's not bad, considering the fact that you're a new developer and you've just started out... I think it's pretty good.
[01:28:22.14] And not to put the problem you're solving too lightly, but you are writing a to-do app, so it's not like there isn't 15 others out there that aren't free also, so you're competing with a saturated market that doesn't always charge for their product.
It's funny, when I quit and started working on it, I wouldn't even tell people what I was working on. People wanted to know, and I was like "I won't tell you. You'll have to wait." Until I launched the video that showed Cheddar have that Coming Soon page - until I launched that, I wouldn't even tell anyone... Because I was like, "Yeah, I'm making a ToDo list", and people were like "Oh, that sounds stupid." Because it does. It's so easy to make a ToDo list, and there's a ton of them.
I don't know, Cheddar is a little bit special. It's just simple, and text, and it's instant... I think it's kind of hard to communicate that, but I think once people understand, they really like it.
Well, that's one point about this podcast that I really enjoy, it's giving a chance for -- for one, I respect you; I totally enjoy you as a person, and having you on The Industry, and you're writing with The Changelog, you're a part of that... I mean, I don't always get to interact with you on a daily basis, but I see what you're doing out there and I respect that. I wanted to have you on the show to tell that story, because I do think it's difficult to truly share all these nuances and details with people. That's why people listen to this show, because we get a chance to share a side of people that they don't often get to see, which is kind of neat.
Actually, let's share something that might be -- I guess it would be super secret... So I always ask a question at the end to kind of get some more. There's never enough that you can share, so I'm just really curious what is over the horizon that no one knows about that you can share with us today here on the show.
Sure. One is kind of a fun fact, and I tweeted it the other day; it's something I haven't told anyone... Cheddar for iOS and Cheddar for Mac have the exact same internals as far as connecting to the server and caching stuff and push; it's the same Xcode project, which is pretty cool. Cheddar [unintelligible 01:30:43.09] really quickly due to that architecture. But as far as something that no one knows, kind of my big plan - and this may totally change, but currently my big plan is sharing; this has been a huge requested feature.
With the push stuff, kind of the next thought after using it for a couple minutes is wouldn't it be great if other people could use this at the same time and I could see their stuff as quickly as I can see my own stuff? And that's definitely on my list. So I plan on having that. The pricing will be a little different, and there will be pricing for teams...
I don't know, kind of my thought is, like, everyone uses Basecamp, but no one uses Basecamp, they just have it. It always ends up being Reply All e-mail and pieces of paper, like to-do lists when it comes [unintelligible 01:31:41.13] project. No one uses Basecamp, and I think it's because entering stuff is annoying, and there's so much other cumbersome stuff. I think Cheddar is simple enough where it will work well for sharing a punch list of things to get done to ship their product. I don't wanna compete with e-mail right now, that's not on my list, but...
[01:32:06.25] Yeah, I'm really excited about seeing how first just like small teams, and seeing just how it works... I don't know. So yeah, I haven't announced that at all, but as soon as a couple things on my list are done, then that's what I'm gonna be working on full-time.
Very cool. Yeah, I think the sharing piece of it is definitely good. If you have a moment, I do have one tiny nuance that I would love to see you change, and I'm sure it's so easy.
Right now whenever I add a task or a to-do (I guess that's the easy way to say it), it's always at the bottom.
[laughs] Yes, there's a lot of things that are a little annoying, and whenever people ask, it's like "No, let me tell you about this...", I've spent countless hours thinking about this exact problem.
So say I start a new project. The right interaction is for them to be at the bottom, because I'm gonna like "Make this, next thing, next thing, next thing" and they're in chronological order, from start to bottom, and that's the way they should be. And for me, that's the use case I use it. Whenever I have something, I'll make a new list and list out everything I need to do, and then check it off, and then archive the list and I'm done.
But I can see, like, "Oh, I need to get this done today. I want it to be at the top, versus the bottom", and you have to move it, and that's annoying... I used to have - and I took this out right before launch - you could hold down option and hit enter, and it would put it at the top instead of at the bottom. In iOS there was an icon you could touch to toggle that behavior. It's hard to make just one, because choosing the top or the bottom doesn't work for either case.
That's what I was thinking, it would have to be a setting, but then you would either have to say "This is an account-level setting, and that means therefore all lists inherit this, but what if I only want it to have one list add to the bottom or the top?" For those listening, this is an example of one small feature request turning complex, because now you actually have to have lists have settings, which you probably don't have now, right?
Yeah, so now you have to have settings per lists, just to add "Should new items be added to the top or the bottom?"
And when you have sharing, how does that work? Is it for you, is it for the whole list?
It's funny, because all this stuff, this way -- going back to "tech doesn't matter", because this is really easy to implement; it's just like a boolean yes/no somewhere, and then I can read it and change the UI. It's really easy. But even sharing lists, technically it's very easy, but the complex part about that is...
How do I invite you? How do you accept an invite? Do you have an inbox of invites? What if you don't have an account? What if you do have an account? What if you decline? Should it notify me, should it not notify me? There's all this stuff to solve...
Endless conditionals that never stop, right?
It's just like, you need to pick the right thing so people are happy, and no one notices all of this time spent just thinking... I mean, I'm sure you appreciate this as like a product manager; this is like your job, so...
Yeah, that's exactly why I was saying like that, because we encounter this every day where we'll have a feature request from either a user, or someone on our team that isn't really on the technical side of things, they have a suggestion and I'm like "Well, you don't realize that one little tiny thing blows up this completely, and we have to re-engineer it or add settings to a list, for example", which may not be that big of a deal, but it's even more time spent on one finite edge case, and until we have that edge case, let's not deal with it. But I guess in your case, if you're getting requested, it's not an edge case for you.
[01:36:06.22] I mean, it sort of is, because it's definitely not my biggest request; it's definitely not the smallest, but...
It doesn't stop me from using it, it just sucks when the list is long.
I hear that. Well, something else I'm adding very soon that I'm excited about is you can have a Smart List -- this a terrible name, I need to come up with a better name... But basically, you can take a tag or a set of tags, and they have a list that's like across all lists for that, so you tag something "important" or "today" and have your "today list" that is dynamic across all your lists.
Nice. Yeah, that's... It could be Smart Tags instead.
Right, yeah. I mean... It's a terrible name, I need to come up with something.
My name was terrible, too?
No, Smart Lists. Smart Tags is better. I don't know, I need to come up with something.
Yeah, it's Nothing Magical, don't worry about it.
Yeah. But someone's like "I want a Today List from things", and I was like... You know, it would be easy for me to add a list that would just let them add time and all this stuff, but it's like, no, I wanna give you something better, and something better is this whole other way you wouldn't have even thought of, that is like a much better and more powerful, more flexible interaction, that's simpler, which is... Like, everything is very deliberate, it's not like "Oh yeah, I'll just add this real quick."
Even keyboard shortcuts on the web would take me like an hour to implement, but I need to do it right, so it works as well as it can. On the other end of that, I need to ship it and not think about it for a year. That balance - I actually wrote a post called The Balance, which might actually be something completely different; I don't remember now, actually.
But that's the key of making a product, in my opinion - perfection over just getting it done, because it doesn't matter as much as I think it does, but that process is enjoyable, so I make it matter more than it should.
Well, it's part of the product side of it. Like you said before, you've been an engineer and you've been playing the role of designer here and there, but you're kind of - it sounds like, at least; you didn't say it in your own words, but it sounds like you're kind of getting bored with just being that and you wanna kind of graduate to obviously founder, and the person who runs the home, and the person who designs the product, and the person who cares about user experience, that person who cares about the interaction, and the person who cares about the copy, the finite design that goes into developing products... It sounds like you're moving up.
Yeah, I mean, I know a lot of people that are excited about just making something, like programming, or playing with code, and that's just like -- I'm kind of tired of that. Making the product and everything else is the exciting part. There's 11,000 people using something I made, and I don't know almost any of them. That's amazing. It's such a great feeling. All this time - I've spent this agonizing amount of time thinking about every little detail, like we just did about the small two little features... For them to see the result of that is cool, versus just being told how the future works and typing it - that's significantly less cool, in my opinion.
Well, it's certainly been a ton of fun talking to you, Sam, about Nothing Magical, obviously, and Cheddar, and your life's history... I certainly wanna thank you for sharing all the details about this. Like I said before, I think you're an inspiration to a lot of new developers out there, and I applaud you for the decision you made not long ago, for forgoing that and keeping on your current path. It's been great having you on the show.
Thanks so much for joining me on today's Founders Talk, and for sharing pretty much everything.
Yeah, thanks so much for having me. It's been an honor.
Our transcripts are open source on GitHub. Improvements are welcome. 💚