Principles for Effective Android Application Development