Adblock Plus comes to Prism

Wladimir Palant announced yesterday that Adblock Plus 1.0rc1 will ship with support for Prism 0.9! Pretty cool stuff. Many Prism users have asked about getting support for popular Firefox add-ons. Adblock Plus has been at the top of the list. Thanks Wladimir.

For those add-on developers out there wondering what changes need to be made to Adblock Plus to support Prism, here is the patch. Wladimir does a great job keeping the code clean. He also worked around a bug in Prism 0.9 that has been fixed on our trunk.

Lucky Disasters has also been collecting some useful information for Prism add-on developers.

Prism Status

Prism 0.9 has been out for a little while now. People really like the Firefox extension version. We have been getting some bug reports and feature requests. We are working on them, so keep them coming. Among the Prism related posts, I came across some really interesting news about Prism and Ubuntu (via Tombuntu & Derek Buranen):

The integration between desktop and web applications has been taken to the next level in Ubuntu 8.04 Beta; you can now easily install Prism web apps from the Ubuntu repositories.

Nine familiar sites (mostly from Google) are available at the moment, you can apt-get install or use your package manager to install any of these:

  • prism-facebook
  • prism-google-analytics
  • prism-google-calendar
  • prism-google-docs
  • prism-google-groups
  • prism-google-mail
  • prism-google-reader
  • prism-google-talk
  • prism-twitter

That’s really cool. More information here.

From the comments on Tom’s post, people are happy with Prism’s memory/resource usage. The good news here is that Firefox 3 will have very similar usage patterns.

Prism 0.9 – Now as a Firefox Extension

Prism 0.9 has finally been released. Getting platform specific features to work on 3 platforms really is harder than it looks. A big thank you to Matt Gertner (plasticmillion) and Fredrik Larsson (nossralf) for all the work they did on this release.

The big news for this release is Prism for Firefox, a full blown Prism and a Firefox extension all in one. This means that you can now easily “make” web applications directly from Firefox. In addition, Prism now uses Firefox as its runtime, so you don’t need to download the XULRunner runtime. Yes, I have mentioned in the past that Firefox 3 will be able to run XUL applications. Here are some things the extension can do:

  • Allow you to manually convert a website into a Prism-ified web application.
  • Detect a web application bundle embedded on a website and prompt the user to install it.

The standalone version of Prism is still available. Download it from here: Windows (installer, archive), Mac and Linux.

Here is a quick list of Prism changes (extension and standalone):

  • We separated web applications into isolated processes, with isolated profile data.
  • Web application icon support via favicon or custom image. You can now choose the image used to represent a web application on the desktop.
  • We also added some platform specific features. Some, like “popup notifications” (all platforms) and “dock badging” (OS X) can be used via a custom webapp.js (more in a followup post). Others like “minimize to tray”, are not quite ready on all platforms. So we are holding off exposing those until the next release.
  • We fixed a lot of bugs and probably added a bunch different ones.

Now that we have a good foundation for platform features (and people who know more about Linux and OS X than me), we can start adding a few more goodies. Here are a list of things we are working on for the next release:

  • Minimize to tray support. The basics are in there now, but we have more work to do.
  • Context menu support for dock and tray. Again, we are close to having this working.
  • Support for a web content JS API so the web application itself can access some of the platform features. See bug 420661 for more information.
  • Simplified methods of embedding web application information into a website. Currently, the Prism extension uses a webapp bundle, but this can be made easier for web application authors. See bug 420878 for more information.

We are eager to hear more, so let us know what you think:

Zimbra on Prism & Other New Stuff

Zimbra Desktop

Matt Asay has a post about Zimbra’s newest desktop client. It’s a great, full featured email/calendar client and it’s using Prism to give it a standalone, desktop application feel.

That’s right, they are shipping Prism along with the client code and offline support system.

This version of Zimbra is pretty fast too, especially on Firefox. Even more so on Firefox 3. Of course, Prism uses the same Firefox 3 rendering engine, so we’ve got you covered 🙂

Prism Status

The current version of Prism can handle the basics of desktop-enabling fairly well, but there is support for more features coming soon. We have been listening to feedback from users and watching what other ideas are happening in the site specific browser space. Projects like Fluid and Bubbles are pushing the envelope forward. Not to be left behind, the in-development (trunk) version of Prism has some pretty nice features:

  • WebApp icon support – When installing a webapp, Prism will use the favicon of the webapp, if you want it to. You can also use a custom image too.
  • Dock badging support – Support has been added to allow Prism webapp.js code to add a textual badge to the OS X Dock icon. This has not been exposed to the web content, only the Prism webapp script. We want to explore ways of allowing web content to more directly access this feature.
  • Minimize to tray – A new webapp.ini setting will allow the Prism window to be minimized to the Windows system tray. We want to explore ways of allowing web content to more directly access this feature, such as, adding context menus and custom tooltips to the system tray icon.
  • Separate profiles – Prism now places each webapp into its own process/profile. The user can group webapps together when installing, if they want webapps to share a profile.
  • Bug fixes – Thanks to everyone who has been filing bugs and feature requests.

