Reply to comment

Desktop Apps Replacing Prism With...

I have used Mozilla's Prism (previously Webrunner and now Webrunner again) for years to create an run web pages as a desktop app but, unfortunately, Mozilla has discontinued Prism and handed the code over to an individual for any future development. Needless to say, development is slow if progressing at all and most distros (including Ubuntu) have removed Prism from the repos. This left me with a rather large gap in needed functionality so I did some research.

The Good/Bad News...

Originally I wanted to use a very lightweight browser such as Midori to replace Prism for running desktop apps. This turned out to be an issue for me as the desktop app I wanted to run is a local TiddlyWiki app which needs "write" permissions to save changes in the wiki locally. Apparently Midori, Chrome/Chromium, and a host of other browsers do not support this functionality on Linux/Mac currently. This left me back in Firefox land so I decided to stick with it but to make Firefox act a bit more like Prism and run my webpage as a desktop app.

What is a Desktop App / Why Use One

A desktop app is simply a web page ran through a lightweight / stand-alone web browser. There is no difference in what you see from viewing a web page via a browser or as a desktop app but a desktop app typically has no menu/navigation/bookmarks/status bar. This makes the desktop app simple, lightweight, and fast.

Desktop apps over benefits and drawbacks to viewing web pages in a standard browser. The core reasons I prefer some web pages to be desktop apps are as follows:

  • Security/Segregation - I have a few websites that I want separated from my main browser (facebook, google, webmail). Take google for example, I like to sign into my main google/gmail account in my primary browser but I have a secondary gmail account and I dont want to have to sign out of my primary and into my secondary when I want to check my secondary gmail. The solution is to put the secondary gmail in a stand-alone desktop app as cookies/session information of desktop apps are stored with each desktop app and not shared with other browsers. This is also useful for facebook as I dont want websites I visit viewing my facebook cookies or breadcrumbs so I only log into facebook through a desktop app.
  • Multitasking - I often like to have my webmail up in a desktop app and my browser next to it so I can read / copy/paste from one to the other.
  • CPU / Memory Benefits - My primary browser tends to have 10-20 open tabs. This uses a lot of memory (even with Firefox 4x/5x improvements) so I will at times shut my browser down to save RAM but I dont want to close my webmail or TiddlyWiki webapps

There are other benefits of desktop apps but the above capture the basis from my point of view.

How to Make a Desktop App

Of course you know how to open a webpage in a browser, just open your browser, enter the URL and click Go! But how do you make/use a desktop app? It used to be easier in Firefox 3.x as there was an extension that would make the webapp for you but with 4.x+...well it takes a little more work (although its not difficult). The steps to create a desktop app are as follows:

  • Start Firefox from a Run Dialog or shell as follows (replace with the URL of the web page you wish to make into a desktop app):
    firefox -P "gmail-webapp" -no-remote
  • You should see a "Choose User Profile" dialog, click "Create Profile..." and give it a name of "gmail-webapp"
  • Select the profile you just created and click Start Firefox

You've now got a desktop app! Since a desktop app is generally used for a single web page/site (like gmail) you can hide the Menu bar, Navigation bar, tab bar, and status bar. This will save a lot of screen space and make for a quicker/easier to use/navigate desktop app!

How to Start / Launch Your New Desktop App

To start your desktop app simply use the same command as above (firefox -P "gmail-webapp" -no-remote but note that your app will start immediately as the Profile "gmail-webapp" already exists now!

You may not like entering a long command each time you want to start your desktop app. You can always create a desktop/menu shortcut, simply paste in the command from above in the "execute" or "command" item and you should be all set. I personally prefer a keyboard shortcut to make it ultra-quick/easy, here's how to create a keyboard shortcut for the above command in XFCE:

  • Open the XFCE Settings Manager and go to Keyboard > Application Shortcuts
  • Click the "Add" button
  • Paste your command in the Command box and click "OK"
  • Press the key combination when the "Command Shortcut" dialog appears, for instance I use Meta+M ("M" for Mail) for my gmail desktop app.

That's all there is to it. Now you can simply press Meta+M and your desktop app will start up in its own trimmed down browser instance!

You may also be interested in knowing that the above approach works well with local HTML files (e.g. TiddlyWiki). Simply pass in the path to your local html file (such as: firefox
./firefox -P "bookie" -no-remote file:///home/user/notes/TiddlyWiki/common.html) and you should be all set.

Other Useful Info

I'm going to bet there is at least one
person out there like me who creates a perfect desktop app and has
hidden all the menu/tool bars yet finds the need to get the menu bar
back to do a little more tweaking. If this is you, simply press F10 or
ALT+V+T+M and you can toggle the menu bar on/off.

Example of a Desktop App

Just in case you wanted to see a desktop app (or the results from the above work), I've included a screenshot of the results.