Every movement begins with a moment.
These days you can’t swing a dead Windows Phone platform without hitting the word “ecosystem.”
The fundamental interconnectedness that brands are bringing to their products is intended to make our lives easier, smarter and more fun. When executed well, ecosystems create a brand version of golden handcuffs: the more deeply you buy in, the more entrenched you become — and the less you want to leave.
Apple is the ecosystem king. Ever since the first iPod, the company has embarked upon a carefully laid strategy in which no product is an island, and each new addition makes all the other pieces more valuable and powerful. For example, consider the recent HealthKit platform, which uses the sensors in your Apple Watch to feed fitness data to your iPhone. This data can then be shared with hundreds of iOS health and fitness apps you buy or download for free from the App Store. If you are health conscious, that is quite a value proposition.
Ecosystems are spoken of with reverence within marketing circles and also have a high approval rating among experienced design practitioners. Even if we somewhat cynically believe that the end goal is user lock-in, these carefully integrated platforms, products and services really are making life better. Plus, there is an added bonus for app designers: The APIs (application programming interfaces) that come with a robust ecosystem give us the power to add lots of cool, free features and capabilities that our creations might not otherwise have.
But experience designers should beware. Once you start tapping into all those ecosystem freebies, you are leaving behind the security of a small, enclosed app where you control everything. It may seem like a great deal, with someone else doing much of the heavy lifting, but the truth is that your designs must become more intentional, not less.
Why No One Takes Diet Advice From Me
Perhaps an illustration will help.
“Lose It” is an iOS app that I think is absolutely brilliant. It takes something that is very difficult — losing weight — and by making it easy to track your calories and exercise, gives you the tools you need to be successful.
This app has made a lot of smart design choices. It includes a database of common foods with nutritional information, provides graphs of your progress and incorporates social support by broadcasting your progress to your peers. Lose It even allows you to record the caloric information of pre-packaged foods simply by scanning the package bar code with your phone.
And it works. After four months of using Lose It, I was down to my college weight. I still wanted to lose about ten more pounds (the “freshman fifteen” is a real thing, people), but as long as I didn’t make any big changes to my routine, everything was going to be smooth sailing.
It was around this time that I made a big change to my routine. I bought a new iPhone.
Per the Apple reputation, everything transferred over easily, and I was up and running on my new device in about fifteen minutes. After the transfer, however, Lose It seemed to occasionally, well, lose it. Most notably, it started doing this strange thing where it would overwrite my actual weight with my goal weight every night.
I would wake up in the morning and Lose It would congratulate me on reaching my goal. I would say, “Shucks, really, it was nothing.” Then I would weigh myself, realize I was still ten pounds over, and record my real weight. Later that night, Lose It would again reset me to my goal weight. After a week of this, I opened the app and showed my wife an incredible journey in which every 24 hours I would lose ten pounds, but then immediately gain 9.75 of them back. She declared me the “worst yo-yo dieter ever,” and we both thought that was pretty funny.
It got funnier. I mentioned earlier that Lose It has a social aspect. You can set up a support network, and whether you gain or lose weight, the app will dutifully report the fluctuations out to your network. That piece was still going strong, although it reported selectively. Each night, when Lose It reset my weight downward, it would stay mum, but each morning when I replaced the fake number with my actual weight, the app would proudly proclaim to my network, “Mahan Archer weighed in and gained 10 lbs.”
So, my friends were seeing a running commentary on my efforts that looked something like this:
2 days ago
Mahan Archer weighed in and gained 8 lbs.
3 days ago
4 days ago
Mahan Archer weighed in and gained 8.5 lbs.
Mahan Archer earned a steps bonus of 61 calories
5 days ago
Mahan Archer weighed in and gained 8.8 lbs.
6 days ago
Mahan Archer weighed in and gained 9 lbs.
I had forgotten about the social piece until my buddy Doug reached out and said, “Dude, whatever you are doing, it is not working.”
The Perils of the Ecosystem
At first, I assumed that Lose It had some sort of charting bug that was being exacerbated by iOS 9, but as I started to delve deeper, I realized that something more interesting was happening.
Lose It had been coded to interact with Apple’s new HealthKit platform — meaning that it could write to and read from a shared set of my health data. By default, the app was set to pull my weight from HealthKit each night, and if I had been entering my weight there, all would have been fine. However, I was entering my weight into Lose It, as instructed, and the app was overwriting my input with nonsense.
By not fully anticipating the interplay between their app and Healthkit, the Lose It designers had introduced a big wrinkle into what had previously been an outstanding user experience (UX).
Standing Up to the Challenge
So, as UX designers, how do we make the leap from designing freestanding, autonomous apps to creating ecosystem-savvy experiences?
Here are some Moxie UX pointers for approaching that very scenario:
Understand the ecosystem – The major ecosystems differ not just in technology, but also in philosophy. Your work should understand and reflect that. Don’t try to be too prescriptive with your Android users or invade an iOS user’s privacy. Play to the ecosystem strengths of each platform, even if you are designing a common, cross-platform app.
Think about inputs and outputs – This is old UX wisdom, passed down from father to son and mother to daughter for generations. Still, it has never been more relevant than today when so many of our designs trigger, or are triggered by, other software. What data is coming into the app? What should the data do? What must it never, ever do? What data transformations are we pushing back out of the app? Post a guard at every entrance and exit to your code, and always know the agenda of the data passing through.
Deputize your front-end developers – Your front-end developers share a lot of your UX DNA. Plus, they know those ecosystem APIs better than anybody. Also, they’ll help you trace how data runs into, through and out of your app. What are you waiting for? Join forces with those awesome people.
Always test your app within the context of the platform – It’s not enough to ensure that communication with the ecosystem is happening. You’ve got to observe the outcomes of that communication and shake out any unintended consequences.
I hope these morsels are useful as you leave the relative safety of the self-contained app and venture out into the ecosystem. It’s a big world out there.
NOTE: Even though I called out Lose It as the cautionary tale in this post, it truly is an awesome app. If you want to shed a few pounds, you should download it yesterday.
PLEASE PROVIDE YOUR INFORMATIONTO DOWNLOAD THE PAPER.