Hacker News new | past | comments | ask | show | jobs | submit login
Introducing Ubuntu Web Apps: setting the web free of the browser (canonical.com)
138 points by sciurus on July 19, 2012 | hide | past | favorite | 77 comments

Android was leading the way in this (best sharing between online services etc). This looks like the first other OS to "get it" and push hard to integrate with the cloud. I think in some ways this surpasses Android.

Mean while we have iOS that's just congratulating itself for allowing photo uploads to twitter, meanwhile my Android phone has integration with services I've never even heard of.

And MacOS and Windows... nothing. Stupid silent sitting on the internet.

It's nice to see some real innovation in the Linux camp on the user end front.

I think you're a bit confused, Android doesn't do a very good job of making web apps 1st class citizens at all. Even though I don't use it, iOS does the best job there. When you create a desktop shortcut for an app, it will get an icon that looks just like all other apps' icons, it will launch into a full-screen chromeless browser that you wouldn't know was a browser at all (with a loading image, even). You can also control web apps that play HTML5 audio with the built in music controls from the multitasking pane.

Android has none of those things. I've had hit or miss experience of it even picking a decent resolution icon, and Chrome uses the favicon with an envelope behind it, so it sticks out as a second class citizen (chrome also doesn't go chromeless).

I don't just want to be able to open webapps on my phone with a shortcut, I want real integration. I'm sometimes not connected to the Internet so I like to have my data offline, but I like to be able to get it online quickly. Android does this very well. Share intents, music player integration, it's just a very slick offline to online seamless system.

Rewatch the video, it's more than just a shortcut.

Yeah, I'm referring more iOS. I think the idea of "webapps as a first class citizen" is a bit of a red herring. Web apps will never be first class citizens (especially not on a phone) because they fail simple performance tests. I think what OSs ought to aim for is what Android does, a smooth integration of offline and online modes.

Ubuntu does this somewhat, iOS not really at all (though it is successful in the way you speak of), but I feel there's a combination of the way Adnroid, iOS and Ubuntu are doing this that could hit a sweet spot.

I think you're being short-sighted. There's nothing inheritantly different about mobile that prevents web apps running as well as they do on the desktop. You are aware that on the desktop JavaScript engines like V8 can keep up with any garbage-collected language, right? There are a few reasons why things are progressing slower on mobile, among them:

1) There is very little browser competition on mobile. Users are either unaware of or don't see the benefit to downloading an alternate browser, and as a result the OS vendors have less of an incentive to improve their browser rapidly. On the desktop browsers like Firefox and Chrome release a new version every few weeks, whereas on mobile the OS vendors release once or a twice a year.

2) The JS engines haven't been optimized for ARM as heavily as x86. We'll get there though.

These are very much short-term problems. And despite that, you can write performant mobile web-apps today. If you have an iOS device you should try out the game X-Type: http://www.phoboslab.org/log/2012/06/x-type-making-of which is written by a fellow HNer. It is extremely snappy, even when played without the assistance of Nitro.

I have a couple of responses:

1. Who wants to write complex programs in JS? I mean, it's OK and all, but it's messy when you can be writing native apps. I remember the iPhone being all about the webapps when it came out, but native apps ultimatly won.

2. Internet access is still not widely available. On Sprint, where I am, it sucks. If I'm out in more remote regions (which is part of mine and many others jobs), it's gone. Or if I'm in a tunnel on the train, or an elevator, or in my bathroom at work, etc. Or you're on AT&T, have capped bandwidth, etc.

No, we need apps that have a smooth offline to online transition. Maybe web apps will make it there, but I feel we're far enough away that I still like Android's approach.

I think you might be missing the point. Android does a great job of integrating data from the cloud with the operating system. An example is the Google Music player streams your music from the cloud and integrates the player controls with Android on the lockscreen, in the widget, in the status bar etc. The demo video from Canonical shows this kind of integration with last.fm. Nobody is saying Android or Ubuntu is perfect or whatever but there are similarities to what Android does and what Canonical is doing here.

The point of this (Ubuntu feature) is not that it's integrating proprietary Ubuntu services with the OS (it has already done that, with Ubuntu One), like your example of Google Music, the point is that it is promoting web applications to first-class citizens alongside the native apps. Android fails at this pretty badly.

"web applications to first-class citizens alongside the native apps. Android fails at this pretty badly"

Android isn't "failing" at something that it isn't trying to do. Web apps generally suffer from low performance when trying to do anything moderately complex on a mobile device. If you must use web technology to create apps on Android, there is webView in the sdk for you. Many web apps that have tons of users like Google Maps, Pandora, etc. have native apps that are actually performant, follow UI conventions, and have access to all the APIs.

