Anyone contemplating how to create their own app already has a vision of what that app will look like and how it will work in their own head. By teaching yourself design principles—both visual and interaction—you will be better equipped to flesh out your app idea and maximize its appeal. You will avoid making clumsy mistakes that go against typical design conventions and, with a little creativity, generate your own conventions for others to shamelessly steal. Teaching yourself to code actually works against this because you begin to think about and conceptualize your app based on your limited coding skill set. Instead of thinking about your project from a user perspective, you begin thinking about the guts inside it and how the nuts and bolts will fit together to make a working product.