Learning Collaborative Development Lab Fall 2008
Overview
This lab is designed to give you first-hand experience working collaboratively online, to get you engaged in developing software for the browser using extensions, and gain experience learning a new development model.
This lab, like many we'll do, is an experiment in using something on the cutting edge. Your best effort and attempt to push yourself to do something new is valued more than your total success.
Instructions
In this lab you will work collectively to learn the Firefox Ubiquity extension, and write some new commands targeting our wiki, planet, and any other Seneca web properties you want to tackle.
- Make sure you have a browser that supports Ubiquity (Firefox 3.0.1 or greater). You can check by entering the following URL into your browser's address bar:
about:
If your browser isn't up to date, grab a nightly build of Firefox here. This latest version of the browser can be downloaded, unzipped, and run from a temp directory in the lab, or you can install the newest official release directly from Mozilla.org.
NOTE: If you do download a second browser, and wish to run it at the same time as Firefox 2, you'll need to run your newly download browser in a special way (i.e., normally, only one version of Firefox can run at a time):
navigate to your new browser's directory, maybe C:\Program Files\Minefield firefox.exe -no-remote -profilemanager
After running this command, you'll be able to create a new profile. Do this, and then you can run both your existing browser and the new one at the same time.
- Check-out Introducing Ubiquity and watch the the video:
<embed type="application/x-shockwave-flash" width="540" height="403" src="http://www.vimeo.com/moogaloop.swf?clip_id=1561578&server=www.vimeo.com&show_title=1&show_byline=1&show_portrait=0&color=cc6600&fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed>
- Get and Install the Ubiquity extension (currently at 0.1.1).
- Get to know what Ubiquity is capable of doing, and try adding some new commands. Remember to check out the source for these commands so you can learn by example.
- Read through the developer documentation and recreate the basic "Hello World" style commands to learn how to code Ubiquity.
- Work collectively to create some new commands that target our web tools in the course. Here are some ideas, but don't feel you have to stick to this list:
- zenit/wiki specific search
- pastebin command
- 'wikiprint' to get a printable version of a given wiki page
- jslint command
- Put all results of your research, development, etc. on the results page. This page is a common place for the class' shared results. Feel free to create sub-pages if it gets too long, or needs more organization.
- Blog about your experience, any commands you write, Ubiquity tips, etc. by Friday Sept 12th.
Expectations
This lab encompasses many things, and is meant to be a fast and furious introduction to developing software in an open source project on the scale of Mozilla. You are expected to complete it, but not in isolation. Make use of your classmates, and the Mozilla and Ubiquity communities.
You are encouraged to work using online collaborative tools, and to work on the lab throughout the week. You will be expected to have completed the lab by the end of the day Friday Sept 12.
Resources
IRC Help
On-line Collaboration Tools
- Pastebin for sharing text
- TinyURL for sharing long URLs
- Wiki editing help
Ubiquity Links
- Ubiquity main page
- Ubiquitously, an Ubiquity developer geared forum
- #ubiquity irc.mozilla.org - Live internet relay chat discussion.
- Issue Tracker - Used to report/discuss bugs and submit patches for Ubiquity.
- Ubiquity HG Repository - The Mercurial source code repository for Ubiquity.
- Mozilla/jquery's John Resig tries his hand at Ubiquity