This is a prototype for a product to create better ways of sharing and saving content, starting with screenshots, with a planned second phase of full-page archiving.
It is made up of both an add-on (using the Add-on SDK) and a website using Node.js. The add-on is in
addon/, and the website is in
Ian has been blogging about the design, definition, and development process.
Installation and Setup
Install Node.js. Version 6.x is required.
Clone the repository.
There are two scripts to run the server locally and develop the add-on:
./bin/run-serverwill run the server on localhost:10080 and automatically restart if there are changes
./bin/run-addonwill build the add-on, start Firefox with the add-on installed (you must have Nightly or Developer Edition)
By default, Page Shot will connect to a Postgres database on localhost:5432. To change which database and user it connects to set/export the environmental variables:
The server will automatically setup the tables in your database, and keep them up to date over time (using pg-patcher).
If you have growl and growlnotify installed on Mac OS X, you will get growl notifications when the build has started and completed for the server and the add-on.
We apologize but we have no story for development on Windows (though the add-on runs on Windows).
To make the auto-reloading of the add-on work, after you first start Firefox using
run-addon you must manually install the autoinstaller add-on into your development profile. This will allow the script to push updates into the browser without browser restarts.
There is an IRC channel
#pageshot on irc.mozilla.org (you can use this link for chat access via the web if you do not otherwise use IRC).
Planning and ideation is happening in the issue tracker. We use a pattern roughly like:
- Issues with no milestone are awaiting triage
- Issues set to the next milestone can be worked on any time (this link will rot!)
- Issues in Stretch are immediately actionable but just nice-to-haves, not blockers.
- Issues in Next Tasks are deferred for now, but will be re-triaged when the current milestone is done
- Issues in Blue Sky are mostly shelved; we'd like to do them but have no plans to move forward. (If you see something you care about there, comment on it -- otherwise we may not notice it)
Issue tags otherwise aren't very structured. Research is primarily analysis of other products that do something interesting, or some source material that could provide insight. Input on these (things like "I like this product because...") is very helpful!