However much you test software before it is launched, there’s nothing like releasing version 1.0 to reveal many problems you never thought of.
Many applications have a secret ‘debug’ mode which helps software engineers get useful information about how the software is running. This helps track down bugs. In the 90s discovering these modes in popular software was a sport for many power users. These days entering these modes isn’t just a matter of holding down the shift, command and option keys and opening a specific menu. It is more likely that debug modes only work if the Mac you are running the main application is also running a developer helper app. At the least it is a matter of setting a secret preference using a Terminal command.
Even though I don’t know how to get into Final Cut Pro’s debug mode, the text associated with it is built into every copy of the application.
There is a great deal of debug text, most of it making sense only to a few hundred people. However, debug modes can also be a place for Apple to test features that haven’t been fully implemented yet…
It seems that there are many debug settings in a secret debug preference panel. Text from Final Cut Pro.app / Resources / Contents / en.lproj / PEAppDebugPreferencesModule.nib
Debugging text sample:
Highlight Missing Artwork
Enable Performance Monitoring
Discard catalog on launch
Discard catalog if older
Log Helium Effects to Console
Log Helium Effects to Dot File (in /var/tmp)
Log Helium Render Statistics
Optical Flow Analyzer:
Display the Region Picker
Periodic backup interval (in minutes)
Enable Screen Size Override (next launch)
Clear User Defaults Stored In Catalog
Display Player Debugging
Nearest Neighbor Filtering When Scaling to Display
Draw First Field Only
Draw Both Fields Alternately (use Cmd-> to step by fields)
Draw Both Fields Interlaced as Single Frame
Draw Both Fields Interlaced Alternately
Hidden non-fully implemented features:
Enable Face Recognition, Skimmable Bins, and Saved Searches
Only Show Face OSC On Mouse Rollover
Show Work-in-progress Tools
Guards are part of Apple’s user interface for sharing parts of projects with collaborators:
For more on Guards, take a look at part 3 of this series.
‘Face OSC’ means that they might have an on-screen-control that appears when the mouse moves over a face that has been recognised (possibly allowing the name associated with a face to be confirmed or changed).
As well as having a special preference panel, Final Cut Pro’s debug mode includes extra menu commands.
Text from Final Cut Pro.app / Resources / Contents / en.lproj / MainMenu.nib
Some of the debug text:
Display Negative Time After Trimming
Show Misaligned Edges
Show Ruler Bounds
Export Effect Browser Thumbnails
Log Multi Cam Clip Creation
Show Example Overlay
Show Flexo Data Viewer
Export Share Archive
Disable Clip Sublayers
Show Ruler Label Calls
Log Visible Rect Changes
Log Visible Layer Changes
Show Invalid Rects
Log Reload Requests
Show Content Layers in Red
Show Item Layout Info
Show Transparent Gap Objects
Enable Incremental Reload
Show Used Region
Show Container Bounds
Verify Edit Alignments on Reload
Force Layout on Drag
Show Zero-Height Spine Items
Verify Entire Sequence
Verify and Repair Entire Sequence
Summarize ObjectCache to Console
There are a couple of commands that hint at future features (or features they haven’t got to work yet).
Save Effects as Bundle
Add Effects as New Part to Bundle
Add Effects as New Snapshot to Bundle
Service and Support -> showFCPServiceAndSupport
In the case of effects bundles, that might apply only to audio effects, as they are already stored in Final Cut Pro X as bundles. However, it would be great to be able to save a series of video effects into a bundle file for use by other people. Snapshots may refer to the effects as they are without any keyframes.
Adding a ‘Service and Support’ menu item in Final Cut Pro X is a very interesting possibility. It acknowledges that users might appreciate help in working with Final Cut, and hints that there are roles for other companies to be involved in making sure X works properly. There’s no indication whether this support would be supplied by Apple or third-parties.
I’m looking forward to seeing more…