Personal tools

Prism

From MozillaWiki

(Difference between revisions)
Jump to: navigation, search
(Wishlist)
 
(12 intermediate revisions by 8 users not shown)
Line 1: Line 1:
Prism is a simple XULRunner based browser that hosts web applications without the normal web browser user interface. Prism is based on a concept called Site Specific Browsers (SSB). An SSB is an application with an embedded browser designed to work exclusively with a single web application. It doesn’t have the menus, toolbars and accoutrements of a normal web browser. Some people have called it a "[http://www.hawkwings.net/2006/05/13/a-dedicated-distraction-free-browser-for-gmail/ distraction free browser]" because none of the typical browser chrome is used. An SSB also has a tighter integration with the OS and desktop than a typical web application running through a web browser.
+
<div style="background: none repeat scroll 0 0 #FBEDED; border: 2px solid #AC6262;">
 +
{{warning|<p>Prism is no longer developed by Mozilla Labs, although this documentation will still be useful to those using WebRunner (see next paragraph). There are now two alternatives:</p>
 +
<p>The Prism code was picked up by Matthew Gertner who started a company to continue its open source development under the name [http://www.salsitasoft.com/webrunner/ WebRunner]. See his blog post at [http://www.salsitasoft.com/blog/2011/02/09/prism-is-now-webrunner/ http://www.salsitasoft.com/blog/2011/02/09/prism-is-now-webrunner/]</p>
 +
<p>Mozilla Labs itself started a new project called [[mdc:Chromeless|Chromeless]]. See their blog post at [http://mozillalabs.com/blog/2011/02/prism-is-now-chromeless/ http://mozillalabs.com/blog/2011/02/prism-is-now-chromeless/]</p>}}
 +
</div>
  
<div class="note">WebRunner has become [http://labs.mozilla.com/2007/10/prism/ Prism], a Mozilla Labs project. Find more discussion in the Prism [https://labs.mozilla.com/forum/index.php/board,16.0.html user feedback forum].</div>
+
__TOC__
  
== Prism / SSB Objectives ==
+
Prism is a simple XULRunner based browser that hosts web applications without the normal web browser user interface. Prism is based on a concept called Site Specific Browsers (SSB). An SSB is an application with an embedded browser designed to work exclusively with a single web application. It doesn’t have the menus, toolbars and accoutrements of a normal web browser. Some people have called it a "[http://www.hawkwings.net/2006/05/13/a-dedicated-distraction-free-browser-for-gmail/ distraction free browser]" because none of the typical browser chrome is used. An SSB also has a tighter integration with the OS and desktop than a typical web application running through a web browser.  
Looking at what has already been done and discussed about desktop/webapp integration, the following is a suggested roadmap for SSB experimentation:
+
<div class="note">WebRunner has become [http://labs.mozilla.com/2007/10/prism/ Prism], a Mozilla Labs project. Find more discussion in the Prism [http://groups.google.com/group/mozilla-labs-prism/topics user feedback forum] or the [https://labs.mozilla.com/forum/index.php/board,16.0.html archived forum].</div>
* '''Separate process:''' When the webapp goes down or locks up, I don’t want anything else affected. Thankfully, Firefox does have session restore, but that is beside the point. When I open many tabs and have several webapps running in a browser, things get slow and unstable after a day or two.
+
== Prism / SSB Objectives  ==
* '''Minimal UI:''' A generic browser UI is not needed for webapps. If any UI is present, make it specific to the webapp I am using.
+
* '''Basic desktop integration:''' Create shortcuts to start the webapp, add ability to show specialized icons in the tray or dock and ability to display notifications.
+
* '''Platform with extensions:''' I don’t want to download a full browser runtime for each webapp. I do want to be able to add some custom code/features that are not directly supported in the webapp. I should be able to install one runtime and then get packages or extensions for each webapp. Think Firefox extensions or Greasemonkey scripts. These extensions should be able to tweak the SSB UI as well.
+
* '''Open external links in real browser:''' If I click a link in the webapp that opens a new site, don’t change my webapp browser window. Open all external links in my default/real browser.
+
  
* [[Prism/FAQ | Prism FAQ]]
+
Looking at what has already been done and discussed about desktop/webapp integration, the following is a suggested roadmap for SSB experimentation:
  
== Current Features ==
+
*'''Separate process:''' When the webapp goes down or locks up, I don’t want anything else affected. Thankfully, Firefox does have session restore, but that is beside the point. When I open many tabs and have several webapps running in a browser, things get slow and unstable after a day or two.
* Window title tracking
+
*'''Minimal UI:''' A generic browser UI is not needed for webapps. If any UI is present, make it specific to the webapp I am using.
* Context menu for basic clipboard and selection operations
+
*'''Basic desktop integration:''' Create shortcuts to start the webapp, add ability to show specialized icons in the tray or dock and ability to display notifications.
* Simple Print support via context menu
+
*'''Platform with extensions:''' I don’t want to download a full browser runtime for each webapp. I do want to be able to add some custom code/features that are not directly supported in the webapp. I should be able to install one runtime and then get packages or extensions for each webapp. Think Firefox extensions or Greasemonkey scripts. These extensions should be able to tweak the SSB UI as well.
* About support via context menu which is useful for checking the XULRunner runtime version
+
*'''Open external links in real browser:''' If I click a link in the webapp that opens a new site, don’t change my webapp browser window. Open all external links in my default/real browser.
* Launch Prism with commandline parameters to host specific webapps
+
* Web application profile support - parameters for a web app can be saved to an INI-style *.webapp file
+
* Support for webapp owned popup windows - some email webapps can use a popup to compose email
+
* Show float-over link destinations in the statusbar so users can see where the link will take them
+
* Support download manager
+
* Support for inline spellcheck and suggestions on context menu
+
* A tool to create new webapp profiles so new webapps can be installed from Prism
+
* An extension to allow Firefox to create webapp profiles since most of this process starts in the browser
+
  
== Wishlist ==
+
*[[Prism/FAQ|Prism FAQ]]
* Add Taskbar icon representation option for the web applications.
+
 
* Add one instance behavior in order for the shortcuts to bring the web app to view rather than open a second window.
+
== Current Features  ==
* Add menus for page setup, open profile and work offline
+
 
* Add support for form field autocompletion, like Firefox
+
*Window title tracking
* Enable extension support so Prism can be tweaked or enhanced. Also, webapps themselves can be tweaked by extensions
+
*Context menu for basic clipboard and selection operations
* Create some form of adjusting preferences (about:config?). For instance, I had to add the code below in webruner-prefs.js to adjust proxy
+
*Simple Print support via context menu
 +
*About support via context menu which is useful for checking the XULRunner runtime version
 +
*Launch Prism with commandline parameters to host specific webapps
 +
*Web application profile support - parameters for a web app can be saved to an INI-style *.webapp file
 +
*Support for webapp owned popup windows - some email webapps can use a popup to compose email
 +
*Show float-over link destinations in the statusbar so users can see where the link will take them
 +
*Support download manager
 +
*Support for inline spellcheck and suggestions on context menu
 +
*A tool to create new webapp profiles so new webapps can be installed from Prism
 +
*An extension to allow Firefox to create webapp profiles since most of this process starts in the browser
 +
 
 +
== Wishlist ==
 +
 
 +
*Add Taskbar icon representation option for the web applications.  
 +
*Make all link open in it's own app (eg. Facebook Prism app will force all facebook link from any other app to open in this app)
 +
*Add one instance behavior in order for the shortcuts to bring the web app to view rather than open a second window.  
 +
*Add menus for page setup, open profile and work offline  
 +
*Add support for form field autocompletion, like Firefox  
 +
*Enable extension support so Prism can be tweaked or enhanced. Also, webapps themselves can be tweaked by extensions  
 +
*Create some form of adjusting preferences (about:config?). For instance, I had to add the code below in webruner-prefs.js to adjust proxy
  
 
   pref("network.proxy.autoconfig_url", "http://autoproxy.url.pac");
 
   pref("network.proxy.autoconfig_url", "http://autoproxy.url.pac");
  pref("network.proxy.type", 2)
+
  pref("network.proxy.type", 2)
 +
 
 +
:::using a parameter in the .webapp file would be the best solution&nbsp;:
  
::: using a parameter in the .webapp file would be the best solution :
 
 
 
   proxy=http://myname:mypassword@myproxy:3128/
 
   proxy=http://myname:mypassword@myproxy:3128/
  
::: but you could also have a sort of "Registry Editor" webapp (just create one with about:config as the URL--maybe keep it in the Prism shortcuts, rather than the webapp ones)
+
:::but you could also have a sort of "Registry Editor" webapp (just create one with about:config as the URL--maybe keep it in the Prism shortcuts, rather than the webapp ones)
 +
 
 +
*'''Add url/domain/subdomain restriction (external links won't work) ''give more detail on the discussion page'''''
 +
*Add ability to open external links with other browsers (Firefox/Konqueror/IE/etc.) ''this should be working now - give more detail on the discussion page''
 +
*Add ability to have entire software and webapp run from a USB memory device for roaming use.
 +
*Possibility of full screen mode
 +
*Find box
 +
*Use webpage (favicon) icon instead of prism icon
 +
*Navigation with Alt + mouse scroll wheel is working, even if navigation is disabled in webapp.ini. Maybe it should be like in firefox Shift + mouse scroll wheel when navigation is enabled.
 +
*Navigation with mouse gestures. A left-click, hold and move cursor to the left would signify a Back page request on a left-click, hold and move cursor to the right would be forward. Others such as to the top left corner to signify minimize window. This would enable the use of touch-screen kiosks without keyboard or mouse attached.
 +
*<del>More robust command line handling. It would be nice be able to simply type one of these:</del>
  
* Add url/domain/subdomain restriction (external links won't work) ''give more detail on the discussion page''
 
* Add ability to open external links with other browsers (Firefox/Konqueror/IE/etc.) ''this should be working now - give more detail on the discussion page''
 
* Add ability to have entire software and webapp run from a USB memory device for roaming use.
 
* Possibility of full screen mode
 
* Find box
 
* Use webpage (favicon) icon instead of prism icon
 
* Navigation with Alt + mouse scroll wheel is working, even if navigation is disabled in webapp.ini. Maybe it should be like in firefox Shift + mouse scroll wheel when navigation is enabled.
 
* Navigation with mouse gestures. A left-click, hold and move cursor to the left would signify a Back page request on a left-click, hold and move cursor to the right would be forward. Others such as to the top left corner to signify minimize window. This would enable the use of touch-screen kiosks without keyboard or mouse attached.
 
* <del>More robust command line handling. It would be nice be able to simply type one of these:
 
 
  webrunner gmail.webapp
 
  webrunner gmail.webapp
  webrunner https://mail.google.com/mail</del> - Nope
+
  webrunner https://mail.google.com/mail - Nope
* Updater like firefox that tells you when a new version of webrunner has been released.
+
 
* Add something to configure and block advertisement.
+
*Updater like firefox that tells you when a new version of webrunner has been released.  
* Back, forward (history) and reload buttons are necessary.
+
*Add something to configure and block advertisement.  
* Support for increasing and decreasing text size (ctrl++ and ctrl--)
+
*Back, forward (history) and reload buttons are necessary.  
* Menu option - 'Preferences'
+
*Support for increasing and decreasing text size (ctrl++ and ctrl--)  
* Option to load "sidebar services", what I mean by this is the option to load services which are meant to load in sidebar (google Chat and google Notebook have specific webpages for the sidebar for example) and which will load in prism as a fixed size window on the left of the screen (and best would be that maximized windows will stay right of it)
+
*Menu option - 'Preferences'  
* Configuration option to sandbox a webapp so it doesn't share cookies with other webapps in the same Prism. This could allow multiple Google apps to be open with different accounts (a@gmail.com Gmail; b@msn.com for Reader; c@hostedgmail.com for Hosted Gmail).
+
*Option to load "sidebar services", what I mean by this is the option to load services which are meant to load in sidebar (google Chat and google Notebook have specific webpages for the sidebar for example) and which will load in prism as a fixed size window on the left of the screen (and best would be that maximized windows will stay right of it)  
* Detection of window close ( user clicks the X button ) with JavaScript. Existing ways to detect browser closure are not reliable and in the context of an app it is essential. Detection of window minimize/restore might be useful as well ( like in a real desktop app... )
+
*Configuration option to sandbox a webapp so it doesn't share cookies with other webapps in the same Prism. This could allow multiple Google apps to be open with different accounts (a@gmail.com Gmail; b@msn.com for Reader; c@hostedgmail.com for Hosted Gmail). ([http://www.gnucitizen.org/blog/mozilla-prism-not-there-yet/ more at gnucitizen.org])
* Better shell integration: Most options should be accessible via command line and --help should print out something usable.
+
*Detection of window close ( user clicks the X button ) with JavaScript. Existing ways to detect browser closure are not reliable and in the context of an app it is essential. Detection of window minimize/restore might be useful as well ( like in a real desktop app... )  
* Add ability to configure/clear private data (cookies, history, passwords, etc.)
+
*Better shell integration: Most options should be accessible via command line and --help should print out something usable.  
* NTLM Authentification like "network.automatic-ntlm-auth.trusted-uris" in Firefox
+
*Add ability to configure/clear private data (cookies, history, passwords, etc.)  
* Minimize to system tray with balloon notifications
+
*NTLM Authentification like "network.automatic-ntlm-auth.trusted-uris" in Firefox  
* Enable selecting spell checker's language in context menu, or guess it based on LANG environment variable and lang html attribution. (As of 0.8 it always uses US English.)
+
*Minimize to system tray with balloon notifications  
* Make it possible for the website developer to specify a menu structure in the host window for the normal menu-bar in the top of an application.
+
*Enable selecting spell checker's language in context menu, or guess it based on LANG environment variable and lang html attribution. (As of 0.8 it always uses US English.)  
* The website developer should be able to specify the supported configuration of prism, e.g. enable/disable sidebar service, preferred sidebar url, icon, etc. This will remove the need for the decentralized .app file.
+
*Make it possible for the website developer to specify a menu structure in the host window for the normal menu-bar in the top of an application.  
* The website developer should be able to specify the preferred/minimum size of the host window.
+
*The website developer should be able to specify the supported configuration of prism, e.g. enable/disable sidebar service, preferred sidebar url, icon, etc. This will remove the need for the decentralized .app file.  
 +
*The website developer should be able to specify the preferred/minimum size of the host window.
 +
 
 +
'''Security for use in Computer-Based Exams - Traagoob - 19 July 2008'''
 +
 
 +
*A toggle-option that locks down the SSB to a registered domain name. For example, an SSB set to w3schools.com would allow links to any higher-level domain name (e.g., www.w3schools.com) or folder (e.g., www.w3schools.com/xml/), but not allow vectoring to another domain name such as google.com. Currently, an SSB set to w3schools.com will vector to www.google.com if the user enters that url into the site's site-search box. At that point the examinee is free to explore unauthorized sites during the examination.
 +
*A toggle-option to restrict starting a regular browser. This is possible if the directory names for the regular browsers are modified, but it would be nicer if the SSB could manage this.
 +
*To be able to set the window height and width via the configuration file, as well as set the border type (dialog, sizeable, none?, etc). I believe the windowsize could be set in the webapp.js though I think it would be more appropriately set within the webapp.ini
 +
 
 +
== Web Application Bundles  ==
 +
 
 +
A web application [[Prism/Bundle|bundle]] is a zip archive that holds a [[Prism/Config|configuration]] file, icons and an optional webapp JS [[Prism/Scripting|script]]. The profile can be used to launch and install the webapp in Prism:
 +
 
 +
<code>prism -webapp [webapp-bundle]</code>
 +
 
 +
Whenever a web application has been launched / installed using the above command line and the webapp [[Prism/Config|configuration]] has an '''ID''' parameter, the web application is unpacked into the Prism profile folder and can be launched directly using:
 +
 
 +
<code>prism -webapp [webapp-id]</code>
 +
 
 +
Here is a simple [[Prism/Bundle#HowTo|how-to]] for building a basic web application bundle.
 +
 
 +
See: [[Prism/Bundle]]
 +
 
 +
== Web Application Configuration  ==
 +
 
 +
A webapp bundle should contain a webapp.ini [[Prism/Config|configuration]] file. The configuration file is a simple, INI-style text file that specifies some parameters about a web application.
 +
 
 +
See: [[Prism/Config]]
 +
 
 +
== Web Application Script  ==
 +
 
 +
Some Prism-based web applications may want to tweak the behavior or add desktop-ish features to the webapp. Prism supports a simple [[Prism/Scripting|scripting]] system that can be used to add custom JS script to the Prism chrome [[Prism/HostWindow|host]], but not the webcontent itself.
 +
<div class="note">In the future, the webapp script may have lower privileges. We are looking into the security aspects of the higher privilege level.</div>
 +
See: [[Prism/Scripting]]
  
'''Security for use in Computer-Based Exams - Traagoob - 19 July 2008'''
+
== Web Application Styling  ==
* A toggle-option that locks down the SSB to a registered domain name. For example, an SSB set to w3schools.com would allow links to any higher-level domain name (e.g., www.w3schools.com) or folder (e.g., www.w3schools.com/xml/), but not allow vectoring to another domain name such as google.com. Currently, an SSB set to w3schools.com will vector to www.google.com if the user enters that url into the site's site-search box. At that point the examinee is free to explore unauthorized sites during the examination.
+
* A toggle-option to restrict starting a regular browser. This is possible if the directory names for the regular browsers are modified, but it would be nicer if the SSB could manage this.
+
  
== Web Application Bundles ==
+
One of Prism's goals is to make web applications feel more like desktop applications. One way to make the illusion seem more real is to use styling (or theming). Prism supports a simple [[Prism/Styling|styling]] system that allows the user to add CSS files to the webapp [[Prism/Bundle|bundle]].  
A web application [[Prism/Bundle | bundle]] is a zip archive that holds a [[Prism/Config | configuration]] file, icons and an optional webapp JS [[Prism/Scripting | script]]. The profile can be used to launch and install the webapp in Prism:
+
  
<code>prism -webapp [webapp-bundle]</code>
+
See: [[Prism/Styling]]
  
Whenever a web application has been launched / installed using the above command line and the webapp [[Prism/Config | configuration]] has an '''ID''' parameter, the web application is unpacked into the Prism profile folder and can be launched directly using:
+
== Prism Host Window  ==
  
<code>prism -webapp [webapp-id]</code>
+
Prism provides a simple, scaled down browser window for running web applications. Using [[Prism/Config|configuration]] files and webapp [[Prism/Scripting|scripting]], the host window can be modified.
  
Here is a simple [[Prism/Bundle#HowTo | how-to]] for building a basic web application bundle.
+
See: [[Prism/HostWindow]]  
  
See: [[Prism/Bundle]]
+
== Installer  ==
  
== Web Application Configuration ==
+
The installer should configure the OS to associate *.webapp files with Prism. This means that when you double-click or launch a *.webapp file, Prism is launched and automatically opens the web application.  
A webapp bundle should contain a webapp.ini [[Prism/Config | configuration]] file. The configuration file is a simple, INI-style text file that specifies some parameters about a web application.  
+
  
See: [[Prism/Config]]
+
Current Windows and Mac installs automatically associate *.webapp with Prism.
  
== Web Application Script ==
+
One interesting side effect is that after this change, you can select a link to a .webapp file in a Web Page and you get it run by Prism - in IE this runs anywhere, but this won't work in Firefox unless the webapp is being issued with an appropriate MIME type on the server: application/x-webrunner works (see [http://blondechris.com/www/gmail.webapp here] for an example).  
Some Prism-based web applications may want to tweak the behavior or add desktop-ish features to the webapp. Prism supports a simple [[Prism/Scripting | scripting]] system that can be used to add custom JS script to the Prism chrome [[Prism/HostWindow | host]], but not the webcontent itself.
+
  
<div class="note"> In the future, the webapp script may have lower privileges. We are looking into the security aspects of the higher privilege level.</div>
+
== Installs  ==
  
See: [[Prism/Scripting]]
+
Prism is available as an extension for Firefox 3 or as a standalone application.
  
== Web Application Styling ==
+
==== Beta version  ====
One of Prism's goals is to make web applications feel more like desktop applications. One way to make the illusion seem more real is to use styling (or theming). Prism supports a simple [[Prism/Styling | styling]] system that allows the user to add CSS files to the webapp [[Prism/Bundle | bundle]].
+
  
See: [[Prism/Styling]]
+
=== Beta 1.0b2  ===
  
== Prism Host Window ==
+
*Extension (all platforms): [https://addons.mozilla.org/en-US/firefox/addon/6665 Install from addons.mozilla.org]
Prism provides a simple, scaled down browser window for running web applications. Using [[Prism/Config | configuration]] files and webapp [[Prism/Scripting | scripting]], the host window can be modified.
+
  
See: [[Prism/HostWindow]]
+
*Install (Mac)(DMG)&nbsp;: [http://prism.mozillalabs.com/downloads/1.0b2/prism-1.0b2.en-US.mac.dmg prism-1.0b2.en-US.mac.dmg]  
 +
*Install (Windows)(ZIP): [http://prism.mozilla.com/downloads/1.0b2/prism-1.0b2.en-US.win32.zip prism-1.0b2.en-US.win32.zip]
  
== Installer ==
+
=== Beta 1.0b1  ===
The installer should configure the OS to associate *.webapp files with Prism. This means that when you double-click or launch a *.webapp file, Prism is launched and automatically opens the web application.
+
  
Current Windows and Mac installs automatically associate *.webapp with Prism.
+
*Install (Linux)&nbsp;: [http://prism.mozilla.com/downloads/1.0b1/prism-1.0b1.en-US.linux-i686.tar.bz2 prism-1.0b1.en-US.linux-i686.tar.bz2]
 +
*Install (Mac)(DMG)&nbsp;: [http://prism.mozilla.com/downloads/1.0b1/prism-1.0b1.en-US.mac.dmg prism-1.0b1.en-US.mac.dmg]
 +
*Install (Windows)(ZIP): [http://prism.mozilla.com/downloads/1.0b1/prism-1.0b1.en-US.win32.zip prism-1.0b1.en-US.win32.zip]
  
One interesting side effect is that after this change, you can select a link to a .webapp file in a Web Page and you get it run by Prism - in IE this runs anywhere, but this won't work in Firefox unless the webapp is being issued with an appropriate MIME type on the server: application/x-webrunner works (see [http://blondechris.com/www/gmail.webapp here] for an example).
+
==== Latest version  ====
  
== Installs ==
+
*Extension (all platforms): [https://addons.mozilla.org/en-US/firefox/addon/6665 Install from addons.mozilla.org]
==== Latest version ====
+
*Install (Windows): [http://people.mozilla.com/~mfinkle/prism/prism-0.9.en-US.win32.exe prism-0.9.en-US.win32.exe] (6.6 MB)
 +
*Install (Windows (ZIP)): [http://people.mozilla.com/~mfinkle/prism/prism-0.9.en-US.win32.zip prism-0.9.en-US.win32.zip] (8.5 MB)
 +
*Install (Mac) '''INTEL ONLY''': [http://people.mozilla.com/~mfinkle/prism/prism-0.9.en-US.mac.dmg prism-0.9.en-US.mac.dmg] (11 MB)
 +
*Install (Linux): [http://people.mozilla.com/~mfinkle/prism/prism-0.9.en-US.linux-i686.tar.bz2 prism-0.9.en-US.linux-i686.tar.bz2] (7.9 MB)
 +
*Install (DEB Package): [http://goopackage.googlecode.com/files/prism_0.9.deb prism_0.9.deb] (8.4 MB)
  
Prism is available as an extension for Firefox 3 or as a standalone application.
+
==== Old version  ====
  
* Extension (all platforms): [https://addons.mozilla.org/en-US/firefox/addon/6665 Install from addons.mozilla.org]
+
*Install (Windows): [http://people.mozilla.org/~mfinkle/prism/prism-0.8-win32.exe prism-0.8-win32.exe] (6 MB)  
* Install (Windows): [http://people.mozilla.com/~mfinkle/prism/prism-0.9.en-US.win32.exe prism-0.9.en-US.win32.exe] (6.6 MB)
+
*Install (Mac): [http://people.mozilla.org/~mfinkle/prism/prism-0.8-mac.dmg prism-0.8-mac.dmg] (17MB)  
* Install (Windows (ZIP)): [http://people.mozilla.com/~mfinkle/prism/prism-0.9.en-US.win32.zip prism-0.9.en-US.win32.zip] (8.5 MB)
+
*Install (Linux): [http://people.mozilla.org/~mfinkle/prism/prism-0.8-linux.tar.bz2 prism-0.8-linux.tar.bz2] (8MB)
* Install (Mac) '''INTEL ONLY''': [http://people.mozilla.com/~mfinkle/prism/prism-0.9.en-US.mac.dmg prism-0.9.en-US.mac.dmg] (11 MB)
+
* Install (Linux): [http://people.mozilla.com/~mfinkle/prism/prism-0.9.en-US.linux-i686.tar.bz2 prism-0.9.en-US.linux-i686.tar.bz2] (7.9 MB)
+
* Install (DEB Package): [http://goopackage.googlecode.com/files/prism_0.9.deb prism_0.9.deb] (8.4 MB)
+
  
==== Old version ====
+
''NOTE: "bash: ./prism: No such file or directory" error on 64-bit Linux (Ubuntu Gutsy Gibbon) occurs if you do not have the "ia32-libs" package installed. Installing the package with "sudo aptitude install ia32-libs" resolves the issue.''
  
* Install (Windows): [http://people.mozilla.org/~mfinkle/prism/prism-0.8-win32.exe prism-0.8-win32.exe] (6 MB)
+
==== Bookmarklet  ====
* Install (Mac): [http://people.mozilla.org/~mfinkle/prism/prism-0.8-mac.dmg prism-0.8-mac.dmg] (17MB)
+
* Install (Linux): [http://people.mozilla.org/~mfinkle/prism/prism-0.8-linux.tar.bz2 prism-0.8-linux.tar.bz2] (8MB)
+
  
''NOTE: "bash: ./prism: No such file or directory" error on 64-bit Linux (Ubuntu Gutsy Gibbon) occurs if you do not have the "ia32-libs" package installed.  Installing the package with "sudo aptitude install ia32-libs" resolves the issue.''
+
*Prism Bookmarklet Experiment: [http://prismspectrum.com/bookmarklet/ prismspectrum.com/bookmarklet] (generates webapps on-the-fly via web)
  
==== Bookmarklet ====
+
*[http://prismspectrum.com/refraction/webapps/?C=M;O=D refracted webapps]
  
* Prism Bookmarklet Experiment: [http://prismspectrum.com/bookmarklet/ prismspectrum.com/bookmarklet] (generates webapps on-the-fly via web)
+
==== Bundles  ====
  
* [http://prismspectrum.com/refraction/webapps/?C=M;O=D refracted webapps]
+
*Gmail: [http://starkravingfinkle.org/projects/webrunner/gmail.webapp gmail.webapp]
 +
*Google Calendar: [http://starkravingfinkle.org/projects/webrunner/gcalendar.webapp gcalendar.webapp]
 +
*Google Docs: [http://starkravingfinkle.org/projects/webrunner/gdocs.webapp gdocs.webapp]
 +
*Google Groups: [http://starkravingfinkle.org/projects/webrunner/groups.webapp groups.webapp]
 +
*Google Analytics: [http://starkravingfinkle.org/projects/webrunner/ganalytics.webapp ganalytics.webapp]
 +
*Google Reader: [http://starkravingfinkle.org/projects/webrunner/greader.webapp greader.webapp]
 +
*Facebook: [http://starkravingfinkle.org/projects/webrunner/facebook.webapp facebook.webapp]
 +
*Twitter: [http://starkravingfinkle.org/projects/webrunner/twitter.webapp twitter.webapp]
  
==== Bundles ====
+
==== User Contributed Bundles ====
  
* Gmail: [http://starkravingfinkle.org/projects/webrunner/gmail.webapp gmail.webapp]
+
*32 online todo lists: [http://internetducttape.com/2007/10/05/distraction-free-gtd-32-todolist-apps/ Zip file with web apps for 32 online todo lists]
* Google Calendar: [http://starkravingfinkle.org/projects/webrunner/gcalendar.webapp gcalendar.webapp]
+
*Anywhere.FM: [http://assets.drop.io/download/479ff19d/3505ccf0bffffc1d90329314ad8a4e96a3a9334d/ce89b8d0-b110-012a-aa90-00127994f632/194200e0-b111-012a-a397-f6c1e1d8b557/anywhere.fmprism.app.webapp anywhere.fm@prism.app.webapp] a service that lets you upload your entire music library to their servers and listen from anywhere through a slick flash interface.
* Google Docs: [http://starkravingfinkle.org/projects/webrunner/gdocs.webapp gdocs.webapp]
+
*AOL Email&nbsp;: [http://www.mediafire.com/?71btgnbjztc AoLEmail.webapp]
* Google Groups: [http://starkravingfinkle.org/projects/webrunner/groups.webapp groups.webapp]
+
*BBC Radio Player [http://alf.hubmed.org/bbcradioplayer.webapp bbcradioplayer.webapp]
* Google Analytics: [http://starkravingfinkle.org/projects/webrunner/ganalytics.webapp ganalytics.webapp]
+
*Bloglines&nbsp;: [http://www.luckydisasters.com/wp-content/uploads/2007/10/bloglines.webapp bloglines.webapp]  
* Google Reader: [http://starkravingfinkle.org/projects/webrunner/greader.webapp greader.webapp]
+
*Bloglines Beta: [http://silenceisdefeat.org/~j0ker/beta.bloglines.webapp beta.bloglines.webapp]
* Facebook: [http://starkravingfinkle.org/projects/webrunner/facebook.webapp facebook.webapp]
+
*Chandler: [http://stuff.occident.us/chandler.webapp chandler.webapp]  
* Twitter: [http://starkravingfinkle.org/projects/webrunner/twitter.webapp twitter.webapp]
+
*Flash Earth (integrates all major mapping sites) [http://www.thanscorner.info/wp-content/uploads/2007/10/FlashEarth.webapp FlashEarth.webapp]
 +
*Flickr: [http://william.rawls.googlepages.com/flickr.webapp flickr.webapp]
 +
*Gollum Wikipedia Browser in english:[http://atomic1fire.googlepages.com/Gollum-en.webapp Gollum_en.webapp]  
 +
*Google Notebook: [http://william.rawls.googlepages.com/gnote.webapp gnote.webapp]
 +
*Google Page Creator: [http://www.luckydisasters.com/wp-content/uploads/2007/10/google_pagecreator.webapp google_pagecreator.webapp]  
 +
*Google Reader + GTalk&nbsp;: [http://www.firefoxstory.com/PRISM-bundle-google-reader-with-gtalk.webapp PRISM-bundle-google-reader-with-gtalk.webapp]
 +
*Google Webmaster Tools: [http://www.luckydisasters.com/wp-content/uploads/2007/10/google_webmastertools.webapp google_webmastertools.webapp]
 +
*GrandCentral Inbox: [http://william.rawls.googlepages.com/grandc.webapp grandc.webapp] (NOTE: GrandCentral requires the Flash plugin. Only way I found to add the flash plugin to WebRunner was to copy my plugins folder from firefox to the webrunner folder. Not the cleanest, but it got all my plugins at once)
 +
*Meebo: [http://thanscorner.info/wp-content/uploads/2007/10/meebo.webapp meebo.webapp] online instant messaging client
 +
*Mibbit: [http://floresg.googlepages.com/www.mibbit.com.webapp mibbit.webapp] online IRC web application
 +
*Miro Guide: [http://silenceisdefeat.org/~j0ker/miroguide.webapp miroguide.webapp]
 +
*Motor0: [http://bakersys.com/files/motor0.webapp motor0.webapp] useful webapp on maintenance and fuel consumptions managment
 +
*Pandora: [http://www.cellojoe.net/other/pandora.webapp.zip pandora.webapp] Internet radio that only plays music you like.
 +
*Plurk: [http://www.darkcanvas.com/uploads/plurk.webapp plurk.webapp] Social Network utilizing a horizontal time line display and lots of AJAX
 +
*reddit: [http://www.betelgeuse.ch/~mgrueter/prism/reddit.webapp reddit.webapp]
 +
*Remember The Milk: [http://www.betelgeuse.ch/~mgrueter/prism/rtm.webapp rtm.webapp] (NOTE: Should work with Google Gears [http://www.iosart.com/blog/2007/06/05/install-google-gears-in-a-xulrunner-app-in-3-quick-steps/ with some help])
 +
*Rsizr Image Editor [http://www.blogscooper.com/webapps/Rsizr.webapp rsizr.webapp]
 +
*SeeqPod: [http://assets.drop.io/download/479ff19d/c8676867e25684ff7a3cce271850247d4adeab78/ce89b8d0-b110-012a-aa90-00127994f632/fb177670-b112-012a-8985-fc3c183d16d0/seeqpod.webapp seeqpod.webapp] Playable music search engine.
 +
*[http://www.slimtimer.com SlimTimer] Client [http://bryce.schoberfamily.com/files/slimtimer.webapp slimtimer.webapp] a very useful time-tracking tool with a "slim" client
 +
*SpagoBI [http://www.altic.org/demo/spagobi.webapp spagobi.webapp] a Web collaborative Business Intelligence platform
 +
*Streamy [http://www.avinash.ws/wp-content/plugins/download-monitor/download.php?id=3 streamy.webapp] ( [http://www.streamy.com Streamy] is a pretty powerful, next-gen online RSS feed reader. )
 +
*studiVZ: [http://www.betelgeuse.ch/~mgrueter/prism/studivz.webapp studivz.webapp]
 +
*Wassr: [http://wassr.com/help/prism.html wassr.webapp]
 +
*Weightwatchers.com Plan Manager&nbsp;: [http://geekfarmlife.com/misty/weightwatchers.webapp weightwatchers.webapp]
 +
*Yahoo! Mail: [http://www.thingsthemselves.com/webrunner/ymail.webapp ymail.webapp] (note that this fakes a Firefox user agent string while running, which may affect other running web applications.)
  
==== User Contributed Bundles ====
+
== Contributing  ==
  
* 32 online todo lists: [http://internetducttape.com/2007/10/05/distraction-free-gtd-32-todolist-apps/ Zip file with web apps for 32 online todo lists]
+
*[http://svn.mozilla.org/projects/webrunner/ Source code in SVN]  
* Anywhere.FM: [http://assets.drop.io/download/479ff19d/3505ccf0bffffc1d90329314ad8a4e96a3a9334d/ce89b8d0-b110-012a-aa90-00127994f632/194200e0-b111-012a-a397-f6c1e1d8b557/anywhere.fmprism.app.webapp anywhere.fm@prism.app.webapp] a service that lets you upload your entire music library to their servers and listen from anywhere through a slick flash interface.
+
*Bugzilla (for bugs and suggestions) [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&product=Mozilla+Labs&component=Prism&resolution=---&chfieldto=Now open bugs], [https://bugzilla.mozilla.org/enter_bug.cgi?product=Mozilla+Labs&component=Prism enter new bug]
* AOL Email : [http://www.mediafire.com/?71btgnbjztc AoLEmail.webapp]
+
* BBC Radio Player [http://alf.hubmed.org/bbcradioplayer.webapp bbcradioplayer.webapp]
+
* Bloglines : [http://www.luckydisasters.com/wp-content/uploads/2007/10/bloglines.webapp bloglines.webapp]
+
* Bloglines Beta: [http://silenceisdefeat.org/~j0ker/beta.bloglines.webapp beta.bloglines.webapp]
+
* Chandler: [http://stuff.occident.us/chandler.webapp chandler.webapp]
+
* Flash Earth (integrates all major mapping sites) [http://www.thanscorner.info/wp-content/uploads/2007/10/FlashEarth.webapp FlashEarth.webapp]
+
* Flickr: [http://william.rawls.googlepages.com/flickr.webapp flickr.webapp]
+
* Gollum Wikipedia Browser in english:[http://atomic1fire.googlepages.com/Gollum-en.webapp Gollum_en.webapp]
+
* Google Notebook: [http://william.rawls.googlepages.com/gnote.webapp gnote.webapp]
+
* Google Page Creator: [http://www.luckydisasters.com/wp-content/uploads/2007/10/google_pagecreator.webapp google_pagecreator.webapp]
+
* Google Reader + GTalk : [http://www.firefoxstory.com/PRISM-bundle-google-reader-with-gtalk.webapp PRISM-bundle-google-reader-with-gtalk.webapp]
+
* Google Webmaster Tools: [http://www.luckydisasters.com/wp-content/uploads/2007/10/google_webmastertools.webapp google_webmastertools.webapp]
+
* GrandCentral Inbox: [http://william.rawls.googlepages.com/grandc.webapp grandc.webapp] (NOTE: GrandCentral requires the Flash plugin. Only way I found to add the flash plugin to WebRunner was to copy my plugins folder from firefox to the webrunner folder. Not the cleanest, but it got all my plugins at once)
+
* Meebo: [http://thanscorner.info/wp-content/uploads/2007/10/meebo.webapp meebo.webapp] online instant messaging client
+
* Mibbit: [http://floresg.googlepages.com/www.mibbit.com.webapp mibbit.webapp] online IRC web application
+
* Miro Guide: [http://silenceisdefeat.org/~j0ker/miroguide.webapp miroguide.webapp]
+
* Motor0: [http://bakersys.com/files/motor0.webapp motor0.webapp] useful webapp on maintenance and fuel consumptions managment
+
* Pandora: [http://www.cellojoe.net/other/pandora.webapp.zip pandora.webapp] Internet radio that only plays music you like.
+
* Plurk: [http://www.darkcanvas.com/uploads/plurk.webapp plurk.webapp] Social Network utilizing a horizontal time line display and lots of AJAX
+
* reddit: [http://www.betelgeuse.ch/~mgrueter/prism/reddit.webapp reddit.webapp]
+
* Remember The Milk: [http://www.betelgeuse.ch/~mgrueter/prism/rtm.webapp rtm.webapp] (NOTE: Should work with Google Gears [http://www.iosart.com/blog/2007/06/05/install-google-gears-in-a-xulrunner-app-in-3-quick-steps/ with some help])
+
* Rsizr Image Editor [http://www.blogscooper.com/webapps/Rsizr.webapp rsizr.webapp]
+
* SeeqPod: [http://assets.drop.io/download/479ff19d/c8676867e25684ff7a3cce271850247d4adeab78/ce89b8d0-b110-012a-aa90-00127994f632/fb177670-b112-012a-8985-fc3c183d16d0/seeqpod.webapp seeqpod.webapp] Playable music search engine.
+
* [http://www.slimtimer.com SlimTimer] Client [http://bryce.schoberfamily.com/files/slimtimer.webapp slimtimer.webapp] a very useful time-tracking tool with a "slim" client
+
* SpagoBI [http://www.altic.org/demo/spagobi.webapp spagobi.webapp] a Web collaborative Business Intelligence platform
+
* Streamy [http://www.avinash.ws/wp-content/plugins/download-monitor/download.php?id=3 streamy.webapp] ( [http://www.streamy.com Streamy] is a pretty powerful, next-gen online RSS feed reader. )
+
* studiVZ: [http://www.betelgeuse.ch/~mgrueter/prism/studivz.webapp studivz.webapp]
+
* Wassr: [http://wassr.com/help/prism.html wassr.webapp]
+
* Weightwatchers.com Plan Manager : [http://geekfarmlife.com/misty/weightwatchers.webapp weightwatchers.webapp]
+
* Yahoo! Mail: [http://www.thingsthemselves.com/webrunner/ymail.webapp ymail.webapp] (note that this fakes a Firefox user agent string while running, which may affect other running web applications.)
+
  
== Contributing ==
+
== Blog Posts  ==
* [http://svn.mozilla.org/projects/webrunner/ Source code in SVN]
+
* Bugzilla (for bugs and suggestions) [https://bugzilla.mozilla.org/buglist.cgi?query_format=advanced&product=Mozilla+Labs&component=Prism&resolution=---&chfieldto=Now open bugs], [https://bugzilla.mozilla.org/enter_bug.cgi?product=Mozilla+Labs&component=Prism enter new bug]
+
  
== Blog Posts ==
+
[http://ad28.ru/?p=275 Mozilla Prism&nbsp;: Web-приложения на рабочем столе (Russian)]<br> [http://dehamerspace.com/2008/04/18/site-specific-browsers/ Site-Specific Browsers]<br> [http://www.kalaj.org/blog/2008/04/08/how-to-install-flash-player-in-mozilla-prism How to install Flash player in Mozilla Prism]<br> [http://thanscorner.info/archives/2007/mozilla-prism-webrunner-with-a-little-extra-juice ThansCorner: Mozilla Prism - Webrunner with Pazzaz]<br> [http://techtracer.com/2007/10/31/mozilla-prism-a-revolution-in-web-apps/ Mozilla Prism - A Revolution in Web Apps]<br> [http://thanscorner.info/archives/2007/mozilla-webrunner-07 ThansCorner: Mozilla WebRunner 0.7]<br> [http://starkravingfinkle.org/blog/2006/11/site-specific-browers/ Site Specific Browsers]<br> [http://starkravingfinkle.org/blog/2007/03/site-specific-browser-webrunner/ WebRunner]<br> [http://starkravingfinkle.org/blog/2007/03/site-specific-browser-using-webrunner/ Using WebRunner]<br> [http://starkravingfinkle.org/blog/2007/06/webrunner-gears-offline-desktop-reader/ WebRunner + Gears = Offline Desktop Reader]<br> [http://starkravingfinkle.org/blog/2007/07/webrunner-05-now-with-more-power/ WebRunner 0.5]<br> [http://starkravingfinkle.org/blog/2007/07/webrunner-05-mac-support/ WebRunner 0.5 - Mac Support]<br> [http://starkravingfinkle.org/blog/2007/07/webrunner-05-linux-install/ WebRunner 0.5 - Linux Install]<br> [http://indigoflats.blogspot.com/2007/10/webrunner-google-reader-and-google.html WebRunner, Google Reader, and Google Notebook]<br> [http://internetducttape.com/2007/10/05/distraction-free-gtd-32-todolist-apps/ Distraction Free GTD - 32+ web app files for online todo lists]<br> [http://www.blogscooper.com/Mozilla-WebRunner-a-one-window-tabless-browser-with-no-URL-bar/ Mozilla WebRunner: a one-window, tabless browser with no URL bar]<br> [http://starkravingfinkle.org/blog/2007/10/webrunner-becomes-prism-a-mozilla-labs-project/ WebRunner becomes Prism - A Mozilla Labs Project]<br> [http://labs.mozilla.com/2007/10/prism/ Mozilla Labs: Prism]<br> [http://blog.mozilla.com/faaborg/2007/10/24/prism/ Alex Faaborg: Prism]<br> [http://www.blogscooper.com/Mozilla-Prism-Bringing-Web-Apps-to-the-Desktop/ Mozilla Prism: Bringing Web Apps to the Desktop]<br> [http://www.christianmontoya.com/2007/12/16/everyone-should-use-site-specific-browsers/ Everyone should use Site Specific Browsers]<br> [http://appsportables.blogspot.com/2009/06/mozilla-prism-10-beta-1-portable.html Mozilla Prism Portable (Spanish)]<br> [http://www.firefoxstory.com/2007/10/prism-lavenir-des-applications-web.html Prism, l'avenir des applications Web selon Mozilla (French)]<br> [http://www.firefoxstory.com/2007/11/mozilla-prism-bundle-google-reader-talk.html Mozilla Prism&nbsp;: bundle custom Google Reader + Talk (French)]<br> [http://arthuran.net/node/34/mozilla-prism Mozilla Prism&nbsp;: arthuran.net (Thai)]
[http://ad28.ru/?p=275 Mozilla Prism : Web-приложения на рабочем столе (Russian)]<br>
+
[http://dehamerspace.com/2008/04/18/site-specific-browsers/ Site-Specific Browsers]<br>
+
[http://www.kalaj.org/blog/2008/04/08/how-to-install-flash-player-in-mozilla-prism How to install Flash player in Mozilla Prism]<br>
+
[http://thanscorner.info/archives/2007/mozilla-prism-webrunner-with-a-little-extra-juice ThansCorner: Mozilla Prism - Webrunner with Pazzaz]<br>
+
[http://techtracer.com/2007/10/31/mozilla-prism-a-revolution-in-web-apps/ Mozilla Prism - A Revolution in Web Apps]<br>
+
[http://thanscorner.info/archives/2007/mozilla-webrunner-07 ThansCorner: Mozilla WebRunner 0.7]<br>
+
[http://starkravingfinkle.org/blog/2006/11/site-specific-browers/ Site Specific Browsers]<br>
+
[http://starkravingfinkle.org/blog/2007/03/site-specific-browser-webrunner/ WebRunner]<br>
+
[http://starkravingfinkle.org/blog/2007/03/site-specific-browser-using-webrunner/ Using WebRunner]<br>
+
[http://starkravingfinkle.org/blog/2007/06/webrunner-gears-offline-desktop-reader/ WebRunner + Gears = Offline Desktop Reader]<br>
+
[http://starkravingfinkle.org/blog/2007/07/webrunner-05-now-with-more-power/ WebRunner 0.5]<br>
+
[http://starkravingfinkle.org/blog/2007/07/webrunner-05-mac-support/ WebRunner 0.5 - Mac Support]<br>
+
[http://starkravingfinkle.org/blog/2007/07/webrunner-05-linux-install/ WebRunner 0.5 - Linux Install]<br>
+
[http://indigoflats.blogspot.com/2007/10/webrunner-google-reader-and-google.html WebRunner, Google Reader, and Google Notebook]<br>
+
[http://internetducttape.com/2007/10/05/distraction-free-gtd-32-todolist-apps/ Distraction Free GTD - 32+ web app files for online todo lists]<br>
+
[http://www.blogscooper.com/Mozilla-WebRunner-a-one-window-tabless-browser-with-no-URL-bar/ Mozilla WebRunner: a one-window, tabless browser with no URL bar]<br>
+
[http://starkravingfinkle.org/blog/2007/10/webrunner-becomes-prism-a-mozilla-labs-project/ WebRunner becomes Prism - A Mozilla Labs Project]<br>
+
[http://labs.mozilla.com/2007/10/prism/ Mozilla Labs: Prism]<br>
+
[http://blog.mozilla.com/faaborg/2007/10/24/prism/ Alex Faaborg: Prism]<br>
+
[http://www.blogscooper.com/Mozilla-Prism-Bringing-Web-Apps-to-the-Desktop/ Mozilla Prism: Bringing Web Apps to the Desktop]<br>
+
[http://www.christianmontoya.com/2007/12/16/everyone-should-use-site-specific-browsers/ Everyone should use Site Specific Browsers]<br>
+
[http://abraham.wordpress.com/2007/10/29/mozilla-prism-portable/ Mozilla Prism Portable (Spanish)]<br>
+
[http://www.firefoxstory.com/2007/10/prism-lavenir-des-applications-web.html Prism, l'avenir des applications Web selon Mozilla (French)]<br>
+
[http://www.firefoxstory.com/2007/11/mozilla-prism-bundle-google-reader-talk.html Mozilla Prism : bundle custom Google Reader + Talk (French)]<br>
+
[http://arthuran.net/node/34/mozilla-prism Mozilla Prism : arthuran.net (Thai)]
+

Latest revision as of 00:21, 19 May 2011

Warning sign
Warning:

Prism is no longer developed by Mozilla Labs, although this documentation will still be useful to those using WebRunner (see next paragraph). There are now two alternatives:

The Prism code was picked up by Matthew Gertner who started a company to continue its open source development under the name WebRunner. See his blog post at http://www.salsitasoft.com/blog/2011/02/09/prism-is-now-webrunner/

Mozilla Labs itself started a new project called Chromeless. See their blog post at http://mozillalabs.com/blog/2011/02/prism-is-now-chromeless/

Contents


Prism is a simple XULRunner based browser that hosts web applications without the normal web browser user interface. Prism is based on a concept called Site Specific Browsers (SSB). An SSB is an application with an embedded browser designed to work exclusively with a single web application. It doesn’t have the menus, toolbars and accoutrements of a normal web browser. Some people have called it a "distraction free browser" because none of the typical browser chrome is used. An SSB also has a tighter integration with the OS and desktop than a typical web application running through a web browser.

WebRunner has become Prism, a Mozilla Labs project. Find more discussion in the Prism user feedback forum or the archived forum.

[edit] Prism / SSB Objectives

Looking at what has already been done and discussed about desktop/webapp integration, the following is a suggested roadmap for SSB experimentation:

  • Separate process: When the webapp goes down or locks up, I don’t want anything else affected. Thankfully, Firefox does have session restore, but that is beside the point. When I open many tabs and have several webapps running in a browser, things get slow and unstable after a day or two.
  • Minimal UI: A generic browser UI is not needed for webapps. If any UI is present, make it specific to the webapp I am using.
  • Basic desktop integration: Create shortcuts to start the webapp, add ability to show specialized icons in the tray or dock and ability to display notifications.
  • Platform with extensions: I don’t want to download a full browser runtime for each webapp. I do want to be able to add some custom code/features that are not directly supported in the webapp. I should be able to install one runtime and then get packages or extensions for each webapp. Think Firefox extensions or Greasemonkey scripts. These extensions should be able to tweak the SSB UI as well.
  • Open external links in real browser: If I click a link in the webapp that opens a new site, don’t change my webapp browser window. Open all external links in my default/real browser.

[edit] Current Features

  • Window title tracking
  • Context menu for basic clipboard and selection operations
  • Simple Print support via context menu
  • About support via context menu which is useful for checking the XULRunner runtime version
  • Launch Prism with commandline parameters to host specific webapps
  • Web application profile support - parameters for a web app can be saved to an INI-style *.webapp file
  • Support for webapp owned popup windows - some email webapps can use a popup to compose email
  • Show float-over link destinations in the statusbar so users can see where the link will take them
  • Support download manager
  • Support for inline spellcheck and suggestions on context menu
  • A tool to create new webapp profiles so new webapps can be installed from Prism
  • An extension to allow Firefox to create webapp profiles since most of this process starts in the browser

[edit] Wishlist

  • Add Taskbar icon representation option for the web applications.
  • Make all link open in it's own app (eg. Facebook Prism app will force all facebook link from any other app to open in this app)
  • Add one instance behavior in order for the shortcuts to bring the web app to view rather than open a second window.
  • Add menus for page setup, open profile and work offline
  • Add support for form field autocompletion, like Firefox
  • Enable extension support so Prism can be tweaked or enhanced. Also, webapps themselves can be tweaked by extensions
  • Create some form of adjusting preferences (about:config?). For instance, I had to add the code below in webruner-prefs.js to adjust proxy
  pref("network.proxy.autoconfig_url", "http://autoproxy.url.pac");
 pref("network.proxy.type", 2)
using a parameter in the .webapp file would be the best solution :
  proxy=http://myname:mypassword@myproxy:3128/
but you could also have a sort of "Registry Editor" webapp (just create one with about:config as the URL--maybe keep it in the Prism shortcuts, rather than the webapp ones)
  • Add url/domain/subdomain restriction (external links won't work) give more detail on the discussion page
  • Add ability to open external links with other browsers (Firefox/Konqueror/IE/etc.) this should be working now - give more detail on the discussion page
  • Add ability to have entire software and webapp run from a USB memory device for roaming use.
  • Possibility of full screen mode
  • Find box
  • Use webpage (favicon) icon instead of prism icon
  • Navigation with Alt + mouse scroll wheel is working, even if navigation is disabled in webapp.ini. Maybe it should be like in firefox Shift + mouse scroll wheel when navigation is enabled.
  • Navigation with mouse gestures. A left-click, hold and move cursor to the left would signify a Back page request on a left-click, hold and move cursor to the right would be forward. Others such as to the top left corner to signify minimize window. This would enable the use of touch-screen kiosks without keyboard or mouse attached.
  • More robust command line handling. It would be nice be able to simply type one of these:
webrunner gmail.webapp
webrunner https://mail.google.com/mail - Nope
  • Updater like firefox that tells you when a new version of webrunner has been released.
  • Add something to configure and block advertisement.
  • Back, forward (history) and reload buttons are necessary.
  • Support for increasing and decreasing text size (ctrl++ and ctrl--)
  • Menu option - 'Preferences'
  • Option to load "sidebar services", what I mean by this is the option to load services which are meant to load in sidebar (google Chat and google Notebook have specific webpages for the sidebar for example) and which will load in prism as a fixed size window on the left of the screen (and best would be that maximized windows will stay right of it)
  • Configuration option to sandbox a webapp so it doesn't share cookies with other webapps in the same Prism. This could allow multiple Google apps to be open with different accounts (a@gmail.com Gmail; b@msn.com for Reader; c@hostedgmail.com for Hosted Gmail). (more at gnucitizen.org)
  • Detection of window close ( user clicks the X button ) with JavaScript. Existing ways to detect browser closure are not reliable and in the context of an app it is essential. Detection of window minimize/restore might be useful as well ( like in a real desktop app... )
  • Better shell integration: Most options should be accessible via command line and --help should print out something usable.
  • Add ability to configure/clear private data (cookies, history, passwords, etc.)
  • NTLM Authentification like "network.automatic-ntlm-auth.trusted-uris" in Firefox
  • Minimize to system tray with balloon notifications
  • Enable selecting spell checker's language in context menu, or guess it based on LANG environment variable and lang html attribution. (As of 0.8 it always uses US English.)
  • Make it possible for the website developer to specify a menu structure in the host window for the normal menu-bar in the top of an application.
  • The website developer should be able to specify the supported configuration of prism, e.g. enable/disable sidebar service, preferred sidebar url, icon, etc. This will remove the need for the decentralized .app file.
  • The website developer should be able to specify the preferred/minimum size of the host window.

Security for use in Computer-Based Exams - Traagoob - 19 July 2008

  • A toggle-option that locks down the SSB to a registered domain name. For example, an SSB set to w3schools.com would allow links to any higher-level domain name (e.g., www.w3schools.com) or folder (e.g., www.w3schools.com/xml/), but not allow vectoring to another domain name such as google.com. Currently, an SSB set to w3schools.com will vector to www.google.com if the user enters that url into the site's site-search box. At that point the examinee is free to explore unauthorized sites during the examination.
  • A toggle-option to restrict starting a regular browser. This is possible if the directory names for the regular browsers are modified, but it would be nicer if the SSB could manage this.
  • To be able to set the window height and width via the configuration file, as well as set the border type (dialog, sizeable, none?, etc). I believe the windowsize could be set in the webapp.js though I think it would be more appropriately set within the webapp.ini

[edit] Web Application Bundles

A web application bundle is a zip archive that holds a configuration file, icons and an optional webapp JS script. The profile can be used to launch and install the webapp in Prism:

prism -webapp [webapp-bundle]

Whenever a web application has been launched / installed using the above command line and the webapp configuration has an ID parameter, the web application is unpacked into the Prism profile folder and can be launched directly using:

prism -webapp [webapp-id]

Here is a simple how-to for building a basic web application bundle.

See: Prism/Bundle

[edit] Web Application Configuration

A webapp bundle should contain a webapp.ini configuration file. The configuration file is a simple, INI-style text file that specifies some parameters about a web application.

See: Prism/Config

[edit] Web Application Script

Some Prism-based web applications may want to tweak the behavior or add desktop-ish features to the webapp. Prism supports a simple scripting system that can be used to add custom JS script to the Prism chrome host, but not the webcontent itself.

In the future, the webapp script may have lower privileges. We are looking into the security aspects of the higher privilege level.

See: Prism/Scripting

[edit] Web Application Styling

One of Prism's goals is to make web applications feel more like desktop applications. One way to make the illusion seem more real is to use styling (or theming). Prism supports a simple styling system that allows the user to add CSS files to the webapp bundle.

See: Prism/Styling

[edit] Prism Host Window

Prism provides a simple, scaled down browser window for running web applications. Using configuration files and webapp scripting, the host window can be modified.

See: Prism/HostWindow

[edit] Installer

The installer should configure the OS to associate *.webapp files with Prism. This means that when you double-click or launch a *.webapp file, Prism is launched and automatically opens the web application.

Current Windows and Mac installs automatically associate *.webapp with Prism.

One interesting side effect is that after this change, you can select a link to a .webapp file in a Web Page and you get it run by Prism - in IE this runs anywhere, but this won't work in Firefox unless the webapp is being issued with an appropriate MIME type on the server: application/x-webrunner works (see here for an example).

[edit] Installs

Prism is available as an extension for Firefox 3 or as a standalone application.

[edit] Beta version

[edit] Beta 1.0b2

[edit] Beta 1.0b1

[edit] Latest version

[edit] Old version

NOTE: "bash: ./prism: No such file or directory" error on 64-bit Linux (Ubuntu Gutsy Gibbon) occurs if you do not have the "ia32-libs" package installed. Installing the package with "sudo aptitude install ia32-libs" resolves the issue.

[edit] Bookmarklet

[edit] Bundles

[edit] User Contributed Bundles

[edit] Contributing

[edit] Blog Posts

Mozilla Prism : Web-приложения на рабочем столе (Russian)
Site-Specific Browsers
How to install Flash player in Mozilla Prism
ThansCorner: Mozilla Prism - Webrunner with Pazzaz
Mozilla Prism - A Revolution in Web Apps
ThansCorner: Mozilla WebRunner 0.7
Site Specific Browsers
WebRunner
Using WebRunner
WebRunner + Gears = Offline Desktop Reader
WebRunner 0.5
WebRunner 0.5 - Mac Support
WebRunner 0.5 - Linux Install
WebRunner, Google Reader, and Google Notebook
Distraction Free GTD - 32+ web app files for online todo lists
Mozilla WebRunner: a one-window, tabless browser with no URL bar
WebRunner becomes Prism - A Mozilla Labs Project
Mozilla Labs: Prism
Alex Faaborg: Prism
Mozilla Prism: Bringing Web Apps to the Desktop
Everyone should use Site Specific Browsers
Mozilla Prism Portable (Spanish)
Prism, l'avenir des applications Web selon Mozilla (French)
Mozilla Prism : bundle custom Google Reader + Talk (French)
Mozilla Prism : arthuran.net (Thai)