jesse read @darthnerdus

the musing of a rather nerdy sith lord

Founder of Invoked Code
Creator of Audiophone
Freelance iOS Developer

Like most, what I experience in my own personal life shapes my ideas and opinions. This applies to software design as well. When I first started working on Audiophone, what I wanted was Music.app with my own streaming music collection. As such, a lot (read: all) of the design “inspiration” came from Music.app’s design. I did change things up in small and incremental ways, e.g. I collapse and expand songs under album headers, because god I hate scrolling through every. single. song. but by and large it was Music.app with a custom backend.

In hindsight, I realize that was foolish, limiting, and lead to a poor product. But at the time it’s what I wanted despite my girlfriend Tanisha (as I’ve said before, she’s lovingly “supportive” of my work) urging me to break away from the Music-cloning interface with my own ideas. Her pushing frustrated me because I didn’t feel like I had any ideas. That should have been a huge red flag for me. Why on earth was I putting time into cloning another piece of software? Was my idea so un-original that I couldn’t come up with a standalone concept? What did I bring to the table? Theses were questions I should have been asking myself.

Still, I labored on. After a few months of work I fooled myself into thinking that I had an awesome product that looked great. And it did; because it looked like Music.app. I submitted it to Apple, giddy with excitement. Then it went into review and I anxiously awaited a response.

Rejected. Now, I won’t go so far to quote verbatim but the choice words were: “[…] your app resembles the official iOS Music.app.”

It hit me like a train. Even though I knew I could be (and probably would be, for some reason) rejected, the fact that I was — and for that reason — left me feeling empty. I was angry and I walked away from the project for a month. I didn’t even tell my testers what had happened. (Actually, I just looked this up and it was more like two weeks before I started working again… but it felt like a month.)

I used that time to sort out my thoughts. It may sound dramatic, but when you’re working on something that is so thoroughly “yours” and it’s rejected, you feel rejected too. Eventually, my feelings came to a head. I knew that I either needed to pick up and keep working on the project or leave it and move on. Letting it sit there “almost ready” (or not, as it was) wasn’t fair to the project itself, me, or the people supporting me.

It was that final bit that pushed me over the edge. I started out building Audiophone for myself, but I quickly realized that I wanted other people to be using it. I put hours into features and details that I wouldn’t have if it were “just” for me. Sure, no one out their knew they needed Audiophone. Most don’t and never will. But for those who do, myself included, I felt that I should finish what I started — and do it right.

Picking back up was as exciting as when I first started. I had ideas, new and old, that I said “no” to the first time but allowed myself to reconsider. I had a vision in my mind that was finally my own and I wanted it to show. I wanted to make an app that I could be proud of and users would love. Hopefully I’ve done that. I guess time will tell.

This month has me feeling very busy. So busy, that I haven’t taken the time to sit down and write the blog post (one of the blog posts, rather) that I’ve been meaning to. This is my attempt to remedy that.

Earlier this month1 Audiophone 1.0 was released on the App Store. I’ve been working on Audiophone at varying degrees of devotion since this past summer. It represents my first individual efforts as a developer and businessman, and I’m extremely proud of it2. There are a number of lessons I learned along the way, both as a developer and as a person. There’s one that rose above the rest though, and that’s what I’d like to talk about.

I didn’t want to launch.

It’s not that I didn’t want to release Audiophone, it’s that I always had a reason not too. I’d have excuses every time Tanisha (my endearing girlfriend who always pushes me) told me that I should just submit it. Excuses like: “It’s not good enough yet,” “If I see problems with it, everyone else will too,” “I can’t release it if I know there’s a bug.”

Well, let me tell you something. I released it. I still don’t think it’s good enough. And yes, there are bugs (both known and unknown). And, surprisingly to me but probably not you, I feel better for it. I am not a perfect creature and my work will never be perfect either. I read somewhere (of course, I can’t remember where) that if I’m too much of a coward to put something out there and fail, then I’ll never succeed either. That pushed me to submit the app.3

And you know what? Nothing bad has happened. In fact, only good has come from this. I have customers now! Suprise, surprise! And I don’t just have customers, I have customers to communicate with. Instead of working on this idea that I hoped was good enough or on the right track, I have valuable feedback and criticism to drive Audiophone foward and make it better. The net result of releasing it, whether I thought I should or not, is that I’m better off and my customers are better off.

But it needs to be perfect!

There is merit to obsessing on your work. There is value to hiding away and polishing your product to make sure that it amazes everyone you show it to. But if you spend months or even years stashed away in your dark room telling yourself it isn’t good enough, you’re only hurting yourself. You may come out and realize that the world has passed your idea by. Someone may have beaten you to it and even though your execution is better, what if there’s was good enough and it doesn’t matter now?

