From Chaos to Zen: Lessons Learned from Developing User-Friendly APIs