A few months back, I wrote many blog posts about a project I was working on: a client for browsing Tumblr's pictures (
see one of my post here). While working on this, I had a chance to find a new iPad client: TumbleBee. I was (I'm still) impressed by this simple and very well designed Tumblr client. The purpose of TumbleBee (now called Postr since release 1.2 that came out this week) is to create, edit and post new stuff on your Tumblr blog. This is quite complementary to my own app idea. So I decided to buy the app and get in touch with its developer, Tomaz Nedeljko. Here is a small interview with Tomaz.
How did you get interested in iOS development?
I think it was after the release of iPhone SDK, when I saw all the great apps coming out for iPhone. I knew that iPhone had great potential, but I think not even Apple had dreamed of what it would eventually become. I decided I had to invest some time into the platform myself.
How did you start to develop?
I think the best way to start is to come up with a project and just throw yourself into it. I did this simple location-aware app that was a part of my graduation thesis. I learned a lot and it helped me go further. My advice is: code first and learn as you go. You can read a ton of guides, API references and books, but unless you get some dirt on your hands, it won't do you much good.
How did you learn to develop and what was your previous knowledge about software development?
I learned the basics in college, everything else came from doing my own stuff. Everything I know about iOS development, I learned by myself from Apple's online documents, open source projects and tackling with code.
How the Postr application idea came? What user need did you try to fill?
I joined Tumblr in 2010. I wanted to put things that inspire me online, just for my own reference, and Tumblr is really great for doing this. When I got my iPhone 4 later that year, I really had a strong desire to do a Tumblr app. It just seemed like a great idea to make something on my own that others might want to use. But I never got beyond naming the app. It actually took me another year to start the project, but by then an iPad app made much more sense as demand for a good one was huge and Tumblr hadn't yet released an official one.
How did you choose the application name?
In 2010 I decided on the name TumbleBee while I was driving and a bee flew through the window. It was a fun name, I think. I initially released it under that name, however I had to change it with 1.2 to comply with Tumblr's API license agreement. At first I wanted to call it Posts, but because that already existed, I decided to name it Postr (with analogy to Tumblr's missing vowel).
What obstacle did you encounter while developing your application?
I knew from the beginning I wanted to make a scrolling posts view that displays full posts. Not some excerpt with small thumbnails, but actual posts. This meant that I would have to render HTML content. There were two choices for that: use a UIWebView component or parse and draw content myself. Initially I decided to do a web view, but that quickly turned out to be a mistake. I had to move quickly to make a completely native app. I put a lot of work in it and it is still evolving. It includes everything from efficient HTML validation and parsing to layouting and performant drawing. It may not seem like much when you take a glance on the app, but there is some really crazy stuff going on inside.
How is your application internally built? How do you do data persistence? Did you try Core Data?
I like to build code in blocks and then assemble it. It makes development much easier and code easier to maintain. It's not a coincidence that I happened to play a lot with Lego blocks while I was growing up. For Postr I built a library that interacts with Tumblr and uses Core Data for persistence. I also have another library for everything dealing with HTML. These are the heart and lungs of Postr.
How would you qualify the Tumblr API? Was it difficult for you to learn?
When I started almost a year ago, the API wasn't really good. Since then, Tumblr has made it much better. I would however love a better documentation for some endpoints. Being left in the dark for some things might have been the biggest difficulty for me, but you eventually get around it.
Are you using open source libs in Postr? Which one? Were they difficult to integrate?
I'm most thankful for AFNetworking, because it saved me a whole lot of time. Right now, it's the best available networking library. Also, I use SSKeychain and SSPullToRefresh by Sam Soffes. SSPullToRefresh, which I use for iOS 5 users, is in my opinion the best way to do a custom pull to refresh view. There are also some low-level C libraries I use for HTML and Markdown manipulation.
Are you planning to develop other iOS apps?
I have plans and ideas, but that's all they are at the moment.
What if Tumblr release their own iPad app, are you afraid of this possibility?
Honestly, no. I would welcome it, because I am extremely interested in their take on it. I think their current iPhone app is really good and getting better with every release, even though internally it uses web views to display content. Compared to the old Facebook app, it runs much smoother. Also, more app choices is always better for users. The innovation obviously thrives in a saturated market. App abundance is one of the strongest points of iOS platform.
Are you satisfied with sales of your application so far?
I would say that I am. Considering that I haven't done any marketing and that the app initially lacked many Tumblr features, I sold enough copies for me to be able to push development to the next level. This was actually the whole point of 1.0.
Do they cover development costs? If not, is this a concern for you?
They covered my life costs, but now I am in a desperate need of a new computer. I developed Postr on a 2007 MacBook Pro, but I'll finally be able to replace it with a faster machine. From this standpoint, I think it is extremely important to do well. You cannot keep developing without profit, especially if an app is your only source of income. On the other hand, I wouldn't say that not being able to cover development costs is a concern of mine. If Postr wouldn't sell, then I couldn't further invest in it and I'd probably be forced to move on to another project. You really need a pragmatic approach to software development, otherwise you're wasting time.
How did you promote Postr?
When I first released the app, I really didn't have any marketing budget at all. I relied solely on the App Store. I sent a promotional code to some bloggers and I was really lucky to receive a reply from Patrick Rhone of (Minimal Mac)[http://minimalmac.com]. He is a great guy and he wrote a short blog post on his Tumblr blog. This got the app some spotlight. I hope to be able to do some kind of promotion in the future though. I think the app is really great and people should know about it.
Postr 1.2 is available
here on the App Store for 2.99$