One of the key things in programming is the interface. This is how the user interacts with our application. Take example of some of the programs we used to use. In word processing, we had WordStar, then WordPerfect and now Microsoft Word.
Why did Wordstar die off, it is due to the interface? WordPerfect was more intuitive than Wordstar. WordPerfect provided the first WYSIWYG. Then MS Word came along and provide an even more intuitive interface.
Another example is Lotus 1-2-3 again killed off by an application providing a more intuitive interface - namely Excel.
Word of caution though, intuition is very subjective and familiarity comes into play also. For example in some applications like web sites, there are certain expectations like the menu is on the top or side. So we have also got to take into consideration user expectation. Another example is when we drive a car, we expect a steering wheel and not a joystick.
Two years ago, I attended Lotusphere and one of the session covered was "Interface Matters". Go to the website. Even though they use Lotus Domino as a platform, some of the ideas covered can be used in any other platform.
Think of interface as packaging for your software. You can see some fantastic ideas out there such as Ipod, Macintosh. Elegance and simplicity is the key to a successful interface. Interface designing is an art as well as a science so have fun with it but make sure to get feedback from your users!!