Why Mobile Apps Fail: Avoiding Common Development Mistakes