Motion Mission Statement
It had to happen. Motion as a project also needs a mission statement.
Motion is a program that tries to follow these basic principles.
- Motion is a Motion detection program. It can pick up a video signal, detect motion, and save picture and films.
- Motion is highly flexible. It can trigger all sorts of external events.
- Motion is a daemon. Not a bloated GUI program. It runs in the background and enables you to use the computer for other things including normal desktop.
- Motion has a small footprint both with respect to memory and CPU cycles. One can easily let Motion run 10 cameras on one machine. Motion has reached the limit where people experience that frame rates slows down. A lot of code optimization has been made recently to speed up Motion. This is why things like face recognition and fancy GUIs does not belong in Motion.
- Motion should be easy to use by a newbie. You should not have to be a programmer to use it.
- Motion is NOT easy to use today. The reason why it is popular anyway is because it is so well documented. But the newbie questions we get shows that there is still a lot to improve.
- XMLRPC interface has now being replaced by http in 3.2 exactly to address the ease of use aspect. XMLRPC is for programmers. http is for anyone.
- Options in the config file have been renamed in small evolutionary steps to make it easier to understand. New features added that required new options triggered days of thoughts just to define the name. JoergWeber and I took a long time to find out how to control the new smart mask feature as an example. We ended up with ONE simple option and quite a nice feature. We still have a long way to go in getting Motion more newbie friendly when it comes to config files.
- Command line options has been removed now except for 3-5 that are related to location of config file, daemon mode and setup mode.
- Motion is ONE executable AND a config file. You need nothing else. Well this is not entirely true. You need libraries like ffmpeg. Until recently you needed cURL. This is now eliminated. The library dependencies, the thread config files and camera drivers are the issues that causes most problems for people. The trend in latest Motion development has been to simplify the dependencies. A lot of effort has been put into making the configure script fully automatic. Only a small fraction of users are programmers and only few understand what a shared library and a header file is. Most are scared of installing a simple patch.
- There is not something wrong with people. There may be an occasional extraordinary slow newbie. Even they get treated well on what we all call "the friendliest mailing list on the Internet. There is something wrong with the program when newbies have problems.
- 01 Jun 2005