I think this one would need a synopsis before the real story because some of you might just be interested in the functionality and not how it works.
So, Prism is a Firefox extension that allows you to make a web application (gmail, gdocs, etc) behave as a desktop app. Essentially it fakes a desktop application that can browse only what you configure it to do. The ‘faking’ app won’t have usual browser controls like back/forward button, address bar, etc….but then thats the idea right from the beginning to make an application and not ‘yet-another-browser-instance’. It would also install shorcuts to invoke ‘the faking app’, so that you can feel right-at-home with our start menu full of your ‘desktop’-apps. BTW, behind the scenes there would actually be an (another–not the one you are using for browsing) instance of firefox which would be running. Although, this instance is just firefox due to its name, it doesn’t share your user profile and hence the cookies, bookmarks, extensions etc are also not shared.
If you are the not-interested-to-know-details type you can essentially stop here.
To give a grounds up, firefox binary knows how to browse and its UI layer is essentially handled by XULRunner. The whole of firefox UI are essentially a bunch of XUL scripts. BTW, there is a reason I said essentially. XULRunner is used by quite a few application — http://en.wikipedia.org/wiki/XULRunner#Uses, but firefox doesn’t use it the same way as all the others do. Firefox, has a copy of XULRunner engine and hence is usually not same as the-xulrunner. With Firefox 3 firefox.exe is now supporting any xulrunner app (configuration), and thats the power Prism is exploiting.
When we say that Prism is creating an app, it essentially writes a small configuration in user’s directory and the shorcuts to the app call firefox.exe with proper command line argument referencing the custom script.
Powered by ScribeFire.