In my opinion, the best name would have the following attributes:
1. the name should be easy for someone to remember/spell (i.e. only one possible spelling). Think if you told someone the name over the phone, would you have to spell it out for them so they would go to the correct URL? Enginuity wasn't the greatest in this regard, but I've seen worse.
2. should convey what the software does, even if generally.
3. should have no similarity to any other name used by any other business or project even if it is in an unrelated industry.
For example, EcuFlash is an excellent name. There's only one way to spell it. It is uncomplicated and easy to remember. It is very descriptive.