Difference between revisions of "Dev:GoogleSoC/ApplicationForm"

From Synfig Studio :: Documentation
Jump to: navigation, search
(Let's be as specific as possible in our proposal.)
Line 5: Line 5:
 
Please read the [http://primates.ximian.com/~federico/docs/summer-of-code-mentoring-howto/ Summer of Code Mentoring HOWTO].
 
Please read the [http://primates.ximian.com/~federico/docs/summer-of-code-mentoring-howto/ Summer of Code Mentoring HOWTO].
  
* {{l|User:Zelgadis|Konstantin Dmitriev aka Zelgadis}} (project administrator) google account: ksee.zelgadis
+
* Administrator: {{l|User:Zelgadis|Konstantin Dmitriev aka Zelgadis}}, LinkID: zelgadis
* {{l|User:dooglus|Chris Moore aka dooglus}} (chief project mentor) google account: dooglus
+
* Mentor: {{l|User:Genete|Carlos López González aka Genete}}, LinkID: genete
* {{l|User:Yoyobuae|Gerald Young aka Yoyobuae}} (project mentor) google account: supersayoyin
+
* Student: {{l|User:Eldruin|Diego Barrios Romero aka Eldruin}}, LinkID: '''???'''
* {{l|User:PaulWise|Paul Wise aka pabs3}} (backup administrator and backup mentor) google account: paul.wise.soc
+
* Backup Mentor: {{l|User:Pxegeek|Chris Norman aka pixelgeek}},  LinkID: '''pixelgeek'''
 +
* Backup Administrator: {{l|User:Yaco|Franco Iacomella aka Yaco}}, LinkID: yaco
  
  
Line 16: Line 17:
  
 
* '''Organization's Name:'''
 
* '''Organization's Name:'''
** Synfig Studio project team
+
** Synfig Project Development Team
 +
:: We have used that name here: http://synfig.org/wiki/Synfig:Copyrights --[[User:Zelgadis|Zelgadis]] 06:51, 10 March 2010 (UTC)
  
 
* '''Description:'''
 
* '''Description:'''
Line 28: Line 30:
  
 
* '''Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?'''
 
* '''Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?'''
** There are lot of features what needs to be developed to make our software more powerful, stable and user-friendly. We also hope to involve more people into project development.  
+
** We have student willing to participate in the project for next two years. By participating in GSoC we want to get a funding for him to increase his motivation and to complete particular feature during this summer.
  
 
* '''Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.'''
 
* '''Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.'''
Line 37: Line 39:
  
 
* '''If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?'''  
 
* '''If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?'''  
** Yes in 2007. We missed 2008.
+
** Yes, in 2007.
  
 
* '''What's URL for your ideas page'''
 
* '''What's URL for your ideas page'''
Line 54: Line 56:
  
 
* '''What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible:'''
 
* '''What criteria did you use to select the individuals who will act as mentors for your organization? Please be as specific as possible:'''
** Individual selected as mentor in project must have a knowledge of C/C++ and Synfig Studio program code (or its specific area). It could be easily determined from the svn/git commit history (http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=summary). He also must be a regular on IRC and wiki or forums (see previous http://dooglus.rincevent.net/synfig/logs/,  http://synfig.org/Special:Recentchanges and http://synfig.org/forums/). Synfig Studio is an animation program, so the selected mentor should know its common animation concepts: keyframes, waypoints, layers, blend methods. Selected individuals are highly-motivated, long-standing contributors of the project.
+
** Individual selected as mentor in project must have a knowledge of C/C++ and Synfig Studio program code (or its specific area). It could be easily determined from the svn/git commit history (http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=summary). He also must be a regular on IRC and wiki or forums (see previous http://dooglus.rincevent.net/synfig/logs/,  http://synfig.org/Special:Recentchanges and http://synfig.org/forums/). Synfig Studio is an animation program, so the selected mentor should know its common animation concepts: keyframes, waypoints, layers, blend methods. Selected individuals are highly-motivated, long-standing contributors of the project. Carlos López González aka Genete willing to be a mentor for the this student, because he is comply all those requirements: he is experienced enough with synfig code (http://cia.vc/stats/author/Carlos%20Lopez), he is experienced in animation (http://www.youtube.com/user/Genete) and more than that - he lives in the same town as they already have direct meetings working on Synfig code.
  
 
* '''What is your plan for dealing with disappearing students?'''
 
* '''What is your plan for dealing with disappearing students?'''
** First of all our mentors will try to clearly define the final target of the project and motivate the student to make the project valuable for him as much as possible. At the beginning of work we must get from student as much alternative contact information as possible (i.e. e-mail, ICQ, Jabber, home and mobile phone, home address, website, etc.). This must minimize the likelyhood of disappearing students. If student disappears from regular contact we'll try to establish contact with him via phone or IM to find out the reason of his absence and also notify Google about disappeared student. If a student actually decides to leave, the project will likely be taken on by somebody from the community in the future (depending on the priority) or be saved for the next season.
+
** We already have student willing to work on the particular project idea during SoC. That student already proofed his capabilities by contributing the patches to the source code (http://cia.vc/stats/author/Diego%20Barrios%20Romero). As he lives in the same town as his mentor, mentor will have opportunity to visit him personally in case of his disappearance.
  
 
* '''What is your plan for dealing with disappearing mentors?'''
 
* '''What is your plan for dealing with disappearing mentors?'''
** During the SoC we are planning to have one backup mentor. If existing mentors become unavailable or unresponsive during the project period backup mentor takes place of absence mentor. Most communications are take place on IRC which logs stored on http://dooglus.rincevent.net/synfig/logs/, so the backup mentor always could receive all information about status of student's work.
+
** During the SoC we have one backup mentor. If existing mentors become unavailable or unresponsive during the project period backup mentor takes place of absence mentor. But the probability of our mentor disappearance is very low, because he is an active member of Synfig community since 2006 and declared himself as very responsible person.
  
 
* '''What steps will you take to encourage students to interact with your project's community before, during and after the program?'''
 
* '''What steps will you take to encourage students to interact with your project's community before, during and after the program?'''
** We are require participation on public IRC channels where community discussing the directions of future development, shares their works and examples, motivates each other. There are not only developers there, but also translators and artists who uses Synfig Studio so the bar is low enough for newbie. Our community always open for any contributions, not only matter whether they're funded by SoC or not. For particular guidance, students are welcome to contact any of the IRC members, no matter whether they're funded or not.
+
** Student and mentor are already met directly (offline) and discussed their plans for development. Student is contributing to wiki, participate in forums discussions and hangs on IRC channel.
** To involve students to process at early stages the general steps are:
+
*** preparing a brief plan of project implementation
+
*** defining milestones
+
*** defining "need to study" things for each milestone
+
** The steps taken during the program depend on the individual projects
+
** At the end of program project results must be summarized to provide complete view of done work and encourage students to participate in further development.
+
  
 
* '''What will you do to ensure that your accepted students stick with the project after GSoC concludes?'''
 
* '''What will you do to ensure that your accepted students stick with the project after GSoC concludes?'''
** The community is inspired by the art produced by Synfig Studio artists. We hope what during the SoC much more animations will be produced and students will be able to see results of their work not only as a piece of code or software package, but also as funny cartoons done with all great new features implemented during the study process. Our developers are always in touch with the people who uses Synfig Studio, paying much attention to their needs and feedback.
+
** Participating student have made his decision to choose Synfig as his "final career project". That means that he will stick with the project for at least 2 years.
  
 
* '''Is there anything else you would like to tell the Google Summer of Code program administration team?:'''
 
* '''Is there anything else you would like to tell the Google Summer of Code program administration team?:'''
** We strongly believe that Synfig Studio is a software that has not any equivalence in the world of Free Open Source Software. That's our highest motivation and because of that we are putting all our effort to keep Synfig Studio project alive. It would be a great help for the project maturity and to take some inertia for regular development, to be chosen as a Mentor Organization.
+
** We strongly believe that Synfig Studio is a software that has no any equivalence in the world of Free Open Source Software. That's our highest motivation and because of that we are putting all our effort to keep Synfig Studio project alive. It would be a great help for the project maturity and to take some inertia for regular development, to be chosen as a Mentor Organization.
  
* Backup Admin (Link ID):
 
** pixelgeek Link ID here
 
----
 
** Carlos López González aka genete (genetita AT gmail.com)
 
** Gerald Young aka Yoyobuae (supersayoyin AT gmail.com)
 
  
 
== Ideas ==
 
== Ideas ==
  
=== General ===
+
As we already have mentor and student defined, they chose particular idea to work on:
* Opengl render engine implementation.
+
* Gstreamer libraries implementation. Video and audio import and export.
+
* UI revamp - see {{l|Dev:Wish list#Single_window}}, [http://sourceforge.net/tracker/index.php?func=detail&aid=1687557&group_id=144022&atid=757419 #1687557], [http://sourceforge.net/tracker/index.php?func=detail&aid=1687726&group_id=144022&atid=757416 #1687726]
+
* {{l|Dev:Wish list#Collect_for_Publication}}
+
* {{l|Dev:Sound Layer}}
+
* SWF, SVG, etc import and or export. SVG import partially done.
+
* Implement the Palette Browser, which is a stub in the current code
+
* Implement icon theming, usage of the Tango and ArtLibreSet naming schemes and draw icons for all the missing actions.
+
* Implement a parameter system for output targets and the command-line and GUI interfaces for them. Already in development.
+
  
=== Construction ===
+
'''Implement OpenGL render engine'''
  
* {{l|Dev:Wish list#Layer_Convert}}
+
You may notice that Synfig Studio is SLOW, making it practically unusable on hardware that is over 6 years old. The biggest reason for this is that all of the color calculations are done in floating point -- because Synfig Studio was built from the ground up with High-Dynamic-Range Imaging in mind. HOWEVER, this will not be the case forever.
* Redraw tool suggested by snapsilverlight
+
  
=== Animation ===
+
Todays graphics processors are powerful and we want to speed up Synfig Studio by implementing the rendering via OpenGL.
  
* Keyframe manipulation tool - see [http://sourceforge.net/tracker/index.php?func=detail&aid=1904463&group_id=144022&atid=757419 #1904463]
+
First attemts for such implementation were made earlier ([http://synfig.git.sourceforge.net/git/gitweb.cgi?p=synfig/synfig;a=shortlog;h=refs/heads/uiomae_opengl 1]), ([http://synfig.org/forums/viewtopic.php?f=22&t=362 2]) and the first tests showed speed increase up to 14 times.
  
=== Misc ===
+
Unfortunately the person initiated development of OpenGL branch was unable to continue evelopment because of personal issues and the branch were abandoned.
  
* Most any common bug in bugzilla (if its a large implementation, or several smaller bugs)
+
We want to take a pursuit to implement full OpenGL-powered rendering for Synfig Studio. That will result in the faster redraw of the workarea during the animation construction and thus, much better user experience. Good performance of application during playback and screen redraw is key point for implementing other resource-consuming features like bones and sound support (we need response close to real-time for that).

Revision as of 09:51, 10 March 2010

We missed the SoC so far. Before 2007 we didn't have an application ready in time. We signed up for the 2008 Google SoC, but didn't get accepted. We haven't signed up since then.

Administrators and Mentors

Please read the Summer of Code Mentoring HOWTO.


Draft application

Questions from http://socghop.appspot.com/gsoc/org_app/take/gsoc_program/google/gsoc2010/orgapp (needs registration)

  • Organization's Name:
    • Synfig Project Development Team
We have used that name here: http://synfig.org/wiki/Synfig:Copyrights --Zelgadis 06:51, 10 March 2010 (UTC)
  • Description:
    • Our team is developing a powerful, industrial-strength vector-based 2D animation software package, called Synfig Studio. It designed from the ground-up for producing feature-film quality animation with fewer people and resources. While there are many other programs currently on the market to aid with the efficient production of 2D animation, we are currently unaware of any other software that can do what our software can.
  • Main organization License:
    • GNU GPL v2 or later.
  • Why is your organization applying to participate in GSoC 2008? What do you hope to gain by participating?
    • We have student willing to participate in the project for next two years. By participating in GSoC we want to get a funding for him to increase his motivation and to complete particular feature during this summer.
  • Did your organization participate in past GSoCs? If so, please summarize your involvement and the successes and challenges of your participation.
    • Unfortunately, no.
  • If your organization participated in past GSoCs, please let us know the ratio of students passing to students allocated, e.g. 2006: 3/6 for 3 out of 6 students passed in 2006.
    • Not applicable
  • If your organization has not previously participated in GSoC, have you applied in the past? If so, for what year(s)?
    • Yes, in 2007.
  • Does your organization have an application template you would like to see students use? If so, please provide it now. Please note that it is a very good idea to ask students to provide you with their contact information as part of your template. Their contact details will not be shared with you automatically via the GSoC 2010 site.
    • No we haven't
  • What is your plan for dealing with disappearing students?
    • We already have student willing to work on the particular project idea during SoC. That student already proofed his capabilities by contributing the patches to the source code (http://cia.vc/stats/author/Diego%20Barrios%20Romero). As he lives in the same town as his mentor, mentor will have opportunity to visit him personally in case of his disappearance.
  • What is your plan for dealing with disappearing mentors?
    • During the SoC we have one backup mentor. If existing mentors become unavailable or unresponsive during the project period backup mentor takes place of absence mentor. But the probability of our mentor disappearance is very low, because he is an active member of Synfig community since 2006 and declared himself as very responsible person.
  • What steps will you take to encourage students to interact with your project's community before, during and after the program?
    • Student and mentor are already met directly (offline) and discussed their plans for development. Student is contributing to wiki, participate in forums discussions and hangs on IRC channel.
  • What will you do to ensure that your accepted students stick with the project after GSoC concludes?
    • Participating student have made his decision to choose Synfig as his "final career project". That means that he will stick with the project for at least 2 years.
  • Is there anything else you would like to tell the Google Summer of Code program administration team?:
    • We strongly believe that Synfig Studio is a software that has no any equivalence in the world of Free Open Source Software. That's our highest motivation and because of that we are putting all our effort to keep Synfig Studio project alive. It would be a great help for the project maturity and to take some inertia for regular development, to be chosen as a Mentor Organization.


Ideas

As we already have mentor and student defined, they chose particular idea to work on:

Implement OpenGL render engine

You may notice that Synfig Studio is SLOW, making it practically unusable on hardware that is over 6 years old. The biggest reason for this is that all of the color calculations are done in floating point -- because Synfig Studio was built from the ground up with High-Dynamic-Range Imaging in mind. HOWEVER, this will not be the case forever.

Todays graphics processors are powerful and we want to speed up Synfig Studio by implementing the rendering via OpenGL.

First attemts for such implementation were made earlier (1), (2) and the first tests showed speed increase up to 14 times.

Unfortunately the person initiated development of OpenGL branch was unable to continue evelopment because of personal issues and the branch were abandoned.

We want to take a pursuit to implement full OpenGL-powered rendering for Synfig Studio. That will result in the faster redraw of the workarea during the animation construction and thus, much better user experience. Good performance of application during playback and screen redraw is key point for implementing other resource-consuming features like bones and sound support (we need response close to real-time for that).