What are converged apps?

Roland Taylor's Gravatar

Roland Taylor
published Aug. 7, 2014, 9:02 a.m.

Converge: (of several people or things) come together from different directions so as eventually to meet.
Source: Google.

With the arrival of Ubuntu Touch and the Ubuntu SDK, there has been a lot of talk about so-called "Converged Apps". But just what are they?

One App - Many Faces

A "Converged App" is simply an application that can run on various form factors, and adapt to suit. For example, on a phone, the application may appear as a simple menu, and use distinct pages or tabs to group and seperate actions, whereas on the tablet, it can expand to use the available space more effeciently and offer more options or features. On the desktop, the same application may go even further, offering features such as a standard menu and toolbar(s), quicklists, etc.

There are few such applications in existence today, and most of those that exist are only adapted to the phone and tablet. One of the reasons why there are so few converged applications, is that most cross-form factor applications are also cross-platform, and as such, use different toolkits or different binaries for the different hardware on which they operate.

Ubuntu Can change this.

The beauty of Ubuntu Touch (as it is meant to be) is that it is one operating system for multiple form factors, and as such, its applications can adapt to suit. The challenge is, as it stands - the desktop version has yet to manifest (in the form of Unity 8 for the desktop). This means that there are only two form factors that can be demonstrated: phone and tablet. Having Unity 8 on the desktop will open up a new avenue for mobile developers, as they can now produce rich applications for the desktop with the same knowledge employed on the phone or tablet.

What are they made of?

Most converged applications (for Ubuntu) are built with Qt's QML, using the Ubuntu SDK. It is also possible to build converged applications using HTML5. I have not found any indication that the same is (or will be) possible with GTK+, though I have no doubt that this may become possible in the near future.

Can I use converged apps today?

Yes and no. If you are adventurous, you can install a few of the (in progress!!!) Ubuntu Touch applications on your desktop, but I won't mention how to do that in this article. However, most of them are as yet under-developed, and not that well adapted to the desktop form factor.

As a developer however, you can install the Ubuntu SDK and get to playing with it. Maybe you can create your own converged applications. You can create Ubuntu styled HTML5 applications by following the guides here: http://developer.ubuntu.com/apps/html-5/.

Another option is to use an HTML5 front-end framework (such as Bootstrap or Foundation), along with a backend platform such as Node.js, as has been done with applications such as Springseed and Nitro.

The one big problem:

Converged applications are not for everyone. I can tell you straight up that some of them will not cut it for me. While it is possible to pack a large featureset into just about anything with enough elbow grease, the fact remains that most developers will not be producing a converged version of GIMP or Skrooge, for instance. Ubuntu will have to feature of blend of old and new in this regard, in order to stay both relevant, and on top of the "game" - going forward.

What are your thoughts on converged applications? Let me know in the comments. I usually reply!