Paving the cow paths: Auto-build panels?

People sometimes feel overwhelmed by Photoshop & other large applications: the tools and commands they need seem buried among a bunch of irrelevant stuff.  We want to improve matters.


Configurator lets you build your own interface panels, grouping your essential tools and commands for easy access.  Configurator is ridiculously easy to use, but actually building a useful panel might take more effort than you’d expect.  You have to give some thought to how you work and to what, exactly, you want to accomplish.


So here’s an idea: What if Photoshop could watch how you work, then suggest panel configurations?  In other words, the app would become smarter, adapting itself to your specific workflows.


PS would collect data on your usage patterns & feed it to Configurator in order to auto-build a panel containing your most-used tools and commands.  Thinking aloud, I’m imagining something like this:


  • PS would ask whether you want to enable the data-gathering process (invisible, with no impact to performance).
  • If you opt in, you’d work for a few days without interruption.
  • At some point PS would say, "Okay, I’ve gathered some data on how you work.  Would you like to assemble a panel containing your most frequently used items?"
  • If you say yes, Configurator would appear and present a list of these items, letting you uncheck unwanted ones.  (For example, maybe you don’t need a button for New Document if you’re always going to hit Cmd-N.)
  • The remaining items would be laid out automatically on a new panel.  You could of course tweak things from there, or you could start running the panel as-is in PS.


Unlike Microsoft Office, PS wouldn’t try to be clever & modify your work environment on the fly (e.g. hiding menu items you haven’t used recently).  Rather, it would just present you with some info & give you the opportunity to take action.  If you’re game, great, but in any case it won’t be sneaking around, doing stuff "for" you while you’re not looking.






PS–Re: the title of the post: "Paving the cow paths" refers to streamlining existing behavior without trying to change it.  A panel of most-used tools wouldn’t change the tools you use; it would just make it easier to group & access them (and by extension to hide the rest).  Going beyond cowpaths–helping people discover "best practice" ways of working–is another can of worms that I’ll address in a separate post.