Apple is the classic example of “do it right or don’t do it”, but they’re playing an entirely different game. When you release your app, will it be on CNN, BBC, MSNBC, and every other world-wide news outlet with a full list of why it sucks (even if it doesn’t)? I doubt it. When you release your next update, will millions of users be clammoring and waiting in line to get it? Probably not. This is the kind of problem where you know it if you have it (or maybe not, Microsoft).

So… release crap?

No, I’m not saying that. Personally, I knew I could have released Audiophone months ago. Would there have been more bugs? Yup. Would that one feature not be as polished? Yup. Would it have been as good enough then too? Definitely. Would I have been able to spend the time since then improving areas that are more important to my users that I original thought? Absolutely.

Based on my experience, I believe there’s a point where if we’re absolutely honest with ourselves we know whether a product or idea is good enough. Unfortunately, our pride and fears get in the way of that. Our lizard brain screams at us that this could go very badly and we run back into our dungeon and polish away until the next attempt. In reality, we’re selling ourselves short and undermining our self-confidence.

Next time, I hope that I’ll have the mindfulness to recognize when I’m making excuses for myself. I can’t tell you when your product will be ready. It really depends on your personal values and goals. If you want to release the most amazing animated Facebook reader, then you go ahead and spend years and make your own Facebook Paper. But if you’re building something for people to use, remember that it helps to let them use it.

Representing oneself online can be problematic. In a forum where you are forced to be known by often vague, handles identifying yourself as a real person can be challenging. Do you use your real name or pseudonym? What if your name is taken? What if your second or even third choices are taken? What if a service wants to simply use your email address? Do you use a personal address or work address? Which are you better recognized by? In essence, how do you craft your digital persona?

Lately, I’ve been struggling with this issue. I recently attempted to move away from my previous high school nickname (DarthNerdus). While it was a unique username, it was often looked upon as childish. Sure, I could use it anywhere. Yes, it was always available, and always me. When I tried using my real name though, that was no longer the case.

Now obviously, I’m not the only Jesse Read in the world. There are a lot of people in the world, and a growing number use the internet. I’d be willing to bet that there are numerous other Jesse Reads here in New York area. So, naturally, I didn’t find the availability of “jesseread” to be anywhere near ubiquitous. I even struggled to create a suitable email address. Nearly every combination of my name and initials were either too short or already claimed for Gmail (and I’m not about to go shopping for other free email providers)1. In the end, I settled on “jessereadd” (Davis being my middle name, to explain the second d). Still, I was left wondering what if I had a more common name like Mike? I can only conclude that while using just your name is favorable, it’s not always an option. So what are acceptable alternatives?

An even bigger issue was my desire to have a single username. I would like to be known by the same name everywhere. When I go attempt to sign up for a service and my chosen name is already taken, it feels like digital identity theft. Even though there are probably hundreds of other people who share my name, and I’m probably not the first person to coin “Darth Nerdus”, it’s still horribly off-putting when you’re told you already exist and are taken.

I decided to switch anyways. I wrote up a blog post about why and took the plunge. I changed my name on all the services I use, contacting the every-helpful support people where needed. At first, I was fine with it. Over time though, not so much. It really, really bugged me that I couldn’t just use my name. To an admittedly unreasonable extent. That second d just clawed at my eyes every time I saw it. And not just that, but I started to think about how many people I admire are doing just fine using their not-quite-right names. Daniel Jalkut (@danielpunkass), Dan Cederholm (@simplebits), Mike Lee (@bmf – which I might add left me in a fit of laughter when I realized what it meant), and not to be forgotten Michael Lopp (@rands/Rands In Repose). So why can’t I?

Well, there’s no reason I can’t. I’m putting an end to this tomfoolery. I went ahead and nabbed the domain name, dropping the old one I’d grown tired of, and have begun switching everything back to the username I’ve had for years. Oh, and that little avatar I’ve grown so fond of over the past couple years.

Already though, I’ve got a nagging feeling I’ll change this all again in a few months.

I’ve already reserved darthnerdus@me.com for when iCloud is released, though!↩

I didn’t always hate GoDaddy, but it didn’t take long. I think the second (of many, many, many) renewal notification emails was all it took. And, finally, the bulk of the domains I host there are coming up for renewal this month. I figured this would be a prime opportunity to transfer to the domains rather than renew them at GoDaddy. I did a little research, and based on a recommendation from Marco Arment I decided to transfer to Hover1.

Hover has extremely simple offerings, and an equally simple (but easy to use) control panel. They don’t pass the All Under One Roof test (they don’t offer SSL certificates, which isn’t too big of a deal), but they do what they do well. I would definitely recommend them to anyone looking for a domain registrar.