This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new Linux.com!

Linux.com

Feature: Internet & WWW

Mozilla begets WebRunner, a site-specific browser

By Joe 'Zonker' Brockmeier on July 24, 2007 (4:00:00 PM)

Share    Print    Comments   

Nowadays, people are turning to Web-based applications as replacements for desktop applications. Web-based office suites, mail clients, multimedia apps, and general productivity tools are all extremely useful now, but standard Web browsers aren't always the best option for running applications. To provide a more suitable tool for Web-based apps, Mozilla Platform Evangelist Mark Finkle has been working on WebRunner, a site-specific browser (SSB) that's designed to work exclusively with one application at a time. It's not finished yet, but it's already showing promise.

WebRunner, at version 0.5 now, is a stripped-down version of Firefox that allows you to run a single site at a time in its own process. The browser has a minimal user interface with no toolbars or navigation UI -- just a window with the bare minimum needed to use applications like Google Reader, Flickr, Web-based help desks, or any Webmail client.

The rationale for SSBs

Why would you want a site-specific browser when you can just use Firefox (or another browser) to view sites? It doesn't make much of a difference if Firefox doesn't quite render a publication's Web site exactly the same way another browser does, but it makes a major difference to customers when an application fails to work in a particular browser.

Developers and users alike are getting sick of browser incompatibilities. Many Web developers have no doubt gone prematurely bald trying to cope with the armada of browsers that they're asked to support, and Linux users are bitten by this issue all the time with IE-specific sites.

There are also good reasons to run some Web-based applications separately from the main browser session. For one thing, if your regular session of Firefox crashes, it won't take down the SSB you're using for a productivity application. An SSB also provides additional security; over the years Firefox and other browsers have had vulnerabilities that may have allowed exploits to read data from other pages or sessions. Financial firms might want to offer a SSB so users can interact with their online services exclusively with fewer opportunities for phishing and fraud.

An SSB allows developers to deploy a simplified application interface. Technically, the user doesn't need to know that it's a browser-based application at all. Once WebRunner matures a bit, it should be trivial to deploy a package with WebRunner customized to load any site without the user needing to know anything more than "click here to start the application."

Finally, WebRunner should also allow opportunities for customization that other browsers (including Firefox) do not. Extensions for Firefox need to play nicely with many Web sites, whereas extensions and customizations to a SSB need to apply only to a single Web site or service.

Getting and running WebRunner

To get WebRunner, visit the WebRunner page on the Mozilla wiki and grab the appropriate installer for your platform. You can choose between packages for Linux, Mac OS X, and Windows, or grab the source code.

Next, on Linux, unpack the tarball and run the installer. Alternately, you can grab the archive tarball, unpack it where you want WebRunner to "live," and just run it from there. This is the approach I've been using.

Under the webrunner directory, you'll see an executable called (what else?) webrunner. You'll also see several profiles, which have a .webapp extension. A profile tells WebRunner what site to load, and provides a few additional parameters that control the browser's behavior. To start, for instance, the Google Reader Webapp:

./webrunner -webapp greader.webapp

It couldn't be easier. Well, maybe it could, but only if the Moz folks came over and started it up for you. Google Reader will load normally and you can browse your feeds to your heart's content. If you click on one of the links to open a page outside Google Reader, it will load in your default browser -- in my case Firefox.

On Mac OS X, you can run WebRunner just by clicking on one of the .webapp files after you've installed WebRunner. Presumably, this is also the case on Windows, but I haven't actually tested the Windows functionality.

Creating your own profiles

What if you don't want to run a program in one of the bundled profiles? No problem -- you can create a custom profile.

Finkle has provided a few sample profiles for Google services, but if you want to use WebRunner for other sites, it's easy enough to whip out your own profile with just a minute or two of tweaking in the text editor of your choice. Let's take a look at a sample:

[Parameters] uri=http://www.linux.com/ icon=linuxcom showstatus=yes showlocation=no enablenavigation=no

The uri parameter is fairly self-explanatory -- just slap in the URI/URL that you want to load here. WebRunner supports SSL, so you can use an HTTPS URI if you want to have a secure connection.

The icon parameter is the icon that will be used as the application icon for this instance of WebRunner. Icons are saved under the WebRunner directory in chrome/icons/default as XPixMap files. If you don't have an icon, you can just specify webrunner and the system will use the default WebRunner icon.

Finally, you can customize the behavior of WebRunner by setting the showstatus, showlocation, and enablenavigation parameters. If you enable showstatus, WebRunner will display the status bar at the bottom of the browser window. Enabling showlocation allows you to see, but not modify, the URI. Unlike a typical Firefox instance, the location bar is read-only. WebRunner doesn't sport a navigation bar, but if you set enablenavigation=yes, users can press hotkeys to navigate back and forth through the browsing history.

Enabling plugins

One of the things I noticed straight away was that WebRunner didn't recognize Flash on my system, even though I have it installed. On Linux, you can enable Flash in WebRunner by copying or linking the files flashplayer.xpt and libflashplayer.so under webrunner/xulrunner/plugins and restarting WebRunner.

Extensions are not yet supported; there's no way to install extensions using the WebRunner interface, and no obvious way to install them manually either. However, extension support is on the roadmap and should be available in future versions of WebRunner.

WebRunner is in early development, but has a lot of promise, and is useful now. A site-specific browser has a number of interesting use cases, and I'm glad to see one coming out of the Firefox community.

Share    Print    Comments   

Comments

on Mozilla begets WebRunner, a site-specific browser

Note: Comments are owned by the poster. We are not responsible for their content.

Mozilla begets WebRunner, a site-specific browser

Posted by: Anonymous [ip: 64.184.135.2] on July 24, 2007 06:59 PM
This is a REALLY great idea. I have been working on an AJAX app and possibly incorporating GoogleGears this would allow the whole project to run as a self contained app that would behave pretty much the same on any platform. I love this idea, its sad we need it but I am pragmatic enough to get over it.

Keep it up guys!

#

Re: Mozilla begets WebRunner, a site-specific browser

Posted by: Anonymous [ip: 72.236.163.214] on January 25, 2008 02:26 PM
As an update to this article, WebRunner is now called "Prism" and is up to version 0.8. It looks very promising, and those of us in the web-based software development world are excited to see it coming along so well. <a href="http://www.universalalert.com/">Mass Notification Services</a>

#

Mozilla begets WebRunner, a site-specific browser

Posted by: Anonymous [ip: 63.134.173.98] on July 27, 2007 08:11 PM
This is not a great idea. I understand the need to keep your complicated application working correctly cross-platform, but if each web developer makes their application compatible only with their designed SSB, then what's to stop a person from needing a different SSB for each task they wish to use the internet for? One for banking, one for chatting, one for a different chat, yet another for collaboration. This is not a healthy future for software and web-applications. The internet would come to be a cluster of programs on your computer and sites you just haven't gotten the SSB for yet.

The cross-browser concerns are indeed vexing for the developer, even though they're not his fault. Instead of the web developers each making one browser for their one site (or application), they should be helping fix the overlying problem. Admittedly, even the W3C's browser, Amaya, isn't 100% compatible with the rules. But, perhaps, that's where the extensive new focus should be...

#

Re: Mozilla begets WebRunner, a site-specific browser

Posted by: Anonymous [ip: 24.26.95.155] on July 30, 2007 04:19 PM
"Instead of the web developers each making one browser for their one site (or application), they should be helping fix the overlying problem."

That's a nice idea, but not terribly realistic, given that this situation is entirely outside the control of Web developers and has been going on for more than a decade.

#

This story has been archived. Comments can no longer be posted.



 
Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya