March / April Development Update (w/Screenshots)!
It's been a crazy 7 weeks in OpenShot land, and I hope to bring you all the latest news and developments to catch you up. If you don't have time to read this entire update, then just know that development is moving forward, tasks are being completed, milestones are being reached, our team is expanding, and we are closer to a release now than ever before. Now for all the fun details. =)
Upcoming EventsI have a few exciting upcoming events to announce. So, if you are thirsting for more OpenShot news, please consider attending / watching these upcoming events.
- April 12: I will be presenting at the DFW Pythoneers meetup. If you are in the North Texas area, please consider stopping by for a behind the scenes look at developing OpenShot. (more details)
- June 13-14: I will be running an OpenShot booth at Texas Linux Fest, and possibly giving a presentation as well! (more details)
- TBD: I will be on an upcoming episode of the Linux Action Show... although details and dates are not finalized yet. I'll post an update once I know more.
Development UpdateWe have made progress in a number of areas over the past 7 weeks. And of course, we have had a few setbacks as well. Here is a quick list of the tasks we've completed and crossed off our list:
Accomplishments over the past 7 weeks:
- Completed a new dock-based interface design (screenshots below). It is very cool! Users can now rearrange the interface of OpenShot to their liking. Arrangements are saved and restored automatically. This also now includes 2 preset arrangements (Simple and Advanced)!
- Completed Cross-Platform 3D Animation System (screenshot below)
- Completed a new "simple" Query API (to insert, update, and delete data related to projects, clips, tracks, etc...). This simplifies how our user interface can access and manipulate the data of a project.
- Fixed a ton of bugs related the timeline interface (where clips are dragged / dropped, etc...). It is working very well now, but still lacks a few important functions.
- The OpenShot Library (libopenshot) has also had some great improvements and updates, as well as a few major bug fixes.
- Mostly completed our Title Editor (thanks to Andy Finch)
- Major improvements to our translation system (thanks to Olivier Girard)
- Major overhaul to our Export Video dialog (thanks to Olivier Girard)
- Completed our Qt Video Player widget (thanks to Duzy Chan). This has now been integrated into our PyQt interface and is working.
- And finally, we have officially released the OpenShot Library under the AGPLv3 open-source license, and published it on Launchpad.net!!! This is a huge step that took much longer than expected, but will help us move even faster now.
Setbacks over the past 7 weeks:
Of course, progress sometimes runs into challenges and setbacks. Here are some of the setbacks we've recently encountered.
- There are a lot of small and seemingly unimportant tasks which somehow add up to form a tremendous amount of work. Not the satisfying "I just completed something awesome" kind of feeling. But the "I just spend 8 hours trying to pass a QEvent between 2 Python threads... Argghhhh".
- Cross-platform issues continue to slow me down. Fixing a build error on Windows tends to break Mac. Fixing a build problem on Mac, tends to break Linux. Fixing a build problem on Linux, tends to break Windows. Rinse and Repeat. =)
- Integrating our live video preview with our PyQt application was a tricky task (which has been successfully completed now). This took about 10 days of blood, sweat, and tears to integrate successfully. It involved passing Qt pointers between 2 different Python wrappers, SIP and SWIG. Passing signals and events between libopenshot-->SWIG-->PyQt-->SIP-->Qt5.
- I have spent some time working on Installers for the various parts of OpenShot 2.0, and this continues to be a slow process. No one installer system works for all platforms, and all parts of OpenShot. But I have been able to build installers for various parts of OpenShot, that work on Linux, Mac, and Windows. But I am really trying to create a single installer, which will support all platforms and all aspects of OpenShot 2.0. It's a work in progress.
Now, let's take a look at some screenshots from our current development build of OpenShot 2.0:
Cross-Platform 3D Animation System:
Here is our completed template-based 3D animation system, which is one of the more complex features in OpenShot. It uses Blender (a popular 3D animation application) as the back-bone, and allows you (the user) to easily adjust an animation, customize text and colors, and generate a 3D animation to use in your video.
3D Animation Interface:
Different Views (Simple, Advanced, or Custom):As I mentioned above, we now have the ability for our users to customize the interface of OpenShot, dragging various sections and widgets and dropping them where you want them. We will default to our "Simple View", which closely resembles OpenShot 1.x.
OpenShot 2.0 Simple View:
If perhaps you would rather have more options on the screen at once, you might prefer our "Advanced View" (which is not finalized yet, or course).
OpenShot 2.0 Advanced View:
OpenShot 2.0 Custom View:
None of these screens are even close to final, but hopefully they give you an idea of the direction our team is moving in. We are trying to keep our default interface as simple as possible (so it appeals to the widest possible audience), but make it super easy for advanced users to leverage all the powerful features and customize the interface to what works for them.
Release DateThis is by far the most requested question I get: When will OpenShot 2.0 be ready for me to beta test? I'm becoming very hesitant to answer this question, because I'm always wrong about the answer. The best answer I can give is not what everyone wants to hear. OpenShot 2.0 is making progress for sure, but much slower than I could have ever anticipated. I am very anxious to complete the project, of course, but I also want it to work great, and achieve all the lofty goals we have set for ourselves.
As you can see from the development update above, there is a ton of work ongoing (i.e. lots of progress), but OpenShot still has many remaining tasks before it will be ready for beta testers. Here are a few of the biggest remaining tasks before I can open things up for beta testers:
- Key-frame interface is unfinished (designed and partially coded)
- Audio effects have not been incorporated yet
- Transitions work great, but some of the interface is not implemented around them yet
- Effect and Clip interfaces are still unfinished (designed and partially coded). By the way, these are also dock-able widgets, which remain on the screen as you select different clips or effects.
- Export dialog is unfinished (designed and partially coded)
- Installers for each platform (Linux, Mac, and Windows) are unfinished
Over the next many weeks, I'm hoping to knock off many of these tasks, especially the installer task. Once I have these tasks completed, I will release download links to Kickstarter tiers that included early beta access, and I will also publish our PyQt application on Launchpad.net with an AGPLv3 license.