Introducing Native Mobile Apps for eXo Platform

eXo Platform Blog
Mobile apps

We recently announced our Cloud Strategy:

  • A new version of our enterprise software offering (eXo Platform 3.5) that will allow enterprises or cloud service providers to build private or public cloud portals at an unbeatable cost.
  • A set of free online services for developers to facilitate social coding in the Cloud (eXo Cloud IDE) before deploying their apps to Platform as a Service offerings.

Today I would like to add a new dimension to our enterprise eXo Platform vision by introducing our mobile strategy.

The Cloud and Mobile are two huge trends that completely change the way we produce, store and consume digital information. Data now lives in the Cloud and is accessed by many different devices, from PCs, smartphones, to tablets.

In the consumer world, people now store their documents, images and videos via cloud services; they can edit online and share this content with friends in social networks. This information is not only available from different devices, it is also consumed with dedicated user experience, which factors in the size screen as well as the multi touch capabilities.

The eXo vision described in the next picture is simple: we want to bring that consumer experience to the enterprise, by delivering an integrated, secure and multi channel platform that leverages existing IT investments.

This picture explains how eXo acts as a bridge between the existing IT system and end users.
This picture explains how eXo acts as a bridge between the existing IT system and end users.

First, eXo integrates with the IT system:

  • eXo Platform is able to consume data and information leveraging traditional Java middleware as well as content directories. Standard protocols and libraries are supported, so eXo can integrate with a large set of existing systems.
  • eXo Platform is able to easily consume web services and REST APIs that are now available in modern applications deployed in an enterprise private cloud.

The next step in is to be able to consume this data, reorganize and expose it to different channels:

  • Third-party apps: eXo Platform allows developers to easily mashup the information from the IT system and to expose it as a set of dynamically built REST APIs available in a secure way. This mashup API can also be built on top of online services like the one from Google or Salesforce. The embedded web IDE is a key part of this, as it allows dynamic creation of such APIs without any need to install a new library or to restart the server (which is critical in a multi tenant architecture).
  • Third-party portals: consumption of APIs is great, but sometimes it is simpler and faster to directly offer a set of UI components that already use those REST services. eXo Platform can be used as an OpenSocial Gadgets container or as a Netvibes widgets directory. In other words, one can remotely import gadgets into an iGoogle dashboard, or in any application that supports the OpenSocial specification. Once again, those gadgets and widgets can be created online with our web-based IDE.
  • eXo Platform – the UXP: eXo Platform started as a pure player in the portal world. While it of course still support portlets, it can also consume previously-created OpenSocial Gadgets. The use cases are diverse; it can be either for a social intranet, or as part of web content when the platform is used as a customer-facing extranet (which mixes transactional applications with some corporate content such as a product catalog). The channel is the classic one, as it simply uses a browser on a PC or laptop.
  • eXo Platform native mobile apps: eXo Platform now has a set of complementary applications for mobile devices (iOS and Android) that can consume those APIs and Gadgets.

The Enterprise Mobile Portal Concept

Using the Safari browser in an iPhone or an iPad to browse dashboards from your social intranet is clearly not the optimal user experience, but there are scenarios when you might want to build a mobile-friendly site. eXo Platform, with its web IDE and a wide range of native APIs, allows developers to rapidly create touch-compatible HTML5 apps, as shown in this video demo.

But we wanted to create a user experience that was truly optimized for the way we interact with mobile devices – so users can access the same information and applications from multiple devices, all in an integrated and secure way that suits enterprise needs. Usual portal features, such as personalization or single sign-on, could be coupled with a touch-based user experience, thereby defining a new type of portals: the mobile portal.

To realize this Enterprise Mobile Portal concept, we created 3 native applications, for the iPhone, iPad and Android. These apps are now available on the Apple App Store as well as the Android Market Store and extend eXo Platform 3.0.

Mobile apps for eXo Platform offer users a native OS application experience (adapted to the screen size of the device), serving as an entry-point to the data and apps available in your eXo-based private or public cloud portal. The platform allows developers to build Gadgets and make them available to users in customizable Dashboards; now these gadgets and dashboards can also be dynamically available in mobile devices.

Many features found in eXo Platform are available in our mobile apps, but the way they are presented has been adapted to the device:

  • Native apps: eXo mobile apps can be installed in the same familiar app store you’re already using. Then, they connect to the eXo Platform 3 server where you’re running your intranet or site.

  • Authentication:to login, users enter their credentials (the same username and password used in their eXo-based intranet), plus the URL of the eXo Platform 3 server.

  • Enterprise Mobile Portal Home: the homepage on each device has two sections. The application section includes native eXo Platform features like instant messaging and document management, while the Dashboard area provides access to the portal gadgets that your admin has made available to you.

  • Dashboards: this is where the magic happens, as any Gadget developed online with the web IDE and added to a user Dashboard is automatically pushed to the mobile device. This allows a dynamic, unified view adapted to your mobile device – but also the secure distribution of enterprise applications to different devices!

  • Document Management: eXo Platform 3 includes a powerful Document Management system that allows to store, share, edit, version, lock and distribute documents such as PDF, Office, image or video files. Our Enterprise Mobile Portal provides access to this doc repository, and uses native OS viewers such as the PDF viewer on your device. If your device has a camera, you can take a picture and automatically upload it to the eXo server. I use this feature myself, to share pictures in eXo social intranet (we will support the iPad 2 camera soon).

  • Instant Messaging: eXo Platform 3 includes a XMPP server and web client (this is useful if the platform is used as a social intranet).

What’s Next?

The mobile apps available today were first tested on our own intranet (that explains the version number which is 1.1.1), so they interact well with eXo Platform 3.0 servers. We’re also testing them on the upcoming eXo Platform 3.5 expected later this year.

We are already working on the version 2.0 of these apps, which will include additional social components. The team dedicated to mobile apps has grown, with experienced developers who helped develop the following apps:

You can expect a lot of cool new stuff from us for the launch of eXo Platform 3.5 in September. And who knows, we may one day offer some mobile apps for our free online services such as eXo Cloud IDE…

Related Posts

I'm Chief Executive Officer of eXo (The Open Source Digital workplace), a company I founded just out of university to serve its first customer, the U.S. Department of Defense. I'm also board Member at, an association of software vendors that provides its members with employee recognition software.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>