It’s All About the User Experience - Part I: Offline Support
The Cloud has been an amazing enabler to allow the rapid launch of new and innovative solutions, and make those solutions and services accessible and available world-wide and from multiple devices. The Cloud is key for mobile-first experiences that are at the forefront of the digital transformation which many companies went through or are going through to enable any device, anytime and anywhere access. While the Cloud enabled and principally solved the any device, anytime part of the equation, the anywhere part assumes good connectivity, low latency, and service responsiveness to be true. While (rightly so) a lot of attention and investment is spent on UX and UI, the assumption for most is that connectivity issues and continuity of the experience under adverse conditions is relegated to backend engineering, or worse, the mobile carrier’s problem. Given that connectivity, bandwidth, and latency fundamentally change and are often incompatible with delivering a great experience, I might argue that the Cloud can actually and unfortunately degrade the user experience, especially relative to today’s users’ expectations of instantaneous experiences, always available at one’s fingertips, everywhere and anywhere.
In this multi-part series on the user experience, we’ll focus on various aspects of the user experience and how to improve it – first, let’s look at the user experience and the notion of offline support.
I have previously written about my experiences with airline apps on the mobile phone. It is highly frustrating to watch a mobile app spin while fetching data from the Cloud because the connection at the current point in time is not strong enough, suffers from high latency, or worse cannot get a data channel because all the nearby cell-towers or Wi-Fi hotspots at the Airport are overloaded. As a user, I understand the need to wait when I am fundamentally requesting new or updated data, but for data that rarely changes and should be instantly and predictably available, it can be incredibly aggravating.
Even worse, most applications today fundamentally don’t work when connectivity drops, often stalling or popping up “you are not connected” banners in the UI. While obviously certain transactions require connectivity, such as transactional services like purchases or state changes, most applications could continue to function during temporary network changes, perhaps in some degraded state, if the data being accessed was stored locally on the device. I call this offline support. And having offline support, I would argue, is critical to providing that seamless, good experience that mobile users expect. Whether you are browsing content tiles, accessing collections of data, or reviewing previous information and messages, having the data stored locally on the device and updated in real-time when connected to the network provides the best of both worlds – an up-to-date experience when connected to the network, and a useful, seamless experience when not. This is the way email has worked for the longest time – why shouldn’t all apps function this way?
Providing offline support is one powerful use case from Realm. Realm bridges the gap between the device and the Cloud and allow applications to provide the best experience – local data for offline support, the ability to keep that data updated in real-time, and the guarantee to track changes due to data updates and resolve any and all conflicts created by simultaneous updates. Realm allows developers to deliver an unparalleled user experience, independent of connectivity, by enabling this offline support.
In a world where most services have multiple options, and given today’s expectation of service experiences by the consumer (often assuming instantaneous access to data), delivering the best possible user experience is critical to driving revenue and usage, keeping and growing the user population, and minimizing churn. The current default mechanism of relying on on-demand data fetching from the cloud is not adequate to satisfy this expectation. REST is not actually best – solutions like Realm can help. Come and check out why various companies are coming to Realm to fundamentally drive the next-generation of user experience.