Showing posts with label prism. Show all posts
Showing posts with label prism. Show all posts

Thursday, October 22, 2009

Using firefox extensions in mozilla prism

Matt Gertner, creator of the Mozilla Prism firefox addon/SSB, just posted some basics on how to get a firefox extension working with prism.

Thought it was interesting for those messing with site-specific browsers...

http://browsing.justdiscourse.com/2009/10/22/prism-and-extensions/

Friday, October 9, 2009

Additional stuff from Developing with Mozilla Prism

Yesterday in my presentation on Developing with Mozilla Prism, I had some difficulties getting an app to work because of an intermittent bug in prism right now.

I did want to post the webapp.js code for the Google Reader prism app that I was showing during the presentation:

/**
* Google Reader web app script
*/

function n(app, msg) {
window.platform.showNotification(app, msg, null);
}

/**
* standard webrunner plugin api
*/
function startup() {
}

function preload() {
}

function load() {
Reader.load();
}

function shutdown() {
Reader.shutdown();
}

function error() {
}

var Reader = {
_timer : null,
_unreadCount : 0,
_window : null,

receiveMessage : function() {
//window.platform.sound().beep();
window.platform.getAttention();

n("Google Reader", "You have " + Reader._unreadCount + " unread item(s).");
},

_init : function() {
Reader._unreadCount = 0;
Reader._window = window;
},

run : function() {
if (Reader._unreadCount == undefined)
Reader._unreadCount = 0;

var title = Reader._window.top.document.title;

var matches = title.match(/Google Reader \((\d+)\)/);
if (matches) {
if (matches[1] > Reader._unreadCount) {
Reader._unreadCount = matches[1];
Reader.receiveMessage();
}

Reader._unreadCount = matches[1];
}
},

load : function() {
Reader._init();
// kick off a polling timer to check for new articles
Reader._timer = Reader._window.setInterval(Reader.run, 5000);
},

shutdown : function() {
if (Reader._timer)
Reader._window.clearInterval(Reader._timer);
}
};


Also, the MIME type to add to your httpd.conf to allow prism webapp bundles to load properly by linking to them is:

AddType application/x-webapp .webapp


Talking with Matt Gertner a little about adding javascript to your own web page... He said that you could use the window.platform stuff in your webapp and that would, in many cases, simply replace the need for webapp.js since your web page would then essentially become prism aware. That's another option for trying to distribute a prism app.

For more information on prism - check out https://developer.mozilla.org/en/Prism

Thursday, October 8, 2009

Slides for Developing with Mozilla Prism

I just wanted to post my slides for my presentation this afternoon on Developing with Mozilla Prism.

It will be in the Auditorium at 3 PM. I hope to see you there!

I received a bag of stuff from Mozilla to give away - various fun mozilla/firefox stickers and mozilla firefox badge lanyards.

Slides (pdf through Google Docs)

Saturday, October 3, 2009

Utah Open Source conference 2009 - Developing with Mozilla Prism

I will be speaking at the Utah Open Source conference next Thursday at 3 PM on Developing with Mozilla Prism.

I'm excited because Mozilla Prism is nearing a final release of 1.0 - it's at 1.0 b2 at this point. I talked to a Mozilla employee, Mark Finkle, who works on Prism, in addition to Fennec, their mobile browser project. He talked to Mozilla HQ and it sounds like I'll be able to get some Mozilla swag to give away at the presentation!

I'm also trying to start a community around building a prism webapp bundle library that I'll talk about more in my presentation. I thought it would be nice to have some open source examples of Prism web application bundles that people could refer to and add to. So I created a Google Code project called prism-apps.

In any case, check out the Prism project and come to the presentation!

