Instant Desktop Environment

ITOP (Instant Desktop Environment) is an open standard that provides users with a familiar desktop environment over the Web, where they can load Apps, access data and services, and interact with other users in real-time.

With the advent of mobile native apps, while users have gained with the new forms of interaction, at the same time they have lost with the closed nature of App Stores, which contrasts with the freedom offered by the open Web.

The key concept behind the Webtop is the appLink. The appLink is a mechanism that allows a complete and interactive application to be loaded in the Webtop. This App may communicate with the Webtop, the WebOS, and even with other Apps in a secure way. Apps may be discovered and shared via ISS/IM, offering an interesting alternative to centralized App stores. With the help of the WebOS, Apps may gain life and travel through the social network in a peer-to-peer fashion.

Architecture

The service oriented architecture proposed by IOS and ITOP not only allows users to access multiple WebOS from a single Webtop, but it also allows users to access a single WebOS from multiple Webtops. What this means is that users can, for example, interact from a more traditional user interface orfrom a user interface that was specially designed to be accessed from mobile phones and tablets with touchscreen support.

Much like a typical Desktop Environment, one important feature of the Webtop is multitasking. Users may open multiple tasks simultaneosly. They may save sessions that store the state of these tasks for later retrieval, and they may even share a session with a friend in real-time.

Each task is the equivalent of an open tab in a browser, where a website or an App is loaded. For security reasons, websites are loaded in an iframe. An ITOP App might just simply be a list of available services, or a complete and interactive Web application. ITOP Apps are easy to build because they ollow a common structure composed of four frames. These frames are: List, Form, App, and Social.

The figure below shows a Webtop and an ITOP App with all four frames displayed. These frames show and hide depending on the service called. They may be expanded into full screen or appear isolated on mobile devices.

A brief description of each frame follows:

  • List: provides a list or a grid of data and services. Selecting one or more item may trigger an action like a call to a WebOS;
  • Form: displays structured data or a form for creating/editing;
  • App: loads images, videos, graphs, flash animations, java applets, conventional websites, or self-contained Web Apps;
  • Social: provides chat/audio/video and allows users to share the task window with contacts for collaboration.

It's important to highlight that the objective of these frames is to create a minimum common user interface that provides good interoperability and functionality. The objective is not to limit the imagination of developers when creating innovative user interfaces. For more advanced cases, the App frame gives these developers full control over the interface.

Use Case

In our use case scenario, the user is using a Webtop which was specially designed for mobile devices.

He logs into his WebOS and loads the ISS/IM App. This App calls a service which tells the WebOS to alert the Webtop when new ISS/IM entries are available.

The ISS/IM App receives a list of the latest ISS/IM entries. This list in JSON contains title, author, date, and summary, among other data. It populates the List frame.

The user taps on the title of the first unread entry, which triggers a call to the Content service provided by the WebOS. This returns a complete ISS/IM entry which is loaded in the Form frame.

The user reads all unread entries, sometimes accessing the toolbar to syndicate the entries he likes,sometimes accessing the frames bar to switch between the Form and the List, and sometimes accessing the navigation bar to go back and forth. Access to the toolbar, frames bar, navigation bar, and taskbar is done by swipping the edges of the screen.

After reading all entries, the user swipes up the bottom part of the screen, revealing the taskbar. He opens a new task and loads a conventional website. This website appears in the App frame. For security reasons, this website is loaded in an iframe.

After a few minutes, the Webtop receives a notification from the WebOS that a new ISS/IM entry is available. The user navigates back to the ISS/IM App and opens the new entry.

This entry has a self-contained Web App that loads in the App frame. This App, which may contain HTML, Media, JavaScript and CSS, travels in a peer-to-peer fashion accross different WebOS. At each WebOS, it gets decompressed to a special directory configured to not execute scripts for security reasons. The user loads the Web app from a special subdomain of his WebOS (also for security reasons).

He likes the entry, and swippes down the top part of the screen to reveal the toolbar, from where he can syndicate the entry. From the syndicate tagCloud, he keeps the original tag and adds the Apps tag, which he uses to save his favorite Apps.

He opens this App in a separate task window and loads the Social frame. He sees that the friend that recommended this App is online. He chats with her and they start exploring this new App together.

Final Remarks

The Web user interface has been a major success in the last years, thanks to its openness (where the source code is readable by anyone) and to its interoperability (making it accessible accross different browsers and operating systems).

However, with the advent of mobile native Apps, the Web user interface has lost some important ground and is now playing catch-up in terms of capabilities.

The current native Apps eco-system is worrisome because it's closed and broken. Closed because at one end we have Apple and its App store, and at the other we have Google and its App store, each one acting as a gatekeeper to their own services. Broken because Apps that run in one platform often can't run in another. Despite this, they are dictating the future of mobile, leaving little room for the open Web.

However, the push for new standards such as HTML5 gives hope that the open Web will continue to thrive in the desktop and conquer new space in mobile.

The ITOP standard adds to this effort by offering a mechanism called appLink, which allows self-contained Apps to be loaded securely in a Webtop. High quality Apps may be shared in a bottom-up manner and distributed in a peer-to-peer fashion, thus challenging the centralized top-down App stores that currently dominate the mobile landscape.