Web App Integration In Ubuntu

Mark just presented some interesting new technology at OSCON, both using Juju to redeploy between different clouds with just a few commands, and integration of Web Apps into the Ubuntu desktop.

I wanted to follow up with some details of the latter. Firstly, you can see this in action in the following video:

Can’t see it? See it here.

A few notes:

  • This technology will be available for 12.10 soon as well as available for our 12.04 LTS users in a PPA. Naturally this will all be Open Source.
  • The team working on the Web Apps code have already built support for a range of the most common apps (e.g. GMail, Last.fm, Google Docs).
  • This is a technology that our community can contribute to to add further support for different types of web apps. As an example, there are many more localized social networks in different parts of the world, and our LoCo teams can contribute support for those apps. More details of how to participate will be coming soon.
  • Integration of web apps can utilize pretty much any part of the Unity desktop (e.g. HUD, Indicators, Menus, Quicklists, Launcher, Alt-Tab) to feel truly integrated.
  • Adding support doesn’t require convincing the web app provider to support Ubuntu, we can build support without modifying the core web service at all (although a web service provider can add support for Ubuntu if they like). More details of this will be coming soon.

I have been using this technology recently and if you use web apps, it is awesome. Feel free to ask questions in the comments.

  • http://twitter.com/Nickedynick Nick Stringer

    I notice that Firefox is used in the video to handle web apps. Will the system launch/run apps in whatever browser happens to be their default, or is it Firefox specific at the moment?

    Edit: I should also say, this looks amazing!

  • http://www.facebook.com/dominic.blakey Dominic Blakey

    I hope they include support for Windows Live (or Microsoft Accounts in the future). I would love to be able to use Windows Live SkyDrive and Calendar.

  • Sid Payton

    Canonical should also publish several tutorials on how we (the average user without much coding skill) can help to make websites of their interest more integrated with this new feature into unity. As I understand the pop-up window that offers this service in firefox and chromium only appear on sites that are allready taken care of.

  • Greg

     It says on OMGUbuntu that it works with both Firefox and Chromium

  • Vishnu Padmanabhan

    Canonical is doing so much for the whole community, now is the time to get everyone to be a developer, we all can help, just spread what we learn in the form of tutorials to stir interest and get everyone involve. One world – Free world!

  • http://www.iheartubuntu.com iheartubuntu.com

    you can also install “main menu” in ubuntu 12.04 and create a new “application” and for the command use “firefox http://www.gmail.com/” and additionally you’ll need to pick whatever icon you would like as well. then just search for it in unity and pin it to your unity launcher. for creating an audio stream it works much the same way. instead of using firefox you would type in “totem http://abcde.com/audiolink.pls” or to run an audio stream in vlc use a command “vlc http://abcde.com/audiolink.pls“. so if these new web apps cant do real time badges showing mails in inbox or whatever i guess i dont understand the need.

  • http://www.dylanmccall.com/ dylan-m

    This looks glorious. Especially the Online Accounts stuff. It’s great to see that moving ahead.

    Does it help with authentication in the browser if you’ve already registered in Online Accounts, or does it just go the other way for now?

    Also, I notice this opens a full browser window for each web app. (With an address bar and a tab bar). How does this work if you, for example, drag your Last.FM web app to the same window as the Gmail app? Or if you type something new into the address bar? Will you still have the two separate items in the launcher?

  • http://www.dylanmccall.com/ dylan-m

    Make sure you watch the video ;) It does badges and a lot more.

  • http://www.jorgecastro.org/ Jorge Castro

    Check out Hello Unity: https://launchpad.net/hello-unity for an example app for Unity.

  • http://www.iheartubuntu.com iheartubuntu.com

    ohh thats awesome then! (the latest updates to firefox messed up my youtube videos.

  • Sid Payton

     This is just great. Really usefull for developer. But my initial idea was an app that would help people like me without (much) coding skills. like I could just take a lens thats already made for some certain task to be manipulated be a nice GUI. For example I really want to make several lenses (or one lens with several scopes) and integrate some of our german TV stations (some publish their shows online for everyone to watch for free) in the dash. Another problem is, that this like most other sites doesn’t have an API. What can I do to solve that?

  • http://twitter.com/jspaleta Jef Spaleta

    jono, I looked at the webapps project page in launchpad… and the subproject pages. I’m not seeing ANY public bzr branches. And the license for all the projects is listed as Canonical proprietary.  What gives? Is this open source or not? And if it is, can you point me to any published source code for any of the components… like the browser extensions that make this api actually work.

    -jef

  • Chuck

    While the project is ‘Open Source’ will contributors own their copyright or is Canonical taking that?

    How is this any different than web shortcuts and the integrated password manager for the browser? Even after watching the video I either missed it or there is none.

  • Swashata

    The web apps looks pretty awesome. I was wondering if something similar  would be available in  Kubuntu or not!

  • Brian

    Isn’t the online accounts stuff just gnome-online-accounts which is primary been worked on by RH (DavidZ, hadess, cosimo, rishi, etc)?

  • http://www.mhall119.com/ Michael Hall

    We’re working on switching everything over to being public, give us some time, we’ve only just gotten the public PPA working.  There will be code, and it will be open source.

  • http://twitter.com/jspaleta Jef Spaleta

     Give you time to open the code?  No. 

    I think its a perfectly valid expectation that the code will be open and publiclly published ahead of binaries landing in a ppa and publically communicated outside the corporate fenceline. 

    I’ve pulled the tarballs from the ppa for now so my immediate need is fulfilled. Take all the time you need to publiush the bzr trees. I’m more than happy to send out a reminder to everyone for every day that it goes unpublished and how that’s not the best of best practises for open source.

  • http://www.mhall119.com/ Michael Hall

    Dude relax, everybody is working hard on this and it’s going to happen.  Complaining about the order or speed it gets done in isn’t helping anybody.

  • http://twitter.com/jspaleta Jef Spaleta

    Complaint? Who said anything about complaining. I’m going to just send out reminders explaining how important I feel having open development process….every day. If you want to view that sort of thing as a complaint, that would be an unfortunate choice on your part.

  • http://www.mhall119.com/ Michael Hall

    If that will make you feel better, go right ahead, but it’s certainly not going to change the way anything gets done.  If you want to help, you know how to help.

  • Anonymous

    Is there any possibility to hide address bar, tabs and other controls? Hmm, browser should be only a runtime environment for webapp.

  • http://twitter.com/jspaleta Jef Spaleta

     Actually Michael I don’t know how to help when the code isn’t published yet. That’s sort of my point.

    How do I help make publishing the source code a top priority inside your corporation so that it is done in a timely manner? Please tell me how I can help make that a reality. I would love a more effective strategy than “wait till we get around to it”

  • http://www.mhall119.com/ Michael Hall

    Ah, finally you ask how you can help!  You can join us in #ubuntu-webapps on freenode.

  • Omglol

     The exact reason why ‘open sores’ goes no where and why proprietary software will always rule.

    Thankfully I never have to deal with basement dwelling sperglords like Jef in my software development career.

  • Robert Smol

    That is bit harsh, that guy just has different understanding what open source means.

    It might be OK for you to cook something inside and the open it up.

    Others likes the approach of publicly discussing and then cook it together in open way.

    Both approaches seems valid to me, yet one is more open.

  • http://www.ubuntubrsc.com/ Julian Fernandes

    Great work! I was using Fogger for that, but having it native… lot better. Jono, when will we have a tutorial about how to setup our websites to support it?

    Would be awesome for our LoCo Team’s website :)

  • http://www.luffy.cx Vincent Bernat

    Will it stay enclosed in Unity or will it be a set of components that will be usable with other desktop environments? Will the appropriate bits published on freedesktop.org?

  • http://www.facebook.com/profile.php?id=100000678236470 Hans Heintze

     >For example I really want to make several lenses (or one lens with several scopes) and integrate some of our german TV stations (some publish their shows online for everyone to watch for free) in the dash.

    The best way to go about that would be to add scopes to the video lense.

  • Mzcariaga

    can the chrome web apps become integrated with Ubuntu?

  • http://www.twitter.com/JeremyCMorgan Jeremy Morgan

    This is pretty good stuff, and looks super useful, this is what a lot of people are using their machines for anyway, so it makes sense to make it as easy as possible. Your continued focus on usability is awesome because it will ease adoption by the masses. 

    That being said, why is still so hard to customize Unity? Why lock it down? I get that you guys are not targeting kernel hackers, you want to go after the middle market, the non-coding average joes that are using windows now. I get that, and I think that’s great, but why remove the ability to customize?

    Yes I can yank Unity and put something else in there, but that’s a lot of work that shouldn’t be necessary. What’s the payoff? You have countless people complaining all over the internet all the time, you have a considerable amount of people who explore other options because of Unity, and you steadfastly stick by it. What’s the payoff? Why is it so hard to make it a little more customizable without sacrificing ease of use? 

    I have tried and tried to get used to Unity, so don’t use the whole “afraid of change” thing. The only time I’m afraid of change is when I’m negatively affected. And this seems like change for the sake of change, and with a little adjustment to Unity you could make something that would be great for new users and would shut guys like me up.

  • http://twitter.com/nure_alam Nure Alam Masud

    I hope Google as well as Google+ will provide support for Ubuntu.

  • http://twitter.com/nure_alam Nure Alam Masud

    Is there any way to make it work with Google Chrome ?

  • Anonymous

    I would hope that the hooks go further and are proposed as part of HTML5.

  • http://profiles.google.com/vperetokin Vadim Peretokin

    Someday, you’ll stop being so rude and demanding. I hope that day will come soon.

    You to me are a discouragement for doing open-source.

    I’d like to see in a years time how you’ve contributed to this Ubuntu Webapps project that you’re badgering it’s developers about so much.

  • http://www.twitter.com/JeremyCMorgan Jeremy Morgan

    I agree it’s not the best tone to take with people who owe  you nothing…. you’re getting a first class operating system for free, it’s easy to understand the frustration but it’s also easy to lose appreciation of the fact that most of this stuff is built by volunteers trying to advance computing. 

  • Abral

    Why don’t you create chromeless windows just like Firefox does? Can’t you use the same code Firefox uses for its webapps?

  • Eduard Gotwig

     oh, you talk about HTML6, dont you, lol?

  • Imgreatho12

    You missed it, and it was pretty obvious… HUD integration, indicators integration, notifications integrations.

  • http://www.mhall119.com/ Michael Hall

    The bzr branches are now available at https://launchpad.net/webapps

  • http://taq.myopenid.com/ Eustaquio Rangel

    Amazing job! But I’m just missing a way to remove things I authorized before. I authorized Google Reader but seems there is too much rows there, and I want to cancel it on the top message icon. Does anyone knows how to cancel the authorization?

  • http://www.alejonext.co Alejandro Ñext

    La verdad me gusta… pero tiene algunos problemas nada con una buena pulida se pueda corregir!

  • Goodjob

    Nice upstream liaising….

  • Chad

    I look forward to seeing how this progresses.  I added the PPA and it’s definitely a nice addition. One problem I ran into is that I’m an Opera user.  I know it isn’t supported so I opened up a couple sites in Chromium to get going, which is fine, but then clicking the icon to launch the app didn’t work.  It turns out the reason is that Opera was selected as my default browser and everything worked once I switched it.  Unfortunately there wasn’t any error message to indicate the problem, there was simply a click with nothing happening.

    And chance of supporting Opera in the future?  Even if it is only for launching the app and not discovering, although both would be good.

    The other unexpected behavior I noticed was that an entry for GMail and Facebook in the messaging menu only appeared when the webapps were actually open and not when the browser windows were closed, which kind if defeats the purpose in my opinion. Hopefully this is just a condition of the early state of the feature though.

  • http://www.facebook.com/marcosestevesbarbosa Marcos Barbosa

    Great idea. But where i can found button to add gmail/grooveshark/etc to unity?

  • Anonymous

     Thank you Canonical for caring. They are taking a huge step forward to benefit the community.

  • http://www.twitter.com/JeremyCMorgan Jeremy Morgan

    No matter how many times I ask this, or who I ask it to, I get crickets. When Ubuntu isn’t the hot new thing anymore and people move on to something else, you’ll wish you’d listened to your core fans. You guys and all the laid off people from Digg can sit around complaining about the people afraid of change. 

  • http://www.luffy.cx Vincent Bernat

    The API is Unity-centric. First, the namespace is called “Unity”. Then every aspect is stuffed into this namespace. Canonical does not propose an API to interface with system notifications, an API to interface with a general dashboard, an API to interface with the system message system, an API to interface to the system media player. It proposes an API to interface to Unity. There is 0 chance that it gets integrated into HTML5.

  • http://opensourceofcourse.blogspot.co.uk/ Matthew McLean

    I have just written a blog post about Web App integration in Ubuntu. Please check it out if you are interested. http://goo.gl/Q75VS

  • https://launchpad.net/~flimm Flimm

    These are genuine questions that other people before you have asked, and the leaders of the Ubuntu project have answered them. The answers are not to the satisfaction of everyone. I’m providing links so that you don’t see the need to ask these questions again. Hopefully, you’ll understand why the leaders are making the choices they are making, and if you don’t like their vision, you can always switch to another distro which shares your priorities. That’s what they’re there for :)

    You asked: “why is still so hard to customize Unity? Why lock it down? “

    The designers in both GNOME and Ubuntu seem to share a similar view on this. Options are removed for two reasons:

    • because the target users are the masses who are not familiar with GNU/Linux. Tech-savvy users are a secondary target.

    • because maintaining additional options creates additional development and maintenance costs

    That being said, Unity is increasingly providing options for tech-savvy users, as Jono Bacon explained in this blog post:

    http://www.jonobacon.org/2011/05/18/creating-an-ubuntu-power-user-community/

    These links are informative:

    https://lists.launchpad.net/unity-design/msg07665.html

    https://bugs.launchpad.net/ubuntu/+source/unity/+bug/748739

    https://en.wikipedia.org/wiki/Feature_creep

    You asked: “What’s the payoff?”. The pay-off, hopefully, is that Ubuntu will start to be used by more people than just those who are interested in technology. Here’s a video on the vision:

    https://www.youtube.com/watch?v=Hw2w0GPWPOk

    The goal isn’t to produce a GNU/Linux distribution that’s good enough for its core users. Many distros meet that need. The goal is to reach mainstream success, or die trying, so to speak. I like this vision, that’s why I use and contribute to Ubuntu.

  • https://launchpad.net/~flimm Flimm

    Getting a standard accepted on freedesktop.org is such a slow and painful process, and it still doesn’t necessarily lead to adoption. I can understand why Canonical would want to skip it.

  • Anonymous

     Thanks for the kind words, folks!

  • Anonymous

     This might be a plan further down the line.

  • Anonymous

     This conversation has been discussed countless times before. The simple answer is that features in Unity are determined by an extensive design and user-testing process. Features are not just thrown in because they are an idea: they are added if they represent the needs of our users.

    Sometimes some features don’t test well and we don’t add them. You could argue that we should add them anyway as an option, but then we leave a trail of  technical debt that needs maintenance and we have limited resources (as any software project has) so we conserve resources for the most require features that our users want.

  • https://launchpad.net/~afccarl1994 Carl Ansell

    Opera needs to add the code themselves, as it is closed source. I have already made a request in the Opera forums asking for support, so you might want to comment on that thread.

    http://my.opera.com/community/forums/topic.dml?id=1486312

  • http://www.twitter.com/JeremyCMorgan Jeremy Morgan

    Thank you for the answer. I respect the vision of trying to bring it to the masses, but I disagree on the approach, and if it’s worth alienating huge amounts of users in an attempt to reach “the masses” then we’ll see how it works. 

    You basically say “if you don’t like it go find another distro” but this isn’t the primary distro I use. I use Gentoo and Debian because I am highly technical and hack my own stuff up. I like building stuff from source and I realize that most people don’t. However I used Ubuntu quite a bit and liked it until Unity. I used to try and “convert” people with Ubuntu like my less technical friends and family, or coworkers. If this sounds like your “mass market” you’re trying to reach you are right. I was using Ubuntu for converting people, some successfully, some not, until Unity came along. This interface just frustrated people like crazy, and I couldn’t change anything to make it easier and you definitely can’t sell people on something that will make their life harder (at least I can’t). So now I use Linux Mint for that same purpose, and it works well. The “non technical” people love it, and even my extremely non technical Girlfriend (who barely knew how to use Windows for anything) uses Mint with very few complaints. 

    So I guess what’ I’m saying is in an effort to reach the masses you’re actually shooting yourselves in the foot. You’re forcing changes on people that they may not want, and taking away options to change it in hopes of reaching critical mass with the public. You turn your back on the techies and say “we don’t need you anyway” and then you force an interface that’s more difficult that what the “mass market” users are happy with now and hoping the gamble pays off.

    It won’t. It’s foolish arrogance and the same out of touch style of thinking so prevalent in corporate offices. I don’t care what your “user tests” show just listen to the people who are using it. My mother isn’t a kernel hacker and she can’t use Unity. She sure as heck liked the Lucid Lynx and she really likes Linux Mint 12.

    Like I said I understand the vision and I respect it, and Ubuntu is obviously the distro that’s made it the closest to the lofty of goal of “mainstream success” but this is really hampering it. There is a reason you guys keep having to deal with people bitching about Unity, because it’s not as great to use as you’d like it to be. It’s not just hardcore hackers who hate it, there are a lot of people who do. I know I’m probably just spouting off things you’ve already heard, but I’d really hate to see Ubuntu fail because it’s leadership thought they were so much smarter than everyone else that they could tell people what they wanted. I would hate to see it used an example of what not to do 3 years from now.I like Ubuntu. It’s a quality product. It’s very stable and fun to use. Jono has done a great job getting people excited about new features and keeping people talking about the product. I would love to see this distro on computers all over the place. I may be a Gentoo user but if Ubuntu wins, we all win. ALL Linux users benefit from it’s success. 

    Linux Mint is nice, but practically a reskinned Ubuntu anyway. We need to stop forking off into a million directions and just work together. 

    I’m only saying something because I care. I am not trying to bash people or start flamewars, I just see things going in a direction that I don’t think will succeed, I hope I’m wrong.

  • Debarshi Ray

    Brian, you are right. I just came to know about this yesterday. Ubuntu-online-accounts is basically the same idea as gnome-online-accounts or kde-web-accounts.

    But then Ubuntu does not ship GNOME any more than KDE or Xfce does, so nothing to worry about. ;-)

  • Debarshi Ray

     SkyDrive is already supported in GNOME via gnome-online-accounts: http://debarshiray.wordpress.com/2012/05/31/gnome-documents-skydrive/

  • LinuxRocks

    Will there be, or is there a way to support Owncloud?

  • Nick Fisher

    Is there any documentation about how I could enable these features for my website?

  • Justin Brown

    I’d like to see if this will play nicely with gnome 3.4

  • webanalyst

    the opportunity for new, successful models seems huge to me. There are plenty of great jobs out there for mobile developers right now and I see a number of reasons to be hopeful that things will be even better in the next couple of years.