Good Software...
Is instantaneous, it doesn't make me wait.
Remembers things for me.
Draws intelligent conclusions based on my past behavior and correctly predicts what I want to do next.
Allows me to make mistakes and experiment.
Is predictable, it should not confuse me by doing something I did not expect.
Is dependable, it does not lose or corrupt my data.
Is polite, it doesn't interrupt me.
Gets out of my way.
Puts my needs first, not those of the computer or the developer (or publisher, brand, investor, sponsor).
Is an extension of me, not another burden to carry.
Makes my life easier, not more frustrating.
Is smart, it does not require me to hold its hand all the time.
Should shape itself to my perception of reality.
(We have a long way to go still!)