Deletion

To a first approximation, I think you can gauge how much people think about software quality by how highly they value deletion. While most rookie developers are chiefly interested in building rather than in tearing down (for what I hope are obvious reasons), great throbbing brains like Graydon speak about deletion with the kind of reverence that I presume cardinals reserve for only the coolest of popes.

In what history will likely judge as a vain attempt to impress him, then, I recently landed bug 513147, deletion of the now antiquated “Properties” dialog that used to be available on right-clicking things like images and links. Not because it was useless (every feature is someone’s baby, and is added for a reason) but because it wasn’t useful enough, to enough people, to justify the cost.

50kb of code in our product that is poorly understood, not often used, and not covered by unit tests is not free. When bugs show up, it takes longer than it should to fix them. If a security bug were to show up (which is always a risk when content mixes with chrome, however remote it may seem) it would be particularly expensive for us to reload that context into our brains to fix it.

Deleting it isn’t free either, of course – there are 4 extensions that build off that dialog that will need to be updated, and there may be some who use it regularly who will be disappointed. But the forces of software (inertia, squeaky wheels, cynicism and inertia) bias so heavily towards keeping code in the tree that we should all try to take clear deletion opportunities when they come up. Not capriciously, not without sensitivity to the impact it can have, but with recognition that the hidden cost to keeping them is also large and… hidden.

It is in the spirit of this sensitivity that we, on the Firefox team, have tagged this bug and others like it: [killthem].  What else do you think should go? (And please, be gentle. Remember, every feature is someone’s baby.)

[Update: Geoff Lankow has taken the code that used to be built in, and made it into an add-on, which is think is fantastic. As I said to him, and as I said above, my assertion has never been that the code was useless, just that it wasn’t useful enough to justify its cost in the core product. An add-on is a great place for functionality like that, and I thank Geoff for his work.]

