WebRunner 0.5 – Now With More Power

I am really impressed by how many people seem to be using WebRunner ([1] & [2]). Personally, I still use it everyday to run GMail and Zimbra. Along the way, I had noticed some small quirks and painful bugs. The download bug (click a download link and get a XUL error message) was the one I hated the most. The window title bug (multiple WebRunner instances would cause the window title to change) was a close second.

I finally got around to fixing those and got ready to make a small release. Then I get an email from Wladimir Palant (of Adblock Plus fame). Seems Wladimir has been using WebRunner too and he also had a list of fixes and features. So I rolled his changes in with mine and the result is WebRunner 0.5:

  • Downloads now work without the XUL error
  • Better window title tracking
  • Context menu enable/disable logic is better
  • Added simple Print support via context menu
  • Added About support via context menu – useful for checking XULRunner runtime version
  • Added web application profile support – parameters for a web app can be saved to an INI-style *.webapp file. Several profiles are included in the distributions. Parameters include:
    • uri – the uri/url of the web app (http://mail.google.com)
    • icon – the icon you want to use for the WebRunner window when running this web app
    • showstatus – turns the statusbar on or off for this web app
    • showlocation – turns the readonly location bar on or off for this web app
    • enablenavigation – turns the hotkey history navigation (ALT+LEFT, ALT+RIGHT and ALT+HOME) on or off for this web app

The installer can configure Windows to associate *.webapp files with WebRunner. This means that when you double-click or launch a *.webapp file, WebRunner is launched and automatically opens the web application. Pretty cool.

I am somewhat excited to see what can be done with WebRunner. I am thinking that we could turn on extension manager in WebRunner and use extensions to provide some web application customization. Also, I see WebRunner becoming more of a desktop platform for running web applications. What’s stopping WebRunner from doing what Adobe AIR does – only better and on Linux and with native code support and with extension support.

I am going to see if we can get WebRunner hosted in a Mozilla SVN repository as well. That would make it easier for people to contribute code.

Install: webrunner-0.5-win32.exe (4.9 MB)
Source: webrunner-0.5-src.zip

49 Replies to “WebRunner 0.5 – Now With More Power”

  1. This is great, Mark!

    I’m already using WebRunner as my desktop RSS aggregator with Google Reader, and the new additions will really allow me to use it for all my web-apps – Gmail, Google Analytics and so on.

    Extensions would definitely take it to the next level – but even today it’s an extremely important and useful application IMHO.

  2. Shawn, I have been maintaining a slightly-modified Mac version of WebRunner and I intend to build a new release based on this 0.5 version.

    The version of Gecko depends on which XULRunner is used. With my Mac package I have not included XULRunner, leaving it up to you to install one.

  3. Looks promising, but I can’t get it to work behind my company’s authenticating web proxy. Any chance of getting proxy support, or am I missing a config somewhere?

  4. This is totally killer. Zimbra, Gmail all alt-tab capable in windows with separate icons. Great for apps that I have open all day long.

  5. I’ve downloaded and installed V0.5 on Windows, but every time I double-click on a .webapp file, WebRunner launches and opens the http://www.mozilla.org page. This happens with all of the supplied .webapp files.

    Furthermore, if I edit a .webapp file to set “showlocation=yes”, I’m not getting a location bar.

    Has anyone got ideas as to what the problem might be?

    P.S. As far as I can tell I’ve unregistered any versions of XULRunner that were previously on the machine, and I have tried uninstalling and reinstalling WebRunner. I’m sticking mostly with the default options during installation, with the exception of unchecking the “put … webapp file on the desktop” options.

  6. Sonny: It supports linux. Grab the source version and get a copy of XULRunner. Move the xulrunner folder inside of the webrunner folder (call the xulrunner folder “xulrunner” in all lowercase) … now copy the xulrunner-stub executable from the xulrunner folder into the webrunner folder and rename it “webrunner” …. that’s all, double-click webrunner to run it. In KDE it’s easy to associate the webapp file extension with webrunner but I’ll leave that to you to work out. I never got gnome to cooperate with me, I’m really not sure how gnome handles file association.

  7. Markc: I’m not sure how it’s set up on Windows but I do see that WebRunner is looking for a command line argument before the .webapp file. On linux it’s launched lik this: webrunner -webapp %F (where %F represents the path to your .webapp file)

  8. I don’t quite understand how the Icon parameter is handled. It’s not working for me on linux even after I got .webapp files to work properly. I just get the generic “minefield” icon for each app. Anyone have a clue? Is it a windows-specific feature?

  9. One more problem: With google docs – each document always loads in a new firefox tab rather than inside of webrunner – anyone have any idea how to force them to load in webrunner? As it stands I find webrunner to be pretty useless for Google docs.

  10. @Mukunda Modell: Thanks, you hit the nail on the head. When the installer associated the .webapp extension with WebRunner it seems that it didn’t include the “-webapp” parameter. After modifying the file association to add that, double-clicking on a .webapp file now works as it should.

  11. Nice one.

    I’ve done something similar using the portable apps version of firefox for an intranet/web app I’ve made. The site is only navigatable via ajax and I seem to have made all my styles FF specific…. So I needed a way to make sure people were running FF but also have it so that the site would appear like an actual app (even though it is just a FF window with a status bar) and not be assocated with the active real browser, for all the reasons you mentioned. I got a custom icon & control the app title from html. Made a 7-zip self extract file with custom icon and once its extracted pops a shortcut on the desktop with the custom icon as well. Its all very tidy but it only works on windows….

    Then I found this… Looks very cool indeed I’ll see if I can use this to make my deal cross platformable 😉

  12. Love the idea, it seems pretty portable, but what I can’t find is how do I run a web app? Those nice .webapp files are great, but I can’t seem to get WebRunner to work. It only starts Mozilla, what are the command line / ini options? Thanks…

  13. Joe-

    Windows and Mac installs should automatically associated the *.webapp files to webrunner. However, you can launch directly. If your on WIndows just use:
    webrunner -webapp

    You can also use the profile parameters on the command line directly like this:
    webrunner -uri http://mail.google.com

    Other OS’s vary in how to launch directly.

  14. @Joe: It looks like you might have the same problem I was having. See my earlier posts, and Mukunda Modell’s reply.

    In short, on Windows the installer _did_ associate *.webapp files to webrunner, but _didn’t_ put the “-webapp” parameter in the association. So double-clicking on “gmail.webapp” was running “…webrunner.exe gmail.webapp” instead of “…webrunner.exe -webapp gmail.webapp”

  15. I have tested WebRunner on Ubuntu Feisty fawn Linux and I got this error:

    ./webrunner
    Could not find compatible GRE between version 1.8.1.0 and 1.9.*

    I edited application.ini in webrunner and changed
    [Gecko]
    MinVersion=1.8.1.0
    MaxVersion=1.9.*

    to

    [Gecko]
    MinVersion=1.8.0.0
    MaxVersion=1.9.*

    and now it can be run.

  16. Hello,
    I really like this. Only thing I miss is that WebRunner doesn’t remember its window size. I have 1400×1050 monitor and I have to resize WebRunner window every time I run it because default size is too small.
    If you could add window size remembering, it would be great. Maybe just adding size parameter to webapp file would be enough.

  17. I have the same problem as Mukunda Modell, I can’t use Google Docs….. every document opens in new FireFox tab instead of new WebRunner window.

  18. I tried the installer, and yeah that s what happened. But what I was wondering was how do I run the .webapp files. I’m looking to make it a bit portable. 🙂 I don’t think it writes any registry entires. But I could be wrong (other then the association). Because portable, this could be a great app. Optional install, like Notepad++? 😀 Anyway thanks… 🙂

  19. Ondr – To set up a proxy use this:
    1. Edit WebRunner prefs file. Typically, you’ll find it in:
    C:\Program Files\WebRunner\defaults\preferences\webrunner-prefs.js

    2. Add the following lines to this file:

    pref(”network.proxy.http”, “YOUR_PROXY_SERVER”);
    pref(”network.proxy.http_port”, YOUR_PROXY_SERVER_PORT);
    pref(”network.proxy.type”, 1);

    Where you fill in the needed values for your proxy server and port

  20. Joe – On windows, the install _does_ add some registry entries for the file association. It adds entries for HKEY_CLASSES_ROOT\*.webapp and HKEY_CLASSES_ROOT\WebRunner.App

    We could try to make WebRunner add those itself whenever it is run.

  21. Interesting program! Two items that you may already be aware of.

    First, the name is the same as that of an internet accelerator. See http://www.webrunner.net/. If you think the project might be durable, you might want to reconsider the name. Remember Phoenix->Firebird->Firefox?

    Second, the minimal UI makes it difficult to develop a webapp. For example, I wanted to see the effect of changing some JavaScript, but Webrunner has cached the previous version and I can’t figure out how to empty the cache. I’m not sure how to address this; maybe a new configuration item in the .webapp file could enable a developer UI.

  22. Well, still got this problem about the Google docs opening in default browser (Firefox for me) : is this gonna be fixed in the next version ?

    BTW, great useful app !

  23. Hi, great work!
    A small idea: can you give an option to minimize the app in the system tray? It would be very nice!

    Thank you

    CptWasp

  24. nice use of XULRunner…

    It seems that there are restrictions on AJAX calls which are not found in FireFox. If fact is it true that AJAX calls are not allowed to the same origin server.

    I was looking to support WebRunner as a generic Mashup client and have extended my company’s Mashup Designers (for Apollo/Air, Vista Sidebar Gadgets, Google Gadgets, Opera Widgets, JavaFX, Safari on iPhone, and Dashboard Widgets) to include a “Mashup Designer for Mozilla Webapps” but the AJAX limitation seems to be a show-stopper.

    Any suggestions? Thanks.

    Zaid
    ALT Mobile
    http://altmobile.com

  25. A little thing to add as well as having icons is a title parameter, i’ve written one thats hacked up, but this could be useful.

  26. Zaid – Not sure what you mean. Cross-site XHR from web content is not allowed in Firefox 2. The only way to get cross-site XHR in Firefox 2 is to use an extension (or some form of privileged code). Firefox 3 now supports cross-site XHR.

    Since WebRunner uses the same runtime as Firefox, cross-site XHR should be working the same. If its not please let me know and file a bug on WebRunner.

    Thanks

  27. Hi and thanks for the reply.

    It seems that WebRunner — unlike the FireFox, etc default– implements strict JS and our code generation got tripped up on an XHR send() rather than send(null). Also, variable scoping is also more strict.

    On another issue, it seems that images are always cached. Thanks again.

    Zaid
    http://altmobile.com

  28. Mark, it seems you forgot to remove/update: “C:\Program Files\WebRunner\chrome\locale\en-US\brand\brand.properties”. References in the file still refer to XUL Explorer 🙂

  29. Chapeau, mr. Finkle, great idea! Also, good suggestions in this comment thread. I especially like add-on support, since there already are loads of extensions tailored at webservices, and others just do what people need (like proxy support, for example). I look forward to seeing Webrunner mature!

  30. Hi, I run a SSB based on KMeleon for the Framakey (to launch a web interface like webrunner do, see http://www.framakey.org/_img/v16/FK-1.6.0-fr-1.png ) but I found webrunner lighter and very promising.

    My problem is that I just can’t succeed in launching a webapp with some local file (think about webrunner on a usb stick launching an index.html file). I tried different combinations for “uri=” parameter, but it always open mozilla homepage…

    Is it possible to launch webrunner with a local html file instead of an online website ?

  31. @pyg: you might want to look into POW – the XULRunner-based webserver – that makes it possible to include webrunner and a simple web server on a usb key. It may not be the optimal way to do what you want but it sure is a powerful and novel setup.

  32. @mark: I have made a patch to webrunner that enables docs.google.com to work better – it seems that any link opened with a target attribute that is external (e.g. new window/tab or _blank, etc) causes an external browser to open. I added a comparison to override this behavior for links within the same domain. I simply replace the target attribute with “_top” and skip the external protocol handler instead. I don’t know if this will interfere with other sites but it fixes a problem that has been bugging me for a long time.

    Where should I send the patch for consideration?

  33. Unfortunately, not completely fixed. Although the svn trunk has a fix for the same problem that my patch addressed – I have developed my version further. I discovered that my original patch only fixed documents, however, spreadsheets are served from spreadsheets.google.com, a domain that doesn’t match docs.google.com…

    I fixed this by doing a fuzzy match on the domain suffix. I’m not sure if my fix is reliable but it seems to work for google services. I also changed the behavior to rewrite link targets to “_top” in order to prevent new windows from opening. I’m not sure if others would find this to be desirable but I like to avoid having a bunch of windows open.

  34. Hi… I have problems using WebRunner inside a local network with a proxy that requires authentication. Any site inside the local network works ok… ¿any sugestions?

  35. Mark,

    I can’t seem to open chrome urls, like for example chrome://fireftp/content/fireftp.xul. Is that protocol supported?

    ap

Comments are closed.