577
edits
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
= 1-clickweather = | = 1-clickweather = | ||
''' general ''' | |||
* toolbar extension | * toolbar extension | ||
* uses a JS import function to namespace javascript included from files | * uses a JS import function to namespace javascript included from files | ||
* uses some complicated object heirarchies to manage prefs / config | * uses some complicated object heirarchies to manage prefs / config | ||
''' prefs ''' | |||
* uses it's own system to manage prefs | * uses it's own system to manage prefs | ||
** uses observer pattern to get updates (as opposed to listenting to the prefs observers) | ** uses observer pattern to get updates (as opposed to listenting to the prefs observers) | ||
''' overlays ''' | |||
* basic statusbar overlay | * basic statusbar overlay | ||
** popupset | ** popupset | ||
Line 15: | Line 15: | ||
* uses windows for config/about/etc. | * uses windows for config/about/etc. | ||
''' state ''' | |||
* capture in saved xml files | * capture in saved xml files | ||
''' ajax ''' | |||
* wrote their own AJAX library to handle simple async requests | * wrote their own AJAX library to handle simple async requests | ||
= adblock plus = | = adblock plus = | ||
''' general ''' | |||
* content filter | * content filter | ||
* localized | * localized | ||
''' prefs ''' | |||
* uses the built in prefs tools and defaults | * uses the built in prefs tools and defaults | ||
''' overlays ''' | |||
* dialog for about | * dialog for about | ||
* window for subscribing | * window for subscribing | ||
* sidebar | * sidebar | ||
''' state ''' | |||
* stores filters as a line deliminted file in the profile | * stores filters as a line deliminted file in the profile | ||
''' ajax ''' | |||
* handles it's own async calls with XMLHttpRequest() primitive | * handles it's own async calls with XMLHttpRequest() primitive | ||
** used for synchronizing subscriptions for filters | ** used for synchronizing subscriptions for filters | ||
= autopager = | = autopager = | ||
''' general ''' | |||
* content enhancement | * content enhancement | ||
* has an interesting auto-xpath generator for grabbing the links it needs | * has an interesting auto-xpath generator for grabbing the links it needs | ||
''' installation ''' | |||
* handles install with file, lots of poking profile dir, registering content | * handles install with file, lots of poking profile dir, registering content | ||
* option to install to profile :) | * option to install to profile :) | ||
''' prefs ''' | |||
* uses firefox supplied prefs framework | * uses firefox supplied prefs framework | ||
* has a system to dynamically add the prefs file to prevent some of the weirdness in initializing new defaults | * has a system to dynamically add the prefs file to prevent some of the weirdness in initializing new defaults | ||
''' overlays ''' | |||
* extensive use of sidebar, mostly as a container for what appears to be "page" elements | * extensive use of sidebar, mostly as a container for what appears to be "page" elements | ||
* statusbar | * statusbar | ||
* does not use settings overlay, builds it's own UI for that | * does not use settings overlay, builds it's own UI for that | ||
''' state ''' | |||
* installation is handled seperately from everything else, involve file manipulation etc. | * installation is handled seperately from everything else, involve file manipulation etc. | ||
''' ajax ''' | |||
= boost = | = boost = | ||
''' general ''' | |||
* content enhancement | * content enhancement | ||
''' prefs ''' | |||
* uses firefox supplied prefs framework | * uses firefox supplied prefs framework | ||
* does not use settings overlay, builds it's own UI for that | * does not use settings overlay, builds it's own UI for that | ||
Line 74: | Line 74: | ||
** easily add / remove listeners | ** easily add / remove listeners | ||
''' overlays ''' | |||
* basic status bar overlay | * basic status bar overlay | ||
* prefs ui | * prefs ui | ||
''' state ''' | |||
''' ajax ''' | |||
* has it's own library, doing something weird involving chrome security contexts. | * has it's own library, doing something weird involving chrome security contexts. | ||
** /I/ think this is about adding in page elements that can be called into the chrome context, there's some work to sanitize content etc. | ** /I/ think this is about adding in page elements that can be called into the chrome context, there's some work to sanitize content etc. | ||
= colorfultabs = | = colorfultabs = | ||
''' general ''' | |||
* ui enhancement | * ui enhancement | ||
''' installation ''' | |||
* handles install with file, lots of poking profile dir, registering content | * handles install with file, lots of poking profile dir, registering content | ||
''' prefs ''' | |||
* uses firefox supplied prefs framework | * uses firefox supplied prefs framework | ||
* uses settings overlay | * uses settings overlay | ||
''' overlays ''' | |||
* basic status bar overlay | * basic status bar overlay | ||
* uses settings overlay | * uses settings overlay | ||
''' state ''' | |||
''' ajax ''' | |||
* has it's own library, doing something weird involving chrome security contexts. | * has it's own library, doing something weird involving chrome security contexts. | ||
** /I/ think this is about adding in page elements that can be called into the chrome context, there's some work to sanitize content etc. | ** /I/ think this is about adding in page elements that can be called into the chrome context, there's some work to sanitize content etc. | ||
= ctrl-tab = | = ctrl-tab = | ||
''' general ''' | |||
* ui enhancement | * ui enhancement | ||
''' prefs ''' | |||
* uses firefox supplied prefs framework | * uses firefox supplied prefs framework | ||
''' overlays ''' | |||
* only the main overlay used to create a popupset that holds "tab images" | * only the main overlay used to create a popupset that holds "tab images" | ||
= download statusbar = | = download statusbar = | ||
''' general ''' | |||
* statusbar | * statusbar | ||
* includes localization | * includes localization | ||
''' prefs ''' | |||
* uses firefox supplied prefs framework | * uses firefox supplied prefs framework | ||
''' overlays ''' | |||
* status bar overlay | * status bar overlay | ||
* builds it's own window for managing prefs | * builds it's own window for managing prefs | ||
= downthemall = | = downthemall = | ||
''' general ''' | |||
* functionality enhancement | * functionality enhancement | ||
* includes localization | * includes localization | ||
''' installation ''' | |||
* handles install with file, lots of poking profile dir, registering content | * handles install with file, lots of poking profile dir, registering content | ||
''' prefs ''' | |||
* uses firefox supplied prefs framework | * uses firefox supplied prefs framework | ||
''' overlays ''' | |||
* status bar overlay | * status bar overlay | ||
* builds it's own window for managing prefs | * builds it's own window for managing prefs | ||
''' state ''' | |||
''' ajax ''' | |||
= fast_video_download = | = fast_video_download = | ||
''' general ''' | |||
* toolbar extension | * toolbar extension | ||
* is localized | * is localized | ||
''' installation ''' | |||
''' prefs ''' | |||
* uses the firefox supplied prefs framework | * uses the firefox supplied prefs framework | ||
* and makes use of the options ui | * and makes use of the options ui | ||
''' overlays ''' | |||
* uses the options overlay | * uses the options overlay | ||
''' state ''' | |||
''' ajax ''' | |||
* uses raw XMLHTttpRequest object | * uses raw XMLHTttpRequest object | ||
= febe = | = febe = | ||
''' general ''' | |||
* functionality enhancement (provides backups of firefox profile) | * functionality enhancement (provides backups of firefox profile) | ||
* is localized | * is localized | ||
''' installation ''' | |||
* checks for first install and initializes | * checks for first install and initializes | ||
* double checks default prefs | * double checks default prefs | ||
* checks intialization of prefs to prevent exception calls | * checks intialization of prefs to prevent exception calls | ||
''' prefs ''' | |||
* uses the firefox supplied prefs framework | * uses the firefox supplied prefs framework | ||
''' overlays ''' | |||
* lots of use of dialog boxes to present data to users | * lots of use of dialog boxes to present data to users | ||
** including it's own error and alert and confirm boxes (odd) | ** including it's own error and alert and confirm boxes (odd) | ||
''' state ''' | |||
''' ajax ''' | |||
= fire_fm = | = fire_fm = | ||
''' general ''' | |||
* toolbar extension | * toolbar extension | ||
* uses flash for playing files | * uses flash for playing files | ||
''' installation ''' | |||
''' prefs ''' | |||
* uses the firefox pref framework | * uses the firefox pref framework | ||
* uses a comma delimited pref for complex data type | * uses a comma delimited pref for complex data type | ||
''' overlays ''' | |||
* overlays many of the dialogs for it's own alerts/errors | * overlays many of the dialogs for it's own alerts/errors | ||
* toolbar overlay for main app | * toolbar overlay for main app | ||
* overlays options | * overlays options | ||
''' state ''' | |||
* extensive use of pref framework for storing state | * extensive use of pref framework for storing state | ||
''' ajax ''' | |||
* uses straight XMLHTTPrequest | * uses straight XMLHTTPrequest | ||
''' logging ''' | |||
* uses log4moz | * uses log4moz | ||
= firebug = | = firebug = | ||
''' general ''' | |||
* functionality enhancement (provides introspection) | * functionality enhancement (provides introspection) | ||
* localized | * localized | ||
''' installation ''' | |||
''' prefs ''' | |||
* uses firefox prefs | * uses firefox prefs | ||
''' overlays ''' | |||
''' state ''' | |||
''' ajax ''' | |||
''' logging ''' | |||
= flashgot = | = flashgot = | ||
''' general ''' | |||
''' installation ''' | |||
''' prefs ''' | |||
''' overlays ''' | |||
''' state ''' | |||
''' ajax ''' | |||
''' logging ''' | |||
= greasemonkey = | = greasemonkey = | ||
''' general ''' | |||
* uses components | * uses components | ||
* preloads common scripts into namespace using component | * preloads common scripts into namespace using component | ||
Line 241: | Line 241: | ||
= IE Tab = | = IE Tab = | ||
''' general ''' | |||
* custom pref manager IN component | * custom pref manager IN component | ||
Line 256: | Line 256: | ||
= ImageTweak = | = ImageTweak = | ||
''' general ''' | |||
* obvious custom logger | * obvious custom logger | ||
* domloaded | * domloaded | ||
Line 263: | Line 263: | ||
= Interclue = | = Interclue = | ||
''' general ''' | |||
* uses RDF format internally | * uses RDF format internally | ||
* uses annoying register stylesheet methods (I had issues with this in Puff) | * uses annoying register stylesheet methods (I had issues with this in Puff) | ||
Line 278: | Line 278: | ||
= NoScript = | = NoScript = | ||
''' general ''' | |||
* uses rdf for ui info | * uses rdf for ui info | ||
* various domloaded | * various domloaded | ||
''' prefs ''' | |||
* crazy amount of preferences (~100 on install) | * crazy amount of preferences (~100 on install) | ||
* abstracts prefs interfaces | * abstracts prefs interfaces | ||
''' overlays ''' | |||
* giant overlay file that uses the component with small other files that use it | * giant overlay file that uses the component with small other files that use it | ||
''' components ''' | |||
* okay so tons of classes in here, essentially everything is in the component | * okay so tons of classes in here, essentially everything is in the component | ||
* uses component (8200 line file!!) | * uses component (8200 line file!!) | ||
''' state ''' | |||
* uses file read/write | * uses file read/write | ||
= StumbleUpon = | = StumbleUpon = | ||
''' general ''' | |||
* most in one long file of many functions, tons of namespace polution | * most in one long file of many functions, tons of namespace polution | ||
* sets a TON of "global" variables using su_xxx | * sets a TON of "global" variables using su_xxx | ||
* listens to almost every event, including domloaded of course | * listens to almost every event, including domloaded of course | ||
''' components ''' | |||
* uses component for helper functions, including logging and custom ajax | * uses component for helper functions, including logging and custom ajax | ||
''' prefs ''' | |||
* uses prefs and the sqlite db | * uses prefs and the sqlite db | ||
''' state ''' | |||
* has giant database abstraction layer | * has giant database abstraction layer | ||
* csv file to populate db and sql file to build db | * csv file to populate db and sql file to build db | ||
''' overlays ''' | |||
* 20k stumbleuponoverlay file that is largely one dimensional with just functions | * 20k stumbleuponoverlay file that is largely one dimensional with just functions | ||
= Tab Mix = | = Tab Mix = | ||
''' general ''' | |||
* sets about 200 preferences | * sets about 200 preferences | ||
* doesn't seem to have a pref abstraction layer | * doesn't seem to have a pref abstraction layer | ||
Line 316: | Line 316: | ||
= Video Download Helper = | = Video Download Helper = | ||
''' general ''' | |||
* uses built in xml parser loaded | * uses built in xml parser loaded | ||
* really impressive layout | * really impressive layout | ||
** seems the brunt is in several components which are called by individual pages, so no namespace issues | ** seems the brunt is in several components which are called by individual pages, so no namespace issues | ||
''' Ajax ''' | |||
* custom ajax | * custom ajax | ||
''' State ''' | |||
* uses rdf to store data | * uses rdf to store data | ||
''' Pref ''' | |||
* custom pref layer | * custom pref layer | ||
= Web Developer = | = Web Developer = | ||
''' general ''' | |||
* has js and css files in content folder | * has js and css files in content folder | ||
* has an entire common folder with helpers to do almost everthing | * has an entire common folder with helpers to do almost everthing | ||
** including pref and history managers, stylesheet managers, cookies, files, ajax | ** including pref and history managers, stylesheet managers, cookies, files, ajax | ||
''' prefs ''' | |||
* preference abstraction functions | * preference abstraction functions | ||
= WOT = | = WOT = | ||
''' general ''' | |||
* interesting use of load/unload listeners in almost all js files. they call core to start, including all the code, so i assume they just set these listeners to run checks when a new page loads. | * interesting use of load/unload listeners in almost all js files. they call core to start, including all the code, so i assume they just set these listeners to run checks when a new page loads. | ||
''' Ajax ''' | |||
* custom ajax | * custom ajax | ||
* built in api to easily deal with requests (i assume to it's server about a pages reliability) | * built in api to easily deal with requests (i assume to it's server about a pages reliability) | ||
''' Prefs ''' | |||
* uses a config.js to store a ton of constants used throughout the app | * uses a config.js to store a ton of constants used throughout the app | ||
* uses a prefs abstraction | * uses a prefs abstraction | ||
''' Debuging ''' | |||
* inline error handling just catching and dump() | * inline error handling just catching and dump() | ||
''' State ''' | |||
* looks like they are using prefs beyond how they should | * looks like they are using prefs beyond how they should | ||
** ie storing delimited data (there stuff is a little confusing and im tired so im not 100% sure) | ** ie storing delimited data (there stuff is a little confusing and im tired so im not 100% sure) |
edits