1. Based on the Arduino code, the AIRWidget (and I assume the IRWidget as well) sends pulse count information every 100 microseconds over the serial(USB) connection to the host program. Both IRScope and IRScrutinizer estimate carrier frequency from this data and I was interested in the algorithm on how this is done since reported packat lengths are not in 100 microsecond increments. It seems like the pulse count per 100 microsecond "packet" depends on when during the packet duration the signal starts and all following "packet" counts are dependent on that (plus actual frequency etc). Both IRScope and IRScrutinizer do the same thing and maybe they use the same algorithm.
2. For the AGirs Nano, I'm not 100% sure how the frequency is calculated but it seems to supply the data directly from the Arduino. I've reviewed the "IRWidgetAggregating.cpp" file, but without a good IDE(Arduino IDE is not it), it's really hard to see how the pieces all fit together. It seems like it uses a trigger on each pulse edge, so it seems like it has the opportunity to be more accurate with the frequency calculation. I did some testing with some remotes I have lying around and these are the frequency measurements I took with both. (Not sure how to format in columns)
- Remote		AIRWidget(approx)	AGirs Nano
Vizio TV 38200 38461
LG Soundbar 37800 38461
3660- Vizio TV 38500 39215
3660- LG Soundbar 38300 39215
3660- Panasonic DVD 36900 (37037 or 37735)
Panasonic DVD 36500 37037
Onkyo Receiver 37700 38461 
3. I notice that one of the export formats is "UEI Learned Format". Is there a technical description of this format somewhere that I missed? I can find info on Pronto, Raw, IRP ....