07.Dec.2006
Over the past few weeks I received a lot of questions regarding the state of the Diva project. I’ll try to address them here in a slightly broader context.
It all started with a goal to create an an easy to use, “just working” solution to video editing on Linux. It started “high up” – as I personally think that our community is now too mature and too creative to just copy solutions seen elsewhere. It’s worth trying to aim high, instead of believing in the magic of incremental approach.
I spent a lot of time and sweet during the past year hacking on Diva and trying hard to get it working. To some degree it was a success – some ideas turned out really well, the overall application design & UI is something I’m very satisfied with. Unfortunately, the core video muscle powering Diva was one of the bits that never really worked as expected.
There were at least two “major engine rewrites” involved – adjusting to changes in the gst framework, trying out completely different approaches. It has been a great learning experience and a fun ride. There comes a time however, when you realize you have to stop banging your head against the wall, look around and get a bit more real.
Over the past month I was trying to wash my head fresh and get out of the “burned out” state towards the project. I realized that I still want to work on this stuff, even though my clock runs for other cool projects too. I still feel like trying to get it done, but I don’t want to repeat any mistakes. It’s a shame, that you have to screw the thing many times to learn how to do it right.
I’m going to start with replacing GStreamer with another framework. Experience tells me now, that (your mileage may vary) GStreamer cannot be used directly to build an advanced video editor. GStreamer is a powerfull framework, and I personally have a big professional respect towards people who hack on it – they deal with an extremely complex matter. GStreamer solves a lot of problems on the GNOME desktop but it doesn’t solve the problem of video editing.
Gst is a playback framework, and for video editing you need editing framework. The later is not, as it’s commonly believed, just a superset of the former. The MLT framework is an interesting example of the “video editing” architecture.
Only one thing bothers me – there are so many people who sent me nice and encouraging comments about the project, but somehow it doesn’t translate well into code contributions. I used to think this is related to the fact that multimedia is just darn scary and there are not many people who want to deal with it. But recently I realized, that maybe it’s just my fault of sending the wrong community “signals”. Therefore, I want to make one thing clear:
Your help and skills can make this thing happen. This is open-source, let’s do it together.
PS: The diva-project website (http://www.diva-project.org) is down because of a dos attack. I believe this is random net stuff since we had some wild spam attacks in the past. But in case someone has something to say – please, you have to make the message more clear. I’m not getting it.
I hope it’ll be back soon, but in any case – the subversion server is up and running, the diva sources can be accessed as usual on http://svn.diva-project.org/diva/.
Powered by Mephisto with a micro theme mod
26 Comments
MDK, thank you for the update. I agree with you on the Media Framework stuff. BeOS was always said to have a ‘fantastic Media Kit’ for example, but exactly like GST, it was untested with truly demanding applications – which is where a media framework must show its muscle. It was all hype.
GST can only be fixed, if applications demand these architectural changes in it. But if the GST’s main developers “don’t get it”, it will never be fixed and Linux will never get a generic media framework that can do powerful A/V editing. GST will just remain what BeOS’ Media Kit always was: a cool playback interface – and that’s that. Hopefully, they try to fix it and the only way to do this is by actually try to create apps that use the framework in any way possible.
BTW, have you tried to use PiTiVi’s library, gnonlin? Supposedly this fixes some of Gstreamer’s problems that you are experiencing? http://gnonlin.sourceforge.net/
I just had a look at MLT. As long as this project is still developed and powerful enough (and better than Gnonlin), go for it. It’s interesting to see that it was created by Dan Deneby, the developer of the Kino video editor. Kino is pretty powerful and stable, but its UI sucks. I hope Diva can do it right: good UI, powerful engine.
Please remove the second comment of mine above, it was submitted by mistake.
MDK>… I still feel like trying to get it done…
Hallelujah! It may sound funny from me as I am not very religious nor a major user of video editing software but I think that Diva is a very important project. It makes Linux desktop a bit more complete and it does it in a very good style. I hope you’ll find enough time and motivation to get it to the state where it will meet your expectations. I’m sure that this will also guarantee high users’ satisfaction.
Rock on! :-)
Piotr
Thanks for the update! I am looking forward to seeing this project mature as I am a multimedia producer and would love more excuses to work in Linux (since I get better 3D animation render times there anyway).
I saw your post via planet.gnome so I hope you will be able to find coding volunteers from that talented pool as well.
For inspiration check out “Open Movie Editor”.
http://openmovieeditor.sourceforge.net/HomePage http://propirate.net/oracle/archives/category/my-projects/open-movie-editor/
This editor works very nice, has a very intuitive UI, and it’s author is very friendly!
OpenME is cool!
Sorry, I don’t agree. Open Movie Editor’s UI is not nearly as nice and clean as Diva’s is. I don’t know about its backend (might be better than Diva’s), but the UI ain’t.
Eugenia, no offence, but Jokosher and Pitivi teams doesn’t share your opinion about that gnonlin un gstreamer can’t be used for video/audio editing. Maybe it would quite nice to say that wokring together for Diva author with Gstreamer community didn’t work quite right out. And just like that.
Of course, Gstreamer is not fully ready for such things yet, but very active development of gnonlin/gstreamer in last half-year to fix Jokosher/Pitivi things, even they think about creating some spec to share projects together, indicates that it is simple “show me the code” situation here - push gstreamer devs enough or make them to care about your project (requires lot of personal communication here), and everything moves forward.
p.s. I am not gstreamer developer, but I like it as multimedia processing framework. And I love Jokosher, as a Linux advocat and musician.
Peter.
Hi Michal,
I’m glad to see you’re back on tracks ! I was kind of worried of not seeing anything coming out from the competition :)
What you say about GStreamer not being the right framework has truth and not. I do agree that video editing is NOT a subset of multimedia playback, but rather the opposite. But multimedia playback/processing IS a big subset of video editing. What you have to add to that is the editing logic. As we discussed during LUGRadio, a big chunk of that editing logic is solved by GNonLin. It might still have some rough edges for some very specific case and doesn’t do all of that logic, but the recent testing proves that it can do a LOT, including complex effects, slow motion, etc… I guess Jokosher is the best proof of it, and PiTiVi has seen a lot of improvements recently in that direction.
This is the direction GStreamer is taking currently, we are creating more and more high-level elements that contain mostly logic using existing GStreamer elements the proper way so you don’t have to re-program that logic. Examples are playbin for ‘I want to play this file’, gnonlin for ‘I want to use my sources/effects through time and not think about how I need to (un)link elements and adjust time events’, or rtspsrc for ‘I want to use this real-time rtsp feed without having to know how that protocol works’.
IMHO the only problem when having to chose a framework for a video editor (instead of redoing everything from scratch which is close to a lifetime’s job) is you have to take this difficult decision:
_ Do I go for a framework that contains a LOT of editing logic, but will only be used by editors (and only have feedback from the very few editors programmers),
_ Do I go for a framework that is used by a LOT of people, will have a lot of feedback, but is not specialized for editing.
Tough choice, and I think GNonLin gives that extra advantage to GStreamer. Which was the reason why 3 years ago I went for GStreamer and GNonLin (and trust me GNonLin has virtually nothing at that point).
I hope this might help you reconsider your choice in switching frameworks (and going through yet another costly design change). Don’t hesitate to contact me and the GStreamer team, we’re here to help ! It will be best for everyone if we have 3 editors using GStreamer than just 2.
To finish it off, I’d like to answer Eugenia’s comment (rant?). GStreamer developers DO get it (GNonLin was in fact conceived in 2001 just to specify how long ago we did get it) but as any other free software project, we either do it on our free time, or are lucky enough to be able to be paid to work on it (with some priorities, like PiTiVi and GNonLin in my case). The best thing people can do to help us make GStreamer fit every need for application multimedia uses is to send us ideas, comments, bug reports, and finally patches if you feel up to the challenge. After one year of 0.10 GStreamer this has worked really well. But giving the kind of comments you do is NOT the way to have the whole shabbang go forward. Hopefully you read all the first part of this comment and it should give you a better insight on how GStreamer is not like other multimedia “playback” frameworks.
Edward
I’ve just seen your post on planet gnome. For a long time, I’ve been interested in Diva as the next killerapp. I’m glad you’re back cause from a user perspective, the design of UI is just what I’m looking for.
Can’t you work on the UI while others could work on the back-end ?
Thanks again for your project.
Hi Michael,
I would also join the voices in suggesting that you reconsider your decision with GStreamer. In the last six months GStreamer has become more and more suitable for applications such as Diva, and Gnonlin is a particularly useful component here.
Gnonlin has matured hugely in the last few months and I think that applications such as Jokosher and PiTiVi prove that the technology is ready. Gnonlin is conceptually simple and provides support for non-destructive editing, accurate timing, applying effects and operations and other things. We (the Jokosher team) have found it a pretty flexible and well thought out system.
I think if you were to continue using GStreamer and use Gnonlin, it will make things better for everyone. To be honest, Gnonlin was pretty ropey at first because it just did not get tested enough, but the GStreamer hackers, and Edward in particular, have been hugely responsive to bug reports, and as such, the number of bugfixes required has dropped hugely with each release. We rarely get Gnonlin and GStreamer problems these days.
I got the impression that part of your problem with GStreamer was that you were patching GStreamer yourself with seperate patches not intended for upstream, and GDV was also much less generic than something such as Gnonlin. I think if you were to work with GStreamer as it is now, it could make life easier for you, and make GStreamer better. I really do think Gnonlin is the key here.
Hope this helps, and if there is anything I can help with, let me know. :)
Jono
Hi Michael, I’ve corresponded with you before on the state of Diva. After your response I also suggested MLT if that would keep the project going (I also corresponded with Dan Dennedy on that topic). I just wish I had the programming skills to contribute because the UI work you presented in Diva is just phenomenal. I hope your post attracts the attention of folks that can keep your work going. Good luck and thanks for your contribution to FOSS!
Hi,
@mdk: I am not going to give any advice, I just want to quote Joel Spolsky, I regularly read his rants, and enjoy them:
http://www.joelonsoftware.com/articles/fog0000000007.html
@Eugenia: I always enjoy and respect your opinions, therefore I’d like to hear more about why you think Open Movie Editors UI is not nice and clean? I do know that Open Movie Editor does not try to be pretty, but instead prefers to have a more workhorse like interface. This is part of the attitude and philosphy behind it. But never the less, I am trying to make it easy and friendly for the beginner. Why it doesn’t try to be pretty? I am aiming for an audience that is passionate for making movies, and not neccessarily passionate for software.
Cheers -Richard (Open Movie Editor Developer :-) )
@Richard: You say: “I am aiming for an audience that is passionate for making movies, and not neccessarily passionate for software.”
Sorry, but it sounds like a very poor excuse and IMO, you’re contradicting yourself here. People passionate about making movies will not accept any quirks in the software that makes getting the job done harder or less pleasant. And since they are not passionate about the software they will dump it as soon as they find anything better. So it looks like you’re aiming for audience that is not going to stay with you very long… Of course it would be perfectly understandable if you said “I can’t design UI and I need some help with that”.
The difference in the quality of the UI is very often something that makes people choose proprietary software over free alternatives and we definitely need to put a lot of effort in that area.
Cheers, Piotr
It wasn’t meant as an excuse, I will happily iron out any quirks or problems that affect usability or workflow. I’m just repeating that I am not going for superficial eye-candy, but for an interface that works, and I am happy to listen to anyone who has an opinion about that.
Cheers -Richard
The line between superficial eye-candy and basic aesthetic standard is very thin and hugely depended on personal preferences. It is very hard to judge for a single person and this is why all major desktop systems have HIG documents. You have to realize that some users will not get a chance to try application’s exceptional workflow or usability if they won’t even feel like trying to use it after the first look at the UI. Of course, my opinion is very superficial - I have only seen screenshots on the OME website, but they didn’t really make me want to give it a go.
Piotr
@Piotr: So what program are you using for video editing?
Surprisingly enough… iMovie :-)
Ok, so I guess that explains the affinity to eye-candy. ;-)
Cheers Richard
Any what explains your aversion to clean and pleasant UI? Too many users? Don’t worry - that shouldn’t be a problem. Diva will come out, it will be adopted by most distros and users will have no reason to bother you with their opinions.
Piotr
I do appreciate a clean and pleasant UI, I just don’t believe that the color and shape of the buttons have anything to do with that.
BTW, you haven’t made any specific comments about what you think is wrong on the OME screenshots, other than very general statements that you don’t like it. So if you have any specific suggestions, and you would like to share them, I will promise that I will listen and eventually I will consider them.
Cheers, Richard
Seems like this discussion is leading us nowhere so that will be my last post on the topic.
R> I just don’t believe that the color and shape of the buttons have anything to do with that.
I can’t disagree more, but I’m no expert and I don’t feel like lecturing anyone on UI design. I have yet a lot to learn myself. However, I can certainly tell what I do and don’t like. For me the first impression sometimes makes the whole difference. I also believe that an application cannot live in a complete abstraction from the rest of the desktop environment. So, if I had to I would say that the best way to attract most people is just to choose a desktop environment (preferably a major one) and try to integrate your application with it as much as possible.
I think this can apply much less to free software than to businesses. Different kettle of fish ;)
@MDK Glad to hear that you are back and determined to continue DIVA development. This is indeed a critical application that is desperatly needed on the Linux desktop. I do not know anything about multimedia frameworks on Linux, so I cannot comment on the technical capabilities of a specific framework. But reading through the comments, I get the impression that the gstreamer devs are willing to help with any issues/problems you encounter. So maybe it is a good idea to work together more closely and intensify the dialogue. Your requirements could help to improve gstreamer as well and a working and universally usable multimedia framework is also very important for the Linux desktop.
@Richard First of all, I want to mention that I have great respect for every open source developer and that the last thing I want to do is to bash the work of someone who provides his applications to the public for free. In that respect the following comments should be considered as positive critique and feedback. I have to agree with Piotr, that the UI of OpenME does not look very appealing. When I read about OpenME in the comments I instantly looked at the website to check it out, but the screenshot did not even convince me to give it a try. Indeed, an application has to work and should be simple to use, but today a good looking UI is not just a feature but a requirement and is part of the usability, IMHO. This is important if an application wants to be successful on the desktop.
Talking about changes… How about changing Diva’s language to D then! I saw you were interested on it, and commented on your flickr post about getting D working on the 770.
Michael, I have not heard anybody mention LiVES (LiVES is a Video Editing System). I learned about it a few days ago when looking for a decent video editing platform and thought it might be useful for inspiration. Please check it out if you haven’t already. Its interface is considerably better than Open Movie Editor.
Sorry, “Markdown” mangled my links.
http://lives.sourceforge.net/index.php?do=home
Sorry, comments are closed for this article.