We also have a Firefox extension version of Prism coming out. The extension contains the full Prism runtime, but allows users to create Prism-webapps from Firefox – and uses Firefox as the runtime (no XULRunner needed). Prism Firefox extension features include:

  • Simple install – User can manually choose to install the current website as a Prism webapp.
  • support – The extension will scan any tags found on a web page for webapp bundles and ask the user if they’d like to install the webapps.
  • One-click bundle install – Clicking on a hyperlink that points to a webapp bundle, should prompt the user if they’d like to install it.

We’ll post more as we get closer to a new release.

You’ll notice that we want to create ways for webapps to manipulate some of the desktop-enabling features (dock badging and systray support for example). We don’t want to create custom, Prism-only APIs to access these features. We’re looking for feedback and discussions on how webapps can support these kinds of features without breaking when running in traditional browsers.

I can haz WHATWG spec plz? A site specific browser meetup sounds like a good idea.

Prism Tricks #1

Here’s a simple way to extend a web application with Prism: Create a simple mashup by adding a sidebar.

Prism supports a simple sidebar that can display a secondary web application. Just enable the sidebar in the configuration and load content into the sidebar using some scripting. Here’s the example:

webapp.ini


[Parameters]
id=sidebar.test@prism.app
uri=https://docs.google.com
sidebar=yes

webapp.js


function startup() {
  host.sidebar.add("Chat", "http://talkgadget.google.com/talkgadget/popout");
  host.sidebar.visible = true;
}

Take those to files and make a bundle, name it sidebar.webapp and open it using Prism. On Windows and Mac, you should be able to double-click the webapp bundle. On Linux (or from a terminal) use:
prism -webapp [path-to-bundle]

You should see Google Docs loaded with Google Talk in the sidebar! Something like this:

google-sidebar-prism.png

Prism 0.8 – Now for Mac & Linux

Over at Mozilla Labs, we’ve released Prism 0.8 for Mac and Linux. We also took the opportunity to release a refreshed Prism 0.8 for Windows too. Why? you may ask. While getting the Mac and Linux versions ready, we received lots of feedback and bug reports from users. We were able to fix a few of the painful bugs, so a refreshed Windows release seemed appropriate. Some of the fixes include:

  • Bug 401021 – Shortcut with spaces in web application name doesn’t work
  • Bug 401244 – Blank name field causes silent failure
  • Bug 391429 – Editor caret is hidden in XULRunner applications

That last bug (391429) was a XULRunner bug, not only Prism. It was the reason that the cursor/caret was not visible when using rich editing in GMail and other rich editing web applications. Thanks to Songbird’s Matt Crocker for fixing that one!

NOTE: For Windows users who want to install the refresh – Uninstall and reinstall, just to be safe. As long as you reinstall into the same folder location, all your shortcuts will continue to work.

As the Labs post shows, we have some nice features in the pipeline. We also want to know what web applications you’re using with Prism (and how we could make those apps better).

Thanks to everyone who is downloading and trying it out. Keep the feedback coming.

WebRunner becomes Prism – A Mozilla Labs Project

Today, WebRunner is becoming a Mozilla Labs project. We are also rebranding WebRunner as Prism, see the announcement for more details. Alex Faaborg also has a post covering some of the user experience goals for Prism. Mozilla Labs gives us access to a user feedback forum, support infrastructure and some great resources for planning, designing and implementing features.

In addition to the name change, there are some technical changes that might affect current WebRunner users:

  • Application identifiers are changing from “webrunner” to “prism” – Besides the executable name change, this means that the profile folder is located under a “Prism” folder and the ID used by extensions changed to “prism@developer.mozilla.org”
  • Any desktop shortcuts made with previous versions will continue to work as along as you keep the previous version of WebRunner installed. Bundles (*.webapp) files will continue to work with either version.

Perhaps the simplest thing to do is to uninstall the current WebRunner, install the new Prism and remake your shortcuts using the orginal webapp bundles.

Prism 0.8 also has some neat new features. We have been trying to collect the bugs and feature requests out of the feedback and blog posts. Here are some things that have been added or fixed for the this release:

  • CSS themes – Bundles now support common (all platforms) and OS specific CSS theme overrides. You can make web applications take on different CSS styles
  • Spell check support – Red squiggles and suggestions on the context menu.
  • Better external link handling – Spreadsheets from Google Docs were opening in the default browser.
  • Tooltips support – We now display tooltips for elements with “title” attributes.
  • Copying hyperlinks – Context menu supports copying a link location, if you right click on a link.
  • More “Install Shortcut” options – Quick Launch Bar and Start Menu were added on Windows and Application folder was added on Mac.
  • “Install Web Application” – similar to the “Install Shortcut” dialog, but this will create a web application *without* needing a webapp bundle. Launching Prism without any parameters, or from the Start Menu or Finder, to activate the dialog. (Alex’s post has more details).

We only have a Windows version of Prism ready to go right now. I am on the road and couldn’t get the Mac and Linux versions ready (excuses, excuses). We should have those versions ready next week.

A big thanks to Alex Faaborg, Chris Beard, Myk Melez, Jay Sullivan and Cesar Oliveira for getting WebRunner to Prism!

WebRunner & App Styling

One new feature we added to WebRunner is web application styling or theming. You can drop a “webapp.css” file in the bundle and it will be applied to the hosted web application. You can also use platform-specific folders in the bundle to apply specific CSS based on the current platform (Windows, Mac or Linux). We’ll put more details up on the wiki when the feature is released. In the meantime, here is a screenshot of Google Reader hosted in WebRunner, running on Mac, using Jon Hicks’ excellent CSS theme.

greader-mac-small.png
click to enlarge

This is nothing you couldn’t do in Firefox already. In fact, the Stylish extension and userstyles.org make it pretty simple. But WebRunner + OS specific themes really make for a nice “desktop” web app.

WebRunner Followup

Its been just over 2 weeks since we released WebRunner 0.7 and lots of people have tried it out (over 6500 downloads). We have been following blog posts, articles and comments to gather as much feedback as possible. Thanks for everyone who has taken the time to try WebRunner. Even more thanks to those who gave us feedback or made your own webapp bundles. Here’s a summary of what we learned:

Some FAQs

We received lots of feedback in comments and from blog posts. Here are some of the recurring issues:

  • Support for extensions – WebRunner does support extensions. DOM Inspector (found on the command menu) is an extension. WebRunner does not expose a UI for loading extensions yet. So you need to get the extension installed yourself at the moment. Also, many extensions just won’t work in WebRunner. Not only do you need to update the extension (install.rdf) to recognized WebRunner, but the overlay (merging) code will need to be tweaked too.
  • Google Gears support – Since Gears is an extension, it has the some of the problems listed above. Its not visual, so there shouldn’t be an overlay problem. It is possible to hack support for Gears into WebRunner. The best plan for Gears might be to suggest a patch to the Gears team to support WebRunner officially. Gears is open source and it might be possible. NOTE: Alex’s hack is not up to date anymore. The WebRunner ID changed to webrunner@developer.mozilla.org
  • Some way to set options/preferences – Access to a UI for setting things like file download location and proxy settings. Even so far as access to the about:config feature.
  • Multi-profile support – So you could run all Google webapps in a profile, but separate from your Zoho webapps (in their own profile) and separate from general purpose webapps.
  • Better support from Web Appllcations – Some web applications are not really designed to be run through WebRunner. Meebo is a good example. I couldn’t find a way to load just the buddy list in a window, which is what you’d want to do for WebRunner.
  • WebRunner uses Gecko 1.9 – WebRunner is using the newest (not yet released) version of the Gecko rendering engine. The same engine used in Firefox 3. This means we might have some problems, like: Rendering slightly different than Firefox 2 (might be a bug) and cursor/caret missing from GMail when using rich format editing (definitely a bug). Look for this to improve as Gecko 1.9 / Firefox 3 get closer to release.

Please keep the feedback coming. We are working to resolve as many of these issues as we can.

Making Webapp Bundles

Lot’s of people have taken a crack at making a webapp bundle. The WebRunner wiki page lists some of these.

What’s Coming

We have been trying to collect the bugs and feature requests out of the feedback and blog posts. Here are some things that have been added or fixed for the next release:

  • CSS themes – Bundles now support common (all platforms) and OS specific CSS theme overrides. You can make web applications take on different CSS styles
  • Spell check support – Red squiggles and suggestions on the context menu.
  • Better external link handling – Spreadsheets from Google Docs were opening in the default browser.
  • Tooltips support – We now display tooltips for elements with “title” attributes.
  • Copying hyperlinks – Context menu supports copying a link location, if you right click on a link.
  • More “Install Shortcut” options – Quick Launch Bar and Start Menu were added on Windows and Application folder was added on Mac.

Look for the next release sometime next week. Thanks again.