Help to improve the future of Synfig

Hi!
reading back some of my posts I’ve noticed that my enthusiasm asking for help or pushing people to contribute to Synfig has decreased lately.

And that’s not possible!! Synfig needs (must) to be in continuous change, evolving for the excellence and becoming the leader of the 2D animation of the FOSS world.

So what does a leader application needs?
Le me list them here (not in specific order):

  1. Good documentation.
  2. Stable coding cycle: Feature->develop->release->feedback->debugging
  3. Modern input and output support (media and human interfaces)
  4. Good support in all platforms.
  5. Friendly user interface/intuitive
  6. Fast user response. Ready for work-flow

Good documentation: This is the basic element to make the user experience satisfactory. Although even if the application interface is self explanatory, it is not possible to expose all the features in one single interface. A good documentation is always an unfinished project that needs continuous polishing. Is anyone doing anything on document Synfig?

Stable coding cycle: When someone want to make some serious work, it is needed that the tool you use has good support. The feature->develop->release-feedback->debugging cycle is essential for the free open source software and its strength is based on this cycle. One application is nothing if there is not a good user base using it that complete the cycle of feedback bugs and feature requests to make the application better day by day. I wouldn’t continue using any application that looks dead without development support because I don’t have any guarantee that the new bugs that might be found will be addressed or new features are added. It is essential that the application continues working on the new platform versions or finally it will die. Is anyone taking care of that?

Modern input and output support: The applications has to adapt their interface for data input and output to the new formats and devices. Video and audio input and outputs in all its codec formats, new human interfaces devices and new vector and raster formats are essential for the future of the Synfig. Is anyone taking care of this area?

Good support in all platforms: It is absolutely needed to have good support for the basic platforms. If we are not updating the support for Windows for example better to leave the platform and concentrate the efforts on the rest than continue having bad feedback from Windows users. Sometimes I’ve been tempted to rewrite the core of Synfig just for Linux with parallel computing support due to the complexity of keep it for all them. We need to think about it. Is anyone working to improve Synfig in Windows?

Friendly user interface/intuitive. There are many aspects of Synfig Studio that can be improved. Some of them implies a lot of work but once done (if well done) would allow a very much better development of the new features. I’m not going to list all the needed changes in this matter because they have been extensively discussed in the forum. Is anyone doing something tangible on this?

Fast user response/ready for work-flow: It is very hard to work with an application with a high latency. Most of the time of work of the user is wait the system to respond to the changes and that’s absolutely inadmissible. The main bottle neck of that comes from the floating point calculation of the raster operations that are made by Synfig when rendering an scene. Specially there are many vector operations that are made in the raster space instead of the vector space. That’s OK for certain operations like a blur or a noise distort but is not admissible for a rotation or a shape boolean operation. For better render speed I’m working on Cairo render but there is many aspects to improve in that area. Later, a transition to perform the vector operations in the vector world (in opposition to the raster world) is also absolutely needed.

This listed areas are just the core of the needs of the project. Synfig needs other aspects that aren’t listed here: logical support for the above points (wiki, source code repository, tracker system, website), internationalization, administration activities. All those needs someone that takes care of it. Apart of Zelgadis, is anyone interested on take care of it?

As you can see this it not a task for a single one person. Not for two nor three. Synfig needs a supporting community.

I love Synfig. It has many features that are awesome and the potential of dozen of them that would make it the pioneer on the graphics & animation world. So why don’t people see this? Why don’t we have dozens of coders knocking for patches acceptation and hundreds of users requesting new features?

I do my best every time. I’m aware that Zelgadis is doing his best every time.

And you? are you doing your best to improve the future of Synfig?

(If you read this post and feel uncomfortable and stir your stomach let me tell you that it was its intention.)

-G

I have no idea why we can not attract developers, in fact I have demonstrated synfig three times locally in China, but there is no more users and developer except me. :blush:

For me, I will continue my UI redesign mockups, some other parts which I can do with my limited coding knowledge, I am doing terms renaming for example, and localization of Synfig Studio and documentations for simplified Chinese as well.

Hopefully, the release of Morevnaproject Demo can bring a wave not only users but also contributors/developers :mrgreen:

I think it’s two main things and, in this case, the order does matter:

  1. The perception, justified or not, that no really “good” ( or “professional” or “high quality” ) examples of Synfig animation exist. Potential users have to be able to see that the software can produce desirable results. They have to think, “I want to do that!”

  2. Unfriendly/non-intuitive user interface - essentially your #5 above and what I now think of as the “Nina Paley Problem.” This is where the user needs to think, “I can do that!”

To my mind, we should first make some killer cartoons with Synfig, and I mean some jaw-dropping, share-it-with-your-friend, great stuff. In my opinion, there is nothing more likely to drive interest in Synfig than great output, and that means that - for now - those of us who can comprehend and work with Synfig’s odd UI need to get busy creating stellar content. I’m hoping to aid in that cause in the very near future by contributing a scene to the current Empire Uncut project. (See what I did there? “Stellar” and “Star Wars”? :slight_smile: ) Anyway, my plan is to do the animation in Synfig and make it really good. If I succeed, it’ll help show that Synfig is a great tool for animating, but we need several great examples to get the general public to start noticing Synfig. And while short films are a great way to show off Synfig, these films need to be engaging stories or funny gags or otherwise worth watching in their own right; they can’t simply be feature demonstrations or experiments. Remember: the goal is to get as many eyes on these Synfig productions as possible to ignite a Synfig fire of interest.

