Saturday, June 6, 2009

The past week has been filled with design decisions and UI mockups galore. Check out UI Ideas page for some of the excitement. I've about finished the UI concept and am going to do the UI creation and initial coding in the next week. The plugin API has been thought out sufficiently well. Essentially there will exist interfaces for:
  • Tray context menu entries
  • Panel entries
  • Widgets
  • File menu entries
  • Preference menus
If a plugin implements an interface, we load it for that specific instance. Each specific API piece isn't too hard to imagine, but making it all come together will be the real task. Updated schedule below.
  • Weeks 1 -- 4 (May 4 through May 31)
    • May 4 -- Rensselaer Center for Open Software officially begins
  • Weeks 5 -- 6 (June 1 through June 14)
    • Lay out revised UI to support extensions with visible interfaces
    • Move existing UI elements into the new format
  • Weeks 7 -- 9 (June 15 through July 5)
    • Specify extension API
      • Determine if any changes to existing torcontrol library need to be made
      • Implement initial extension API support
      • Document the API both in Doxygen and on this wiki page
  • Week 10 (July 6 through July 12)
    • Herdict Plugin
      • Tray icon menu entry for "Report blocked URL"
      • Dialog to enter URL
      • Submits to HerdictWeb via Tor
        • Need to work with the Herdict folks to determine correct API
    • Anything else the Herdict folks would like to see? They seemed to have pretty minimal ambitions here.
  • Week 11 (July 13 through July 19)
    • Move existing Windows TBB functionality into a plugin
  • Weeks 12 -- 13 (July 20 through August 2)
    • Add OS X support to the TBB plugin
  • Week 14 (August 3 through August 9)
    • Analyze for traces left behind on an OS X system
      • Minimize any traces found
    • August 7 -- Rensselaer Center for Open Software summer program ends