Building omnichannel applications

by Andrea Maioli on 06/19/2015

Last week we saw how today’s world is demanding that we create a new type of application, with a refined user experience that can run on all the various channels that are now available, from smartphones to desktops. Applications that live in a cloud, but also function offline. Applications with advanced social features that automatically collect usage data from users.

But which technologies, languages, and tools will allows us to do all this? When we started to answer this question, we realized that there are three obstacles to be overcome:

  1. The “server” technologies don’t allow us to create applications that can also function offline in mobile devices working from the same codebase.
  2. The basic mechanisms of communication between browsers and servers (http protocol) are too slow and synchronous with browser requests.
  3. There isn’t a practical system for creating HTML front-ends with performance good enough to offer a user experience comparable to the native mobile experience.

The answer to the first two obstacles lies in latest-generation web technologies: NodeJS makes it possible to create high-performance server applications based on JavaScript, while WebSocket is a communications standard that makes it possible to use two channels that are always open, bidirectional, and asynchronous with low transfer times.

However, without a solution to the third obstacle, they can’t be applied practically to the omnichannel applications we spoke about. That’s why we’ve developed a new page description and handling technology called RemoteDOM, with features that are definitely interesting:

  1. It allows you to develop server-based applications, in which the front-end and back-end layer are connected directly in memory to guarantee performance and security.
  2. It uses the same approaches as certain online video game platforms to create attractive, animated, and above all super-fast applications.
  3. It allows you reuse the best JavaScript widgets on the Internet and responsive techniques for interfaces that are suited to various form factors.
  4. It solves the problem of the callback hell familiar to anyone who works with the asynchronous world of NodeJS, providing access today to technologies that will only be available in a few years from now in the future versions of JavaScript.
  5. It allows you to build applications that work both online and offline, from the same codebase, and which also work in mobile devices thanks to a Cordova container.
  6. It includes advanced operating modes, like application telecollaboration, analytic data collection, and automatic testing.

Would you like to see an example? Check out Photo, which simulates a contact list of nearly 6000 names, working from a list of public photos collected from the web. You only find a user experience like this in the very best native applications!

Now I’ll hand the keyboard over to Giovanni Foschini, and next week we’ll explain how these technologies have been integrated into the world of Instant Developer.

{ 1 trackback }

After the how, the when | Pro Gamma's blog
07/03/2015 at 4:36 PM

{ 2 comments… read them below or add one }

1 John Talbott 06/19/2015 at 5:38 PM

This is very exciting stuff. What is the estimated timeline for these technologies to be integrated into In.De?

2 Andrea Maioli 06/20/2015 at 6:55 AM

Hi John, thanks for your interest. In a couple of week we will release a roadmap.

Leave a Comment

Previous post:

Next post: