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.

Seneca & Extensions

Yesterday, I did my best to convince a bunch of smart, young developers that I was an expert at building extensions for Mozilla applications. It must have worked, they didn’t heckle me out of the room. Seneca’s Dave Humphrey and Chris Tyler have a great group of students working on Mozilla (and other Open Source) projects. I have been impressed with the types of projects the Seneca students completed in the past. This group of students and projects are just as impressive. I got a chance to talk to a few students after the presentation and hope to continue working with the group via IRC or anytime I happen to be at Seneca (like next week).

Can’t wait for the movie!

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.

Firefox 3 – Plays Well With Others

Mozilla endeavors to promote open standards, while at the same time, create a better Web, even if it means using the “other guys” specifications and DOM extensions. Here is a summary of features added to Firefox 3 (Gecko 1.9) that either implement a good open specification or someone else’s DOM extensions – for the betterment of the Web:

WHATWG Web Applications (link)

Internet Explorer DOM Extensions (link)

  • clientTop and clientLeft DOM extensions are now supported.
  • elementFromPoint DOM extension is now supported (bug 199692).
  • oncut, oncopy onpaste, onbeforecut, onbeforecopy and onbeforepaste DOM event extensions are now supported (bug 280959).
  • getClientRects and getBoundingClientRect DOM extensions are now supported (bug 174397).
  • The HttpOnly cookie extension attribute is now supported (bug 178993).

Yes, some of the Internet Explorer extensions are also WHATWG specs.

Not Invented Here? Not a problem 🙂

Of RIA, Open Web and Plugins

Adobe’s Ryan Stewart has a post on the friction between Open Web advocates and “RIA vendors”. I think Ryan does a good job describing the work being done at Adobe (and Microsoft) to become active in a larger ecosystem, namely open source and cross-platform. There are a couple bits I want to respond (emphasis mine):

I think it’s indicative of wider problems between the “open web” and RIA vendors. The basic issue is that everyone’s too combative. I wish more open web people would look at what both Microsoft and Adobe are doing and see that all in all, the RIA solutions are becoming more open, not less. In fact, I’d argue that RIAs have moved the entire web in a more open direction.

I think Ryan’s use of the term “RIA” to indicate a “proprietary vendor plugin” will cause confusion. Rich Internet Applications can be created without the need for proprietary vendor plugins. Also, what Adobe has done around open sourcing parts of their plugin system has been welcomed by everyone. However, there are still large chunks of closed source and encumbered file formats that work against the Open Web.

I’m not sure if RIAs will ever be as fully open as the open web advocates want, but think how far applications in the browser have come (as far as openness) since the days of ActiveX enhancements in IE.

As I have stated, RIAs can be fully open and, as a card carrying Open Web advocate, those make me happy. However, how far have Adobe and Microsoft come from the days of ActiveX vendor plugins? Last time I checked, ActiveX was still the technology of choice for Flash and Silverlight on IE. Honestly, even if Flash and Silverlight were completely open source, the fact they are plugins and not native Web standards will be a stumbling block for many Open Web folks.

They’ve [Flash and Silverlight] pushed the web forward in a way that it seemed the open web groups couldn’t (video, vector graphics, easy cross platform/browser development).

Yes, they have pushed the Web forward, I’ll admit that. The resurgence of SVG and the new & elements are evidence of that. But then Linux is a platform too, and I suppose that Mozilla could market Firefox as the one, true cross platform Web platform – but we don’t. We encourage choice and competition. We want developers to have choice too and not be locked into a single stack. Let me know when Flash can run a Silverlight application.

Mike Shaver responds in a comment to the post.

FSOSS, Workshops and WebRunner

I’ll be taking part in the Free Software and Open Source Symposium (FSOSS) hosted at Seneca College. In addition to the symposium tracks, there is also a set of workshops. Checkout the various speakers and topics. There’s lots of good stuff going on. Seneca’s deep involvement with open source has always impressed me.

Cesar and I will be doing a workshop on desktop-enabling web applications. No surprise, we’ll be using WebRunner to desktop-enable some webapps. We’ll try to make it interesting by using webapp scripts and styles to add some new behaviors and look & feel.

Go register!