(I'll post my slides later in the week as I finalize them.)

Sunday, September 6, 2009

Some basics on Mozilla Prism

Lately I've been working on getting Mozilla Prism working for me on linux. It's in the 1.0 beta stage and seems to me to be the most promising now among the cross-platform site-specific browsers.

Personally I use it for gmail, google docs, google calendar, outlook web access, and stuff like that.

Following are some helpful introductory links on prism:

Tuesday, May 12, 2009

Site-specific browsers (SSB)

Site-specific browsers are kind of a hobby topic for me because of their utility. I often find that there are things like GMail, Jira, and others that seem to fit a mold where they are kind of a world of their own, a self-contained web application. If I use something like that with any degree of frequency, I consider making it into a site-specific browser instance.

Some of the basic niceties that I've found for my use include:
  • - Ability to choose an icon for the SSB
  • - Modify the URL that is being used upon creation of the SSB
  • - Show/don't show navigation controls
  • - Hotkey support
  • - Show/don't show the status bar

A few of the SSBs that I've tried on various platforms include:

Fluid

By far, fluid (mac only) is the best that I've seen for my needs. It is essentially a layer on top of the webkit browser on the mac. It has all of the basics and much, much more. It is the most configurable, almost to a fault interface-wise. It can integrate with Growl on the mac, which allows for desktop notification. It has greasekit support. That opens up tons of possibilities. That is part of the plugin support. It also has a few themes for the UI itself. One of the nicest features is to allow for regular expressions of which sites it allows within the SSB. Along with that you can default to another browser for external linking. This makes Google Reader or other web based RSS aggregator quite useful in fluid. You can configure it to open rss feed links in the external browser in the background, so you can scan all of the new items and then go to, say, Firefox (with adblock plus) to actually read the stories. Besides all that, it allows for tabbed browsing with the SSB if you wish. My rating for fluid is awesome, based on a scale from 0 to awesome.

Chrome

Chrome is okay. It is essentially a beta SSB in my mind. It seems that currently, they're just throwing out the notion of using GMail, Google apps, etc. as their own app within Chrome on the desktop. However, it's still pretty clunky. There is no support for browser controls. There is no support for modifying the URL. There is almost no configuration of any kind. It makes it simple in a good and bad way. The only thing you *can* configure is where a shortcut can be placed. I think with the competition and the resources they're putting into it, it will improve. Google I/O is coming up and I'm thinking that they'll announce a pretty great roadmap for the browser. Cross-platform support and plugins seem to be foremost on their minds right now though, so SSB functionality/configurability might take a little while, depending on their strategy for Chrome. You never know with Google.

Prism

Mozilla started Prism, then it got to version 0.9.x in the Summer of 2008, then it fell off the face of the Earth. There was no real development again until they released version 1.0 beta recently with an updated site. Since I am currently using windows and linux, the latest prism update is my option of choice. Prism is kind of the middle ground between chrome and fluid. It allows for some configurability and with the Firefox plugin, it allows you to create a shortcut or prism application right from Firefox. Addons seem to be coming as there is a configuration option for them in each prism instance. The inclusion of addons would definitely set it apart. However currently, the list of available addons (and themes) for prism is empty. I do like the fact that it tries to integrate well with the platform too. You can have it minimize to the system tray on windows, leaving your task bar real estate for other things. One other new feature that I like is the auto-update functionality. Fluid has to update each instance individually, but it looks like prism allows for updating across all instances.

Bubbles

Bubbles is another contender that is based on the IE engine and is therefore limited to Windows. I don't personally like windows very much but I've found value in creating a "bubble" for Outlook Web Access. Its main goal, it seems, is to create a variety of pre-built bubbles for things like GMail so that people can just use them. It does a decent job and might be like a fluid for windows. However, I don't like the IE engine and I don't like windows. Besides that it has a central interface for your bubbles, which I don't particularly like. Updating is always a hassle with SSBs so I can see where a centrally managed set of SSBs is nice.

Others

Safari 4.0 on Snow Leopard (Mac OS 10.6) supposedly will have SSB support, like is sort of does on the iPhone. It will be interesting to see how Apple approaches it. Generally I like many of their defaults, but I'm usually underwhelmed by what they provide with configurability with Safari. Come on Apple, let's see some plugin support.

I briefly also tried Mango SSB, but at that point I was kind of sick of trying new SSB engines...

Anyway, it seems like an interesting space that will see quite a bit of development over the next 6-12 months. I'm hoping that this blog entry will be quite ancient in SSB progress by then.