I have long known that application development is an arduous process. I have also long suspected one of the reasons it's arduous is the developer. I should be more specific, I am one of the reasons.
That's because I don't know what I am doing, and I don't mean that in the "I am a lame programmer" sense (even if that's also true somewhat), but in the sense that I literally don't know what the app should look like, or what its feature set should be.
So, I have decided to embark on a series of experiments I will call 24-hour apps.
Here are the rules:
- I shall create a neat application, stable, useful, usable and decent-looking.
- I shall do it in no more than 24 hours. After that time, it should be at least good enough for a preview release, if not a beta.
- Those 24 hours can be split in two or three sessions
- Time spent doing icons, docs, etc, counts.
- All development shall be public (I am using github)
- I must have a use for the resulting application, and it should be at least an adequate solution for that problem.
So, what's the first project? I call it Die Schere (The Scissors in german) and it's a video editor.
It's not a kdenlive replacement, it's just the video editor I wish I had when I needed to glue a piece of one video with a piece of another.
In the old, pre-digital world, that was done using a cutter and scotch tape. I want Die Schere to be as useful and comprehensible as that was, but useful for clumsy people like myself.
Here is a video after today's session, which lasted 8 hours:
The basic functions are there, even if lots of work is still needed.
- You can load clips to work with them
- You can cut clips (like using a cutter!)
- You can choose the cut points interactively or by editing a time
- You can arrange them (like using scotch tape!)
- You can generate the output video
As a backend it's using mencoder, but there's no reason it shouldn't work with ffmpeg or melt if someone writes 20 lines of code.