Batch Renaming – Call for design ideas


Alex Pandelea has been working on batch renaming for Nautilus. So far we though about taking most of the design ideas from what Finder, the file manager of MacOSX does.

Here is a video of Finder’s batch renaming

However, after trying a prototype implementation following Finder, I have been changing my mind about the design being good enough.

Let’s take a look at Finder’s design and find the ugly parts.

First mode, “replace text”


I can see few issues:

  • The “Replace Text” combobox doesn’t really provide me a hint that it’s a combobox for changing modes. It looks like part of the mode itself, doesn’t give a hint about having more importance than the entries under it or the cancel and rename buttons
  • The cancel and rename buttons are at the same level than the example and information. I would prefer to have the information and example in one line, then the final decision about cancelling and renaming apart of those. This is now usual in dialogs on the GNOME HIG where the dialog buttons occupy the whole width and are in a different line level.

Let’s change the mode. “Add Text”


One big issue here, suddenly the entry and combobox for the mode is in the same line as the combobox to change the mode. I guess they wanted to give a connection between the UI items in there, so it makes a sentence like “Add text …. blah blabh…. after name”. But that is not the case in other modes, so it’s more confusing than anything.

Next mode is “Format”


And this is the one with more UX issues in my opinion. It has the ones of the first mode plus:

  • There is no visual connection between the “Name format” and “Start numbers at”.
  • “Start numbers at” is only useful for “Name and Index”, not for other name format modes, still it’s there for other modes.
  • It’s using combobox for just three and two options… which is kinda useless. It’s better to just present all the options. Much straightforward, much clearer, one click less.
  • The labels “Name format” and “Custom format” are misleading. Either I want a custom format or something else.

Apart of these issues, I also noticed it doesn’t give you feedback if some file in the directory conflicts with the names that are going to be generated beforehand. We want this on Nautilus.

So I came up with this draft as my idea to cover these issues (my drawing skills are not the best). Note that the mode selected is”Format”, which is the most complex UI wise:

batch renaming mockup.png

I would like to know your thoughts about this, and even better, engage you on providing design and ideas. Now it’s your turn 🙂

Here’s the svg of the picture above,  you can modify and put your ideas


