Improve your App by Connecting the Dots.

Improve instead of redoing

The Basecamp 3 app for Android is designed and maintained by a team of three people: Dan Kim, Jay Ohms, and me. We keep pace with the rest of the company because it’s a hybrid app—native code plus mobile web views. New Basecamp features usually work in the Android app without us having to re-do the same feature in native code.

This hybrid architecture allows us to focus on Android specific improvements. Recently that’s meant giving customers a way to add stuff like to-dos and share links faster than they can in the web browser or through the desktop app. Here’s how we approach improving the Basecamp 3 Android app.

Lay the foundation

A few months ago Jay Ohms and I designed a way for customers to quickly add to-dos, messages, events, and file attachments right from the app home screen. We call this feature Quick Add.

On the surface, implementing the feature looks pretty easy. You might be thinking “All you did there was add the Floating Action Button thing that other Android apps have!”

However, you’ll quickly realize that the customer needs a way to pick the correct Basecamp. We don’t have any information about where this new to-do is going. This interaction is also happening on a small screen. When a customer has many Basecamps the app needs to provide a way to make it fast and easy to pick the right one.

Jay and I made a Basecamp picker screen, and added a list of your recent Basecamps. These recent Basecamps are based on ones you’ve recently chosen through the Quick Add interface. We also made a screen that allows you to select the To-do list and make the to-do. Here’s what that looks like:

We approached this project in the way we always do: by building the necessary screens to get the feature working. We didn’t realize it then, but we were laying down the foundation for different feature that would further improve the Android app.

Bridge the gaps

Shortly after launching the Quick Add feature, Dan Kim started looking into customer usage patterns. He noticed that the My Assignments screen was one of the top destinations from the home screen. This was odd since My Assignments was only accessible from tapping your profile picture on the home screen.

It seemed that customers wanted quick access to their to-dos, and we weren’t making it easy by burying it. It sounds obvious in hindsight. Of course you want to see your to-dos as quickly as possible. Your mobile phone is your most personal device.

Dan pushed to get My Assignments onto the home screen. Now customers can quickly see what to-dos need to get done when opening the app.

Use the foundation

It’s nice that we added My Assignments to the home screen. However, the My Assignments screen is read-only. That means you can’t add new to-dos from that screen. You can only see to-dos that have been assigned to you.

I mentioned earlier that we’re able to get a lot done with a small team because of the hybrid architecture and the web views. However, the interaction design for web views is sometimes optimized for desktop browser use. We might want to design a special interaction for the mobile app, but we can’t with the web view we get from the Basecamp 3 core team.

If there isn’t a way to add to-dos on the My Assignments screen from the browser then there isn’t a way to add to-dos from mobile.

A few weeks prior, Jay and I made the Quick Add feature. We used this foundation to provide the ability to add to-dos straight from the My Assignments screen. This was a big improvement. Now the screen wasn’t just a launching pad to your tasks. You could also fill in the blanks by adding tasks yourself.

Build on the foundation

Usually we’d call this done and launch it. There was one problem. When you make a to-do from Quick Add it doesn’t have an assignee. When we initially designed Quick Add we optimized for “quick.” That meant that we didn’t allow room for assigning the to-do to someone.

Once we added this feature on the My Assignments screen a missing piece was apparent. Why couldn’t you assign the to-do to yourself? Maybe it could be a checkbox. We could even have it pre-selected to “Assign to me” when you’re looking at the My Assignments screen.

We did just that. We added a checkbox to assign the to-do to yourself. When you make a new to-do it will automatically appear on your open to-do lists. We also improved the Quick Add foundation by adding the “Assign to me” checkbox when you create a new to-do from the home screen.

In the future you’ll be able to assign to-dos to people that are part of your Basecamp too. We just haven’t built that part out yet.

Full circle

We didn’t plan on designing the Quick Add feature as a portable element. Our original intention was to have it isolated on the Android home screen. When Dan added a link to My Assignments from the home screen it became obvious to apply the Quick Add framework there. It wasn’t until we started using the feature on the My Assignments screen that we saw the need for an “Assign to me” checkbox.

There’s a personal to-do list in the Android app—exclusively on Android—because we connected the dots from Quick Add on the home screen to Quick Add on My Assignments. Now you can add new to-dos, add comments to to-dos, and even complete the to-do right from that screen.

By connecting the dots from one feature to the next we’ve improved the app for our Android customers. We didn’t have a grand plan. Rather we kept pushing the interface along, extending the foundations, and making small changes with big benefits.

Thanks for taking the time to read my article. My name is Jamie, and I’m a Designer on the Basecamp 3 Android team. If you’re a Basecamp customer you should get Basecamp 3 from Google Play. If you’re not a Basecamp customer… what are you waiting for? Get a free Basecamp today.