Open main menu

CDOT Wiki β

Radio Button Bookmarks Extension

Project Name

Radio Button Bookmarks Extension


Project Description

An extension to provide radio-button style bookmarks for Mozilla Firefox.


The main purpose of this project is to allow end user to be familiar with bookmark through an easy learning curve. Ease of usability is prioritized higher than functionality. For an easy start, the user must already familiar with the interaction methods. This extension is modeled from how a radio can save stations and recall the frequency assigned to certain buttons.


How to use the extension and how it compares to a radio system:

  • Press a button to load the saved web page. In a radio system, press a button to recall the saved station.
  • Hold a button to save the current web page, overwriting the current assignment. It will notify the user with a message box. In a radio system, hold a button to save the current station, overwriting the current assignment. Most systems will notify the user with a sound.
  • Initially all buttons are assigned to a blank page. In a radio system, initially all buttons are assigned to a station (most systems assign the buttons to the lowest frequency).
  • Button label are static. It does not change as user bookmarks other pages. The only way to check where it links to is either through the browser bookmark folder or by testing/pressing it. In a radio system, the button label does not change and the only way to check what station it saved is by testing/pressing it.
  • As the users advance, they might want to learn to use the built-in bookmark feature. All the button assignments are added as bookmarks item in the bookmark folder "Radio Button Bookmarks". They can visualize the concept of bookmarking to the radio buttons easier as they have used it. In a radio system, it does not have an extensive bookmark feature.


Potential future improvement:

  • Instead of message box, sound will be used to notify the user when a page is bookmarked.
  • Some sort of indication will be used to notify the user which button they are currently on and which buttons are empty.
  • Dynamic label, tooltips, and possibly favicon to identify the pages linked to the buttons.
  • Option to add more than six buttons.
  • Option to load the page in new tabs instead of the current one.


Project Leader(s)

Project Contributor(s)

Project Details

Version 0.3

  • [CORE] Initially create "Radio Button Bookmarks" folder bookmark if it does not exist.
  • [CORE] Add functionality to add bookmark and assign them to the buttons.
  • [CORE] Add functionality to overwrite bookmark and assign them to the buttons.
  • [CORE] Add functionality to load a saved web page from the assigned buttons.
  • [CORE] Through testing, timer for button hold is set to 2 seconds. 3 seconds were too long.
  • [CORE] Change all variables and functions to be unique so it will not conflict with other extensions.
  • [TEST] Message box is no longer used for code flow but to indicate a working code.
  • [TEST] Button 1 is no longer associated to http://www.google.com/.
  • [TEST] Tested on Firefox 3.0b2pre (2007120700).
  • [TEST] Although this extension is utilizing the Places API that is only available in Firefox 3, it can be installed from version 2 to 3.0b2pre for testing purposes.

Version 0.2

  • [CORE] Link XUL file into JavaScript
  • [CORE] Add event listeners for the toolbar.
  • [CORE] Add timer for button hold and it is set to 3 seconds.
  • [CORE] Form a code design and structure to be expanded for the bookmark service.
  • [TEST] Message box / alert indicators are added to show that the code flow works.
  • [TEST] Button 1 is associated to http://www.google.com/ for testing purposes.

Version 0.1

  • [GUI] Add 1 toolbar with 6 toolbar buttons.
  • [GUI] Add static tooltips for each toolbar buttons.
  • [GUI] Add "Radio Button Bookmarks" into toolbar context menu.
  • [GUI] Add shortcut for toolbar context menu.
  • [GUI] Toolbar attributes are remembered in across browser sessions.


Project News

  • December 09, 2007 - Version 0.3 is released.
  • November 18, 2007 - Version 0.2 is released.
  • October 19, 2007 - Version 0.1 is released.