Subtractive Software

Software developer Brent Simmons shares some interesting thoughts on how & why applications grow and grow:


Here’s the schizo thing about software development (at least on Macs):


1. Everybody praises apps that don’t have a ton of preferences and features.

2. Everybody asks for some new preferences and features.


(Okay, not everybody. Not you, I know. I mean everybody else.)


To make it worse:


1. Everybody thinks they’re representative of the typical user, so what they want ought to be a no-brainer.

2. And they act like you put skunks in their fridge if you don’t do whatever-it-is.


(Okay, again — not you. You’re cool. I’m talking about the others.)


The problem is 100 times worse when it comes to deleting features…


It’s extremely difficult to remove features from Photoshop.  Once you’ve gotten someone to rely on a bit of functionality, you feel responsible for not letting them down (making me think of The Little Prince).  All features, even if many years old and seemingly unchanged, consume effort to maintain, especially when we’re modernizing the application architecture (for 64-bit, Cocoa, GPU, better localization, etc.).  Even so, we’re loathe to pull the rug out from under anyone.


No one uses everything in the app, and yet everything in the app is used by someone.  Even if a feature benefits only 1% of customers, that translates into tens of thousands of people–and that’s just counting the ones paying for any given version (not those with older copies, and not counting thieves).


Here’s a case in point: A couple of cycles back (CS, I believe), we decided that the 3D Transform filter had outlived its usefulness, so we decided to send it to the Restful Menus Retirement Home (offering it on the product DVD, but no longer installing it by default).  No one ever talked about using this feature, and yet as soon as we moved it, the tech support calls started piling up.  Even a couple of years later, Pete Bauer from the NAPP Help Desk reported that they’d still gotten 25 inquiries within a month.  I’ve started to think that the best way to find out who uses a feature is to try removing it.


