FirefoxIRCHandler
Launchpad Entry: https://launchpad.net/products/bzr/+spec/nathansprangers
Created: 2005-10-31 by NathanSprangers
Contributors: NathanSprangers
Packages affected: mozilla-firefox
Summary
A handler that would open an irc client when an irc link (e.g. irc://irc.freenode.net/ubuntu) is clicked on in Firefox.
Rationale
A suggestion was made during Love Day that there should be an IRC client built into the website (e.g. java applet) to enable more people to access the resources on #ubuntu. An alternative solution might be to create a handler that would open an irc client, much how the Mozilla browser opens irc links in Chatzilla when it's installed.
Use cases
What we want to prevent is this:
A user is looking for help on the website and browses to freesupport. There are "instructions" to use XChat, log into freenode, and join the #ubuntu channel (which is displayed as a link). They skip reading the text and click the link (think Jeff's user sunglasses!) but are given the error: "irc is not a registered protocol". They are demoralized and give up on getting immediate help.
A much better experience would be this:
- The user browses to the support site, clicks on the link, and XChat or Gaim is opened and takes them immediately to the #ubuntu channel.
Scope
To be decided, but possibly portable to Gnome.
Design
Ideally, if the user has a Launchpad account their irc handle would default to their Launchpad name. If they don't, options might be to default to their short user name or provide a dialog box asking for a handle before connecting.
It would have to be decided whether the handler would open XChat or Gaim by default. Gaim may be a good choice because it's a program the user would likely be familiar with, especially when comparing a dedicated irc client to the chat room interface in Gaim.
Implementation
This could be done through the standard about:config settings in firefox. http://chim0.blogspot.com/2006/03/firefox-associate-irc-link.html Add a new string "network.protocol-handler.app.irc" and then set the value to the path of the executable desired.
Code
To be... coded
Data preservation and migration
Outstanding issues