A few months ago I started to have that itch again. You know it. You’re happy with what you’re doing at your day job, but the prospects of your own ideas are starting to take over a larger part of your brain.
Knowing how I am, this was something that was only going to grow. I started to think about what I wanted to do with the next steps of Second Gear. I told myself I was going to put into place a 12 month plan where by this time next summer I would have a new product or two out that would hopefully be bringing in enough income to sustain me going back as a full-time independent.1
Part of that plan was deciding the fate of existing Second Gear products. Each product was bringing in revenue, but none of them are exactly setting the charts on fire for a variety of reasons. Namely, my full-time employment these past eight months has meant neglecting doing updates in favor of actually getting a good night’s sleep or relaxing after a long day of writing code. There are some people who eat, breathe and sleep code. I’m not one of them. I’ve got about 6 good hours a day in me and then my brain turns to mush.
Even though each product was bringing in revenue, not all of them were getting me excited about the prospects of what is next. In fact, they were occupying a portion of my brain that was constantly nagging me with ideas about the things I knew I should update, fix or add to make them better products. None of that seemed like exciting work.
When I was in Melbourne a few months ago for One More Thing, I remember having a conversation with Loren Brichter about products like this. He said he would kill anything he wasn’t interested in working on anymore, because it seemed like the right thing to do. I agree.
That’s why I recently decided to kill both MarkdownMail and Today.
Financially, it may not have made much sense to cut off the revenue streams, but therapeutically I’m freeing up that portion of my brain to focus my full attention on the next version of Elements and the dozens of other ideas that that are circling in my head.
Full speed ahead.
- - - - - -
Little did I know that my 12 month plan would turn into a 12 minute plan, but that’s the cards you’re dealt sometimes. ↩
Eight months ago I decided I needed a change. I wasn’t sure what I wanted to do next in with my life or career. Six years of running Second Gear was rewarding personally, but financially it was a life of constant worry and living paycheck to paycheck. Coupled with complications in my personal life, I decided the best course of action was to put my life in reset, pack up my belongings and move to San Francisco.
San Francisco is a technology enthusiast’s wet dream. Everywhere you turn there are people building things. Some things will change your life. Others will change the world. Many are dumb. Many more will fail. But above all else, everyone is working towards a common goal of exploring technology and what we can do with it.
Yesterday, I experienced my first layoff as myself and many of the other talented people at Hipstamatic were let go as part of a downsizing. In retrospect it wasn’t that shocking. When you play back things in your mind, the signs become more obvious. It doesn’t make it any less frustrating knowing that yesterday you thought you had job security and today you’re sitting and writing this article in your gym’s cafe area.
Yesterday was unlike anything I have experienced before. From a single tweet spawned several more tweets, articles, blog posts and reactions around not just the iOS developer community, but also the technology community at large. My inbox is now filled with job inquiries, nice notes from people I don’t even know and even a photo of a puppy.
I don’t know what I’m going to do next. I could walk into any startup in this city and have a job by the afternoon, but that’s not what I want. Whether I take another full-time position, go back to Second Gear full-time or chase one of the crazy life changing ideas circling in my mind, I’ll always remember the support that friends, colleagues and strangers were there to give.
I received a bit of feedback on ‘Useless’ Is a Loaded Word and Why I Don’t Do Sales on the App Store where some misunderstood and assumed I completely ignore user feedback. That could not be further from the truth. In fact, I do my best to make sure I am accessible in as many venues as I can be comfortably as a one man development shop.
The problem with leaving feedback and bug reports on the App Store is that developers have no way to respond or followup on the reviews. Apple holds on to customer data with a an incredibly tight grip. This is a good thing for those paranoid about their email and name getting out to a variety of small companies, but when it comes to supporting users it makes it nearly impossible. Trying to identify an App Store reviewer named ‘crazyfun666’ and getting in touch with them to try and work with them through a problem is an exercise in frustration. 1
Instead of focusing on a channel of feedback that is toned towards negativity and impossible for me to have a conversion, I choose to shift my customers to other avenues for submitting their support requests.
App Store
At the bottom of each product description on the App Store and every release notes screen that appears in the App Store app I append the following:
It is not an original idea. I believe the first person I saw do it was Edovia, but it is a brilliant piece of marketing.
It informs the user of the proper methods for sending support and guaranteeing a response to the inquiry. In this case not the App Store.
It offers a support email address for the user.
It offers the user a link to your company Twitter account, which is a decent avenue for support and a great way to get product news out rapidly.
It offers a link to the company Facebook Page for those that aren’t into Twitter.
What’s better is that if the user is viewing this information on the updates screen in the App Store app, the links to Facebook and Twitter are clickable so the user’s browser will launch and take them directly to the page to follow or subscribe.
In App Support
Asking users to not use the App Store as a venue for support is one thing, but you need to ensure that it is easy for them to get in touch with you. Most people seek out the App Store as a venue to vent frustrations and submit feature requests because there is no easy and obvious way to get in touch with the developer.
In Elements I have “Send Feedback” prominently displayed on the Settings screen inside the app. Tapping the button will launch an email sheet that sends an email directly to me where we can have a dialog about what features you would like to see in the app, or what issues you may be running into.
In addition, I also have a longstanding habit of putting an About screen inside the app that contains more company information including another link to email support, the physical Second Gear homepage and a link to our social media pages.
If you tap the Twitter or Facebook buttons, Elements checks to see if you have a native app installed on your device and then launches the respective native app and takes you directly to the profile page.2 If there is no native app installed, it defaults back to launching MobileSafari so you can follow or Like in the traditional way.
Twitter
The @secondgear Twitter account is a great first method of contact with users. I use it often to do release announcements as well as to gauge customer interest in potential features or changes in an app. For instance, I recently asked my Twitter followers whether they used Elements in portrait or landscape primarily and what was their primary font. It is a small subset of my user base, but it gave me more than enough data to use in deciding the direction I am taking the application going forward.
I try not to use Twitter for anything more than basic support. It is hard to debug complex issues in 140 character increments. If a customer asks me a general question that can be answered in a single tweet, I will most likely answer it right there. If it is something that is going to require a bit of back and forth, I ask them to email me the request in so I can more easily track it and take the time to offer a more complete response.
Facebook
I don’t do much support with the Second Gear Facebook page mostly because not that many people who use Elements are Facebook junkies. In fact, up until recently it was impossible as far as I could tell to be notified when a customer posted on a comment or status message on your Facebook wall.
There was an instance where a customer left a comment on a several week old post asking a pre-sales question that I didn’t see. I felt terrible about it and send him a private message apologizing for the issue. Facebook now will email you when a comment is left on your Facebook page which makes it easier to use as a support venue, but I still prefer Twitter for social media interaction.
Potential For Improvement
If Apple did a single thing to improve the App Store experience for developers and users alike, it would be to allow us to respond directly to an App Store review either in the store itself or via a private email send through iTunes Connect. Being able to interact with customers through the App Store would make me much more open to reading reviews because it would become a legitimate support channel.
As it stands App Store reviews are just anonymous graffiti left on the iTunes wall as a user passes through.
- - - - - -
Because of the contact difficulties associated with App Store reviews, I have my name set to ‘Justin Williams (@justinw)’ on my reviews. It is a bit of a helpful hint for the developer who reads them. More than a few have contacted me via Twitter to thank me for the feedback. ↩
This trick doesn’t seem to work on the iPad version of Twitter. ↩
Here is a tip for all the non-developers out there. When you email your favorite developer with a feature request or bug report never, ever, ever use the word useless to describe their product. Useless is kryptonite to developers and puts us on the defensive instantly.
In most cases useless is used as because of a bug impacting a user’s experience or a pet feature is missing from an app that makes it absolutely perfect in this use case. To trump up the importance of the issue, the user tosses a loaded word into the email to improve the chances of getting it resolved.
That’s probably not the case though because we are grumbling under our breath what a jerk you are for insulting our baby. In the case of independent developers like myself, my products are my livelihood and when you describe them with such venomous words you are attacking my way of life. Even most mid-size to large companies have the same sort of pride in their work and don’t want some angry Internet dork to spout off via email about why it is the worst thing to happen to humanity in a decade solely because it doesn’t work how he expected.
The Internet makes it really easy to be a jerk to someone because you don’t have to insult their product to their face and can instead shoot it off to an email address in the sky without any idea or care about who is on the other end.
Let’s imagine typical Internet behavior from a few different scenarios:
You go to a gourmet restaurant in town that opened a few months ago. The chef makes great food and also makes himself available to you during the course of the meal. He comes to see how things are going and you inform him that your potatoes are cold which makes the entire meal pretty much useless.
You order a custom built desk from a local craftsman. This guy is the best. He builds everything with his bare hands in his shop and then sells it to local folks for a fair price. He is the quality alternative to the crummy sawdust and plastic desks that you see sold at the office supplies stores. The craftsman delivers your brand new desk to your home and believes it’s one of his best works yet. You look at the desk and notice it doesn’t have castors on the legs and tell him the desk is all but useless since you can’t easily slide it around the room.
Your sister has a baby. You visit the hospital to see what all the hubbub us about. When you realize that infant doesn’t even know how to flush the DNS cache on a Mac, you say, “That thing is all but useless!” There are some seriously awkward holidays in your future. 1
In almost any life situation where you need to get something out of another person, being a dick is never the right method to go about it. Using loaded words like ‘useless’ or ‘worthless’ is being a dick. We will listen to your feedback and thank you for it, but unless it is some urgent issue that will affect every user, it’s most likely getting shoved to the bottom of the pile in favor of doing things to make the friendly customers happy.
I have developed a mildly thicker skin in the nearly five years I have been in business, but I doubt I will ever develop the tortoise shell I truly need to interact with the angry typing guys of the world. I don’t plan to either. I would rather put that effort towards improving my products for the people who have requests or issue that need a resolution, but are courteous.
Be nice. Don’t use loaded words to try and get what you want. You’ll get a lot farther with me and the other developers out there who think like me.
- - - - - -
Ok. I’m reaching on this one. I just envision this is how a typical Internet commenter interacts in real life. ↩
When I first got interested in the Mac platform and Cocoa development, it was a small victory if I walked into a Borders or Barnes & Noble and saw Aaron Hillegass’s Cocoa Programming book. Back then computer section bookshelves were filled with books on .Net, Java and Microsoft Office. Mac related conferences were also few and far between. MacHack existed and Apple held WWDC each year, but beyond those meetups, the Cocoa platform was relatively quiet.
Fast forward almost a decade and Apple has its own section at your local Barnes & Noble with many of those books being dedicated to building iPhone apps1. It also seems like there is a Mac or iOS related conference every month where developers flock to meet, discuss code and share their thoughts on the current state of the industry.
I’m writing this post 30,000 in the air on my way to Austin for one of those conferences: 360iDev. This is my second conference this year after making the trip to Atlanta for NSConference earlier this year and pretty much fills my quota for outside events.2
Conferences like 360, WWDC and Voices That Matter are great events to refuel your Kool-Aid repositories, but I can’t help but wonder when the bubble is going to burst. As with any hot technology, people swarm around it anyway they can. Developers are flocking to iOS as millions upon millions of iPhones and iPads are sold every quarter. Marketers are starting to become append “iOS expert” on their business card right underneath “Social Media Guru” and “Web Visionary”. Conference organizers also see there is money to be made by channeling the high interest in Cocoa.
I don’t fault them for it. One of my most rewarding experiences this year was going to NSConference and meeting so many people who enjoyed participating or purchasing software through the Indie+Relief event I organized earlier this year. Instead, I’m more curious the motivation of those people who attend each and every one of these conferences either in the capacity of a speaker or attendee.
My preparation time for my presentation and trip to 360 this week took an entire week of time away from me working on my Second Gear products. The run-up to WWDC each summer gives me the same “gotta get it done before San Francisco” mentality. I’m find doing that once or twice a year, but anymore time away from improving my products feels like time wasted.
Camaraderie is great, but so is shipping software. That’s what I prefer to do.