Prism Brainstorming
Now that Prism has launched, a lot of people have been suggesting features and various directions Mozilla Labs could potentially take the experiment in the future. Here is a collection of ideas that people have recently suggested, and some things I’ve been thinking about in the back of my head. Please feel free to post your own ideas in the comments. [Update: or you can discuss on a thread on the Mozilla Labs forums about ideas for future directions].
Improving the Refracting Experience
- We could package webapp bundles as extensions, and then have Prism search for matching extensions when the user is converting a Web application to a desktop application. These extensions would include various files to customize the Web application, like a webapp.css file to style the application, greasemonkey scripts, etc. In terms of the user interface, users would just see a screen shot of what the application will look like, along with a feature list when refracting an application out of their browser. For instance, if the user is converting Google Reader out of their browser (Tools > Convert to Application), they may see one bundle that has been downloaded by 10,000 people and another that has been downloaded by 3,000 people. After looking at the screen shots and feature lists, they choose which the one they want (or none). Users could switch which bundle they are using to modify the Web application at any point after refracting as well.
- Automatically convert the user’s favorite Web applications based on a white list of known applications and their frecency score in places? For instance, Firefox notices that the user visits 30 Boxes every day so it drops a shortcut to 30 Boxes in the Web applications folder of their Start Menu to alternatively launch the application with Prism. Since this is just a shortcut, it’s only going to take up ~1k of space on the user’s hard drive, but it still may not be a good idea since users generally have a certain chagrin for applications that proactively try to help them. There are also some privacy implications.
Content Handling
- Allow Web applications to register with the operating system to handle certain file types. Obviously there are a lot of security concerns with this, and this would only apply to applications that the user has personally refracted, there would need to be confirmation dialog boxes before uploading content, etc.
- Allow the user to drag and drop files onto refracted applications, or Firefox (which will load the Web app in a new tab and then upload the file)
- Get the process of uploading files to Web applications standardized through a group like the WHATWG, and supported by a few popular Web applications, like Zoho, and Google Docs
Integration with the Desktop Environment
Windows
- Minimize to the system tray
OS X
- Modify the dock icon (number of unread emails, web feed messages, etc.)
- Run as a menu bar item (we would need to convert the favicon to monochrome)
All Platforms
- Let Web application developers specify their own high resolution application icon so we don’t have to rely on upscaling
- Support for frameless windows (for more widgetish apps, or stylized apps like twitterrific)
- Get a notification api standardized through a group like the WHATWG, but leave it up to the client to determine how to deliver the notification to the user (we would probably go with growl on mac, system tray dialog bubbles on Windows, custom implementation on Linux, etc.)
- Launch application on startup
Improvements to the Web Platform (mentioned in the original announcement)
- Support for offline applications
- canvas3d
Partner Builds
- Make it really easy for application developers to deploy Prism along with their webapp bundle directly to users.



I’ve started a thread at the Mozilla Labs Forum to discuss ideas for future directions, as well. If you’d like to take part in a discussion, feel free to head over there and join in.
Leaving ideas here is good, too. You can trust Alex to bring them forward!