In our continuing search to find what all successful developers have in common, we recently chatted with Marcus Koosmann, Lead Software Engineer at Little Labs. Named one of the 25 hottest Los Angeles startups in 2015, Little Labs’ bread and butter is Facer, the world’s largest watch face customization platform, now offering more than 15,000 different designs from a community of over 6,000 designers.
We asked Marcus about creating memorable user experiences in the watch face space and what everyone should keep in mind when developing for wearables.
Can you tell us a bit about Facer?
Facer is the most advanced watch face design tool on the market today, and the first cross-platform watch face editor with support for Android Wear and Tizen. It offers a drag-and-drop option for beginners to create a watch face in a few minutes, or for advanced designers to create more elaborate watch faces. Facer also offers a publishing platform for designs, which is available on all major smart watches.
What are some of the differences between developing for mobile vs. developing for wearables?
The key difference is the intention. People can spend up to an hour playing games on their smartphone. This is not something that happens on smart watches. Sessions are much shorter, sometimes just seconds. Because of this, all interactions have to be extremely focused. In addition, the small watch screen means interactions need to be simple.
What are some of the not-so-obvious, but still critically important keys to ‘doing wearables right’ from a development and user experience perspective?
Having clear iconography and very clear color codes is extremely critical given the small screen size and amount of time users spend on the interaction. It’s important that interactions and hierarchies are designed so final users can get through the micro-screen as quickly as possible. You need to make sure your transitions are fast, not elaborate.
How do you make your transitions fast?
We treat this as primarily a UX design issue. Since the Gear S3 supports CSS3, it’s very easy to add transitions and animations, so the challenge becomes how to use those tools judiciously. First, we try to reduce the need for transitions at all by consolidating screens and simplifying the app’s flow. We only have two main views in our app, so the user won’t ever have to drill down very far. Second, when we do want to soften the transitions between UX elements, I always try to choose a speed that’s a little faster than what I’d want in that moment since users are often on-the-go when they interact with the app. This is a pretty different context then programming.
Do you use native APIs or Web APIs?
We primarily use Web APIs in the app, which allows us to re-use existing code from our platform. We’re able to use a lot of the same testing tools, to test code before we send it to the watch. Also, with other platforms, you need an external framework to create the link between your web app and the device, but this is built into Tizen giving us direct access to those native APIs. Web APIs also allow us to ship new features very quickly. We build apps on a number of different smartwatch platforms, but because of the framework that’s available on Tizen, we’re able to create prototypes and ship features in a matter of days, where the same feature on another platform might take quite a bit longer.
What was the biggest technical hurdle you faced when developing Facer?
We were able to re-use a large chunk of the codebase from our website – which saved us a ton of time and enabled us to get off ground very quickly – however, it came with the caveat that we hadn’t optimized all of our systems for the resource-constrained environment of the watch. The S3 is a very powerful device, but like any wearable out today, it is much more sensitive than the desktop to processes that use a lot of memory (causing instability) or that are processor intensive (causing increased battery drain).
My advice to devs is to know from the onset that you’ll probably need to debug resource-related issues at some point and setting yourself up to catch it early can help prevent headaches down the road. Tizen supports HTML5, so you can likely use your favorite browser’s development tools. Chrome has some great tools for monitoring memory usage in real-time as well as CPU profiling tools, which I try to use as early and often as possible.
Is Facer now focused on creating a wearable experience that’s independent from the smartphone?
Right now we’re trying our best to untether the watch app from the phone, so the user gets a meaningful experience from the watch without having to dig something out of their pocket. The ideal watch experience is quick, painless and involves as little interaction as possible. So the future opportunity is in these meaningful micro-experiences that help users throughout the day. From my personal experience already, when I go home after work I put my phone to charge immediately and I don’t really use it for the rest of the day knowing that I can do almost everything on my watch. That’s a pretty big shift that’s happening right now.
Do you have any words of wisdom for other up-and-coming developers, especially those in the wearables space?
The key thing is not trying to shove an existing mobile app into the watch. When our founder Ariel was developing for smartphones in the early 2000s, he noticed that a lot of companies and developers were looking at existing applications on computers or consoles, and trying to recreate them into a mobile context, and that never worked. It’s really important in a sense to forget what you know of mobile development, and just take a step back and understand what the watch is for.
How has Samsung helped your business?
We’ve been working with Samsung since the very early days of the Gear S3, and they’ve been very helpful, sending us test devices so we could prototype our apps. Samsung has also provided us with great technical and marketing support. Being featured in their app Store drastically increases the number of installs we see. Overall, the partnership allows us to focus on the features that we’re creating.
Finally, a question we’re asking all of our ‘Devs Doing it Right’: What features do all great/successful apps have in common?
I would say simplicity and focus. It’s true for mobile apps, but even truer for wearable apps. Developers need to forget about all the flourish, forget about all the lasers and intense graphics, and really focus on what you want your app to do. Ideally it’s a single thing and you do that thing very, very well. It’s also key to think about the user. If you think about the overall goal of smart watches, it’s to help people become more productive. People who wear smart watches don’t necessarily have a lot of spare time, so you have to design experiences that deliver the information they need right away without any unnecessary artifice.