Site Specific Browsers, Mozilla's Prism
« | Sat December 13, 2008 | comments and reactions | permanent link | »
This post is more than two years old. It might be still-relevant and maybe even awesome, but it's probably outdated (and likely embarassing!) Proceed with care.
While researching a particularly baffling missing Firefox feature (bug?) (why Firefox displays a blank page when opening a new tab, instead of at least the home page), we stumbled upon Mozilla Labs, which is simply too chocked full of goodies to ignore.
(Side note: at present, it appears that any one of several tab-related Firefox add-ons can be used to improve the "new tab" functionality. Our pick: New Tab Homepage)
Most promising of the Mozilla Labs projects may be Prism (formerly named WebRunner):
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.
Not so long ago, we wrote about a minor epiphany of sorts where we "discovered" browser-based programming. Since then, we've been fortunate to become gainfully employed in developing browser-based MIS applications. Our discovery of and increasing creativity with the jQuery javascript library and Ajax, has made available many interface options previously unavailable to traditional web-apps.
It consistently amazes us how we can be mostly unaware of whole concepts, such as the SSB (Wikipedia), while having problems that cry out for the very solutions these concepts provide. In truth, we have long thought about about SSB's, without knowing the term... at one point even working on a C# .NET-based Windows GUI that was in hindsight, exactly a SSB: nothing more than a Windows WebBrowser control with a custom lightweight chrome. Without really knowing what we were doing, we were trying to bridge the interface gap between the web and the desktop.
Prism (and any of the other SSB packages out there) may very well address what is undoubtedly the largest headache for web application developers: deploying in uncontrolled and varied environments. Much has improved with regards to browser and platform inconsistencies in the last five years, but on closer inspection, many of these "improvements" are merely elegant hacks that developers have used to abstract away from the fact that no two browsers (or rendering engines) are likely to ever be created equal.
There is, in all likelihood, a distinction that needs to be made here between a "web designer" and a "web-application developer". The web designer, primarily tasked with presenting and formatting content, may be forced to (and ethically should) continue developing for the range of browsers in the uncontrolled environment of the Internet. The web app developer on the other hand, is tasked with creating much more interface-heavy applications that would benefit from (and increasingly may demand) a more controlled platform/environment for deployment... which Site Specific Browser packages like Prism may well elegantly provide.