Developer Interview: Sam from TextDrop App

January 08, 2013 by Gabe | [mmd] |

I was so taken with the last TextDrop update that I wanted to know more about its developer, Sam Nguyen. Sam was kind enough to answer some of my questions and I think his answers provide a unique insight into the app and Sam's future.

GSW
Sam, tell me a little bit about yourself and how you became a programmer.
SN
Hi Gabe, I’m a 2nd generation Vietnamese-American born and raised in Orange County, CA. I dabbled in HTML in high school (in the days before CSS and JS), but hadn’t done honest programming until I started my computer science classes at UC Irvine. Luckily I was able to pick it up and pass my classes, and as an added bonus it turned out that I really enjoyed it. I still live in Orange County with my wife and I’m currently employed by Panasonic Avionics Corp where I design and build web services for in-flight entertainment systems.
GSW
So, you made this thing that I personally love, called TextDrop, while you had a full time job. What was your motivation for taking on such a big project as a part time endeavor?
SN
It started out as a small “scratch-your-own-itch” project. I was at work one day and wanted to edit a text file in Dropbox. I was surprised to find that nobody had made a web-based Dropbox text editor yet, so I decided to do it myself. The first version was very primitive — it didn’t even use AJAX. I used it as a playground for new technologies I wanted to learn (Ruby/Sinatra, Backbone.js) and traffic grew slowly as I added features. After about a year of sitting on feature requests, it seemed like there was enough interest to launch a paid version with some of those feature requests. As I worked on the new design, I found myself obsessing about it to the point that I had to get it out of my system.
GSW
That’s a great reason to make something and I think it shows in the care you take with TextDrop. I’m a bit surprised that TextDrop is so unique. It has a lot of thoughtful features like direct linking to Dropbox folders and files, not to mention the Markdown display. What features came out of your needs and what grew organically as users signed up?
SN
Almost every one of the major features came out of user feature request. Actually, the impetus for launching the paid version of TextDrop came out of 3 major requests: Markdown support, an nvALT-style file list and SSL support. Still, I subscribe to the idea that “users can’t tell you what they want”. I usually sit on a feature request until I can boil it down to its essence and reconstruct it within the TextDrop user experience. The features that I personally originate are usually conceived to resolve some annoyance. For example, I found myself spending 5 clicks to navigate to the same file every time I opened the old TextDrop; the bookmarking feature was created to solve that problem.
GSW
You chose an interesting pricing model , like my other favorite service Pinboard.in. Have you been happy with that choice and what kinds of services do you think that model works for?
SN
Aside from the fact that I’m a big believer in paid services, I love the market pricing that Pinboard pioneered. The original reason I chose it was to mitigate the scaling problem — I didn’t want too many users to sign up too quickly and have TextDrop be “crushed by success”. The pricing acts like a braking mechanism if things get too hot. (In hindsight I may have been overly optimistic, but it did buy me some peace of mind.)
Market pricing is great for hobby products like TextDrop because you don’t really have to figure out how much to charge (the market will determine that for you) and you solve your scaling problem by making more money rather than spinning up more servers. (Disclaimer: whether this actually is true in practice has yet to be proven.) There is also a “fairness” to it. Early signups pay less, but deal with more bugs and have less features. Later signups pay more but get less bugs and more features.
For now, I’m content to have TextDrop stay small so I can delight the shit out of a few hundred users. [Feel free to censor that] I want every single user to be thrilled with it and I don’t want to spread myself too thin. In fact, I may as well announce this here: when TextDrop hits its 500th user (the $10 price mark) I intend to increase the base price to $25 and increase the price velocity to $0.05/user. (Existing accounts would still be able to renew at their original price.)
GSW
Wow, I can hardly believe TextDrop has less than 500 users. It’s probably my most used “app” on a daily basis. It really does feel like the only option out there for Dropbox text notes.
You’ve been running TextDrop for awhile now. Do you have any plans to try to develop it into a sustainable job for you and grow the user base to support other projects?
SN
Gabe, you must be reading my internet history. I’ve been gorging myself on entrepreneurship/micro-ISV porn trying to figure out how to get from here to there. I love building sharp tools for power users and working with them to determine how to best serve their needs. I love stuff like this and this. I’ve heard that an artist only needs 1,000 True Fans to make a living. I think TextDrop may have gained me 5-10 True Fans so I’m almost there.
GSW
What do you think the tipping point will be for TextDrop then? Almost every person I’ve convinced to try it loves it. It’s absolutely one-of-a-kind for people like me who are stuck on Windows during the day. Is it just a matter of advertising or do you think there’s something else holding it back?
SN
I think it’s a matter of advertising, but I also think that the TextDrop market is a small niche. Within this subculture of productivity-enhancement geeks there is an inner subculture of Apple products and minimalism — plain-text fiends. Then, intersect that with Dropbox users that do not have access to their Dropbox during business hours. I estimate that there are single-digit thousands of people interested in TextDrop, and maybe 1,000 who would be willing to pay.
I’ve dabbled in Google and Facebook ads without good results, but maybe I’m using it wrong. The most successful exposure has been from you and Federico Viticci, and I think it’s because you guys are leaders in this productivity/Mac/plaintext subculture. There are a few other mini-celebrities in this circle that could give a huge boost to TextDrop: Shawn Blanc, David Sparks, Brett Terpstra. Basically any blogger you’ve had on your podcast. If I work that crowd I might be able to hit that 1,000-user mark.
GSW
Is TextDrop the first big idea that you pushed out to the public? Are you planning to focus on TextDrop or do you have some other products up your sleeve?
SN
TextDrop is my first solo project that real people are using day-to-day. With this release of Full-Text Search, it’s at a stable point in development and I’m thinking of putting it into bug-fix-only mode while push other products forward. I have a few other ideas that I think would resonate with TextDrop users.
GSW
Looking back, is there anything you would have done differently?
SN
I would have started earlier! I look back at my life and think about how much time I squandered in my youth just being bored. Still, it’s hard to come up with ideas for products unless you live in the “real world” and face real problems.
GSW
What was the hardest, yet most worthwhile feature you implemented for TextDrop?
SN
The MultiMarkdown split-view feature gave me a ton of grief. I had to rewrite a lot of the TextDrop JavaScript infrastructure just to prepare the code base to introduce this feature. I wanted to use Fletcher Penney’s MultiMarkdown implementation so I had to figure out how to build a C++ Node.js module, and I hadn’t done much C++ since college. For the split view, there were a few subtleties that were a pain to implement. For example, when you resize the preview pane, dragging it too fast to the right would cause it to get stuck. This is because I implemented the preview pane as an IFRAME element which doesn’t relay mouse events back to its parent page. Anyway, I had to come up with a lot of code to send messages back and forth between the IFRAME and the text editor pane just to make the divider act natural. Same with the synchronized scrolling. I’m happy how that feature turned out, but man, that last 5-10% of “polish” can be the hardest part.
GSW
Thanks for answering my questions Sam. More importantly, thanks for making TextDrop.
SN
I really think a solid chunk of TextDrop’s success is due to your coverage of it. My thanks to you Gabe, and especially to all your readers who are using TextDrop now.
blog comments powered by Disqus