25 comments

  1. Hmm, how do I search for these? I tried searching for bugs with “[killthem]” in Whiteboard, but Bugzie doesn’t seem to find anything… Maybe you could post the query here?

  2. BRAVO!

    KILLTHEMALL!

    I support making the browser lighter/faster/less bloated. Having extensions out there that already would allow us to get the same information from a feature no often used is an excellent reason to pull it.

  3. As I said in the bug comments, I fear that if I’m to install those four updated extensions I’m going to see four new items in my context menu instead of just one.

    The fact that they were able to overlay the same window, accessible with a single menu item was a nice side-effect of this “not-so-interesting” feature.

    Removing features which could go in extensions is a good idea. Removing extension points on which they can build is a bad idea (the same is true about the status bar).

  4. Aww… but I use that 50K of code to look at the alt text of images 🙁 Now I’ll have to find an addon to do it…

    As a semi-serious point though, removing this dialog will probably mean that one or more addons appear to replace the features that those few people want. The addons will not necessarily be as well coded, and almost certainly not as well tested, as the 50K of code you are deleting. But I guess at least then any problems with it will only affect people that install addons…

    @Dirkjan: Doing what you said worked for me – this query

  5. The ability to know about things is such an important gift for the inquisitive. If the code is too bulky, refine it. Has Microsoft taken over Mozilla, that you would use an axe in place of a scalpel?

  6. @Michael: It’s also quite possible that someone passionate about “Properties” will create an addon that’s both well-written and takes it in interesting new directions. Maybe as a new addon, maybe as an enhancement to Firebug or DOM Inspector.

    This wasn’t the original intention, but I guess it’s a bit like forest fires… Sometimes you need a good burn to clear things out so that a new cycle of rejuvenation can begin.

  7. Good decision. My first thought was “why’d they remove that…?” but once I put some thought into it I realized that I haven’t used this dialog for quite some time.

    Also I don’t see at all why it should be bad that extension authors may have to fill this newly created void. Take Firefox’ images blocking feature: It’s so plain basic it’s next to useless. So Adblock was created which sucked less and now there’s Adblock Plus which is “top of its class”.

    Same goes for the DOM Inspector which was /the/ debugging tool but has mostly been superseeded by Firebug (I don’t want to go too much into detail here).

    There are more examples from outside the Firefox community. Most obvious: computers. While you can still buy those expensive-can-do-anything PCs more and more machines pop up that are only really able to do some office, surfing and viewing a view photos. As pointed out the majority go fine with this and profit from it. And having one context menu entry less is definitely an improvement.

  8. This is a bad idea imho. If you really care about firefox you should improve/fix problems, not delete what you don’t like. What if we all did that? For example, the most useless thing for me is the bookmarks toolbar. I can hide it, but why not remove it altogether? Surely there’s a pretty good amount of code there…

  9. @Dizzy I’m picking on you just because you’re the most recent to say it, so don’t take offense.

    Firefox came about because people weren’t afraid to remove things. Firefox came from the old Mozilla Suite (now Seamonkey). By cutting down on what the majority of people didn’t want or use, a better, leaner product was made. This is really just an extension of that same philosophy.

  10. Users can find the exact same info for IMAGES in the “View Page Info” box under “Media”. Only problem is you have to go through a list of all media on the page.

    Can a similar “links” section be added to this very useful box to replace the lost functionality, even if it’s less convenient? I mean, only if it doesn’t add back 50k of code, of course. This box already exposes lots of interesting information about a page and adding a useful section for links would be a decent compromise, I think.

    And yes, I know that Firebug can do this and much, much more thanks to Inspect Element.

  11. I’ll at least have to teach people a different way of how to get to the alt text of images on the community site I’m running, as the alt text contains the ID they need for some purposes like linking the pic elsewhere with bbCode. Digging through the page info media list is somewhat tedious in comarison, esp. if you have multiple images on the page.

  12. Maybe it’s just me, but isn’t easy alt-text-viewing something that should *not* have code wasted on?

    The browser should display the alt text when it cannot show the image. There is no other requirement to give the user any view of the alt text. That firebug and the “View Page Info” box does it is enough for developers.

  13. XBL! It’s nobody’s baby for sure: it kills them!

  14. How are we going to copy/paste the title attributes?

  15. Firefox came about because people weren’t afraid to remove things. By cutting down on what the majority of people didn’t want or use, a better, leaner product was made. This is really just an extension of that same philosophy.

    Excellent, bookmarks and history are going to be removed then? Since when do the majority use history, gestures, geo-location or microsummeries? I think you see the point I’m making without me elaborating further.

    I do use the properties dialog, I use it more often than the never-used features I mentioned above. I think in this instance, you have a feature that’s incredibly useful for the average user on the occassion that they need it.

    I say that this code was a candidate for refactoring rather than removal. Oh well…

  16. Can we get rid of APNG next? The only two places in the universe it’s used are the Wikipedia article on APNG and the throbber.

    Not even GIMP or ImageMagick support it after two years, so I think it’s safe to say the format is a complete and utter failure. Give us back feature-parity with Konqueror.

  17. It’s been years that I expect the JP2000 support for the transparency (to avoid using Flash: JPEG with alpha layer), and although this has never happened.

  18. o_0, I use that all the time :(.

  19. @nobody, You put it better than I could…

    Any object in an ui or content layout should have a properties dialog, first as a way of inquiring pertinent information about that object (be it as little as the alt text) and second as a well defined entry point for extensions that can offer a greater amount of information. Also, please consider that a majority of people really came to expect to have ‘properties’ available everywhere.
    Myself, I started using Firebird back in the day and _that_ was a fast, light, lean browser. Firefox hasn’t been that way for a long time, nowadays it aims to be powerful and fully featured. There are lots of places where (mostly newly added) bloat must be kept under control and I’m all for simplyfying the experience and optimising the code (yes, that ‘enable java’ checkbox was pointless), but removing _this_ dialog won’t get us a faster/better/leaner product, it will just disappoint a lot of people that used it…

  20. Well, the properties dialogue is about the only [killthem] but i wouldn’t want to lose, i found that useful even in the time i didn’t consider myself a power user. It’s also one of the more technical features that i see common users use more then other technical features. Even even once considered opening a bug for a properties dialogue on video (i want to know stuff like bitrate and resolution), but then strumbled upon a wontfix bug for that, that was linked against the remove properties dialogue bug.

    Oh well, since i got firebug these days, i wont miss it.

    Anyway, out off the other [killthem] bugs, i even voted for about 5 of them, and got suggestions for some more:

    *context menu items on linked image:
    (on linked image, context menu is horrible long, i hate long context menu’s, first thing i do when i install a extension, is dig through the properties and disable context menu items.)
    ** Bookmark this link: You can open the link and bookmark it then, remove this.
    ** Save link As…: you can open the … you get the idea.
    ** Copy link location: Ok, this is actually useful if you are removing the properties dialogue, i suggest bring the dialogue back, and remove this one.
    ** Copy Image Location: Ok, this is actually useful if you … Same as above 🙂
    ** Save Image As…: You can click View image and then save it. (Notice Save Image As… should be kept when you are viewing a image directly in firefox).
    ** Send Image…: Just as useless as all previous options, does anybody ever use this?
    ** Block Images from …: This is Bug 514739, while you are on it, the entire Block Images feature can be removed from firefox if you ask me. Nobody expect a feature like this in firefox, it’s 4-5 year ago or so now, but then i overheard a conversation of 2 of my classmates, they wanted to remove images from a web page, and where trying to find a extension for it, till i pointed them out this is a default firefox feature.
    *context menu items on web page:
    ** Send Link…: Same as send image above, even less useful as copying the url from the address bar is even easier then copying a image from a web page.
    * Options–>Content–>Load images–>Exceptions…: Like mentioned before, this is a useless option. Nobody expect it in firefox, and people will search for a extension (adblock?) when they need it.
    * Options–>Advanced–>General–>Accessibility–>Warn me when web sites try to redirect or reload the page: This can go to the Security–>Warning messages–>Settings list, witch by itself is a candidate for removal by Bug 514739
    * Options–>Advanced–>Update–>Show Update History: Ok, it’s under Advanced, witch allow slightly more junk then other pages, but i never understood the use of this dialogue. Not to mention the dialogue itself got it’s problems: A link from there always opens in a new window.

    Ok, that was long, and i only wend trough visual features now. I’m willing to open bugs on this stuff, if they have any change in not being marked as ‘wontfix’ on first sight 🙂
    I’m sure there is more stuff that made it into firefox over the year that’s just plain useless for most people. One other thin that bothers me about firefox recently is that the download size is getting out of hand.

  21. I meant Bug 513166 as the second bug number.

  22. I use the extension “Menu Editor” and I have almost all hidden in the menu, except “property”.

  23. Tnx i love “Menu Editor” 😀

  24. So, are you going to fix this mistake and restore the dialog?