24-hour app #1: Die Schere, a video editor
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.
Heya,
that's *exactly* what I was doing with a tiny program called Shrinky, because I came to the exact same conclusion - only applications of very minimal functionality and little work will ever get finished. And I came to hate unfinished projects, after the... gazillionths one I started ;-)
Here's my story on Shrinky:
http://daniel-albuschat.blo...
The main program itself is quite finished, polished and stable, but I haven't finished the installer, since this is actually more work than the program itself. ;(
Heya,
that's *exactly* what I was doing with a tiny program called Shrinky, because I came to the exact same conclusion - only applications of very minimal functionality and little work will ever get finished. And I came to hate unfinished projects, after the... gazillionths one I started ;-)
Here's my story on Shrinky:
http://daniel-albuschat.blo...
The main program itself is quite finished, polished and stable, but I haven't finished the installer, since this is actually more work than the program itself. ;(
Why don't you record the whole coding session so that people can watch it and learn from it? That to most programmers is far more interesting than watching the end result.
:-)
Why don't you record the whole coding session so that people can watch it and learn from it? That to most programmers is far more interesting than watching the end result.
:-)
Well, you can see every commit at github :-)
Well, you can see every commit at github :-)
I'm learning python and pyqt myself, and your blog and ideias are very insightful for begginners like me! I would like to specially thank you for your series of tutorials "PyQt by Example"! Before that, I was absolutely lost!
I'm learning python and pyqt myself, and your blog and ideias are very insightful for begginners like me! I would like to specially thank you for your series of tutorials "PyQt by Example"! Before that, I was absolutely lost!
@barthus thanks for your kind words, I really need to find a free day to work on those tutorials :-(
@barthus thanks for your kind words, I really need to find a free day to work on those tutorials :-(