You're missing what's right in front of you; the fact that web apps suffer from bad performance on Android is a prime example of how it is failing. Perhaps Google doesn't care about web apps, but that would be a huge turnaround from just a few years ago when it was one of the web's biggest proponents.

It's the prime example of how JS and HTML is a failed model for efficient application implementation. It is not an example of Android's failing.

I think it has less to do with this and more to do with them not focusing their efforts on that front. It isn't like their current dev stack is the pinacle of performance either. Give it a few years and I'm sure they'll have native Dart applications which will be just as performant.

I have an iPad and web apps suck on it too. What is your benchmark for good performance? I'm being serious as I'd love to be able to have a legitimate mobile outlet for high performance web applications.

I think the best example of this is Windows 8, which has 2 application environments, .NET and Trident (The IE10 rendering engine). They are, for all intents and purposes, on equal footing with each other, and an end user can't tell which environment an application uses.

In that case, it's no longer standard or portable HTML/JS, no?

The engine that powers it is exactly the same, the difference is additional APIs (that add functionality, not performance). Everyone already agrees that HTML/JS needs more APIs.

OS X had all this in the Dashboard long before... anyone, maybe? There are some pretty amazing Dashboard apps, and quite a lot of them are well integrated with the Internet. They should have called it Floorboard, though, because that's where it seems to be hidden under, and system performance takes a huge hit as soon as you activate the Dashboard and every single app you've loaded into it, even if you only want to use one. If they had made them first class desktop citizens, you'd be praising Apple for this innovation. A nod should probably also go to Opera, which had something similar, but just as crippled in Widgets.

Win7 and IE9 had some integration, not sure if anyone used it but they are trying.


That looks like a copy of chrome's "create application shortcut" and is less than a tiny percentage of what ubuntu is announcing. Am I missing something?

Last time I used it, Chrome's shortcut was just a shortcut and nothing more (which launched into a chromeless browser window). Perhaps that has changed. The Windows 7 stuff integrates more deeply into the OS, so you can pin a site to the taskbar and its icon will appear like any other app, you can create what they call "jump lists" which are available on right click of the taskbar icon, and from those you can visit deep links inside of a web app.

So it's much more than the Chrome thing, but not quite as deep as this Ubuntu announce.

Exactly right and one of the main things I missed about Ubuntu on my desktop over Android on my Xoom was Android's seamless integration of "cloud" data and the operating system. In comparison desktop OSs feel like a collection of silos. I'm very excited about the future of Ubuntu and am beginning to think that Canonical actually do "get it".

What web apps need desperately in order to become true first class citizens is support for keyboard shortcuts across the board.

Doing Alt + <Key> should bring up the appropriate menu in the web app not the web browser.

Doing Ctrl + S should ask the web app to do a save , not ask the browser to save the .html page.

Of course this is all stuff that could be abused by aggressive websites so there needs to be a distinction between apps and pages.

Accessing web application features with Alt + <key> is one of the things this Ubuntu feature is about.

That's one important area; also significant are full-screen interfaces (which is improving), and streamlined payment for apps/services (which is improving, slowly).

Google Docs has both of the shortcuts you mention working correctly and many more so it is definitely possible.

I know this is a prototype, but if each app is going to load in a new Firefox window, with the full chrome, no thanks.

If it opens a new window without the chrome (or at least without the tabs), it might be ok.

Well, most of those webapps will likely navigate/open external websites.

I would love to have a hacker news window by default, so that external links i open there are nicely managed within the hackers news app.

So, the tab bar is a plus, if you ask me. The address bar and the new tab icon, should be removed though. Better yet, the new tab icon, should open he base url, or some other logical url: for gmail it could be a compose windows, for example.

And "mozilla firefox" should not be part of the window title. Other than that, actually hiding the fact its a browser is not really usefull. The tab bar, the menu .. No reason to remove those by default.

But i suspect, these apps are running in their own profile, and it is firefox, so we could always tweak the chrome ourselves.

To be honest if I clicked on a link in a "GMail app" I'd expect it to open a new "full" browser window (or a new tab in an existing browser window). You'd have to be able to distinguish between internal and external links, of course, but the domain name is a workable heuristic.

The ability to open new tabs should probably be configured on an app-by-app basis. Opening tabs of mail is a pretty sensible idea, but a game developer using HTML5 would likely want to prevent that. Ditto the location bar. (I agree that the user should be able to override these settings.)

I would want a external link in the gmail app, to open in a tab in the gmail app.

The internet is everywhere.. I dont want those 50 tabs in one big browser window, nor do i want them in separate windows.

