The Business Value of a Real-time User Interface
Latency is an issue that would upset a gamer playing online or frustrate a movie-watcher choosing between films. Unfortunately, it has become a normalized part of modern user interfaces in the business world. This issue is especially concerning for enterprise UIs, such as business intelligence dashboards because decisions are made using supposedly fresh data and insights that are not truly real-time.
Misleading UIs with latency that are advertised as “real-time” are commonplace, yet most people are unaware and do not comprehend the limitations of the applications they are using. It’s an expected part of using technology today that the UI you’re using will only ever be a shadow of what’s happening in real life, an echo of the real action.
Real-time user interfaces present a paradigm shift –– both in the nature of the technology at hand and the expectations users will have once they encounter real-time UIs.
Real-time user interfaces: Impact and implications
Many UIs purport to be real-time, but the vast majority are not. True real-time UIs connect microservices so that these UIs can reveal backend data without incurring significant latency –– even as users manipulate the data via the UI. Reducing lag between services, which many companies attempt to do, is merely a marginal improvement. Maintaining ping latency creates fundamentally different use cases.
What is a real-time user interface? Many UIs appear to function in real-time. A standard web app, for instance, appears to react almost instantly to your input. But whenever a web app has to connect to a backend service to fetch or manipulate data, for example, the UI is anything but real-time.
A real-time user interface is one that updates instantaneously, one where ping latency is aligned with backend application states. In a real-time UI, each view dynamically streams the data necessary to present the UI the user wants. When the user acts, the user interface reacts in lockstep.
What are the immediate and long-term benefits of real-time UIs? When UIs are real-time, the connection between user-facing interfaces and backend realities are instantaneous. That level of connection enables significantly better services across a range of already present use cases, such as:
- Shipping: Instead of delivery updates tracked across waypoints and communication via email, customers could use a real-time UI to track delivery progress up to the second.
- Travel: Instead of relying on traffic updates, which are often perpetually behind, and flight delay updates, which travelers need as fast as possible, travelers could use real-time UIs to know precisely when, where, and how they need to get somewhere.
- Analytics: Instead of making important decisions based on state data, stock brokers, executives, and go-to-market teams could use real-time UIs to access data that’s as fresh and accurate as possible.
The above use cases are immediate and obvious, but the potential of real-time UIs extends beyond. Think of Amazon: When the technology giant built a warehousing network and began to offer two-day shipping, other retailers had to race to keep up. The Everything Store not only offered everything but offered a shipping experience that users normalized.
Think, too, of the iPhone: When Apple offered a smartphone with a screen that could accommodate a variety of interfaces, physical buttons almost instantly felt outdated.
The underlying technologies supporting such changes can take decades to mature, but when they’re ready, adoption is often swift –– like an elastic band that slowly stretches but suddenly snaps.
Three technologies that underlie and enable real-time user interfaces
Real-time user interfaces are starting to take off, providing a significant competitive advantage for companies that understand the business value of a true real-time UI. This is because the technologies that enable them weren’t fully matured and able to be integrated until fairly recently. But with the ripening of streaming APIs, stateful microservices, and web agents, real-time UIs are ready for their spotlight moment.
Streaming APIs Streaming APIs are APIs that continuously push information out to recipients without those recipients having to ask for new data. The APIs most people are familiar with, REST APIs, rely on blind polling, after which they pull information in since it’s not automatically pushed to the client as soon as new data is available.
Streaming APIs enable organizations to use their investment in event-driven architecture to great effect. Many companies already have streaming data, but without streaming APIs, companies are losing out on all kinds of information about what has changed.
With streaming APIs, companies can deliver transformed events all the way to the recipient without disrupting the continuous flow of information.
Stateful Microservices Stateful microservices, as opposed to stateless microservices, are microservices that carry their own state in some form in order to function. Stateful microservices provide applications with the ability to act upon the current state of entities –– not in terms of a range of events that must be reconciled but directly from the maintained state.
Stateless microservices aren’t as direct and would have to pull data from multiple sources, such as database tables, and join the data together to form a coherent entity for every request. As we’ve noted before, using stateless microservices for real-time functions would be like connecting fire hoses producing millions of events per second but having to query the state of other events every time you get one of those events.
Web Agents Web agents are distributed objects that manage their own persistent states and stream the results of their internal computations. The abilities of a given web agent range from relatively simple transformation and aggregation functions to more advanced functions, such as complex analytics and machine learning.
Web agents, especially given their ability to be woven together by the million, enable companies to answer questions, inform users, and take autonomous remediating action in real-time. With web agents, applications can process massive amounts of data, both streaming and stationary, to model similarly massive systems.
Real-time user interface use cases demonstrate business value
The best way to understand real-time UIs is to walk through a few use cases and examine how even the edge of this emerging technology presents significant change.
Smart cities Increasingly, cities are digitizing aspects of their infrastructure. As they do so, cities are gathering more and more data –– not all of which gets used. Until real-time UIs, smart city data’s full potential value was undervalued.
Dubai Roads and Transport Authority (RTA) is one organization that understands this potential and is working to realize it. RTA uses Swim to make the movement of freight vehicles across the UAE more efficient. With Swim, RTA can dynamically display all RTA vehicles, in real-time, on a geo-spatial map, which enables vehicle inspectors, operational monitoring teams, and regulators to understand vehicle movements, driver behavior, road conditions, and traffic incidents.
Connected vehicles Vehicles are increasingly resembling computers on wheels. Like smart cities, connected vehicles generate massive amounts of data, but that data often remains underutilized.
Cubic│Trafficware, a company that helps optimize the flow of motorist and pedestrian traffic, uses Swim as its primary real-time data platform to connect and transform large volumes of vehicle data into useful insights. With Swim, Cubic│Trafficware can fuel its real-time traffic information service.
Wireless Networks Wireless networks, when they’re working, feel like magic. When they’re not, customers can become frustrated, and restoring the magic often requires a complex effort from various teams.
To make this web of effort faster and more efficient, a major telecommunications service provider uses Swim. With Swim, this network can offer real-time information to field service crews, IT departments, and customer service representatives so that they can react to customer needs instantaneously.
Toward real-time streaming applications
We’ve reached a curious point in the evolution of streaming data. There’s a gap: Streaming data is close to mass adoption, but streaming applications are nearly absent.
Numerous vendors purport to provide the technology that supports streaming applications, but most of those offerings don’t live up to their stated potential.
Swim is the first (and only) open-source, full-stack platform for building, managing, and operating streaming applications at scale. With Swim, companies can build true real-time streaming applications complete with true real-time UIs.
Interested in trying out this technology for yourself? Get started with SwimOS, an open-source software project for building stateful, real-time applications.