Micro Focus is now part of OpenText. Learn more >

You are here

You are here

How to tap into new architectures for real-time mobile experiences

public://webform/writeforus/profile-pictures/alexander_stigsen_img_5925_2.jpg
Alexander Stigsen Co-founder and CEO, Realm
Playing smartphone
 

The world has moved from PCs and the web to smartphones and mobile applications, and whether you're developing apps for businesses or consumers, the bar has never been higher to provide a thoroughly interactive experience.

Mobile applications must drive user engagement, and keep them coming back to the app. For consumers, that can be through real-time social features, like chat, video and photo sharing; and for businesses, through live collaboration, document editing, and data sharing. For any audience, mobile apps must be accessible and usable online or offline, and that offline experience must be seamless.

However, delivering this live experience isn’t trivial. Many developers previously worked on websites or web apps, and they bring those patterns to mobile apps, coding REST APIs to handle this work. But there are fundamental aspects of mobile development for which this approach doesn’t easily account.  

 

Here is a rundown on the problems, and a look at hopeful new architectures that can make real-time mobile experiences a reality.

The mobile universe is expansive

First, multiple platforms like iOS and the many flavors of Android devices add to the complexity of development, and require different skill sets. Second, companies must build apps that can deliver great user experiences in less than perfect environments in which signals drop unexpectedly, users lose network connections, or apps shut down at any time due to the OS trying to conserve resources or the device running out of battery power.

Developers must be able to account for these disruptions to create successful offline interactions that are as close to an online experience as possible. A degraded offline experience can drive away customers, disrupt employee productivity or lose business-critical data.

Developers and businesses look at these complex problems, and it scares many of them away from creating a truly interactive experience. When they do attempt to tackle these issues, they must hire and retain the best developers, spend huge sums of money, and take an inordinate amount of time to release the apps, which are incredibly complex and built from the ground up.

Until recently, these choices were only available to a few companies with deep pockets, and extremely talented development teams. But there are now ways to build such apps efficiently and affordably, allowing companies of any size to deliver a live, on or offline, seamless experience across multiple devices and platforms.

New architectures stack up

New approaches provide an architecture and technology stack that reaches from the device to the server to deliver live data synchronization between servers, devices and users. What does that look like?

First, you must have a real, enterprise-strength database on the mobile device itself/ That gives developers a solution to handle the data on the device directly. This solves that first step of the offline problem, allowing the user and app to interact with the data, regardless of network connection issues.

But that doesn’t solve  the problem of keeping data updated across devices and platforms, and across servers. Some companies with time, talent, and money can build this from the ground up with their own REST APIs to handle that communication. For everyone else, there are other, off-the-shelf solutions that use live objects across the mobile database and server, automatically updating apps in response to changes at any source. If communication is lost, then once it is re-established, updates will occur seamlessly.

In this architecture, data is stored on the device database, and a lightweight platform layer sits on the server. When the user updates data on the device, the local database and server-side layer work as one to handle network complexities, resolving conflicts in real time, before writing the updates to the server-side database and out to multiple devices.

Finally, to limit the complexity and expense of building and deploying to multiple platforms, it makes the most sense to build a base model of the application, while sharing the same data model. This ultimately allows for faster development, cross-platform deployment and the same live capabilities, no matter the platform. Alternately, companies can build an app in Xamarin or React Native, and cross-compile it to both platforms. While more limited in its functionality, this can be an affordable alternative.

Real-time sync gets real

Today’s mobile apps must draw in users by providing interactive capabilities, including the capacity to share data, edit, and collaborate as if users were face to face, regardless of network connections.

With new off-the-shelf technology stacks available, companies have a choice of products that deliver live synchronization between devices, users and servers. Providing a truly interactive mobile app experience, on or offline, is now possible for any company in any industry.

 

Keep learning

Read more articles about: App Dev & TestingApp Dev