jeffrock:

May 16 2011

Carousel and Open Source

Carousel was conceived, designed, developed and released in an eight week period between client projects. How did we pull it off? By building to our strengths and utilizing available resources. Carousel is the product of hard work by good people that work at Mobelux and hard work by good people that make open source software.

We proudly implemented these open source projects in Carousel and we want to thank all the contributors that made them happen.

  • Chameleon. The heart of Carousel. A clean room implementation of UIKit done by the developers over at Iconfactory. This is what displays each photo in each scroll view, allows the pushing & popping of views with a navigation stack and gives us popovers. The inclusion of Chameleon was what allowed us to rapidly develop our design instead of devote hours to hand-rolling an iOS-like framework. I cannot emphasize enough how much time and effort this saved us.
  • SDWebImage. It was very important to us that as you scrolled through photos you felt like each photo was developed in front of you as it came into view. SDWebImage allows asynchronous downloading of each photo which allowed us to load photos as you scroll.
  • SBJSON. Because parsing data that isn’t a .plist in Objective-C is nuts. Huge help in getting data from the API and dealing with it in a format that doesn’t drive you crazy.
  • CocoaFOB. We’ve never written a desktop app before so licensing was a black art. CocoaFOB allowed us to get it done right. (Note that CocoaFOB is not yet mentioned in our about window. In the rush to release I didn’t update our string, but we will be adding it in the next update.)
  • Sparkle. Sparkle is a drop-in framework that enables Mac apps to prompt for updates. Huge for installs that don’t end up in the Mac App Store.
  • The Instagram API. OK, so this doesn’t technically belong in this post but I wanted to mention that Instagram built a beautiful API and gave us the opportunity to make an app that we wanted to bring to life. If you’re thinking of writing an API for your service take note of how Instagram designed theirs.

In closing, making apps that people love is very difficult. Leaning on a community of talented developers that have done excellent work in a specific area makes any app stronger, and made developing Carousel possible for a company like ours.