I'm a programmer but am working on a project that necessitates a Firefox extension and I don't have the time to learn the Firefox framework. I'm looking for someone to develop a fairly simple (I believe) Firefox extension. I'll give as much information publicly as possible, but may be a bit vague on a couple of issues until we can get an NDA signed.
The add-on will retrieve a unique key from my server once installed. Then it will essentially have three components:
1. When there's a key-event on any form on any website (textfield or textarea - NOT password fields), I need to capture information on that event; this information will need to be stored (into SQLLite? I don't know what's available within Firefox.) for use in part 2.
2. At a time interval (1 hour, possibly), I need to send some aggregated information* about the collected and stored data from part 1 along with the client's assigned ID. I can't say too much about the aggregation function, but it's very simple. Budget one hour of your time to handle it. If it takes longer than that or you feel misled once I explain it, just do one hour's worth of work on this function and I'll finish it, if need be. The output will be in XML format and will just be sent to my server. Note that if this upload fails (on the client or server side), the data should be kept and uploaded the next hour.
3. Management Panel and icon - There should be a small window that can popup to explain the add-on (it's purpose, my company name, etc.). There will also need to be (on this window or another) a series of fields which can be filled out by the user (10, at most, consisting of radio-buttons, check-boxes, drop-downs, and text fields) and sends that data with the unique ID to my server (XML) whenever it's changed. Also, the user needs a way to set the plugin to "active" or "off" (not to be confused with "enabling" or "disabling" the entire plugin). There should be a small icon at the bottom which displays the add-on's status ("active" or "off"). When the add-on is set to "off", all currently stored data should be uploaded, then the keystroke events should be disabled until the add-on is "activated" again.
And that's it!
Right now, this will just be a Firefox add-on which should function in most currently-used version of Firefox (3.* ?). In the future, I may be interested in porting this plugin to Chrome, so please let me know if that's something you could offer down the road (and an estimate of how much that would cost).
Finally, I'll need all the (well-documented) source code you created during this project.
*A note to privacy-conscious developers who raised an eyebrow to this description: Bravo to you! But this add-on won't be posted publicly for now but will be used by volunteers who fully understand what data is being collected. I will not be able to extract text entered based on the aggregated information sent to my server.