Effective UI: The Art of Building Great User Experience in Software