Designing for context is easier than you think
Empowering you to imagine + create contextual experiences
Context is widely thought to be the next big evolution in technology. It will soon revolutionize how humans interact with machines. Apps will know us, where we are, and what we are doing. They are going to able to anticipate our needs without us having to tell them, reduce friction in the experience, and deliver moments of delight. Apps like Google Now, and Moto Assist, have been groundbreaking but why are there not more of these? Why haven’t we been able to democratize the process of designing and developing contextual experiences so that everyone can be a part of of this contextual design narrative? Because it’s such a paradigm shift for applications to anticipate the future needs and desires of the user by leveraging what phones already know about the user, to improve the end experience.
The underlying mobile technology & infrastructure currently exists to bring contextual experiences to life. Even though we have addressed the implementation hurdles around crafting contextual experiences, people still face mental roadblocks when they try and imagine what these alien contextual experiences should feel like. This is all so new, so everyone is breaking new ground. Think about when we went from keyboard based interfaces on smartphones, to multi-touch, and how difficult it was for developers & designers to adapt to this new “intuitive” type of interaction with mobile devices!
People often associate mobile with lots of constraints (battery life, data consumption, network, limited screen real estate, and limited user attention); however, mobile has so much potential that has yet to be tapped beyond what’s possible on web + desktop, by using sensor data and local data on the device. If you think mobile first, then you see the power of mobile. If you think web + desktop first, all you see are constraints on mobile.
This article is all about how to come up with designs that take contextual awareness into account when designing mobile experiences.
Where it all started
I’m passionate about creating engaging mobile experiences, and have been trying to get a critical mass of developers and designers on board to creating contextually aware apps. Users deserve these amazing experiences and they are now possible since they already have the phones, the network and the operating systems that are capable of supporting these amazing new contextual experiences which will will benefit their lives.
I’ve done a lot of work over the last few years on the Android Developer Relations Team at Google, getting developers to become part of the UX design narrative, and getting developers and designers working with each other to create amazing experiences for users. I’ve created a lot of projects to empower developers and designers to see things mobile first — UXD workshops at IO13 & 14, the YouTube show, a G+ community, and meetups in Silicon Valley. And a Udacity class for Designing for Mobile, to maximize user engagement on mobile, by using context. Most recently, I’ve quit Google to start my own developer tools company that is focused on the UX of developers, called trnql.
Context is king
One of the key things I teach in my Udacity class is creating experiences that leverage context. And over 50k students agreed that this is the way to go, but it turns out it’s not easy to imagine or design contextually aware experiences on mobile.
The following outlines a way of thinking that you can use to:
- Internalize concepts around contextual awareness.
- Help you create a mental model for designing your own contextual experiences.
Let’s get started!
Step 1: Think about all the categories of existing apps are out there that can benefit from context
You don’t have to come up with an original idea to leverage context. Start by adding a contextual twist on an existing experience! The following are a set of app categories that can be enhanced with context (this isn’t an exhaustive list).
Step 2: Think about the signals that will deliver context to the apps that you design
Phones are getting more and more sophisticated and powerful with every iteration. Phone sensors today have the capability to figure out where a user is, what they’re doing (running, walking, etc), and what their biometrics signals are (from wearables), and on and on. Let’s think about how we can leverage the following basic signals that deliver contextual awareness on iOS + Android:
Step 3: Think about how you could leverage different time periods of data to interact with the user
We have the capability to track sensor data over time to get historical perspective and trend. We can also obtain forecast information for certain signals (ie, weather). The following are three types of interactions that will simplify what is possible with contextual experiences on mobile:
- On Demand / Right Now — a user pulls out their phone and they access an app, and they want the app to help them with something right now. A fitness app tells the user that it is going to rain on their run in a few minutes and they might consider going to the gym instead.
- History / Usage over time — a fitness app learns about the user by looking at their history of activity (walking, running, in vehicle, still, etc) and figures out what their running routine is, and when they might run again. It then notifies them that it is going to rain on their run in a few days and that they might want to change their routine.
- Planning & Research — the user uses an app to research and plan things that might happen in the future. A user is going to travel next week and they want to use their running app to find a route to run in a new city in the following week, so the idea of weather forecast, and neighborhood safety, and popular running routes will need to be pulled together to help the user made a decision about which route to choose.
Step 4: Combine Steps 1 to 3 to come up with your new contextual twists on existing apps
In order to come up with your own contextual experiences, just take an application category (blue boxes), add some contextual signals (yellow boxes), and then pick a type of interaction you want (green boxes). Below are some ideas of what I’ve come up with.
A concrete example of applying this process
I asked designers on the G+ UX Design for Developers & Designers community, to come up with a concrete example of using this design process to come up with a contextual app.
The community responded, and here’s a great submission from a UX designer, who created a design for a contextual app in the fashion category, called StyleGlobe. This is a great little app that considers a user’s current location, the weather conditions, and the fashion trends for the current location to make recommendations on how the user can dress for the day. And it even has a feature that allows the user to see trends for other locations.
For more details of this app, here is a PDF that has the details about how the app was constructed. You can find details on:
- applying this process to design the app,
- low res wireframes, and detailed description of the flow,
- and a video of what the app might look like as a user moves thru the flow.
The following are excerpts from the detailed PDF, that explain the basic concepts of the app and how this process was applied.
Here’s a video of the wireframes of the app.
What’s next
I hope this process helps you come up with really engaging and amazing contextual experiences. As you work on your designs, please feel free to share them in the UXD for Developers & Designers G+ community. We would love to see what you come up with! Let’s dream together!
About me
I am a former Googler and founder and CEO of trnql (pronounced “tranquil”). We are group of design-minded developers based in Silicon Valley and we are building a developer platform consisting of a suite of SDKs for Android, iOS and Internet of Things. These SDKs enable developers to quickly and easily integrate context derived from sensor data, data stored locally on devices, and web services, into mobile applications to make them more engaging to end-users.