developer perspective on APIs