We use Asana to manage projects and track to-do’s for our team. Their web app is wonderful, but their non-native iPhone app has a lot of users begging for offline functionality.
I was one of them, and as I Googled around for news and information, I ran across a really smart post on Quora about the decision process Asana faces in creating a mobile app that works offline, while maintaining a user experience congruent with their web app.
It’s a great reminder of how hard building awesome stuff actually is:
Straying from simplicity is a challenge all non-trivial apps have to solve at some point in order to deliver amazing value to their users. Apple is currently facing many of the same type of issues with iCloud. How do you tame power and simplicity in one neat swoop?
This is where magic comes in. Magic is when a piece of software does something you did not think was possible in a way that is so elegant and seamless that you can’t feel there’s any other way things could (nor should) work. Writing on the same document at the same time in Google Docs. Finding friends on Facebook (make no mistake, a tremendous bit of engineering goes into this). Buying and installing an app on your phone.
Complexity made simple. In a way, this is the challenge Asana has set itself from the start. Turning human organizations into efficient creation and delivery organisms is a tremendous task.
“It’s easy to write a few paragraphs about how much something sucks. You know what’s difficult? Recognizing and respecting complexity. Giving people the benefit of the doubt and trying to understand why they made the decisions they made — whether it’s related to business, design, development, or anything else.”