David Smith is an independent software developer focusing primarily on Apple's iOS platform. David's first experience with mobile development dates back to the early 2000s when he created apps for Palm and Windows Mobile.
With his company Cross Forward Consulting, he has released a wide range of mobile apps, such as Audiobooks, Check the Weather, and Pedometer++. He also runs Feed Wrangler, a popular RSS service David launched shortly after Google shut down Google Reader.
In today's interview, I talk with David about running a business in the App Store, the importance of income diversification, and the challenges of being an indie developer.
Can you tell us a bit about your background and how you got started with iOS development?
My career as a developer started actually in mobile, but it was back in the early 2000s. Back then I used to write apps for the Palm and later Windows Mobile platforms. It was mobile, but not in the way that we really consider it today.
I did that for a while and then I got into web development, Ruby on Rails for the most part, and into iOS development, mostly because it seemed like the next big thing. It’s been quite a ride ever since.
Do you think your experience with Palm and Windows Mobile gave you a head start when the iPhone was introduced in 2007?
I think it helped. At this point, after so many years and after the platform has evolved as much as it has, I think that difference is less significant. But I think, in that first year, it did help that I had spent a lot of time writing apps for small screens with very low screen resolutions.
It helped me to be more thoughtful about what I can fit on the screen and have a better understanding of what that context feels like as a user. I’d spend hours and hours using these small mobile devices—even before I got my first iPhone.
What motivated you to get into iOS development?
I think I’ve always had an entrepreneurial bent. I’ve always wanted to try and find something I could do to start a business and make it on my own—rather than working for somebody else.
Up until the iPhone launched, it had never really been something that I was able to do on a product-side. At that point, I was a consultant. I transitioned from a typical 9-5 job into a more work-for-hire job.
When the iPhone SDK come out, it was something that seemed like it had a higher probability of me being able to make a run at it. And it turned out that that was correct.
Almost a year ago, you launched Feed Wrangler, a web service replacing Google's Reader. Feed Wrangler was launched shortly after Google shut down Reader. What inspired you to create Feed Wrangler?
It was interesting going back to my roots and going back to a past life where I used to be a Rails developer. I had a lot of experience building web applications, but those skills had fallen a little bit to the wayside in that my focus had become building iOS apps.
I knew that Google Reader was most likely not long for this world and I thought maybe I’ll try to build something for myself to use when that time comes. When Google announced they were shutting down Google Reader, I thought "Why don’t I see if I can turn this into a product? Why don’t I take a run at this?"
What were the most challenging aspects of developing and releasing Feed Wrangler?
It turned out that the most challenging part of building Feed Wrangler wasn’t necessarily the code part of it, it was the scale-side. All of my summer was spent trying to pull the system together as it had an increasing amount of users and traffic. The amount of data that it’s trying to index and manage is rather considerable and was more than I ever really thought about when I was initially building it.
The biggest challenge was having to move all the way down the stack. Before Feed Wrangler, I was so used to working only at the very high level of writing code, deploying it somewhere, and then it sort of ran and worked. With Feed Wrangler, having to really worry about how fast I’m able to write data to a hard drive on my database server was a very important thing.
With Feed Wrangler, you've created a source of recurring revenue for your company. Has this changed the way you run your business? Has it given you room to experiment with other projects?
Yes. I definitely think it has. Something that I’ve done over and over again as I’ve been trying to build my business is to diversify the sources of revenue that my business has, so I can take more risks or be more aggressive in the things that I’m trying.
I have free apps with ads, I have free apps with in-app purchases, I have paid apps, and now I have a subscription-based product. Having such a diverse stream of income allows me to take more risks. New things don't have to pay off right away.
Pedometer++ is a good example. It started off as a proof of concept that I put out in the App Store. It got a lot more interest than I expected. I’ve been able to invest in it and it has a pretty wide audience now and is doing very well. Thanks to my other products, I had the time to adapt, tweak, and change it over as it went, even when it was initially generating almost no revenue for me and was nothing more than a hobby.
In the App Store, it's difficult to predict when a product has potential and when it hasn’t. After five years of doing business in the App Store, have you developed a sixth sense that helps with this challenge?
I definitely wouldn’t say that I have a sixth sense about it, but my gut instinct on things is probably a bit more refined than it used to be. I’ve launched significantly more flops than I have successes.
If I think back, over the five years that I’ve been doing this, I probably launched something in the range of fifty to sixty different products, ideas, or concepts, and I’ve probably only ever had five or six of them pan out.
It seems to be about one in eight or ten products that actually work out in a way that is worth pursuing. I have a better sense now of the kinds of areas where it makes sense to invest time and energy, and I think that has a lot to do with understanding your competition and understanding where you’re going to be competing.
If you’re going to build a weather app, which is something that I’ve done with Check the Weather, it's important to understand that it’s unlikely that you’re going to turn the market on its head and become the dominant leader. You're competing against hundreds, if not thousands, of other applications.
You have to have the right mentality and understand that everyone is always looking for a new weather app, but also that they're going to be looking for a new weather app right after they get yours.
You can't really predict whether something's going to succeed or not, but I think you can have a reasonable understanding of what your best case and worst case scenarios are. And if you’re honest about those, I think you’re able to make much better decisions about what you do and how much money and time you invest into something.
Especially in the App Store, there’s a lot of space for products that solve a specific problem and solve it well. But don’t try and do too much too soon. It’s far better to release something that does something unique and interesting rather than solving every problem.
If your app takes off and succeeds, you’re going to have many opportunities to continue to invest in it in the future. That's a safer approach than putting all that time and money in upfront and not necessarily knowing if it’s going to pan out.
Marketing mobile applications isn't easy, because you have a very small margin to work with. What strategies do you use for marketing mobile applications?
Marketing is an area that I always wish I had a better answer for. In my experience, there are very few forms of paid advertising that really pay off. I’ve never found them to really work well.
The most effective marketing seems to be to try and develop relationships with people in the press. It's important to develop relationships with them before you need them to take a look at what you’re building. Your hope is that your app is shown in one of those venues, because ultimately you’re trying to build awareness.
If your app is good and it has that spark that’s going to draw people’s attention, once you have that initial bit of interest, then it’s up to your app to market itself. If people see it and they like it, they’re going to tell their friends about it, they’re going to talk about it online. That kind of word of mouth advertising and marketing seems to be the most successful.
Most of my efforts are on trying to get that initial bit of buzz, that initial bit of press, and then letting go and seeing where it goes. Anytime I’ve tried after that initial push to continue to have things happen, such as advertising or continuing to reach out to people in the press, it doesn’t work nearly as well.
You also have to understand that not every app is going to be successful. A lot of people who listen to Developing Perspective get very frustrated about this. They've spent all this time and energy building an app, they put it out there, and it didn’t go anywhere. They then ask me "What kind of marketing can I do for it?" The hard answer sometimes is that there might not be anything you can do. You may have misjudged the market or there’s something about your app that’s very narrow in focus—narrower than you thought.
There's no silver bullet like "If you do these five things, then your app will be successful." The quality of your application and its design are the best marketing that you’ll ever do.
On top of building mobile apps and running a web service, you also host a podcast, Developing Perspective. What is your goal with Developing Perspective?
Developing Perspective is a podcast I’ve done for almost three years. It's about the lessons I learned from being an independent iOS developer. Unless it's an interview, the podcast is limited to fifteen minutes.
For a long time, I've been a huge fan of podcasts. When I was creating Developing Perspective, I listened to all the 5by5 shows like Build and Analyze, Hypercritical, The Talk Show, and I really loved the podcast format. But I was looking at it and it was very intimidating for me to sit down and look at something that was maybe an hour, hour and a half long, and do that on an ongoing basis.
So I thought "Why don't I just take a constraint and put it on top of it and say it's never going to be longer than fifteen minutes." It was good for the listeners. I got a lot of feedback. The people loved that they could always squeeze in Developing Perspective, because it’s only fifteen minutes long, so it’s not something that they have to sit down for and devote a lot of time to.
It’s something I’ve been able to do now for so long because it only takes me about half an hour to do an episode. It’s something that I enjoy doing and where I feel like I can help people. I'm always struggling with some new problem and sharing that, even if it’s not the solution, the workarounds and the hacks that I’ve found, seems to really help other people as well.
Thank you so much for your time, David. Where can people find or follow you online?
Subscribe below and we’ll send you a weekly email summary of all new Code tutorials. Never miss out on learning about the next big thing.Update me weekly
Envato Tuts+ tutorials are translated into other languages by our community members—you can be involved too!Translate this post