About me

Developer Information
Name DavidJCobb
User since June 6, 2008
Number of add-ons developed 1 add-on
Average rating of developer's add-ons Not yet rated

Add-ons I've created

Bug 615866 Fix Requires Restart

Stops the browser from forcing links in App Tabs to open in new tabs.

Not yet rated
0 users

My Reviews


Rated 2 out of 5 stars

Normally, when I like an add-on, I try to explain why, but it's friggin' Greasemonkey. It's been around for years. Everyone already knows what it does. Go download it, reader.

Now for criticism.

The WebExtensions move has broken userscripts running in iframes, and prevents Greasemonkey from logging syntax errors (as opposed to run-time errors) to the console. The built-in code editor has automatic indentation, which can't be turned off or customized (say, to change it from two spaces to three). The code editor is also horrendous to use on mobile: syntax highlighting breaks text selection and editing (this is common on Firefox Android) and the page doesn't behave stably when zoomed, making the "Save" button incredibly difficult to hit. It also doesn't appear to be possible to install from *.USER.JS URLs anymore.

So you've released an add-on that can be installed on mobile, but that is barely usable.

This review is for a previous version of the add-on (4.2). 

Tree Style Tab

Rated 4 out of 5 stars

This add-on is an absolute must-have! Vertical tabs are already so much better than horizontal ones, with better space utilization and natural scrolling; making them nestable and collapsible makes it possible to organize them even better.

There's one aspect of newer versions of this add-on that worries me, though. If you close a collapsed tree, all of the tabs inside of it are closed as well -- and Undo Closed Tab can't restore them. There's no option to change this behavior (there's only an option for expanded trees), and it really seems like an accident waiting to happen.

This review is for a previous version of the add-on (2.4.7). 

Open Native App

Rated 5 out of 5 stars

This add-on worked perfectly with older versions of Firefox. Its recent breakage isn't the author's fault.

Open Link in Zombie Tab

Rated 5 out of 5 stars

This add-on was pretty much vital to my browsing experience on mobile. Shame Mozilla killed it with the Firefox 57 "update."


Rated 1 out of 5 stars

The "manage styles" button does nothing on Android. The add-on appears to be unusable.

This review is for a previous version of the add-on (1.1.5). 

Stylish - Custom themes for any website

Rated 2 out of 5 stars

This add-on now works on Firefox for Android, but only if you're a web developer with a USB cable. I am, so I'm changing my review from 1 star to 2.

The settings page is now accessible on mobile, though it's also very cumbersome to use there. Android users can now edit userstyles on their phones, but it still isn't possible to install styles from Userstyles.org: the button takes you to the Google Chrome add-on listing. (Well done.)

It's no longer possible to install styles from arbitrary URLs, either, so the only way to get any userstyles onto your device is to use USB debugging to insert the code into Stylish's editor textbox. Stylish uses a rich text editor, so you can't just paste your code into a textarea in the DOM; instead, you need to focus an editor and then run {getEditorInSight().getDoc().setValue("your CSS here");} with your style appropriately escaped. Irritating.

The "Import/Export Firefox" feature is poorly explained. I can paste Firefox-oriented styles into the main editor without using it and they appear to work, without the syntax checker complaining. (The syntax checker does complain endlessly about CSS variables, though: it wrongly reports them as errors.)

I also found what look like analytics tracking calls (I'm guessing Google?) inside of the manage styles page as well. These calls seem to track UI events, like editor modals opening. Didn't look like they actually sent *out* the content of any userstyles being edited, but I didn't look too closely.

And lastly, styles are applied with a delay. If you make a night mode style for some website, you may still see flashes of white while the page loads.

Another five-star add-on turned into an unusable two-star mess with the launch of Firefox 57.

This review is for a previous version of the add-on (3.0.1).  This user has 2 previous reviews of this add-on.

Stylish - Custom themes for any website

Rated 1 out of 5 stars

Well, my mobile installation just auto-updated to the WebExtension version 3.0, and now all my styles are gone and the add-on is totally unusable. Great work with WebExtensions, Mozilla! :D

This review is for a previous version of the add-on (2.1.1).  This user has other reviews of this add-on.

usi (User|Unified Script Injector)

Found bugs in how you handle regex includes Rated 1 out of 5 stars

You may want to add some sort of contact information, since AMO doesn't like it when people report bugs here...

If a regex contains forward slashes, your code won't recognize it as a regex. In your type_guess.js file, you split the code by forward slashes and test whether there's nothing before the first or after the second.

Maybe try this instead:

if (val.charAt(0) == "/" && val.charAt(val.length - 1) == "/") { /* it's a regex */ }

Also, elsewhere in your type_guess file, you use isValidURI, but according to MDN documentation, that would fail on URIs like "example.com", which is obviously unintended because you use page-mod which is meant to match those. In fact, now that I think about it,


Now, as for a proper review: the add-on works well enough, except that it doesn't log errors properly (WebIDE can't catch it, and add-ons that provide error consoles only see "Uncaught exception: undefined") and the textbox for editing scripts is a pain to use on mobile. (Set its font-family back to monospace, and disable autocomplete, autocorrect, and autocapitalize via HTML attributes.)