I want them organised based on context. Most of those tabs belong to the initiating application. From a hackers news app, with the chosen articles, to a google docs app, with open documents.

As long as i can pick up a tab, and add it to some other window, that would make the most sense to me.

Gnome 3 opens them chromeless, albeit it doesn't have as deep of integration as this appears to.

Well, for some web apps tabs could make sense. For example, in Gmail I often open multiple messages in tabs when I need to refer to their content at the same time.

My biggest worry is tying the HTML and JS engines too deeply into the desktop and end up with drive-by exploits that can do more than a browser would ordinarily be able to do.

I think this is a valid concern, but as JS engines start implementing more and more of the rich web client working drafts like FileAPI (http://www.w3.org/TR/FileAPI/), those same concerns will be valid for your browser too. I can only imagine that developers of desktop platforms like this are aware of these drafts too and are planning to utilize as much as they can of the functionality provided.

As with most security, our best hope lies in open implementations which can be audited for such problems, with consideration being drawn in during design and implementation stages from security experts. Hopefully some lessons were learned from the ActiveX desktop days!

I like the idea of assigning permissions to applications. Then if browser B runs under user U, its effective permissions would be the intersection of what both B and U are allowed to do. I don't see why Firefox should be able to write anything outside ~/.mozilla/firefox and ~/Downloads

These type of restrictions are exactly what Linux's AppArmor (as well as SELinux, etc) do.

I'm not sure what profile Firefox runs under, but what you suggested would be quite reasonable, though maybe not as default -- You probably want to be able to "save as" to an arbitrary directory, and open files for upload from anywhere too. Though since both of those involve a user dialog, that could easily be a secondary application with its own profile that uses IPC/shared memory/something to pass data to the browser. Smaller target attack area.

Agreed. They mention security once. Not enough.

Odds of me using this over the hardened Chrome/ium are pretty slim.

Having said that, as a long-time Ubuntu user, kudos to them for doing something new and interesting.

* Odds of me using this over the hardened Chrome/ium are pretty slim.

What are you saying here? This isn't a new browser, rather a plugin on the browsers. You still use Firefox or Chromium.

Ah, looked more like a native app using the browser rendering engine or something. Will take a closer look later when I upgrade to 12.10.

This is awesome by ubuntu.

But its incredibly frustrating that it has taken this long for browser vendors and/or operating systems to push the possibility for webapps as first class desktop apps. (not really counting air)

Firefox is starting to introduce this functionality at last, I imagine chrome have similiar functionality coming (this used to work on linux!)

Prism was nice when it existed, and fluid I used to use from time to time but there was just too many hassles with it not being mainstream

Currently I can only see these as yet another way to lose a little bit of your privacy. But I'm also a debian kind of guy so... :P

Only if you use these services. They are offering integration with them, far from forcing you to use them. And if you were already using them these features are an amazing boon and don't affect your privacy at all.

Using cloud based apps may affect your privacy but that is independent of this.

"Using cloud based apps may affect your privacy but that is independent of this." Yes, you're probably right. But will ubuntu be developing code for specific apps like gmail and twitter or will that be codded by the web app developers? If it's the former than you'll probably not have many choices.

Regardless of who writes the code, as you can clearly see the browser prompts you to allow integration for each service that has it. If you don't want desktop integration, don't click yes.

what? how does this impact privacy in any way?

every time you turn on the computer it will log you in. So there's info sent to the server... As time goes by I'm pretty sure these service providers will find more ways to get more info from you and more useful ways to analyze that data. I know my view on the matter is pretty extreme, but I can't feel comfortable not knowing exactly what is being done with my data.

You can install a preview version of this Web Apps already the current Ubuntu 12.04 :


A smooth user experience on Unity is needed in order to ensure the well functioning of the web apps and browsers together.

Encapsulating the browser process, is what usually kills web widget performance, and I end up going back to the browser..

Sort of unrelated, but it was my first thought: I sort of wish there was a cross platform store for wrapped web apps that could make them look sort of native-ish, that was widely adopted.

Not because this is actually something I want or think would be better than a browser, but simply because seems to be significantly easier to get users to pay for something that behaves like a native app, ie, turns up on their dock. I have a theory if you wrapped a web view and put it on the mac app store, the average user (ie one who has no idea what web view means) would pay more for it than the same product in a browser.

It would be great to be able to easily and privately install the server part of the webapp. My hope by seeing the title is that canonical would have come with a system to do that.

Isn't this a throwback to the Windows Active Desktop? Windows actually had led the way to integrate webapp/webpage with the OS, but everyone hated it back then.

Although they get a bad wrap, MS has likely been too early on many things. Things they got right: Commodity hardware, office, and directx. Active desktop put those things behind the icons of their applications making the desktop area dual purpose and thus confusing or distracting.

Given the state of HTML, the newbies inability to write proper HTML, and early browsing technology and you have a recipe for instability and system crashes.

They were too early technology wise, and also because they couldn't see entire application experiences being delivered that way.

I don't think this is like Active Desktop. It's not about rendering the desktop with a browser engine, but allowing the desktop apps to interact more completely with thin envelopes around browser engines that run HTML-based applications.

This is something that might highlight the serious deficiencies of the current HTTP model and drive discussion of HTTP/2.0 with real examples.

So... aside from the HUD integration, which is cool, what's the difference between what they've made and having multiple browser windows open?

It seems they managed to integrate the desktop controls with the web apps - you get unread message counts from Gmail on the messages menu and can control Last.fm from the sound indicator (and, presumably, from its kebyboard bindings). I imagine Google Calendar reminders are included.

I assume that one major difference is that the web apps are treated as separate applications from the main browser, so they get put in their own icon on the Unity side bar, which gives them their own keyboard shortcuts and the ability to pull up just the windows related to a single webapp. For example, maybe Super+5 would be the shortcut to either activate your existing Twitter webapp window or open it if it isn't already running, regardless of whether your regular browser happens to be running or not at the time.

If you just had multiple browser windows open, they would all be together on the Firefox (or Chrome) icon and it would be difficult to distinguish them. The important part is that the name of the executable associated with a window (i.e. firefox/chrome) is no longer synonymous with the identity of the application running in it (i.e. Twitter, Gmail, Facebook, etc.).

I hate to nitpick, but that choice of background music strikes me as rather.. poor.

This can already be installed in Ubuntu 12.04 or 12.10: http://www.webupd8.org/2012/07/install-new-ubuntu-webapps-te...

I don't care, I only use web based applications in the few cases I am forced to do so.

For me, the control over my data, operating system integration, taking advantage of my hardware will win every day over dumb web applications.

You're probably in the minority. My usage of desktop software has been dropping dramatically over the years. I'm basically left with 5 or 6 apps, including a browser, a file picker, a code editor, and a command prompt. The more powerful the web/internet apps become the more the desktop gets sidelined, and any reason to Ubuntu over any other desktop becomes a pretty moot point.

I'm used to it, Linux was also a minority for many years.

It's not a new idea, but I think it is finally the idea's time. There was Prism, and there's FluidApp for OS X. There was also MS's active desktop as others have pointed out.

How is it different than Prism and the likes?

Examples they provide are

"Launch online music site Last.FM directly from the Dash and control the music from Ubuntu’s sound menu

Access and launch your social media accounts (Google+, Twitter, Facebook) from the Launcher, and get native desktop notifications

Quickly and seamlessly upload photos to Facebook from Shotwell

Pause and play the video you are watching on Youtube

See how many unread messages you have in your GMail account, in Ubuntu’s messaging indicator"

The OS needs to provide machine power to trusted installed web apps.

i.e. raw UDP, TCP, POSIX, device APIs.

This is great! Does all of this stuff work with Chrome?

Not currently, there are extensions for Chromium and Firefox but it doesn't appear to work in Chrome yet.

I think the whole point of this is not to use the browser.

But it seems to be mostly just links to web sites, that open in a browser.

If ubuntu 12.04 is any indication, I personally wouldn't go near it again ever.

Uh, desktop web shortcuts? Didn't I have this in Windows 98 and IE 5?

Watch more than the first 15 seconds of the video.

Honestly, I'm not really impressed. The demo of Shotwell was the only thing that seemed to be more than a link to a web app, and even then, it just looked like a normal app.

I was thinking glorified bookmarks at the beginning too, but then I saw how it integrated the last.fm controls into the media widget in the panel. I am also currently using the Online Accounts functionality in Gnome, and it is pretty cool how it will automatically use the credentials from each account I specify in applications which support it.

My main use case is my multiple Google accounts (work, uni, personal) and their respective calendars. I just fire up evolution, it automatically connects to Google and the calendar widget in the panel populates with my events. Its just a shame that only evolution does this, and Thunderbird does not seem to integrate with it.

This is pretty similar to Android, how you specify your online accounts, and it is up to individual applications to make use of those credentials if they please. There just seems to be much more usage of this in Android than in Gnome.

Gmail and Google+ came up under the communications menu, and last.fm was integrated with the sound menu. App menus and features seem to be available from the HUD. Seems pretty well integrated to me.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact