unity web app integration prompt
A Unity Web App Integration Prompt

Am I the only person who misses Unity web apps?

The feature debuted in the Ubuntu 12.10 release and was, in my opinion, far ahead of its time.

In a single broad stroke Ubuntu 12.10 took the web from being something confined to a browser window to an integral part of the Linux desktop.

Ubuntu made the web a first-class citizen on the desktop. Websites and web services were able to seamlessly blend into the desktop experience in a way that was truly innovative at the time, and arguably still is.

Take, for example, desktop notifications from websites.

Apple Mac OS X added support for web push notifications, but only several years after Ubuntu permitted websites to send notifications to the desktop. It took Microsoft even longer to catch up.

three examples of unity web app integration
Three examples: Launcher, HUD and Sound Menu Integration

Web-push support is also a recent addition to Google Chrome for Android, Windows, Mac, Linux and Chrome OS. WhatsApp and Facebook are among the first services supporting it.

But Ubuntu was doing all this, and much more besides, on the desktop, off its own bat, several years before.

Unity Web apps could integrate with various Ubuntu desktop features including, but not limited to:

  • Messaging Menu
  • Unity Launcher (e.g., showing unread count)
  • Sound Menu
  • HUD
  • Desktop notifications

I could glance at my Gmail unread count in the Ubuntu messaging menu; find a Feedly icon in the Unity launcher; sift through subreddits straight from the HUD; and be kept abreast of breaking news alerts through native desktop notifications.

A feature that was all shades of awesome. Plenty of websites worked with it. It blurred the lines between desktop and web.

And then it broke.

Why Did Ubuntu Ditch Unity Web Apps?

‘Ubuntu made a huge leap in pioneering the integrated web — but then took a step backwards’

The short answer is Ubuntu didn’t drop Unity web apps per se, it just changed the way they worked.

There are a few reasons for this but all of them boil down to the burden of maintenance.

Canonical’s David Barth explains in a bug report filed in 2014 how the implementation was causing issues because it relied on Firefox and Chromium extensions:

“Our initial approach at using an extension to implement [web app integration] proved to be problematic.”

It also helps to remember the context of the period: Mozilla Firefox was looking to block unsigned addons (the unity-webapp-addon was side loaded) and Chromium was to follow suit by limiting extension installs to only those from Chrome Web Store (unless in developer mode).

Of note, the unity-addon packages were retroactively purged from Ubuntu 14.04 LTS in 2015.

unity-web-app-feedly
Feedly integration with the Ubuntu Messaging Menu and Unity Launcher

It was also argued that the user experience was far from ideal. Users, developers argued, preferred their installed web-apps to open in separate windows and not a new browser tab, as Firefox was (then) limited to.

Not that this issue wasn’t surmountable.

Open-source being what it is a chromeless Firefox mode was quickly developed and proposed for inclusion.

But Ubuntu’s developers declined to merge the patch saying at the time that they didn’t wish to add “…any further craziness on top of the other million changes we’re making”.

‘The biggest drawback was the way in which the feature worked’

Again with the burden of maintenance.

But perhaps the biggest drawback was the way in which the feature worked. It relied on creating a layer between third-party websites, as Canonical’s Michael Hall explained in a (no longer public) Google+ comment of the time:

“The problem with [the old version of Unity webapps] was that we were injecting code into websites to make it work, and if those websites changed anything about themselves it could break our injected scripts.”

This feature made use of Greasemonkey and Userscripts to scrape and pass on “unread counts” and the like.

In an age where we’re all supremely privacy conscious (and rightly so) the idea of having a third-party in play is simply not ideal.

Ubuntu Touch Web Browser Arrives

When Ubuntu 14.04 LTS arrived the key parts that made Ubuntu’s Unity Web App features possible were missing entirely.

Sure, you could still install web-apps through the Ubuntu Software Center but these apps now offered zero system integration, unless you count adding an app launcher to the Dash something to shout about.

Ubuntu Touch Web Browser
Ubuntu 14.04 LTS switched to the Ubuntu Touch web browser

Further still, web apps switched from opening in the full-fat Firefox to the slimmed down Chromium-based browser Ubuntu “web browser” (the same app as found on the Ubuntu phone).

Although promised, the Ubuntu Web Browser app never received any of the Unity desktop integration that the (supposedly less desirable) Firefox/Chromium experience allowed.

Even the (perennially pointless) Amazon web app wasn’t spared, going from  mildly useful thing (you could right-click to access a quicklist, making it easy to ‘jump’ straight to, say, your orders page, etc) to unwanted, web-wrapped bookmark in a browser that wasn’t even very good at rendering it!

Ubuntu made a huge leap forward in pioneering an integrated web app experience on the desktop, but it took a notable step back when it put the web back in its box.

Good Ideas Always Return

ubuntu touch animation right edge
Unity 8 might see the features live again

For a short while it looked like the converged Unity 8 desktop Canonical was planning to built would bring many of these neat integration back.

Ubuntu on phone and tablets made heavy use of HTML5 and web technologies for many of its apps (e.g., Facebook, Twitter, pretty much 90% of the apps in the Store).

Alas, it wasn’t to be. Ubuntu Phone, Unity 8 and other related work was cancelled in one swoop, in one evening, in 2017.

And with web standards around push notifications, software integration, and hardware access, the component parts are still there, and other companies, like Google, are testing the waters on integration.

Mobile blurred the edges of what “web” is, so it would be great to see Ubuntu offer a first-class integrated experience on the desktop once again.

Editorial
#Do You Remember #Unity #webapps