There were design questions: What opportunities exist beyond the more traditional mouse and keyboard or touchscreen input? What types of gestures and interactions are natural and intuitive, yet novel and compelling? Can we give users control over their experience while still surprising them?
And there were engineering questions: What types of input are available? What technologies should we use? How do we deliver a consistent product across different types of hardware?
The Coubertin Rings design in particular presented obstacles that set it apart from the other two. First, it relies on a step counter, which is not a dedicated hardware sensor. (Examples of dedicated hardware sensors include the accelerometer and gyroscope.) Rather, it is a “software-based” sensor, which processes input from the hardware sensors to calculate second-order information. Not only does this introduce latency into the interface, it adds an additional layer of variability and complexity already present in the landscape of Android Wear devices. We found that watches with varying Android versions calculate steps very differently, which made it difficult to design a predictable and consistent experience on all the various devices. In addition, it is the only one of Fathom's watch faces that delivers quantitative feedback to the user, so it’s crucial that the feedback is accurate.
We modified the Rings to use the step detector-- a faster but less sophisticated version of the step counter-- so that the display will update in real time when the user is looking at the watch. When in ambient mode, it reverts back to the step counter. In this way, we are able to strike a balance between instant feedback and accuracy. To mitigate the issue of variability across devices, we adopted the same step counter that Google Fit uses.
We soon learned that the Google APIs come with their own set of challenges and complexities, both for developers and users. For instance, Google Fit must now be activated on the watch in order for Coubertin Rings to count steps correctly. In the end, though, we were able to replace the individual device step counters with a call to a universal, device-independent API. We also get the added benefit of step count being stored in persistent memory. This means that the Coubertin Rings counter won't reset if the user switches watch faces, and it will even show steps that were counted on other devices as long as they're connected by the same Google account.
After releasing the watch faces on Google Play and reading feedback from users, we were surprised to learn that Bouncing Issac-- the simplest of the three to develop-- is the most popular design. This poses a new question: What depth and complexity of interaction do users expect in a watch face? The purpose of experimentation is discovery, and participating in the Android Experiments has led us-- and will hopefully continue to lead us-- to discover the challenges and opportunities of developing for wearables.