28 thoughts on “Paving the cow paths: Auto-build panels?

  1. Great, unless I enable this, and for a week I only do selection work?
    [Presumably you could take a snapshot at any point, meaning you could rebuild the panel after listening further. (It might be interesting to see whether your usage patterns change over time.) –J.]
    Wouln’t be easier if ps let me reconfig the way I want it to look like?
    [That’s just what we’ve been working to enable. –J.]
    Like, I really want a HEX color box on my color pannel ( I work with web, so it will be easier for me ), but if Ps track my use, how he would suggest me this, since it don’t exist?
    [In an ideal world, I’d like to let people Lego-together any UI arrangement they’d like, mixing and matching controls into optimal arrangements, then sharing those arrangements in a really friction-free way.
    Moving Photoshop to Cocoa means rewriting the entire interface layer. As long as the engineers are in there, they’re working to make it easier to do the kinds of things you’re suggesting. (That is, they’re separating the UI layer from the guts.) It’s a massive undertaking, but it’s the way forward. –J.]

  2. I’d definitely use this if you made it into a feature. Recognizing clusters of related commands would also be helpful, along with maybe also suggesting that some palettes may be hidden because they’ve gone completely un-touched. This seemingly comes dangerously close to “clean up desktop icons” territory (hello, Windows XP), but it’s a different animal since you actually spend your time in Photoshop’s palettes in the course of your work.
    Since you bring up Office, instrumentation and the possibility of mis-indicating commands you only invoke from the keyboard… the Office feedback program (the one that posts anonymized usage data if you let it) keeps track of which way a command was invoked. If you had this, you could differentiate between several hundred invocations of Nudge or Copy in any one direction and that filter you used four times instead of that other filter you used thrice.
    [Interesting point. I didn’t want to bog down my query with too many implementation details, but we’re considering integrating something similar to the MSFT feedback agent. (Various Adobe apps already include it today.)
    The idea at hand came up during a discussion yesterday: Giving Adobe permission to gather usage data anonymously can benefit you down the road by giving us better info, but could it benefit you more immediately as well? That is, could Configurator harvest the same data in order to help you mould the UI to your style of working? –J.]
    (I’ll admit I don’t know of any way to differentiate whether the menu item was clicked or invoked from the shortcut using Cocoa, but if you could make it work, it’d solve the problem.)

  3. Just to clarify; I didn’t necessarily mean that you implement a feedback agent (although you’re free to), I just wanted you to steal that aspect of the sniffing process such that commands invoked by keyboard shortcuts could be told apart from other commands.
    [Yep, gotcha. The only way we’d implement the auto-generate panels feature would be on top of an optional feedback agent. My hope would be to share the wealth: give Adobe data we can use over time, and give yourself data that benefits you right now. –J.]

  4. I think it’s a great idea. I find myself often dragging things around for certain tasks. It would be good if someone besides me was paying attention and offering suggestions. I like the idea of it quizzing you and you being able to turn off suggestions you don’t want.
    Can’t wait for a cocoafied version of Photoshop! Especially if this is the kind of thing it might inspire in Adobe engineers’ thinking.
    [I know this’ll sound picky, but it’s not Cocoa that’s inspiring the UI rework. We’ve had these changes on the roadmap for quite some time and have been building towards enabling them. The Carbon64 news made us shuffle the schedule on various changes.
    I would have preferred to keep spreading the architectural work (including the march to Cocoa) over several revs, as much of it is great for the future but doesn’t result in changes you’d pay for right now. Having to eat the elephant in one rev puts a lot of pressure on our ability to deliver a compelling feature set. But hey, if it were all easy, where would be the fun? πŸ™‚ And we’ll find ways to rock bells no matter what. –J.]

  5. Be careful about paving the cow path, it just means there will be a cow jam at the barn door. Just like our city interstates, many of which are built along the paths of old game trails. πŸ™‚
    I like your tracking idea as a starting point. Under Marcelo’s comment is an issue that I share: I tend to work with one set of tools at one time and another set at another time. The implication of this workflow is that to be effective for me, the “watcher” would need multiple “trackers.” I could turn them on and off depending on my current tasks. E.g. one for outlining, another for masking, and so forth.
    What would help me more, however, is having a tracker that would allow me to “tag” my work on the fly. That is, allow me to create custom tags for my work, so I could later ask it to cross reference the tools I used with tags I designated while working.
    For instance, I love to outline. There must be a zillion ways to develop outline in an image. I know already the tools I use most for this kind of work. Where I lose time is looking for combinations of tools I use LESS often. By way of example, I’d might want to cross reference the tags: outline, granite, roots and see what it came up with. Such a query might lead me back to a technique I used once and forgotten. It might also suggest a combination of tools I had not thought to combine.
    My current process is to keep a master log of all my work, at the detail level. When I’m brainstorming how to get an effect, I flip through my existing images until one catches my eye, then use my desktop search tool (currently X1) to find all work on that image. Since I work (and rework) images over months, I can end up with many entries for the image. Finding the specific tasks where I create the effect can be a bit of a pick and a poke.
    I envision a neat set of buttons on one side of my workspace. As I move, say, from outlining granite to masking a tree, I just tap a different set of tags and keep on going.
    And if you folks develop this tool, you MUST call it CowPath. (Much catchier than GameTrail).
    [Heh–and maybe we could then call the constructively disruptive “best practices” stuff “CowPathTipper.” –J.]

  6. It is critical that you collect usage data. Microsoft have done a great job with Office rearranging features in the more correct positions.
    After looking at some of the panels that were created by experts, I am not convinced that more panels are the solution to easier use in Photoshop.
    First of all, most ‘panel designers’ treated them as a small web page – full of graphics and explanation texts, and not what they really are – a precious space that will take more and more out of your work area.
    While the Office ribbon takes a constant space (which is not that much BTW) it successfully exposes most features in one or two clicks away.
    I believe there is a place for a bigger toolbar more resembling the ribbon than a toolbar from the 90s. It does not need to be tabbed, but will have a lot of drop-down buttons with lots of options, may be they will drop-down custom created panels.
    A single column of panel on the right is perfect. But with the current adjustment panel, there is not enough space for anything more if we keep it just one column. Two columns of panels might be too much though.

  7. Absolutely I’d find auto panels interesting to use. If for no other reason than to understand HOW I work most often and to improve.
    The more interesting thing I would suggest is to have auto panels apply to a learning/tutorial tool. Let the software analyze and see how I work, and after a “learning period” I’d love to see a comparison study on my behavior to that of the elite alpha users; showing how my behavior could be adapted to improve using a workflow they might use. Or simply an online comparison (have to upload with permission) of panels that others use who do similar work.
    Structurally I’d like to see the Auto Panels use user presets/profiles. Create a “touchup” preset and have the Auto Panels learn what what you’re doing during touchups, or “texturing” when you’re doing 3D textures. Each preset would have buttons in the vein of “start learning” to define a new panel, “continuing education” to modify amend an existing one and “revise workflow” that would take what it has learned and restructure it weighing the way you are using the panels now as opposed to simply amending.
    I hope that made sense. It did in my head. πŸ™‚
    Keep up the good work John. I love reading your blog.
    [Thanks, Landon. I appreciate the feedback & the readership. –J.]

  8. At some point PS would say … Please don’t do that kind of thing, that is Microsoft style. Annoying suggestions popping up all the time, especially when you are doing client presentations. That is one of the greatest advantages of OS X.
    I’d prefer such a feature to work the following way: The feature stays totally out of my way until I click “Window > Top Commands”. It would then display a panel that has buttons for the commands I use most in my workflow. These can change all the time. A “pin” button would then allow me to lock specific commands to the panel so they persist and won’t disappear even if I don’t use them for some time, and a “ban” button would prevent something like the “Cmd+N” you mentioned from showing up in the panel. An “Export to Configurator” command in the flyout menu of the panel would allow saving the current state out into a configurator file for further manual enhancement.
    A second panel, “Related Commands” would analyze, say, the last five commands I used and display both those recent commands and those that I personally use in locality with those. For instance, if I created a mask from a selection, it would display “Invert”, “Refine Edge”, “Levels”, “Undo” etc. if those are commands I have frequently used in the past after creating a mask from a selection and thus am likely to use again.

  9. I don’t mind Adobe keeping track of what people use behind the scenes. i don’t even mind putting that in a box (called a “panel” this year). But if we use keyboard shortcuts rather than buttons most of the time, how would we use this?

  10. Interesting idea. But instead of Photoshop asking me “after a few days”, I’d like to specifically say, when Photoshop should start and stop collecting data. I think of it like recording actions: Press the “look over my shoulder now” button and “now stop it, I’m going to do some irrelevant things now” button. Because for project A, I’m repeatedly doing some sort of work (say, masking and color corrections), while project B demands 3D-action or whatever. If Photoshop records both of these, the resulting panel won’t be much of a help. But if it records the projects seperately, it might create a streamlined panel for one type of work (just like working spaces).

  11. I think it would be very interesting, but I have a couple of concerns. First, as has been said before, the whole suggestion thing would need to happen outside of PS, i.e. no annoying popup showing up and telling me what to do: if I am going to benefit from such a feature, then I will know what to do (or at least enough to launch configurator on my own).
    Another issue is with privacy: if you want to collect usage patterns, and I think it will be a natural consequence, then you need to make sure that it is completely anonymous and that it is turned off by default.
    [Most definitely. That’s how it works in Illustrator and the other apps that feature it today. –J.]
    Other than that, it sounds like a great idea.

  12. Brilliant idea! Do it. If you need someone to beta test – I’m ready. If you need more encouragement I’ll tell my friends. I use configurator and find it useful but, like you mentioned, it is harder then it sounds to make truly useful panels. This would be a helpful additional feature.

  13. This sounds great, but I think you need to spend more time getting Configurator working right instead of coming up with new ways to break it.
    [What are you talking about, breaking it? –J.]
    You don’t even have a very functional first beta and here you are talking about something like this.
    When you have it so you can have the right colored background in your Configurator palettes, more control over the formatting of text, graphics, borders, etc. As well as support for the other Creative Suite applications then you start worrying about the other cute things.
    [“Cute”; right… –J.]
    When will a new beta be out with some fixes for the problems in the current beta?
    [In the note above I’ve heard some feature requests (deeper features and broader Suite adoption), and that’s great. I haven’t heard any mentions of problems per se (not that none exist).
    For a number of reasons, we’re not planning to update Configurator for CS4. Instead we’ll focus on making it really rock for PSCS5 (and rock it will). I continue to petition my fellow PMs to adopt it for their apps, but they need to hear the request from customers, not from me. –J.]

  14. Hi John,
    I’m not the power user that the rest of you are, but I did want to add my two-cents worth. I like the idea in general but I would hope that it wouldn’t become too helpful, as Word is. Also, I would hope that this idea could extend to the rest of the CS, particularly InDesign and Illustrator.
    Finally, I love “CowPathTipper.” I really hope that makes it into the final release somehow.
    Thanks for listening,

  15. Great idea. I love the Configurator, even so it is not perfect (especially with the German PS). But still – thanks for that first and – Yes go ahead and create the new tool!

  16. Well, lets face it Configurator doesn’t work all that well. I have reported and had confirmed many problems with it and so far we haven’t gotten an update with a single fix.
    All panels I create with show with a near white background not the gray like the other Photoshop palettes. You set a size for your palette and Photoshop opens whatever size it likes.
    Interesting choice on updates.
    [Here’s a little background: CS4 was the first version of Photoshop that allowed *any* form of dynamic panel customizability. Adding that support was a learning process for the team, and while the current foundation enables a lot of new things, it’s obviously not perfect. (I should note that no major features are dependent on it in CS4, either, and we don’t market it as a reason to upgrade.)
    We’re taking this experience and using it to build a stronger foundation throughout the CS5 apps. I’d like to go back and revisit Configurator 1.0, but the scope of changes planned for CS5 mean it would be better to focus on the future. –J.]
    I guess it really doesn’t pay to spend much time betas from Adobe. So what you are saying is that we will have to pay if we want something that is close to functional that we can use and create palettes and stuff we can share without having to field complaints by those we share with about why it does funky things.
    Frankly, I don’t know why you bothered making it public.
    [Robert, Configurator was a free add-on for CS4, not something for which you paid. We released it as a technology preview, not as polished code. Obviously lots of people are finding it useful despite some rough edges. You’re of course welcome to see the glass as half-whatever. –J.]

  17. Great idea, John! I had a similar idea for Flash. My idea involved broadcasting history actions to the extensibility layer, where they could then be recorded with an extension. The fact that you could link it to Configurator in Photoshop would probably make it even more useful for the average user, since they can then tinker with the panel using the WYSIWYG editor. Very cool stuff!
    I think you have the right idea about opting in, too. I’m quite trustful of Adobe, and I don’t tend to opt-in to data collection, even when there’s a disclaimer about not collecting personal data. The more info I get as the user, and the more say I explicitly have, the better. Perhaps even allowing the user to see the data before it’s sent. I think allowing the collection feature to operate without sending data (rather than a one-way or the highway system) might also engender more trust toward the user’s future opting-in decisions.

  18. I’d love to see PS track use, so long as we can do something with the information. Suggesting panels or custom sets is great, but I’d also like to see something that could be used to build actions or scripts.
    For example, a retoucher may benefit from being able to use the collected sequences to help build an action or work flow. FWIW, I’ve really been wanting to see using the History panel to create actions (if I’ve missed this and it really is possible, please fill me in!).

  19. It looks like you’re writing a blog post about Photoshop. Would you like help?
    [Yes! This monster does not feed itself. πŸ˜‰ –J.]
    Kidding aside, this is difficult territory because it touches that kind of alert-here-infobox-there-use-the-wizard-wrongly-assume-about-usage-patterns style of MS products that most Mac users despise (and quite righlty so, in my opinion) and I don’t see how this is a needed solution to anything. Reshuffling commands people already use in the same way? I don’t see the point.
    [Well, the point is to make Photoshop “Everything you need, nothing you don’t.” Or, put it another way: How can I never again hear complaints about PS being complex, bloated, etc.? There’s no silver bullet, but I think that customization/tuning is a necessary part of the story. –J.]
    I really like Scott Valentine’s comment though! If Photoshop could learn sequences of commands and automatically create one-button-actions around that, that could be great. I only worry that the program wouldn’t be smart enough about that and suggest all kind of nonsensical stuff, which would make it bothersome.
    [That’s my thought/fear as well. Microsoft has more money than God and has thrown a huge number of very smart people at this for years–and they’re dealing with the comparatively simple world of word processing. I’d have to be pretty cocky to think Adobe would do better with fewer resources & more complex tools. –J.]

  20. First let me thank you for be up front enough with everyone to post even overly negative comments. Most would have just deleted them and never allowed them to be public. Bravo.
    Second thank you for explaining things. Based on what you have said about CS5 (which it doesn’t sound like could be released fast enough for me) I understand your decision.
    However, I would really like to see some small improvements made to the current configurator. Especially the background color issue that I have. I can understand not wanting to put a lot of effort in to it, but you can use our help with testing out some of the smaller things that would also apply to CS4.
    I think leaving out the CS4 people simply because you plan to expand it greatly is CS5 is a bit unfair. If this is what you planned then maybe you shouldn’t have released it for CS4. Now you have just one more bullet for people to use to save you try to force upgrades. ACR being other big one.
    Some minor fixes and improvements for the CS4 Configurator would be nice and I think fair.
    [I hear you, and if I could call all the shots, we’d do what you say. Sometimes there are unseen complexities, and we’re doing what we can with what we’ve got.
    One other point: Our intention has always been to release Configurator as an open source project. There are plenty of places where Adobe needs to protect its intellectual property, but wherever possible elsewhere, I believe the company should implement features in a freely remixable way. I know that to some extent it’s just a theoretical benefit (until someone actually makes the mods you’d like), but at least the door is open. –J.]

  21. I’d have to be pretty cocky to think Adobe would do better with fewer resources & more complex tools. –J
    Money and resources are Microsoft’s biggest crutch. To solve a problem, they throw money and resources at it rather than using their brains. It’s the smaller, nimbler companies with limited money and resources which always do the cool stuff and find the solutions, at which point Microsoft copies them and uses their limitless money and resources to try to put them out of business. When you have unlimited resources, you stop being creative. It’s a trap as old as time. Or at least as old as money.

  22. Well, the point is to make Photoshop “Everything you need, nothing you don’t.” Or, put it another way: How can I never again hear complaints about PS being complex, bloated, etc.? There’s no silver bullet, but I think that customization/tuning is a necessary part of the story. –J.
    Solving Photoshop’s complexity by increasing its complexity is a risky strategy. I would rather see Photoshop remain true to itself than see it shoehorned into a size it doesn’t fit. This is not to say I object to the idea of auto-build panels, but the thing about users is that they rarely have any idea what they really want. Part of why we pay for software is because we want the developer to have solved all the technical problems for us, so that we can concentrate on making cool stuff. Customizability, in this regard, is a kind of shuffling of the burden from developers to users. This is not to say that Photoshop can’t be made simpler and remain true to itself, but just keep in mind that adding customization and auto-build panels is not really simplifying.
    [I’ve already explained to you that is is. Either you aren’t listening or you don’t believe me, but I’m not going to spend further time explaining the same point. You’ll see later. –J.]
    I think Photoshop’s main barrier to entry is not its complexity anyway, but rather its lack of directness. Photoshop is abstract in a way that probably doesn’t occur to the people who designed it. If you’ve ever tried explaining the relationship between resolution and DPI to your mother then you know what I mean. It’s that kind of thing that makes Photoshop seem like an inscrutable puzzle to beginners. If you want to scare off a new user, just start talking about “Levels” or “Curves” or “Channels.” Then, to kill the deal, explain how “Unsharp Mask” sharpens an image. You see what I’m getting at here? The problem isn’t lots of tools. The problem is the abstraction.
    Here’s an example: Layers. They take too much thought, and it’s too easy to trip over them. Even pros will several times a day get confused by a tool seemingly not working because the wrong layer was selected. I don’t know offhand how to solve this problem, but it’s pretty clear that it needs solving. That’s the sort of area I’d try to simplify.
    [You’ll notice that I’ve been asking questions in that vein. –J.]

  23. I’ve already explained to you that is is. Either you aren’t listening or you don’t believe me, but I’m not going to spend further time explaining the same point. You’ll see later. –J.
    I didn’t mean to make it sound like I thought the auto-build panels was a bad idea. I’m actually kind of intrigued by it. It’s just that adding stuff is still adding stuff β€” making it more complicated, increasing the possibility of crashes, errors, confusion etc. Even if it’s off by default and you have to go out of your way to turn it on, the fact remains that with auto-build panels, Photoshop is even more complex than it was without them. I have many times poked around the prefs of an app and clicked a checkbox that sounded intriguing, only to spend half a day a week later trying to figure out hat the hell I did to suddenly make my software go crazy. Yes, I’m the one who checked that checkbox when I shouldn’t have, but I maintain that there’s no such thing as user error. The more traps there are, the more people will fall into them.

  24. @Mark Thomas:
    Options are not traps, they are opportunities. The concept of ‘no user error’ is a nice ideal, and is typically realized by tools that serve only one purpose with no variation. Unfortunately, I can’t think of an example of one, since by your explanation, hitting your thumb with a hammer is not user error but instead the hammer’s fault for not taking that into consideration.
    To be sure, big applications need to be carefully designed, but there are some things that just can’t be boiled down any further. “Make everything as simple as possible, but no simpler!” (Einstein, I believe). Layers, in your example, are about as simple as you can make them. My proposal would then be to enhance the error handling or user feedback so that the average user gets *something* when a tool appears to fail. But don’t mess with my layers! =)
    It seems what you are asking for is software that won’t let you make a mistake. To me, that implies software that doesn’t let you do anything.

  25. I think auto configuration is a great concept, but as others before have stated, the problem is what the software will learn.
    there are few PS users who only do one type of work, while the majority will do several different types of work, with often vastly different workflow/tool sets within the same week, or even day.
    I’m not Super User, but I’ll be importing from LightRoom one day to work some filters on photos, and the next day be compositing layers from a 3D app, only to be doing some Web work later that evening.
    While the code to look over my shoulder may not be easy, interpreting that data and configuring it into usable panels based on actual work being done, and not an amalgam of various opposing tasks is a daunting effort.
    I’d love to see it, but frankly I don’t see much likelihood in it working very well within a single, or even 2 rev periods.

  26. Well as far as I see it the fundamental technology for this is already there – WORKSPACES. The main ‘problem’ for most people starting, is just that the sheer power of all the options overwhelms them. Inevitable Im afraid, and when you think about it honestly you realize that this is is the way it should be really: Anyone with a genuine interest, and not just motivated by the need to make easy money using the software, will take the time to learn. Its not THAT difficult, in fact is a beautifully designed intuitive, piece of software. Already customizable with keyboard shortcuts, Actions and workspaces. I myself have trained people in short periods to learn everything they need for their jobs. If people are genuinely intimidated by something as well designed as Photoshop then perhaps they should try another profession, leave more space for those of us that have devoted our adult lives to it.
    Since we are now there are practically less and less people who are just starting out, spending so much of Adobes time on making an already great interface more and more ‘discoverable’ is not on. Especially when these resources could be directed at NEW functionality – Sorry to have to go through this again, but I profoundly believe this – in the case of the Adjustment Panel its frankly a move backwards for professional users, because of its lack of responsiveness and frankly bizzarre interface. Luckily the fluid dialog boxes are still available using actions and triggered using keyboard shortcuts. People who really didn’t know that something as basic to Photoshops functionality as Adjustment Layers even existed, really shouldn’t be allowed to hold back the rest of us.
    An increasingly angry user

  27. @ Scott Valentine:
    It seems what you are asking for is software that won’t let you make a mistake. To me, that implies software that doesn’t let you do anything.
    Not at all. It just shouldn’t make it easy to make a mistake. It should make it easy to do the right thing.

Leave a Reply

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