Template tags are preferable to predefined code… within reason
I agree about preferring more template tags instead of predefined code, but I think it has to be with the condition that it’s reasonable; for example, I certainly don’t ever want to have to re-create Pixel & Tonic’s Matrix or Playa fields just because we clamored for no predefined code. :p Allow us to have maximum manual control over the basic, standard form controls (text, textarea, dropdowns, multi-selects, radio buttons, checkboxes, etc), but don’t hinder 3rd party fieldtypes from easily providing whatever pre-generated code they need in order to function (encouraging them to code things in an easily CSS style-able manner would be nice… 😉 ).
Enforce non-destructive partial content update support
IIRC, when using SAEditFs in EE1 (can I coin that partial acronym?), if existing categories were not re-specified in the code, they would be deleted from the entry upon submission. I think a better solution would be one where the deletion of already existing field values requires specifically assigning “NULL” or something like that, and that merely omitting a field from a SAEditF would not empty out that field’s existing value upon submission. In other words, have SAEditF’s update existing content instead of resubmitting it from scratch.
Allow maximum access via tags to custom field properties
While having {field_name} be replaced with that field’s contents is great (and obviously core to EE), how about expanding that general idea (not just in the context of SAEF’s, either). Give us {field_name:label}, {field_name:instructions}, {field_name:maxlength}, {field_name:text_formatting}, {field_name:text_direction}, {field_name:required}, {field_name:searchable}, etc. Allow 3rd-party fieldtypes to build on top of that with their own specific properties (such as Wygwam’s Upload Directory or Matrix’s Maximum Rows).
Form Validation should be easy to base upon pre-defined custom field properties
Continuing from the previous point, a {field_name:required} tag (or equivalent) would be crucial for form validation, and I imagine a {field_name:maxlength} would also be helpful. Check out the “Forward Thinking Form Validation” article on A List Apart with an eye for making things future-ready as well.
Thanks for asking for our input (pun intended :D)!