I am evaluating field data collection form-making apps and looking at Snap! or Fulcrum, or something else you know about that I don't! 

The key features it needs to have are:

* Map-based: I need to load on features to visit and send people out, or alternately let them create a feature as part of filling out a form for it.
* Spatially-based records: a user drops a georeferenced point to start a new record and the lat/long/UTM coordinates are part of the attributes.
* Required fields: a record should not be allowed to get saved unless required fields have been populated with values.
* Pick lists: no-brainer here, both apps do it, but easily managed and updated pick lists are a good thing.
* Offline: users need to be offline and still use the map.

...Ideally not a cloud based thing, I am hoping data collectors can export a file (csv, KML, whatnot) which I can open to consolidate multiple data collection dates into a single spreadhseet. I know both Snap! and Fulcrum depend on cloud syncing, and if I have to go that way so-be-it, but it would be nice to be the owner of my own data.

Any suggestions are welcome, so far my trials on both apps have been so-so. If any apps out there could take a PDF Form import and turn it into the collection fields/layout that would be even better.