Once that happens, new users will come in, some of whom will have some coding skills. At that point we can start addressing the UI to make it friendly enough so that “non-programmers” can actually use the software. That will in turn stabilize and grow the user base. Then we’ll have the wherewithal to start working on all of the other concerns that Genete raises.

But first, we need awesome output! Very few people will see “the potential” in Synfig at the moment; they’ll have to be shown actual results. At least, that’s how I see it and it’s something I hope I can help with and very soon. (I just have to finish a Flash-based project this weekend, and then I start on my Empire Uncut scene.)

Matt

Couple of thoughts from me:

As far as the Synfig UI is concerned I have no problems with it - it’s great, I’ve produced a huge amount of work with it, much of it is on my YouTube channel. It’s different to Flash but I’m more productive in Synfig than I ever was in Flash.

The main problem with Synfig Studio coding wise is that it takes a lot of work to get to a position where you can contribute the code.

The Synfig Studio code base is HARD. You have to know C++. the C++ standard library, what the ETL does, GTK, GIT, Autotools, Cairo, GDB, the Synfig XML format and understand Synfig Studio itself. You have to then try and understand other people’s code, much of which is not documented and which often contains kludges or unfinished things. That is a pretty high bar for anyone to step over.

I’ve been studying in my spare time for a few months so I can get to a position where I can contribute patches and I’m still not in a position where I’d feel comfortable making changes. And now I feel like a failure for not having done anything “tangible”.

If only the Studio side had been written something a little less demanding (PyGTK or Vala) I think the number of contributions would have been considerably higher.

From my point of view synfig can achieve greatness thru HTML5.
The reasons I am saying this are:
Animation Developers are not using anymore vector graphics for cartoons. Every cartoon is 3d model cel rendered this days. There are to many techniques that you can animate a 3D model. So that the logical decision is to go 3D.
There is no app that can deliver animated vector graphics for HTML5. This can give synfig a great boost if we manage a player in the near future. I also believe that we have to do it before adobe.
Also it’s too slow in windows.

I personally never used c++ or any other programming language that does not have a garbage collector. I am playing around with javascript for a year right now. I love animated vector graphics and always wanted to use cairo. So the only way I can contribute is with the HTML5 player.

Leaving aside your larger point about Synfig’s potential role in HTML5, that statement just isn’t true. There are plenty of cartoons being made with software products like Toon Boom, Flash, and even Anime Studio Pro. FlipBook and TVPaint, while not vector-based, are also used for quite a few titles out there. Lots of games are still being made with 2D graphics as well, particularly in mobile space. In fact, I’m working on one right now. Clearly not all cartoons are 3D cel-shaded affairs, so I’m not sure why you would make such a claim. Perhaps I’m misunderstanding you?

It’s great that you can use Synfig (and I have personally enjoyed your output quite a bit :slight_smile: ), but I think Synfig is hard to use for the majority of potential users out there. The Synfig work flow ends up being a turn-off for a lot of people, especially when it comes to character animation. It’s definitely the first thing I’d work on once we get enough developers on board to do so.

Matt

I will give vala a try for UI part :slight_smile:

Indeed, the code base is quite confusing to me (maybe because I am more fluent in C). I also found the dependencies off-putting, compiling and installing ATK, GLib, GTK+, then ATKmm, GLibmm, GTKmm, and other C++ wrappers.

I am not an expert with working with a project as large as this, but I believe rewriting the Studio to Vala or Python would be worth considering. Vala translates into C code, so performance loss wouldn’t be an issue. I am going to experiment with programming a UI in Vala, but there are many things I still don’t know about Vala (like the interface and abstract keywords).

That is a tough problem. I only have one friend that uses Windows exclusively and is a Synfig user. He is waiting eagerly for the Cairo backend. I sort-of want to agree with concentrating efforts on a single platform, but there would be users affected. :confused:

Thanks for your hard work,
Charlie

P.S. How can I register at the wiki?

Write to root@synfig.org requesting an account.
-G

Good documentation: […} A good documentation is always an unfinished project that needs continuous polishing. Is anyone doing anything on document Synfig?

Doc’s Internationalization report :

  • Main Doc page translated in 10 Languages (en/es/de/fr/it/pl/pt/ru/ro/zh x2)
    Not fully translated for each language, but at least entries are present.

Lack of -fi- main doc page, but pages exists.

Active doc translations :

  • French : I’m slowly translating it
  • Russian : Zurba11 (wiki/user) doing it

Doc internationalization status :

  • Spanish doc is almost translated at 90% - by genete i presume :wink: ! -
  • Romanian : More Or Less 40%
  • French : mol 30%
  • Russian : mol 30%
  • Italian : mol 15%
  • German : mol 5%
  • Finish : mol 5%
  • Portuguese : mol 5%
  • Chinese : mol 5%

( These % are subjective, based on a rapid overview of wiki/Category:Manual/LanguageCode )