40 thoughts on “Batch Renaming – Call for design ideas

  1. Looks good so far, but it would be nice to also have the option to change the number of digits, if you have over 10 files (or 100 or even more), you dont’ want to have somesting like

    Beach day 9
    Beach day 10

    i would prefere

    Beach day 09
    Beach day 10

    krename gives you this option

    1. I would say it makes sense to do it like this as default. If you select enough files to require more than one digit, zero padded those looks good

    2. By doing this is solving the problem on the wrong end, you should support natural sort.
      the file manager should always sort files name correctly

      1. not sure what you mean. If you mean nautilus takes into account numbers in the name to sort, it does. The name sorting is kinda smart.

  2. Yeah, seconding that suggestion. Many (though not all) users will want zero-padded numbers, and to accommodate that, you’ll need to know how many digits to pad to.

    1. Hey thanks for the link, that’s useful.
      However it does kinda the opposite of what I envisioned. This does some regular expression replacements. Instead, I would like to do something that doesn’t require this knowledge.

      1. You should have a play with the Thunar bulk renamer – don’t just look at the screenshot. The UI could be better – but one of the really nice things that it does is give you live preview of what the new filenames are going to look like. This is very useful.

        Yes, it supports regular expressions – and you might not want to support that – but it doesn’t require it, you can just do simple text replacement if you want.

      2. Actually I’m looking at it, it’s cool they support lot of ways to rename. A little too bloated for my taste, but let’s try to integrate as much as we can keeping the balance.

      3. Lots of people are asking for rename based on file metadata and dates – including highly specialised stuff from batch photo renaming, music file organising, etc…

        The Thunar renamer actually supports all of that – all of those requests – in a pretty compact UI. I could be slightly simpler on first use, with expandable options for more complex stuff – but it’s a reasonable example of packing a lot of features into a compact, usable UI.

      4. Maybe we don’t go as deep as thunar though. As said, feels slightly bloated or unclear to me. I think I will like to keep a different balance than thunar.

  3. It looks good so far, however, I agree with Slomo & Simon. Please add an option to toggle padded numbers or make it so that the “Start at” field can be started with “000”/”001″ and it understands you want padded numbers.

  4. This will be a nice feature. What is the difference between Index and Counter in the mockup?

    I don’t think the modes are as exclusive as you’ve made them in the dialog. You may want to search and replace *and* add a suffix. Already in your mockup for formatting most of the UI is around adding a prefix or a suffix. When renaming I sometimes want a combination of all the operations, but I’m not sure if Files should just allow the simpler operations and leave complicated operations to standalone tools? I also agree with the previous post around wanting 0 padded numbers.

    1. It’s from Finder’s design. I actually was wondering the same, format looks like addition :/ I need to investigate more Finder behaviour. Would be good someone with MacOSX to give here some hints.
      Search and replace sounds too complex, but maybe you refer to just the “Format” mode?
      I would say anything that we can make this tool powerful and simple at the same time. The only thing I’m against are regex (just use the command line for that).

  5. Hi, I’m the author of a Linux program used to download and rename photos and videos from devices like cameras etc. After dealing with support requests from users through the years I’ve concluded that making a tool complex enough to be useful to power users and simple enough to not confuse or confound everyone else is challenging. For example, I’ve had feature requests from users that didn’t realise that it was possible to end up with the date format YYYY_MM_DD simply by combining the element YYYY with a text element underscore, followed by the element MM, and so forth. Obvious to you and me perhaps, but not to everyone. Anyways recently I’ve been working on revamping the code pretty much from top to bottom, and part of that has involved rethinking the UI from scratch. I came across a nice set of ideas in Lightroom’s file renaming tool, which I admit was somewhat of a surprise, because my initial impression of its file renaming tool was not totally positive. But the more I thought about it, the more I came to appreciate what its designer(s) had tried to achieve. I tried to improve on it. A couple of screenshots from the unfinished code, showing file renaming and subfolder generation:

    You can see I’ve left an area in which to give the users hints, depending on what they’ve entered. The user can enter text freely in the text box and choose items using the combo boxes. Everything in the text box is actually just regular text with syntax highlighting applied, and special rules to automatically select text elements depending on what the user clicks on or how they navigate using the keyboard. Naturally it could be improved, such as not having line breaks in the middle of elements (signified by the brackets), but it’s a start.

    My intention with this post is not to say “do it like this”, or “isn’t this cool”. Far from it! I just want to offer an alternative that may or may not be relevant to what you are trying to achieve with your own tool, or which may or may not give you some ideas to take your own work in new directions that no one else has thought of before.

    1. Excellent, thanks a lot! I can see date format would be something useful for some people. But I would keep the UI simple and just offer a set of (smart) options.

      1. Just “send a note” to the author in DevianART. I couldn’t post a public comment because the websites says I’m spam :/ In any case, if you have any way to contact him, please let me know. His designs are top notch.

  6. Some renaming tools allow to rename using the file metadatas, such as for music and photos… It would be great to have such possibilities, even though Easytag allows that too.
    Also, Pyrenamer has a “manual renaming” tab to rename specific files manually. And you can select the files on which you want to apply the batch renaming (to not rename all files). I use that a lot when all the files in the directory have not the same formatting (when I did not download all the episodes from the same uploader, for instance… 😀 )

    1. Great idea about using metadata, will keep it in mind. Definitely Nautilus can profit of that.
      About the “manual renaming” I fear is going to be too complex to do it in a clean way :/ a good designer here could help.

  7. I like the “connection between the UI items” of the Add feature in Finder, and instead of ditching it because it does not apply to the other actions, I would rather add it to those other actions like:

    REPLACE {old text} WITH {new text}

    The “Replace” text and then “find text” and then “replace with” is just ugly.

    Also would be nice to have:
    * to lowercase
    * To I Dont Know The Name Of This

    1. “instead of ditching it because it does not apply to the other actions”
      I prefer consistency over almost anything else. But worth experimenting to see if we can find a way to connect the UI items. And actually, the DevianART mockup Kazhnuz linked is going on that way.

      “The “Replace” text and then “find text” and then “replace with” is just ugly.”
      You mean in Finder’s design? I agree, that’s why I didn’t use it for the mockup.

      “To I Dont Know The Name Of This”
      CamelCase 🙂

      Not sure the UPPERCASE and lowercase are necessary – just write it as you would like to and that will be used.

      1. But what if you have a lot of different file names, songs in an album or something, and you would like them all in uppercase but they do not have anything in common in the name?

  8. If you want to also have metadata, I propose having a GtkEntry, and use a tag based approach as seen in for example Music’s search entry. This way power users can simply start typing whatever the format the want and Nautilus will turn them into tags, and normal users can simply use a button to add different tags(numbers/metadata/date), also clicking on each tag would bring it’s options on a sidebar. And by implementing DnD for tags, everything would be understandable/manageable visually, and there won’t be any need for tons of tabs to insert/replace/… text.(the remove/ replace part would be done by the options of the base “Name” tag).
    If this seems useful, I could provide some mockups if you don’t mind waiting a few days…

    1. Hey, I’m not sure I understand, sounds a little conplex. Keep in mind that we don’t want a generic power solution that would be too complex for the most common uses, but rather provide a set of solutions.
      In the case of music we can detect that all files are music and provide the option in a comobox or so to add the tittle or album or something like that.
      Mockups are always welcome! please feel free to provide them. Just don’t be disheartened if it doesn’t match what we are searching for. The DevianArt mockup posted previously is a good example on the direction we want.

  9. I would love to see support for vim-style search-replace (using regular expressions). It’s very powerful. This wouldn’t need to be the only mechanism supported.

    Even if we can’t go to that extent maybe support for some sort of pattern matching with capture groups would be appropriate.

    1. hm not really from my pov, as said the only thing I’m oposed to is in using regex or similar for this. It’s something that we are trying to avoid presenting some smart options and some UI. In case I would like something as regex, I would use the command line which is as appropiate as an entry to put the regex in some UI element.

    1. edit: Or maybe this was not intended as something as extensive as this and I took it wrong because of being in a pdf:) If that’s the case, forgive the noise.

      Hey, thanks for taking the time for doing this!

      However, and please don’t take it bad, I think the study and proposal is not well done as for UI/UX standards.

      Since you took the time to do it, I will take the time to explain the issues I can see:
      – You mention “Use Case” as a first thing to look at. This is good, but “Use Case” doesn’t mean (afaik) what you do there. An use case would be “University student have several documents from their teacher” or “a developer needs to rename a project” etc. This helps to lead the way, because you know this is the ways of the issue you have to cover.
      – It’s not mentioned what options do we have to fix the issue. You went directly to propose regular expresions as solution. The so called “state of the art” in research papers and is usually in the second part of the study.
      – It’s not mentioned why regular expressions are good or what disadvantages has, the document goes directly to explain the steps with the solution of regular expressions.

      These are the more prominent issues I could find. You can take a look how our design team does these kind of research and work in our wiki, for example, the investigation for tabs:

      In any case, I wouldn’t go for regular expressions, imho they are not intuitive.


      1. Hi thanks for reading my pdf 😉 and your reply.
        Use Case: If you read this , I’m not too far off (That’s the world where I come from). Anyway, I was obviously not able to transport my idea, which has imho not a lot to do with regular expressions.
        So, if you give me a second chance I’d like rework my idea and repost it. What do you think?

      2. According to your edit: Yes it was not intended to be a master thesis, I’m just too lazy to post the same thing multiple times in different forums. 😉

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s