Friendly names for Processing Sketches like the p5.js web editor

@jeremydouglass, @Bobby54 How is this?

I have also updated my GitHub branch.


I would say that this is perfect. Great idea to use a drop-down menu and show example names behind it.



One suggestion. The issue that you opened – that I’m assuming you will submit a PR to close – says “New sketches are a mix of numbers that need to be read VERY carefully.”

It might be good to edit the issue description to something like “New sketches are named with a number date string, sketch_201231b. This mix of numbers can make it hard to distinguish sketches.”

I suggest this because Ben might get the misimpression from your description that you wrongly think the sketches are named at random – and then discount your issue as a misunderstanding.


Thanks! I still need to work on language support, should submit a PR by tomorrow.

To be honest, I only recently found out that the numbers at the end of sketch names are NOT random numbers. Personally, I find it quite difficult to parse the numbers as a date, especially as it is in an unusual format (yymmdd as opposed to the ISO yyyymmdd).

But I do see your point. I have updated the issue.


1 Like

I have submitted a PR!

1 Like

@jeremydouglass Any updates on this?

Hi @KartikSoneji – sorry, no updates. I am not a core developer on the Processing repo. I believe that ben fry is reviewing and merging almost everything there, and things happen as they can based on his limited availability. I’m hoping this gets a favorable look soon and am happy to chime in further on the issue / PR when it does.

@jeremydouglass oh, I thought that you were a core developer.

I completely understand.

Could you suggest something else that I could work on in the meanwhile?

Thanks again for your help and support.

Sorry for the confusion. I am a moderator on the forums and active on repo issues, but I tried to communicate the key gatekeeper is ben fry.

Great question! Do you mean issues on Processing 3 specifically, or other things in the ecosystem with quicker PR review times?

One suggestion that I have is to reach out to @sampottinger about the current work on Processing 4 – there might be ways to get involved there.

Another possibility beyond the core is if you wanted to contribute to one of the Processing libraries. There are fork mirrors to ~400 here:

Contributing to a library or mode can also be a great way to learn the how libraries work and the PDE Contributions architecture and distribution system. Here are a few libraries that are currently in active development / recently updated:

In addition, if you are excited about the pedagogical side, you might also consider contributing to the Rosetta Examples set (disclaimer: I coordinate that project):

There are many fun simple issues for first contributions, and the sky is the limit there (as there are many hundreds of unported tasks, some quite difficult).

Other people may have other suggestions – it is a big community with a lot of worthy projects in it that welcome contributions.

1 Like

Al iniciar el IDE, si yo me llamo “luis”, podria crear sketches con el sistema basico de nombres:
sketch name = “luis” + “_” + counter + “.pde”;

asi, si yo soy luis, mis aportaciones seran luis_000… luis.001… luis_xxx…

Hi @erkosone!

Thanks for your suggestion.

I have two questions:

  • What happens after luis_999?
  • What happens if the user creates luis_001 and luis_002, then deletes luis_001? Does the next project have the name luis_001 or luis_003?

Also, are you sure that this scheme will be used by many users?
What do you think, @jeremydouglass ?

Thanks for such a comprehensive answer.

Nothing in particular. I was thinking of improving the build process for Processing 3 because as it stands right now, the build environment is a pain to setup. But if Processing 4 is coming out then I think that it will be better to work on that first.

I was also thinking of setting up a Dockerfile so that we can at least check that PRs compile successfully.

That seems like a good idea. I will look at the issues do what I can.

Contributing to libraries tends to be prone to feature-creep, especially as I do not use Processing and am not familiar with the libraries.

Hmm. Counters in the Untitled_1, Untitled_2, Untitled_3 system are used by a lot of office / document software. On creating a new file, it tries to create Untitled_1 and then fails-up until it hits a number that isn’t taken – so if you have


…then your next one created will be Untitled_3. MSWord does this. So does TextMate.

So it seems like this would be two things:

  1. a counter
  2. a customized label – so instead of “sketch” it could be “bosquejo” or “luis”.

In theory you could then mix and match – luis_200512b, sketch_3, IridescentTurnip_3 etc. – but it all seems like this is all potentially getting very complicated for an interface aimed at least partly at learners.

If the goal is to have a list of sketches:



…for instance for upload to a gallery or repo, then it might make sense to use a renaming script instead?

Sounds great! Perhaps before diving into that take a look at Sam’s fork, and/or issues / open PRs on Processing 3. It is possible that those things were already suggested and either haven’t happened yet or current main contributors have a specific way of working for builds / CI that they might not want to change. I personally would love a Docker based CI setup.

I agree, this might become too complicated.
It is quite easy to write a renaming script in Java itself.

As a side note, I was thinking that if we are including the list of friendly words then it makes sense to give the users access to the FriendlyWords class. Combined with the random(Object[]) function, it can be used as a simple random word generator.

Bien… quizas seria mejor algo asi:. Date + _xxx

Es poco probable que alguien cree 1000 proyectos el mismo dia.

Cuando se crea un proyecto nuevo siempre sera con +1 al numero mas grande encontrado.

Creo que la forma en que ya funciona en este momento es que la Date obtiene un sufijo de letra (200512a …b …c …d) en lugar de un contador.

Sorry, I didn’t understand this part. Give users access how?