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. =)
I 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.
SCALE 12x (Southern California Linux Expo)
In late February, I flew to California to represent OpenShot at the largest community-organized Linux event in the United States (SCALE 12x). Even though this takes precious time away from the development of OpenShot 2.0, I think it is critical to meet actual users, spread the word, and listen to suggestions, ideas, and brainstorm about the future.
Although I have still never figured out how to hang a vinyl banner properly, this was our final booth layout for SCALE 12x. It was put together on a budget, and I think it shows well relative to the other community booths at the show. We also had looping videos and demonstrations of OpenShot being projected on the "Video Player" portion of the vinyl banner (not shown in this photo).
We actually had 2 presentations this year, a record for OpenShot at a single event. Both were given by members of our user community. Jayneil delivered a nice, simple overview of OpenShot to attendees, introducing many of them to OpenShot for the first time.
Strangely, both OpenShot presentations were scheduled at the exact same time slot (but different rooms of course). This presentation was given by a very brave 12 year old girl, Keila Banks. I personally attended this presentation to show my support for her. She did an amazing job! I don't remember what I was doing at 12 years old... but I know it was not giving presentations to a room full of scary adults. =) So, well done Keila!
We handed out these brochures to attendees, which contain some basic info on OpenShot, and on the back of them it included information on how they can contribute and get involved with our project. We have already had a couple people get involved with OpenShot 2.0 after the show, so it looks like these were at least partially effective at connecting us with interested community members.
We 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.
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.
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).
Finally, if neither of our "pre-built" views fit your liking, you can just drag things around, dock and un-dock things, and come up with your own awesome interface. Here is a quick example I created by simply dragging things around.
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.
This 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.
Thanks for your support!
Once again, I just want to say thank you for all your support to myself and OpenShot. This has been a really fun and challenging experience, and we are getting closer and closer to the end of this Kickstarter campaign (and the start of something really exciting: OpenShot 2.0)!