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.

With a single broad stroke Ubuntu 12.10 took the web from being confined in a browser 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 ago.

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.

Feedly integration with the Ubuntu Messaging Menu and Unity Launcher

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

Not that this issue wasn’t insurmountable.

Open-source being what it is a chromeless Firefox mode was quickly developed and proposed for inclusion. 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 recent Google+ comment:

“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 this is a solution that looks far from ideal.

Ubuntu Touch Web Browser Arrives

In Ubuntu 14.04 LTS the parts that made Ubuntu’s Unity Web App features so novel were missing entirely.

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

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 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 (arguably perennially pointless) Amazon web app wasn’t spared, going from  mildly useful (you could right-click to access a quicklist, making it easy to ‘jump’ straight to, say, your orders page, etc) to an unwanted, web-wrapped bookmark in a browser that wasn’t very good at rendering it.

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

Good Ideas Always Return

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

The good news for me, and for anyone else who was a fan of this feature, is that the converged Unity 8 desktop Will likely bring many of these neat integration back.

Ubuntu on phone and tablets makes 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).

The burdens of the past won’t be shouldered, with “…the new web apps used in Unity 8, we’re (mostly) using just the W3C standards, which offer less functionality, but should be more stable.”

However it returns I sincerely hope it does. Mobile has blurred the edges of what “web” is, but it would be great to see Ubuntu offer a first-class integrated experience on the desktop once again.

#Unity #webapps #whatever happened to