Mobile APIs: Optimizing APIs for Many Devices