Android and iPhone Developers Take on the Karma App
We really like Karma. It’s one of those apps that we tell our friends about when they ask us for cool-app recommendations. Karma is a gift-giving app, useful for two notable situations: Either you just noticed on Facebook that it’s your friend’s birthday and there’s not enough time to send her a card in the mail, or you’re in the giving mood and you want to let that special someone know you’re thinking about ’em. (Admittedly, it’s usually the first case for us.)
Shortly after posting our app review of Karma, we caught up with the developers behind the app at Karma Science. And to get a better grasp on how this nifty app impressed us so much on our Android and iOS devices, we chatted with both of the operating systems’ developers.
Here, Judy Liu (left), Karma’s iOS developer, and Jason Eash (right), the app’s Android developer, share insights into the multi-operating system app-development process, as well as their favorite features about their app (they happen to be the same) and advice for other developers.
- In what ways did you set out to differentiate Karma from other shopping apps?
Judy Liu: At Karma, it’s about more than shopping, it’s about gifting and never missing a meaningful moment. It’s not about what you buy as much as telling someone “I’m thinking about you.” With Karma, you can keep track of special moments or events your Facebook friends are celebrating—a birthday, engagement, new baby, if they started a new job or even if they are just having a bad day.
Jason Eash: We wanted to take the frustrations out of gift giving and make the app dead simple to use. (This is why, for example, you don’t need to know the mailing address of the recipient.) And because gift giving is (or should ideally be) such a personalized experience, we wanted the app to reﬂect that amount of personalization. We built an app that everyone could use—from teens to our own parents—but would also offer personal touches like personalized cards and beautiful packaging.
- What is your favorite feature of Karma and why?
JL: I like the fact that I don’t need my recipient’s mailing address to send them something. It sometimes ruins the surprise if you email them beforehand with a “Heyyyy, what’s your address nowadays?” I can send a gift via Facebook, the person’s phone number or email address, and Karma lets the recipient choose what address they want the gift shipped to.
JE: No one carries around a little black book of addresses anymore, so creating an easy shipping method is not only simple and clever; it’s also the perfect marriage of the old (shipping physical goods to physical addresses) with the new (using technology to our advantage).
- What factors do developers need to consider when creating an app for multiple operating systems? For instance, was it difficult at times to ensure Karma’s cohesiveness on Android and iOS devices?
JL: Jason and I started development on iOS and Android at about the same time. I think it really helped that one platform was not ahead of the other. So, when we were looking at features to include, we had a fresh slate for both platforms. No one said, “Do what iPhone or Android does,” because neither had been developed yet.
JE: Maintaining cohesion between the two applications wasn’t that difﬁcult because we had an idea of what both apps needed to have and needed to do, so we had some common ground. We weren’t trying to build one app and then personalize for each platform. We always looked at them as two different beasts.
App developers and designers should recognize that each mobile platform has its own idiosyncrasies that users tend to expect. For instance, little things like artfully handling the hard back button on an Android device can go a long way to simplify the experience for users.
- What was the biggest hurdle to overcome during Karma’s development process?
JL: The biggest hurdle was keeping pace with everything we wanted to do. We have so many awesome ideas and things we want to try (like a new design or new feature). As the developer, you don’t want to be the bottleneck, but at the same time, it’s very important for the app to be stable and your code base to be clean.
JE: I think the biggest hurdle we faced was the general process of trial and error. The ﬁrst few months of development were very much like a lab environment in that we had a general direction we wanted to go, but we had few details as far as implementation. So we’d try one option, then another, then another and we’d continue down this road until we found what we liked. It was tough to build a long-term foundation for the app when so many details were still up in the air, but eventually we came to a cohesive and beautiful app that we’re all very proud of.
- What features are you most proud of?
JL: I’m just happy that the app looks mostly like the design Megs (our designer) came up with.
JE: Other than the app being pretty stable after so much trial and error, I’d say I’m most proud of two things:
First off, we have a smart image-caching system that took me a few weeks to ﬁnalize and get up and running. Image creation is one place where Android fragmentation really rears its ugly head, as there are major differences between each of the operating systems (Froyo, Gingerbread and Honeycomb/Ice Cream Sandwich).
The second thing is an Android widget that’s coming in our next release. It’s really the ﬁrst piece of functionality for Android that is completely separate from iOS. I think that some apps tend to use widgets more for bells and whistles, but in Karma, widgets are a logical extension of the social experience we offer.
What advice do you have for young app developers?
JL: I’d say try to release something. Not only is it rewarding to get people using your apps, but you’ll get feedback from other developers and learn more about how people actually use your apps. Also, put in some metrics. I know it sounds boring, but no app is perfect right out of the gate. You’ll never figure out your problems or advantages if you don’t measure.
JE: Try to keep everything as simple as possible whenever you can. I’ve seen many mobile projects get bogged down because someone decided to use a clever approach to solve a problem that resulted in tough-to-read code that was hard to understand by future contributors. Keeping things simple not only allows more people to easily read, understand and change your code, but it also makes it much easier to make incremental changes and add features.
Other than Karma, what’s your favorite app right now and why?
JL: I really like the Flipboard iOS app. Not only does it look good, but the interactions also feel great. Also, the Yelp app is really awesome, but I’m obligated to say that because my boyfriend works on it.
JE: The one app that I use every day and still love is the BeWeather app. It’s a simple weather app, but I think the layout is fantastic and the animations it uses for the current weather make it absolutely beautiful. It’s a bit of an inspiration to see an app that does something so simple (display the weather) done so well.
Apps I Love
Eating Healthy is a Snap with Dr. Oz’s App Pick
Photo credit: Getty Images
Dr. Mehmet Oz, famous cardiac surgeon and star of TV’s The Dr. Oz Show, spends much of his time giving nutritional guidance to his show’s viewers and patients. But we bet he never thought advice could get as simple as “take a picture of your food.”
Dr. Oz told USA TODAY that he likes the Meal Snap app. Just use your smartphone to take a photo of your food in front of you, and the app calculates how many calories you’re consuming. Bam—food recording is done.
Of course, the app is not always 100 percent accurate, but we still think the simple act of recording our food helps us be more conscious of what we’re eating. You can share your meals on Twitter, Facebook and foursquare if you want some extra motivation, and you can even view your eating patterns over time.