Integrating with web apps
Call for Help and Ideas!
Everyone knows I love web apps. You have two extremes. Old school “native apps and in control of my data” and then the other which is basically ChromeOS; No local state, all web. Most people are in the middle. You might love Gmail but the thought of having a remote word processor might not work for you.
I want my cake and I want to eat it too. I want web apps integrated with my desktop, which is why I am a big fan of site specific browsers. Recently these have been popularized by Chrome applications in the Chrome App Store — which is just a pretty front-end to what Stuart and I have been yelling about for 3 years.
When people do it right (like Seesmic and Tweetdeck), it’s a great user experience. When people do it wrong, it’s just a stupid bookmark with no window chrome, meh. However, we can do little things to make it great.
One area where we can integrate is notifications. Chrome/Webkit has notifications, they look like this:
These are becoming more popular; Seesmic, Stack Overflow Chat, and irccloud to name a few. Well, why stop there? I asked Aq to hook up a prototype and then Marco Cepppi finished it.
A little bit of glue makes all the difference. To try it:
bzr branch lp:chromify-osd
Now, load the extension in Chrome. Wrench -> Tools -> Extensions, click on the developer mode link, and then choose Load unpacked extension and select the directory “chromify-osd”. Then use a webapp that uses extensions. Here’s an example one.
Aq passes along “Although remember that the best solution will still be to write a proper Chrome extension which intercepts notifications and uses D-Bus! An NPAPI extension. This is a hack.”
So what do we need? We need someone who can make a Chromium extension to connect web notifications to libnotify. I suspect that a proper extension will have to deal with sandboxing and a bunch of stuff Aq glazed over in order to give me hope that this is possible.
What else do we need? Well, we need Unity to decide to be the glue for the web. We can do this by connecting desktop services to the browsers. Wherever web app developers take this we need to connect it up for people. Here is the start of some plans Unity developers have for making this integration better.
Any takers on getting this started?
Where else can we do this? How about we make it so when people make the App Shortcut we “install it” for them?
Now we’re talking! I also what a nice high resolution icon on the launcher with little numbers for new emails, etc. fta pointed out the code where Chromium does the shortcut thing, maybe someone can take a crack at it once the Launcher gets closer to being finished.
(My examples use Chrome since it ships app shortcuts out of the box, the same should apply for Firefox/Prism)
Whether you agree with web apps or not isn’t the point. Some people like them and some people don’t, either way your desktop should give you the best possible experience if you use Evolution or Gmail or whatever. Thoughts?
Web apps, interact with me!
I love web apps. So I wanted to see how Chromium’s latest support for web apps is like. After all, they’re going to have an “app store” of web apps. Here’s what I saw:
I hate to be a downer, but a pinned tab with an icon on it and removing the browser chrome doesn’t make it an “application”, if I wanted that I’d browse in full screen all day! While I love Chrome’s app mode and Mozilla Prism I think people are missing the point. Look at this tutorial on Mashable on how to use Google Buzz as a desktop app. Searching for web apps for other sites gives you similar results. Take existing website, fullscreen it, and we’re done.
This isn’t what I had in mind when people told me about web applications! I was thinking more like this (thanks to Ken for the GIMP mockup):
I wish web app developers would take into account of how much better their “application” could be if it took advantage of being an actual application. We know you can drag and drop stuff on web apps, etc. One app that did this well (for it’s time) was the original Google Talk widget, when you throw it in app mode it looks pretty decent (ignore that it’s Flash):
Ok, not bad, unfortunately when you chat with a person it opens a tab in there instead of opening a window for you to chat with the person like a traditional app. But we’re getting closer! Now look at these two:
Now this is what I think of when people say “web applications”. The Google Buzz “desktop app” is really the mobile Buzz site wrapped in Chrome. It reflows text when you resize it, and works how you think it should work. Compare that to Mashable’s solution of just fullscreening Gmail. I can move this window around and do what I want to it. Google has basically already created a cross platform Buzz desktop client! (But you have to know how to wrap the mobile site in app mode, lame).
And look at the Zoho example! The skin is a knock off of the Office 2003 UI, but that’s an implementation detail; You’d have a hard time convincing people that was a web application at first glance. I think apps like Meebo could be so much more engaging if I could break them out of the browser and onto my desktop.
Make it so when I double click on documents in my file manager that it opens the word processor app already “prismed” up, when I “install Seesmic web” I get an icon on my desktop that I can interact with; I like to alt-tab, minimize and interact with web applications too. Otherwise, it’s just a bunch of tabs with web sites in them, and I already have that!
UPDATE: Bigger pics of my screenshots are here.