Roadmap for Motion
The roadmap for Motion is continuously being updated and it highly driven by
Feature Requests and ideas from the regular programmer.

Done,

Working code but more to do,

In progress
4.0
- Plugin Architecture
- Rewrite the current camera input and movie output code into plugins with a well defined API. This will be the future architecture to enable all sorts of cool plugins for Motion incl interfacing with Gstreamer etc. See PluginArchitectureDiscussion, MotionCurrentDesign, MotionPluginIndex
3.3
In progress or committed
- Rename non-intuitive options
- Taking future plugin architecture into account. See IntuitiveOptionNamesDiscussion. When changing names in config also change the name in code so the sources are easy to read. (KennethLavrsen).
- Better Tracking Feature
- EnhancedTrackingFeatureDiscussion. Create a generic tracing interface. Patch topic is GenericTrackingPatch (KennethLavrsen)
- Config Range Checking
- Add range or list of valid values to the conf struct and add the needed code that checks for valid values. Integers will have range, Strings a max length, Boolean is obvious and we need new type for list. See ConfigRangeCheckingDiscussion of valid values. Integrate this with new http interface maybe?
MotionLog :
New logging system with new features like : type log , level log and use file instead of syslog.
MotionLog
3.2
Complete
- Better Reference Frame for Tracking
- Current reference frame is primitive and create a comet tail of motion which makes the locate and tracking not very accurate. See SmarterReferenceFrameDiscussion.
- Implement PreCaptureThrottleLoad
- This is a complexe feature to implement. The purpose is to enable Motion to work with larger pre_capture values without missing picture frames after the first motion detection. (JoergWeber):
- Watchdog Feature
- Motion should kill inactive child threads and start a new hoping to revive a dead camera. See MotionWatchdog.
- Removed useless minimum_gap feature
since 3.2.7 - and replace it by minimum_frame_time option which enables longer time between capturing frames than the 0.5 seconds we have now at framerate 2. (AngelCarpintero and KennethLavrsen)
- Video4Linux2 support
- V4L2 support is interesting because: 1. It is the future. 2. It allows more programs to connect to the same device. It is a requirement that Motion maintains full V4L v.1 compatibility and Motion should try V4L2 first and revert to V4L1? if the driver does not support V4L2. Motion should not be compiled for either or. I want to be able to make an RPM that can do both (PerJonsson). See VideoForLinuxTwoDiscussion
- FreeBSD port.
- This has been in official Freebsd ports since 3.2.4 See FreeBSD and HowtoMotionPwcFreeBSD. (AngelCarpintero)
- Event conversion specifier %C and %f, %t
- See EventConvertionSpecifierDiscussion and ExtendReplaceConversionSpecifiersDiscussion. (KennethLavrsen)
- Stabilize Netcam Code
- Decision made July 2005. A complete rewrite of the Netcam code is beeing made based on the good experience and the problems found in the current code. See also NetcamRetryErrorDiscussion (BillBrack)
- Best Preview Shot
- New additional jpeg file mode. Only save the jpeg with most action along with mpeg. See BestPreviewShot. (JoergWeber)
- Setup Mode
- Using webcam mode and console to give information needed to tune motion. See SetupModePatch. (JoergWeber)
- Clean up command line options
- Remove all command line options. Leave only a setup mode, daemon mode and config file location option. Piggy bagged on SetupModePatch. (JoergWeber)
- Better on_xxxx Commands
- The current set of options are named inconsistantly and we have requests for more. See the discussion topic OnXxxxFeatureDiscussion
- Extend and Replace Conversion Specifiers
- Todays advanced text feature is based on the C strftime() function. By replacing some redundant specifiers by motion variables we can use this feature for many smart ideas. See ExtendReplaceConversionSpecifiersDiscussion topic.
- Replace XMLRPC by simpler HTTP Interface
- See the special discussion topic on this: WebInterfaceForMotionDiscussion. See also MotionHttpControl and MotionHttpAPI. Working code available in 3.2 snapshots. (AngelCarpintero)
3.1

Dead. There will be no more 3.1 releases.
Uncommitted Roadmap Discussions
- Rearchitecture Motion
- Not urgent. Probably a 4.0 activity. See MotionRearchitectureDiscussion.
- GSTMotion
- Concept discussion for now. Proposal in line with the MotionRearchitectureDiscussion. See GSTMotionDiscussion.