Browser Add-on Activity

Note1: students work in groups of 3. The instructions indicate which parts of this activity should be performed by all team-members and which should be performed by one team member.

Note2: students do not need to be familiar with Javascript in order to complete this activity

Note3: this activity can be completed either using Firefox or Chrome, but all group members should be working with the extension for the same browser

Prerequisites:

Firefox Add-on

The Mozilla Developers Network has a tutorial on Browser Extensions that you will be using during this activity.

Part 1a: Creating and installing your very first Firefox extension

When you are all done, let the facilitator know.

Part 1b: Creating and installing a more sophisticated extension

When you are all done, let the facilitator know.

Part 2: Repository exploration

When you were working on the previous part, you should have encountered references to the MDN WebExtension repository. Go to that repository and locate the following files: LICENSE, README.md, CONTRIBUTING.md, and CODE_OF_CONDUCT.md. Answer the questions below as a team. Your answers should be placed under heading Part 2 in a file called team_NUMBER.md (where NUMBER is replaced by your team number) in the repository called add-on-activity in the course organization.

  1. What is the purpose of the README.md file? What kind of information should be included there?
  2. What is the purpose of the LICENSE file? Does it need to be in a repository?
  3. What is the purpose of the CONTRIBUTING.md file?
  4. Describe one type of contribution to this repository that does not require writing any code.
  5. What is the purpose of the CODE_OF_CONDUCT.md document?
  6. Describe three types of behaviors that violate the Mozilla Community Participation Guidelines.
  7. If a person working with the content of this repository runs into problems or has questions, what can they do?

When your group is done, let the facilitator know.

Part 3: Explore existing extensions

Go to Firefox Add-ons page. As a team, decide on your favorite extension. List the name and the link to that extension in your team's file in the add-on-activity repository under the heading Part 3. Then answer the following questions about your chosen extension.

  1. What is the homepage for the extension?
  2. What is the license under which the extension is distributed?
  3. Can you find a code repository for this extension?
  4. Is the extension that you picked an open source project?
  5. Can you find information about how many different users contribute to this project? If so, specify how many.

When your group is done, let the facilitator know.

Part 4: Create your own

As a team, create an idea for an extension. It can be a very simple one, or a more complicated one (this idea can evolve/change after today, so do not worry about having everything finalized).

When your group is done, let the facilitator know.

Chrome Add-on

The Chrome for Developers has resources for developers who want to build Browser Extensions that you will be using during this activity.

Part 1: Creating and installing your very first Firefox extension

When you are all done, let the facilitator know.

Part 2: Repository exploration

When you were working on the previous part, you should have encountered references to the Chrome Extensions samples repository. Go to that repository and locate the following files: LICENSE, README.md, CONTRIBUTING.md, and CODE_OF_CONDUCT.md. If one of those documents is missing, try to figure out if it is named differently or stored somewhere othat that the top level of the repository. Answer the questions below as a team. Your answers should be placed under heading Part 2 in a file called team_NUMBER.md (where NUMBER is replaced by your team number) in the repository called add-on-activity in the course organization.

  1. What is the purpose of the README.md file? What kind of information should be included there?
  2. What is the purpose of the LICENSE file? Does it need to be in a repository?
  3. What is the purpose of the CONTRIBUTING.md file?
  4. Describe one type of contribution to this repository that does not require writing any code.
  5. What is the purpose of the CODE_OF_CONDUCT.md document? If it is missing, did not find an equivalent somewhere else?
  6. What does one need to do before starting to contribute to this repository?

When your group is done, let the facilitator know.

Part 3: Explore existing extensions

Go to Chrome Webstore, Extensions page. As a team, decide on your favorite extension. List the name and the link to that extension in your team's file in the add-on-activity repository under the heading Part 3. Then answer the following questions about your chosen extension.

  1. What is the homepage for the extension?
  2. Is this extension open source? If so, complete the remaining steps using your chosen extension. if not, go to the following page: 6 Open-Source Google Chrome Extensions that are just Awesome, pick a different extension and list its name in addition to your favorite one in the answer to the previous question.
  3. What is the license under which the extension is distributed?
  4. Can you find a code repository for this extension?
  5. Can you find information about how many different users contribute to this project? If so, specify how many.

When your group is done, let the facilitator know.

Part 4: Create your own

As a team, create an idea for an extension. It can be a very simple one, or a more complicated one (this idea can evolve/change after today, so do not worry about having everything finalized).

When your group is done, let the facilitator know.

Learning more about extensions