But to stay on the topic, I do agree to keep PTP-functionality minimal. However, I would add just two more commands: 1) shooting a picture and 2) transferring a single frame from the live buffer. Note that I'm NOT proposing webcam-like streaming or anything that would require real-time transfer rates. Merely a request to send over a single frame from the current live buffer. I'd propose these in addition to what is already there to be available without scripting, rest to be scripted. Reason is that then the PTP feature set would be enough and adaquate for basic computer controlled camera without the overhead of scripts.
If PTP must be kept somehow useful without scripting, then instead of a shooting command I'd go with access to half+full shutter press/release (or even better, to the entire keyboard). But my vote would go against that.
IMO there's no point in making PTP that doesn't require scripting, because UBASIC is small (11.6 KiB according to
http://chdk.setepontos.com/index.php?topic=5793.msg56643#msg56643, probably hasn't changed immensely after the recent patches). AFAIK, CHDK PTP doesn't currently support UBASIC, but that's not the only thing that's not quite there yet -- Lua is just so much more powerful that it hasn't made any sense to use anything but it so far.
My understanding is that most users who do not want scripting at all don't want it because it complicates camera usage, mainly because of the alt+shutter shortcut which is sort of a trap for beginners and those that don't know CHDK is running on the camera someone gave them. For those users, disabling the script start and menu shortcuts (and optionally menu entries) suffices. This is something that should be easy for a developer to disable for a custom build, but in the long run is solved by user settable shortcut key mapping.
So basically my vote would go for using scripting for all PTP commands that make sense to be implemented as scripts. In a PC side application, use UBASIC commands internally whenever possible since Lua may not be available. Users will not know they are running tiny scripts all over when clicking buttons on a PC GUI and shouldn't care either as long as the camera zooms and shoots as commanded. And if it happens that we really do get some RAM for CHDK on all cameras using that new EXMEM stuff and can use it to solve memory issues, then my vote changes to requiring Lua for PTP.
As for live view, ewavr already implemented it in real time (more or less, depending on USB speed). If my memory serves, the main obstacle for adding that to the trunk CHDK PTP is that it needs some work to make it more generic across cameras with different sorts of live view buffers, resolutions and colors -- something that probably doesn't become much easier even if it's not in real time.