DIY Mobile Apps

Karma
Spread the WiFi — The Official Karma Blog
5 min readApr 5, 2016

--

There are few things better than sitting down at a restaurant to a serving of bread freshly baked on premises. You can practically taste the effort that went into creating it. Sure, they could get that bread delivered from a bakery, but there’s always some rustic, homey element lost on a delivery truck. And that’s a bit how we feel about our mobile apps. Ok, comparing app development to baking is weird, but hear me out.

At Karma, we build our mobile apps entirely in-house. Not only does this give us a lot of flexibility and removes red tape from the development process, it’s also the easiest way for us to take the feedback we hear from customers about features and design elements and weave them into our updates.

For Karma Go, we’re making some of the biggest design changes yet to our apps and making it even easier to track your data and use Karma alongside all of your devices. Senior product designer Alan Dickinson, iOS developer Klaas Pieter Annema, and Android developer Ankur Vashi all work together to make our app experience as seamless as possible — and, moving forward, will make our suite of apps equal partners to your device rather than just helpful accessories.

Started from the Bottom Now We Here

When Karma first started out, we aimed to have a really dynamic, interactive online dashboard to give everyone a rich experience right from our website. Klaas Pieter was originally hired as a front-end developer to create exactly that, but we quickly realized it was a tall order to ask people to continuously come back and interact with the dashboard on the web. Driving them to use the dashboard when their data was low or they needed some kind of update depended almost exclusively on email, but there’s never a guarantee that those emails will even make it to the customer’s inbox.

“We always wanted to have a more catered experience for customers,” says Klaas Pieter. “It’s much easier to cultivate recurring visits with push notifications on a phone for updates or reminders.” We decided that it was time to build an app, and we started with iOS. A design intern built the first shell and flow for the app, and Klaas Pieter programmed it.

Driven by feedback from our customers, we released an Android app about a year later. Klaas Pieter wasn’t an Android developer, but he taught himself how to do that, too. Android was a great opportunity for us to cater the app even more to what customers wanted thanks to its open development platform.

Developing for Go

For Karma Go, we aim to create an even more seamless experience between the device and the mobile apps. We hired a real live Android developer, Ankur, to do his thing and bring more features to our Android app (you can read more of Ankur’s take on app development here). We also brought UI expert Alan on board to help with the design and user flow of the app.

“We start to think about our product as a combination of the device and the application in one.”

Alan says one of our biggest goals with our upcoming launch and future updates is to further integrate the app and the device. “As we put our new website together, we start to think about our product as a combination of the device and the application in one,” he noted. Lots of products are doing this already with great results, like Lumo Lift, which tracks your posture throughout the day. Part of the flow of setting up your Lift for the first time is downloading the app — we see a similar flow happening for Go.

“The initial app release isn’t going to add a lot of new functionality,” says Alan, “but it will set us up for what’s coming.” The structure and design of the app will be the biggest changes you see, but it also works differently on the inside to support the new features we’ll add down the line. Regardless, everything we do is driven by design, so expect the interface to not only look great, but to serve the app user in the most intuitive way possible.

The Way We Work

There are a lot of reasons to choose to build your app in-house, but there are also a lot of reasons not to. It can be expensive and time-consuming to hire developers, and it can take even more time for those developers to learn new skills for a specific project or even new programming languages in the ever-changing tech environment.

But we’re sticklers for detail and wouldn’t want it any other way. Designing and programming our own apps gives us a degree of flexibility throughout the process that we just wouldn’t get with an outside team.

“We’re sticklers for detail and wouldn’t want it any other way.”

Alan has worked in large design studio before and knows that there’s a lot of paperwork involved. “I would create 200-page documents that outlined everything about the project and that would be the developer’s Bible. But there was a huge lack of communication in that model. You have to write down everything you do.” With an external company, you’ll have one big meeting and hope you remember everything you needed to say. Sure, we don’t document as much here at Karma, but we communicate a lot more in real time.

In terms of organization, we’re a free-flowing bunch. “We don’t use a specific project management flow,” says Alan. “We do what we need to do when we need to do it. It’s easy to get lost in the process or the creation of the process.” Solving problems within our small team as they come up has proven successful for us, and simultaneously made us more agile on the whole.

When in Doubt, Pivot

The evolving landscape of development and UX keep us continuously on our toes and gives both our developers and designers the challenge to learn new things. While our app will continue to become more feature-rich, we also don’t plan on completely abandoning our web interface.

“I think we’ll always have a web component, which in the future might be more integrated with the page you’re on, but it will be a lot simpler, like a settings and account screen,” says Klaas Pieter. It’s a process that’s thoughtful, and intentional, but also steeped in a willingness to pivot if there’s something we can be doing better.

“I think we’ll always have a web component, which in the future might be more integrated with the page you’re on, but it will be a lot simpler, like a settings and account screen,”

Simplicity, for us, means getting you online and getting out of your way, and that’s ultimately what we hope what baking, er, building our own apps from scratch will accomplish.

--

--

On a mission to get you online anywhere you are. Giving more people internet in more places • Learn more https://yourkarma.com