UPDATE: It deleted all of my scripts without warning. They're all gone. Given the difficulty of writing and debugging them, due to both the inherent difficulty of coding on a phone and the litany of other issues with this add-on, gotta change my vote to a 1-star.

This review is for a previous version of the add-on (0.4.4-b). 

Share to Bottom

Unreliable. Rated 2 out of 5 stars

In newer versions of Firefox, this only seems to work about half the time.

Stylish - Custom themes for any website

Rated 4 out of 5 stars

Works perfectly on desktop. However, styles can't be edited locally on mobile; they must be downloaded from the web, which is a pain for private-use, personal, and experimental styles.

This review is for a previous version of the add-on (2.0.7). 

Clean Links

Functional, but buggy and unmaintained Rated 2 out of 5 stars

The add-on's basic functionality works, but it's buggy and a pain to configure, and it seems abandoned.

The option to prevent the add-on from tampering with links to certain domains doesn't work reliably. In some cases, Clean Links breaks hyperlinks even when those links don't contain any targeted patterns, link to an excluded domain, and the excluded domain is part of the exclusion regex. This can be verified by disabling the add-on and refreshing the affected page.

Moreover, to change the regexes or domain lists, you have to use a one-line textbox that doesn't disable autocorrect or autocomplete, which is an enormous pain on mobile. The regexes textbox is also badly implemented, popping warnings as you type certain characters because regexes shouldn't end with certain characters (why are you verifying onkeypress and not onchange?).

This review is for a previous version of the add-on (2.7.1-signed.1-signed). 


The add-on causes lag-spikes on large pages. Possible fix... Rated 3 out of 5 stars

You can optimize your calls to the jQuery highlight function, because it also accepts an array of multiple names, handling all of them during a single search of the document.

Accordingly, instead of having "script.js" call $("p").highlight(...) in a loop (one call per name), you should gather all of the politicians' names into a single array and pass that to the highlight function. This will considerably reduce the number of times you search through the DOM.

I suspect there may be other tricks you could employ (e.g. asynchronicity, placing your code in single-millisecond timeouts to avoid blocking).

This review is for a previous version of the add-on (1.1). 


Rated 4 out of 5 stars

Great add-on. I don't actually have speakers -- I've installed it as preparation -- so I'm basing my current feedback on its integration with the GUI.

Suggestions (already submitted via feedback on your site, but I figured I'd add 'em here):

1. Ability to change certain controls. Honestly, I have no use for anything but the Media Player picker, the Open File button (which, strangely, doesn't show up), and the Play/Pause button.

2. Ability to hide the show/hide arrows on the sides.

3. An options dialog -- the context menu system is cumbersome and annoying, as it must be re-opened and re-navigated after each individual setting change. A dialog would have the added advantage of being able to hide the options button on the toolbar itself.

This review is for a previous version of the add-on (3.5.9). 

Open Tab Count

Rated 4 out of 5 stars

Great. A recommendation, though: an option to always show the number of windows open (e.x. "3/1"). This way, the icon doesn't expand horizontally when a new window is opened -- I like my icons to be static, and I'm sure others do too.

Show Missing Images

Hmm... Rated 3 out of 5 stars

It's good. It works. It's not just a cheap SRC-changer -- it actually works just like a normal 404 placeholder should.

However, it is sort of rough and slightly unpolished. Whereas a normal 404 placeholder is shown with a border around it*, there is no border here, making it look kind of rough. Plus, broken images are only converted to placeholders after everything has loaded. Perhaps an onError event handler can be attached to images right as they start to load, so that when they fail they turn into 404 placeholders instantly?

* To see exactly what a placeholder would look like, try heading to Google.com and using this bookmarklet -- it'll take out the first image and let you see a 404 in detail.

This next bookmarklet adds a 404 placeholder without height and width set, if you want to see what that would look like:

This review is for a previous version of the add-on (0.1).