Search
Goodies

Social Networks
Designs I Like

Entries in iosdev (37)

Wednesday
Oct172012

An interview with Postr creator Tomaz Nedeljko

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$
Wednesday
Feb222012

Cocoa plotting framework for Mac OS X and iOS

Here is Core Plot 1.0 for those looking for a plotting framework in their iOS application.

Sunday
Feb192012

Want to start developing iOS apps?

Here is an interesting Quick Startup Guide from Apple: Start Developing iOS Apps Today. A must read if you are just starting your endeavour.

Friday
Feb102012

Building an iPhone app is simple? Think again.

Here is an interesting article from Kent Nguyen on what it takes to make or build an iPhone app. Not an easy task.

Thursday
Feb092012

Another WordPress Theme to promote your apps

Remember about AppifyWP? I wrote a blog post about this really cool and nice WordPress theme to promote a single iOS application. For those without web design experience, I still think this is a really good kick start kit.


But today, I've got an email from Tapptics, a well known web resource for its iOS app design started kit. To time, she offering a really nice and functional WordPress theme for promoting your iPhone apps. This theme offers a lot of flexibility and is could with how-to videos to help you install the theme, customize it, etc. Pricing? Free. Go get it now. I'm seriously considering this free theme in order to move my MobileMe hosted web site at http://www.tinysofty.com to a place like FatCow while using this free theme. Thank you Jen, you made my day.
The only downside of these themes is that they only showcase one application. Many small developers would love to be able to showcase all of there apps. Maybe in a future version of the theme!

Thursday
Feb092012

When designers can help developers

Building iPhone or iPad apps is a lot of work and involves different skills and people, mainly designers and developers. Rarely you'll find great developers that are also great designers or vice versa. But how good designers can help or make developer's work easier? Look no further than Matt Gemmell's blog post on the subject. Very interesting, even for developers like us!


Tuesday
Feb072012

App Icon Template from an expert for beginners

Wow, if your are looking for a really good application icon template in Photoshop, look no further than @flarup work at www.pixelresort.com. Very well done.

Wednesday
Feb012012

Cleanup Xcode project assets - here is a must have!

You are working on big Xcode projects with a large quantity of assets and would like to do a spring cleanup? Which files are no longer referenced by your code?  Is there any @1x graphic files missing for their @2x counterpart? enter Slender from Dragon Forged Software. Go check this out as the software is currently 50% off!

Monday
Jan302012

Building my first iPad app - to share or not - that is the question

Last november, I wrote a blog post about looking for inspiration to help me building my first iPad app: a Tumblr client for browsing pictures. Very simple idea. Since then, I've spent quite some time, on and off, not only about the idea itself but also on sharing to the world the process of building the application. What if someone steal my idea?


Well, this kind of thing can happen as soon as someone post about his or her work on the internet. Maybe someone is reading my blog and is waiting in the dark for my next blog post about this app so he can start coding and publish on the App Store. May be. May be not.

 

Building a Tumblr client is not really a novel idea. There are many available already. But the thing is they all suck. I don't like their design. I don't like using them. I want to build my own and love using it. This is exactly what I did with Ultimate Password Manager. I love using it. And many others do too!

So, I want to be proud of something that I've built. Sharing with others how I tackle the task of building this application is also useful. In order to build something and write about it, your ideas must be clear and well defined. Just the process of posting on the blog about it helps me think better about this application design and refine a lot of details. In the end, I'm winning and eventually my users will hopefully win too.

 

If someone is inspired by my work on this application and start on their own and eventually create a really cool and nice looking application for browsing pictures on Tumblr, then I would be more than happy to buy it and use it and tell the world how happy I am about it. In the end, whatever happens, I'll win. And remember, this is not always about money.

Keep reading my blog learn how I'm creating my first iPad app: a Tumblr client for browsing pictures! Comments are always welcomed too!

Monday
Dec192011

Need a backend platform for your iOS app?

Just stumbled upon this today: www.parse.com. Parse offers a complete backend server platform for mobile apps. iOS and Android are supported. The feature set includes:

  • Data Storage in a schemaless format in the cloud;
  • Push Notifications Servers;
  • User management inside your app for easy signup features;
  • Social media integration for user sign in.
The service is currently in beta and free for that period. Seems very nice. The documentation is very well done!