How Device Fragmentation Affects App Developers