manim icon indicating copy to clipboard operation
manim copied to clipboard

Manimlings? An easier and effective way of learning manim

Open KonstantinDjairo opened this issue 2 years ago • 9 comments

Questions to probe the reader's understanding

Like they did for the Rust Documentation, they provide a quiz at the end of each session.

https://rust-book.cs.brown.edu/

How can the new feature be used?

This way the user can track progress and most important: increase retention when reading the doc Which in some way, is not different from studying

KonstantinDjairo avatar Feb 13 '23 03:02 KonstantinDjairo

https://docs.manim.community/en/latest/tutorials/quickstart.html ?

The rest is just going through the docs. If you want to write a complete tutorial for manim go for it. I think in general it is very difficult because people have different needs and expectations from manim so i think it is best to just provide good documentation and examples and leave the rest up to the user.

But you are free to write a manim book and make a PR at some point

MrDiver avatar Mar 31 '23 22:03 MrDiver

I think we should start working on this in whatever form possible at the current moment. And use this as tracking issue.

MrDiver avatar Dec 02 '23 11:12 MrDiver

  • We should have a page with a clear outline of where people can find resources for learning programming with python and maybe integrate some terminology into the docs so people have an easier time understanding the differences between things like classes, objects, static methods, functions as parameters and so on.

  • Custom Mobjects and a streamlined way for creating them should be a part for experienced users.

  • The documentation should provide useful information for short and long time users of the library

  • An explanation on how to go past the documentation with information on how to actively use the docs correctly in order to achieve the wanted animations would also be a good idea. (How to search for keywords, and maybe going into the structure of Manim a little, because i think the deepdive is a bit to deep for the average user at the moment)

MrDiver avatar Dec 02 '23 11:12 MrDiver

  • #1352
  • #3139
  • #2902

MrDiver avatar Dec 02 '23 12:12 MrDiver

When I was learning how to use manim, the biggest problems I had with the documentation were:

  • The quickstart was far too basic for me as I already had programming experience
  • It was very annoying to find a method because you had to basically look through the inheritance tree
    • This could also be confusing for first-time programmers who have never heard of inheritance before I feel like these should definitely be tackled.

JasonGrace2282 avatar Dec 02 '23 14:12 JasonGrace2282

There's some documentation inspiration that I think would be cool:

If you go to the old discord.js documentation (I haven't used the new one in a while), you'll see that when you search for a particular thing, it returns a list of classes, types, properties, methods etc that contain that word. The way the current manim docs work is that it's just a full-text search, returning any and all links that contain the word you're searching for. This is not particularly helpful. Say you're looking for the Arrow Mobject:

If I were a newcomer to the documentation (which I am), this would be daunting. Half of these results don't necessarily have to do with the Arrow Mobject. Just coincidentally, the mobject happens to be at the top of the list, but that isn't always the case. If we were to implement something similar to discord.js's old documentation, I think that could help users navigate easier.

bdotsamir avatar Dec 02 '23 16:12 bdotsamir

A low hanging fruit would be the replacement of the current quickstart guide with the contents from our interactive tutorial notebook, https://try.manim.community

behackl avatar Dec 02 '23 22:12 behackl

When I was learning how to use manim, the biggest problems I had with the documentation were:

* The quickstart was far too basic for me as I already had programming experience

* It was very annoying to find a method because you had to basically look through the inheritance tree
  
  * This could also be confusing for first-time programmers who have never heard of inheritance before
    I feel like these should definitely be tackled.

so do you suggest a "hands on" approach? would be cool in the link that i shared they actually put some exercises

KonstantinDjairo avatar Dec 04 '23 22:12 KonstantinDjairo

What is the state of the art of this PR? Is there something that I could help? Do we have some point at which we agree that this part of the docs has to be created?

SirJamesClarkMaxwell avatar Apr 01 '24 23:04 SirJamesClarkMaxwell