577
edits
(New page: = 1-clickweather = == general == * toolbar extension * uses a JS import function to namespace javascript included from files * uses some complicated object heir...) |
No edit summary |
||
| Line 1: | Line 1: | ||
= 1-clickweather = | = 1-clickweather = | ||
== general == | |||
* toolbar extension | |||
* uses a JS import function to namespace javascript included from files | |||
* uses some complicated object heirarchies to manage prefs / config | |||
== prefs == | |||
* uses it's own system to manage prefs | |||
** uses observer pattern to get updates (as opposed to listenting to the prefs observers) | |||
== overlays == | |||
* basic statusbar overlay | |||
** popupset | |||
* uses windows for config/about/etc. | |||
== state == | |||
* capture in saved xml files | |||
== ajax == | |||
* wrote their own AJAX library to handle simple async requests | |||
= adblock plus = | = adblock plus = | ||
== general == | |||
* content filter | |||
* localized | |||
== prefs == | |||
* uses the built in prefs tools and defaults | |||
== overlays == | |||
* dialog for about | |||
* window for subscribing | |||
* sidebar | |||
== state == | |||
* stores filters as a line deliminted file in the profile | |||
== ajax == | |||
* handles it's own async calls with XMLHttpRequest() primitive | |||
** used for synchronizing subscriptions for filters | |||
= autopager = | = autopager = | ||
== general == | |||
* content enhancement | |||
* has an interesting auto-xpath generator for grabbing the links it needs | |||
== installation == | |||
* handles install with file, lots of poking profile dir, registering content | |||
* option to install to profile :) | |||
== prefs == | |||
* uses firefox supplied prefs framework | |||
* 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 | |||
* statusbar | |||
* does not use settings overlay, builds it's own UI for that | |||
== state == | |||
* installation is handled seperately from everything else, involve file manipulation etc. | |||
== ajax == | |||
= boost = | = boost = | ||
== general == | |||
* content enhancement | |||
== prefs == | |||
* uses firefox supplied prefs framework | |||
* does not use settings overlay, builds it's own UI for that | |||
* builds a library for dealing with prefs | |||
** wraps setting / getting | |||
** easily add / remove listeners | |||
== overlays == | |||
* basic status bar overlay | |||
* prefs ui | |||
== state == | |||
== ajax == | |||
* 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. | |||
= colorfultabs = | = colorfultabs = | ||
== general == | |||
* ui enhancement | |||
== installation == | |||
* handles install with file, lots of poking profile dir, registering content | |||
== prefs == | |||
* uses firefox supplied prefs framework | |||
* uses settings overlay | |||
== overlays == | |||
* basic status bar overlay | |||
* uses settings overlay | |||
== state == | |||
== ajax == | |||
* 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. | |||
= ctrl-tab = | = ctrl-tab = | ||
== general == | |||
* ui enhancement | |||
== prefs == | |||
* uses firefox supplied prefs framework | |||
== overlays == | |||
* only the main overlay used to create a popupset that holds "tab images" | |||
= download statusbar = | = download statusbar = | ||
== general == | |||
* statusbar | |||
* includes localization | |||
== prefs == | |||
* uses firefox supplied prefs framework | |||
== overlays == | |||
* status bar overlay | |||
* builds it's own window for managing prefs | |||
= downthemall = | = downthemall = | ||
== general == | |||
* functionality enhancement | |||
* includes localization | |||
== installation == | |||
* handles install with file, lots of poking profile dir, registering content | |||
== prefs == | |||
* uses firefox supplied prefs framework | |||
== overlays == | |||
* status bar overlay | |||
* builds it's own window for managing prefs | |||
== state == | |||
== ajax == | |||
= fast_video_download = | = fast_video_download = | ||
== general == | |||
* toolbar extension | |||
* is localized | |||
== installation == | |||
== prefs == | |||
* uses the firefox supplied prefs framework | |||
* and makes use of the options ui | |||
== overlays == | |||
* uses the options overlay | |||
== state == | |||
== ajax == | |||
* uses raw XMLHTttpRequest object | |||
= febe = | = febe = | ||
== general == | |||
* functionality enhancement (provides backups of firefox profile) | |||
* is localized | |||
== installation == | |||
* checks for first install and initializes | |||
* double checks default prefs | |||
* checks intialization of prefs to prevent exception calls | |||
== prefs == | |||
* uses the firefox supplied prefs framework | |||
== overlays == | |||
* lots of use of dialog boxes to present data to users | |||
** including it's own error and alert and confirm boxes (odd) | |||
== state == | |||
== ajax == | |||
= fire_fm = | = fire_fm = | ||
== general == | |||
* toolbar extension | |||
* uses flash for playing files | |||
== installation == | |||
== prefs == | |||
* uses the firefox pref framework | |||
* uses a comma delimited pref for complex data type | |||
== overlays == | |||
* overlays many of the dialogs for it's own alerts/errors | |||
* toolbar overlay for main app | |||
* overlays options | |||
== state == | |||
* extensive use of pref framework for storing state | |||
== ajax == | |||
* uses straight XMLHTTPrequest | |||
== logging == | |||
* uses log4moz | |||
= firebug = | = firebug = | ||
== general == | |||
* functionality enhancement (provides introspection) | |||
* localized | |||
== installation == | |||
== prefs == | |||
* uses firefox prefs | |||
== overlays == | |||
== state == | |||
== ajax == | |||
== logging == | |||
= flashgot = | = flashgot = | ||
== general == | |||
== installation == | |||
== prefs == | |||
== overlays == | |||
== state == | |||
== ajax == | |||
== logging == | |||
= greasemonkey = | = greasemonkey = | ||
== general == | |||
* uses components | |||
* preloads common scripts into namespace using component | |||
* has a whole animation library that SHOULD just be jquery | |||
* custom check for updates to greasemonkey | |||
* uses rdf, loads all prefs up at start to get settings | |||
* even uses rdf on it's side to check versions | |||
* domcontent loaded observer used, seems common everywhere, maybe do this for each extension by default | |||
* functions litter global namespace | |||
* custom pref manager | |||
* custom scripts for reading/writing local files | |||
* from comments looks like code here is pre ff v 1.0.1 | |||
* custom remote data requested (ajax shitz, xml in their case) | |||
* 3 custom .xpt typelib files files | |||
* eventlistener abstraction layer | |||
= IE Tab = | = IE Tab = | ||
== general == | |||
* custom pref manager IN component | |||
* other helper functions also in component | |||
* registers itself to namespace | |||
* uses "windows*registry*key" service, didn't know that existed | |||
* has own plugin DLL to link in ie | |||
* also uses domloaded | |||
* calls pref service again in other areas (doesn't use abstraction) | |||
* 2nd pref abstraction!! WTF | |||
* so it looks like NEITHER is a full abstraction layer, though some functions appear in both, many don't. so one has a setboolpref while the other has a getboolpref | |||
* eventlistener abstraction layer | |||
= ImageTweak = | = ImageTweak = | ||
== general == | |||
* obvious custom logger | |||
* domloaded | |||
* custom get pref (not full manager) | |||
= Interclue = | = Interclue = | ||
== general == | |||
* uses RDF format internally | |||
* uses annoying register stylesheet methods (I had issues with this in Puff) | |||
* domloaded | |||
* custom logging | |||
* custom pref manager | |||
* writes to local file | |||
* should you be allowing tracking of all mouse movement? | |||
* custom ajax class | |||
* has js linked to html files that are outside the namespace | |||
* INTERESTING USE of window.opener (unfortunately utilizing iframes) to keep scope by copying interclue to window.interclue and using hte refence to hte window that opened current window | |||
* lots of minified code (bastards), namely klib.js and loadclues.js | |||
* seems they minified most of cluecore | |||
= NoScript = | = NoScript = | ||
== general == | |||
* uses rdf for ui info | |||
* various domloaded | |||
== prefs == | |||
* crazy amount of preferences (~100 on install) | |||
* abstracts prefs interfaces | |||
== overlays == | |||
* 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 | |||
* uses component (8200 line file!!) | |||
== state == | |||
* uses file read/write | |||
= StumbleUpon = | = StumbleUpon = | ||
== general == | |||
* most in one long file of many functions, tons of namespace polution | |||
* sets a TON of "global" variables using su_xxx | |||
* listens to almost every event, including domloaded of course | |||
== components == | |||
* uses component for helper functions, including logging and custom ajax | |||
== prefs == | |||
* uses prefs and the sqlite db | |||
== state == | |||
* has giant database abstraction layer | |||
* csv file to populate db and sql file to build db | |||
== overlays == | |||
* 20k stumbleuponoverlay file that is largely one dimensional with just functions | |||
= Tab Mix = | = Tab Mix = | ||
== general == | |||
* sets about 200 preferences | |||
* doesn't seem to have a pref abstraction layer | |||
* whole design seems to be very modular, lots of instances of code appearing to be ripe for abstraction but isnt because of scoping issues | |||
* has a "session manager" for storing current data that uses RDF, man is this painful | |||
= Video Download Helper = | = Video Download Helper = | ||
== general == | |||
* uses built in xml parser loaded | |||
* really impressive layout | |||
** seems the brunt is in several components which are called by individual pages, so no namespace issues | |||
== Ajax == | |||
* custom ajax | |||
== State == | |||
* uses rdf to store data | |||
== Pref == | |||
* custom pref layer | |||
= Web Developer = | = Web Developer = | ||
== general == | |||
* has js and css files in content folder | |||
* has an entire common folder with helpers to do almost everthing | |||
** including pref and history managers, stylesheet managers, cookies, files, ajax | |||
== prefs == | |||
* 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. | |||
== Ajax == | |||
* custom ajax | |||
* 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 prefs abstraction | |||
== Debuging == | |||
* inline error handling just catching and dump() | |||
== State == | |||
* 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) | |||
edits