Hey everyone, so as some of us discussed last year, we need to get going a roadmap for Pencil2D, not only to know where the program is heading but also to keep track of existing features , and which features are worth adding (we could also submit this to vote).
This would be to ease the work between veteran and new developers that arrive. Github helps with tracking who is doing what, but we all don’t know where were heading, it’s been basically a dance between fixing previous bugs and spurts of coding for most.
But do we really know what we want Pencil2D to be? Some of our user wrote their thoughts here:
http://www.pencil2d.org/forums/topic/pencil-users-developers-raise-your-voice/
And I’m currently (although sluggishly) compiling their answers in a little document for everyone to read later on. EDIT: Your thoughts and contributions are highly appreciated to make this rough document work for us in the long run!
The raw directives I can think for this developer roadmap are:
- There should never be a question of what task is being currently performed.
2) It should always be known who’s working on a given task. - There should be a clear way to view which tasks are free / pending
4) Tasks should be organized by difficulty, priority and utility:
Difficulty: Veteran programmers should take on the most (apparently) difficult tasks. Novice programmers should be able to take the least difficult tasks.
Priority: Critical bugs Should be solved first if they affect>>>
- Software Stability (i.e segmentaion faults, memory leaking)
- Functionality & Purpose (i.e The program is not working to fulfill it's primary role; the tools are not working like they're supposed to)
If you can think of more stuff, please comment so we can find a proper way to get this working.
QUESTIONS FOR DEVELOPERS:
First of all I would ask you to propose what kind of system we can use to map out Pencil2D progress, that is all the features that are already present in Pencil2D.
Second, How can we add to that map a “future” presentation of the “coming-up” features
Third, how we can streamline feature requests from developers and users. what formatting should we use, and what kind of criteria we would require to approve these new features.
Fourth, should we categorize which features are essential for Pencil2D “core” and which can be thought out as plugins / extensions? If this turns out to be true, how do you propose we do it.
Fifth, After understanding what we want form Pencil2D, we NEED coding standards, solutions and whatnot. And please, comment the code! A “coding guide to Pencil2D” wouldn’t be a bad idea either. I’m not talking about teaching c++ with Qt. But rather mapping out what each library and method does. This would become our developer documentation.
Sixth, …to be continued.
Anyway, please propose your thoughts on this. I’m not a software engineer at all, but I’ve coded in the past.
We must understand that the success of any kind of collaborative effort is to get organized, and it’s getting late for Pencil2D to get on track.
The main idea is that no matter who ends up developing this application, when things have been said and done, they have enough material to continue and not to deviate from the main purpose Pencil2D will serve for animators all over the world.