Why do I mention all this?  Two reasons:


  1. Maybe we can’t remove (many) features–but you canConfigurator is about subtraction.  Taken together with Photoshop’s ability to remove menu items & to save workspaces that apply custom menu/panel/keyboard arrangements, Configurator helps you assemble versions of Photoshop that are "everything you need, nothing you don’t."  Most people will probably never get around to creating their own configurations, but because they’ll be extremely easy to share, everyone can benefit from them.
  2. We’ve bitten the bullet with this release and have sent a number of features into retirementExtract, Pattern Maker, Web Photo Gallery, Contact Sheet, Picture Package, and PDF Presentation have been removed from the default installation.  The latter four have been replaced by the Output module in Bridge CS4, and our intention is to replace Extract with features inside Photoshop (building on Refine Edge & more).  All of these except PDF Presentation will remain available as optional installs (to be posted on, but over time they’ll be phased out.

There aren’t any magic bullets here, and as I say, we’re loathe to disrupt existing workflows.  We can’t sit still, however, and with CS4 we’re making progress on multiple fronts.

0 thoughts on “Subtractive Software

  1. Well, obviously for all of those features that were removed from Photoshop, there is a replacement in one form or another. So techincally, you didn’t really remove features like the Dreamweaver team did when they dropped the animation timeline (which they had to reintroduce due to customer complaints). However, in some cases the replacements, even if superior, can be a bit problematic.
    [That’s true, and the CS4 replacements for CS3 features aren’t necessarily supersets. That is, you can do most of the things you could do before (and of course you can do many new/better things), but it’s often impractical to replicate features wholesale. –J.]
    For example, I’m really happy that you chose to add a “Use Legacy” check box to both CS3’s updated Brightness/Contrast and CS4’s new Dodge and Burn tools instead of just replacing the old behavior. I use both a lot when manipulating masks and alpha channels, and for those use cases the legacy behavior is essential. In fact, I can’t remember ever using those tools for what they were originally intended for.
    My point is, when you remove a feature, you most likely only think of the use it is intended for. Many people use features for entirely different things. For example, from what I have heard, a lot of people (ab)use the Extract filter to generate creative grunge borders for their images. So when you drop that feature, thinking that you replaced it with something that does a much better job (quick selection/refine edge etc.), you always need to be aware that you might be removing a solution to an entirely different problem.
    [Good point, and very true. –J.]
    However, in the past I have been very happy with the choices you guys have made, and as I mentioned, in every case relevant to me you added a “use legacy” option, which is just perfect. I just wish B/C would remember my last choice of that option, but hey, that’s just peanuts.
    About those features and preferences: Personally, I don’t mind a complex application with a lot of preferences and features. I prefer to really learn a tool and be able to tweak more settings if I am rewarded with more power and being able to work faster/more efficiently in the end. But I realize that I am different than most people in that respect and that you guys have to find a balance, which I can imagine is everything but easy.
    [Oh, it’s super easy; hence the obviously short hours. ;-P –J.]

  2. As a fellow software engineer I’d have to disagree to a certain extent. Having software be monolithic is a dated way of viewing a product. I think Firefox is indicative of the future of software functionality and features. The core browser is solid, however alone it lacks many features. A majority of Firefox’s functionality is enabled by 3rd party add ins. I think as time moves forward, everything should be made an add in in Photoshop, whether they are written by Adobe or 3rd party developers. Even things we take for granted, such as selection tools, should all be handled by separate add ins. This makes it easy to separate core graphics logic from user facing tools. But that’s just my 2 cents.
    [It’s a great vision, and we’re working hard to make Photoshop & the whole Suite much more modular and flexible. This is, of course, anything but an overnight endeavor, and people expect the plane to keep flying even while we’re swapping out the wings. –J.]

  3. So what’s the story with Pattern Maker? Did you expect to expand on it in a later version? Did people just not get it or was it ill-conceived?
    [I don’t have the background on that one as it was done prior to my arrival. The feature *does* offer useful functionality, but we decided it wasn’t used enough to warrant rewriting the framework (as would be required for other architectural reasons). –J.]
    I quite like ‘extract’ but never spent enough time to figure out how to get clean edges. (it’s also too modal and doesn’t play nice with mattes). Did that not work out the way you expected?
    [We’d like to integrate these capabilities more organically in Photoshop, instead of in a modal dialog. Not all the new pieces were ready for prime time by CS4. –J.]
    I’d love to know the story with these unloved features – how they made it in and why they were never improved.

  4. Configurator seems promising, but it’s not what I imagined it to be. I imagined, for example, customizing *the* toolbox; removing and rearranging tools. I imagined doing this *before* I could design my own crazy multimedia windows, because (taking into account and adjusting for Brent’s I’m-representative fallacy) it seems like the kind of thing people were asking for.
    [You’re certainly right that people have asked for what seem like more modest things (e.g. tweaking the standard toolbar). Our job, however, is often to filter what people ask for into what they need (which may be a different animal). As Henry Ford said, “If I’d asked my customers what they wanted, they would have said a faster horse.” Sometimes we try to leapfrog the seemingly simpler things (which may not be simple at all, as they involve years’ worth of code) in order to deliver much more flexible solutions. –J.]
    I understand that with the various kinds of scripts and swfs there’s a high degree of shall we say “turing completeness”. You can probably craft a custom palette^Wpanel (why did you switch words, again?)
    [To be consistent with the rest of the Suite. I liked “palettes,” but the Macromedia & Adobe video apps already used “panels,” so that term won out. –J.]
    to do most any task in Photoshop. But it’s not the capability I’m worried about.
    It just doesn’t seem like the part that was promised. I understand that the part that’s left out is probably the hardest and that you’re hopefully hard at work on it right now.
    But from what I’ve seen of Configurator, it requires conscious effort, taste and a determined mind to put together something that feels like a Photoshop panel, and certainly it requires starting from the ground up in many cases. Microsoft Office-like “Customize” panels, for all their faults, do not.
    The intent to fix all this is clearly there, and I applaud the Photoshop team for it. Transforming the interface of a dead serious production app is not something to take lightly. But I want to remind you that it’s not all there yet.
    [True enough. It’s also likely that we’ll see lots of crap panels get produced (as has happened with Dashboard widgets, Web pages, iPhone apps, etc.), but that it’ll then be possible to sort out the real gems. –J.]

  5. Mmmmm. Progress… smells like autumn leaves.
    I never could get Extract to work right, even after watching Dr. Brown’s tutorials. (Dr. Brown… doesn’t he make a really good Cream Soda?)

  6. “Extract, Pattern Maker, Web Photo Gallery, Contact Sheet, Picture Package, and PDF Presentation have been removed from the default installation”
    Damn, you guys killed my entire workflow in one sentence. 😉

  7. The configurator sounds really cool, but it who came up with that name, George W. Bush ?
    [*I’m* the decider. 🙂 Actually I came up with the name just as a placeholder (and kind of to be ridiculous), but no one offered anything more descriptive and/or memorable, so here we are. –J.]

  8. I use Extract a lot, mainly for extracting (HA! 😉 or (more often) creating masks. So I guess I’m _exactly_ the very user you had in mind when removing Extract in favor of other ways to create masks and the like. But take this: I’m also using the quick selection tool and refine edge in cs3 as an alternative, but I still prefer Extract. Why? Because it’s way faster than the quick selection tool when using it with big photos. I’m using an 3-year-old G5, this seems too slow for quick selection (“quick” selection is a bit… ironic). Sure, I have to do a lot of refinement on Extract results, and the modal dialog is way from ideal. I hope, the quick selection tool (or any other tool, that I could use instead) will be a bit faster in cs4. And don’t you tell me to buy a new Mac Pro 🙂 (It’s planned already, just waiting for Apple)

  9. If Contact Sheet is actually just a script then presumably it could stay – which would be a VERY welcome thing.
    Why? because I am more likely to open Photoshop to do a quick bit of crop, resize, colour edit than anything else and ‘current’ experience would show than opening another piece of software to do another job is not really a productivity gain. Not everyone uses Bridge to manage tasks like this. So can we have it back soon please.

  10. You didn’t remove any thing important and for the most part you just moved the features to a more appropriate place/application. Extract was never very good and you never bothered to try to make it good, the same with pattern maker. As for PDF presentations, well I can’t think of anything more tacky that a slideshow in PDF format.
    The problem with Adobe at least from my perspective is based on what you decide to add, upgrade, fix, improve, etc. you haven’t much of a clue. Things that should have been stellar features from the get go have yet to be fixed. They were added to Photoshop in a poor or if you will half-assed way to begin with and Adobe having been told that over and over by complaints and improvements suggestions just goes right on ignoring it. With this I have no faith of any kind that Adobe or the Photoshop engineers would have any clue about features that they could really remove without causing a world of trouble for people. Just because the people at Adobe don’t like or use something themselves doesn’t mean the real world is the same.
    I also feel that your little pro pets that Adobe people seem to like to invite in for lunch and the like and then take all of their suggestions like moses on the mount have done a far more bit of damage than just about any other single source of information that Adobe uses to make choices. They maybe professionals (that is debatable) but that doesn’t mean they have a clue as to how the majority of the users of your software work with your product.
    I would like to see Adobe hold a poll once between Photoshop updates and let people vote on one improvement or new feature that Adobe adds to the product. The improvement or feature that gets the most votes gets added. I know you talked about this with the top 10 or 25 or something, but I would be happy with a more modest one improvement or new feature. Let the user’s pick something.
    I also want to be far here. Adobe and the engineers have updated old features in CS4 one of my top favorites is the dodge and burn tools. These are now two very killer features. My question has to be about that is what the hell took so long. But, CS4 does offer some updates and fixes that are quite nice and I thank the Adobe team for fixing something. Though there is still a lot of things that need some work.

  11. How about nuking one of the enuduring and really evil bugs before you worry about underused features? Specifically, how about getting rid of the toxic black in CMYK files? The one which puts 100C100M100Y100K into anything you “fill with black”?
    I got bitten by that little darling back in PS 3? 4? Good thing the service bureau called and asked if I meant the background behind my image to be unprintable.
    This bug is a minefield waiting to trap the unwary. Note also that the other “fill with” formulae may not produce exactly what one expects.

  12. Although this response may be considered a little “off topic” by some I will proceed. I remember when web browsers were first being developed and the idea of “plug ins” excited me because I thought it meant you would install a base browser and then be able to add functionality “a la carte.” While plug in development for browsers remains and Firefox supports this much better than IE I still feel like browsers too have become “bloat ware”. I would like the option with in any application install, but especially within Adobe’s suite, to pick very specific parts of the program to install so that I can easily customize the app right at install and then easily add or subtract features as my needs change.

  13. I hate to be that guy, but “loathe” is a verb. You’re looking for the adjective “loath”.
    [Ah! I didn’t know that one, but thanks for the tip. I do get hung up on these bits (and was talking yesterday to my wife about my eternal dislike of the misplaced apostrophe in “lil'”), so the pedantry is welcome. –J.]

  14. I can understand the people who go no duh… you *have* to have this feature… without understanding social and programming aspects. Must be difficult.
    But I’m hoping still, that some of the features I suggested (Last Year’s vacation you were on for the Holidays) weren’t that off-base.
    Out of those suggestions I made I’m still wanting something to organize my 500+ fonts since I can’t use Font Book in Photoshop. I’m aware of the current organizer, but I really do need something that helps me categorize and organize for certain projects. For example, organize all my serif fonts into one place. Organize my fonts for certain projects under their own folders. Organize for decorative fonts. Organize for san-serif fonts. Because often I have no idea which font I want, but I know the rough category I would use. I end up using Font Book on the Mac to find the font and having to go to Adobe Photoshop to type it in and then find that perhaps that’s not the font I want for the text given and have to go back to Font Book. It’s a horrid work flow and I feel worse for the Windows users who have to use Shift+up arrow to scroll through their fonts which can be over 1000 or more. Saving fonts into a menu *with the size* I can understand for Frequently used fonts, but it’s not the same thing as being able to improve the work flow with the 500+ fonts and the fonts I constantly have to add each time.
    I’d even settle for something crappy like a modified version of the actions palette with folders to put the fonts down into. But I’d really like *something* to organize fonts so I can find them more quickly. A category for all… and then user categories. Brushes has this to some extent, patterns too… so for the user it shouldn’t be that much of a leap to organize fonts into groups to use as well. (Though I’d like folders for the mounting end of the brushes too. Because it’s hell remembering who made what brush and give them credit… but fonts is more pressing.)
    Am I dreaming and thinking this feature would be useful for the people who have font addictions and like Photoshop for making graphics? It’s probably too much to ask for it across the board of Adobe products since I know you guys compete against each other. Even if not for Photoshop, it would be really, really useful for In Design which primarily deals with type.
    I’d pre-order Photoshop if it had this simple capability. It would be a serious time saver and I wouldn’t be so afraid to DL more fonts.

  15. I just absolutely laughed out loud reading the quoted comments by Brent Simmons at the beginning of this post, because they’re sooooo true – not about me, of course.
    I don’t check back with your blog often enough, John. But I will from now on. Thanks for your thoughtful writing.

  16. You know this, but I feel I should point out anew that Extract is worlds better than Refine Edges / Quick Select for cutting out photos with hair. I’d also like to point out that plenty of I.T. administrators are absolutely not going to bend over backwards to install extra features for individual users, so for those of us using Photoshop in corporations and businesses, you’re effectively removing the feature. As one of the 1% using Extract, consider this a barbaric yawp by someone who cuts out a lot of heads a day.

  17. “If Contact Sheet is actually just a script then presumably it could stay – which would be a VERY welcome thing.
    Why? because I am more likely to open Photoshop to do a quick bit of crop, resize, colour edit than anything else and ‘current’ experience would show than opening another piece of software to do another job is not really a productivity gain. Not everyone uses Bridge to manage tasks like this. So can we have it back soon please.” – Jon Renshaw
    Jon, you do realise you can do all the editing that you mention above in Bridge. Quicker than using PS too. And as Bridge designed for file handling programme is a far more sensible programme to make a contact sheet, not a bitmap editor. So the more sensible thing to do is open Bridge not PS!

  18. “Our job, however, is often to filter what people ask for into what they need (which may be a different animal).” That’s true enough. (I’m a programmer myself and this is something I constantly keep in mind, including when I wrote the comment.)
    Here’s how I look at it: Configurator makes you start over, so you start out with negative fifty points. Configurator making it easier to design a panel gains it points. The way I see it, the offered functionality does not get all the way up back to zero yet for the purposes of customizing a toolbox, which was what, I’m guessing, more people asked for than did being able to create panels with macros or scripts on.
    Of course not all feature requests should be taken at face value for optimal functionality, but the Configurator could well have been focused more towards building a better version of the existing tools. It seems like a weird first focus is what I’m saying.

  19. Re: Chris Comb’s concern:
    “Extract” is only a plug-in — you shouldn’t need to involve IT in just downloading it and popping it into your Plug-ins folder.
    Actually, you may find that just putting a copy of the CS3 Extract plug-in into CS4 would also work for you — depending on your Platform and System.
    [It works on G5 Macs running on 10.4.11]

  20. Thanks for the tip, but many IT departments disallow write access to /Applications/ and its subfolders. Though I’m glad to hear the plug-ins are downloadable and not checkboxes in Photoshop’s installer, as I thought this blog post had originally laid them out to be.

  21. To get around an unaccessible /Applications folder, put the plug-in in some other folder like /Documents/Plugins_Here.
    Then set your “Additional Plug-ins Folder” in Preferences –> Plug-ins.
    Restart Photoshop and Robert is your mother’s brother.
    [Or even your father’s! –J.]

  22. The company I work for is always slow at getting the upgrades, so I’m slow on this one. While it makes sense to move functions to Bridge like web gallery and PDF presentation. It creates real havoc with those of us who script. I’m finally getting around to updating a script our company used, part of which is put contact sheets into a PDF presentation for emailing. Script worked great in CS3, but CS4, I can’t figure out how to access the PDF presentation, and the scripting guide is little to no help. I would love to see better documentation on scripting Bridge & now Lightroom. Simple examples are great, because after years of looking at the scripting guides, I still have trouble figuring out how these things are really suppose to work.

Leave a Reply

Your email address will not be published. Required fields are marked *