<p>I'm working on an online tool for students in my faculty to calculate their final grade for their degrees, and for a while I've had little problems. Students seem to like using the new UI and I've suffered no criticism for a while. Now, I need to add some functionality to the program, meaning the UI will have to chance slightly, but in some very noticeable places.</p>

<p>After watching the whole New Facebook thing kick off, along with the <a href="https://stackoverflow.com/questions/238177/worst-ui-youve-ever-used">slating of applications with bad UI</a> here on SO and the Ribbon on MS Office receiving mixed reviews I've wondered to myself whether a UI should ever really be changed if users seem to like it. Should a UI be updated after a number of years to keep users interested/be more efficient? Should features be held back in sake of a clean UI?</p>

Ideally when you first design your UI you create something flexible enough to add any feature you want in the future.  In the real world, this is seldom the case.  I would say UI updates should be slow and incremental if at all possible (that was the real problem with the facebook change, one big change all of a sudden), and if not then people should be given plenty of notice of the change, and while you're changing you should be sure to plan for future additions so as to not annoy your user base more often than absolutely necessary.