Types of Apps: What are they and how do they differ?