1. Authentication
Check a users identity. Based on email or social logins.
2. Authorization
A way to control access to resources. Most of the time we need to restrict access to specific resources.
3. Provided Content Delivery
A way to deliver content we, or our service partners, create. Like maps, videos, music etc.
4. User Content Upload and Delivery
A way to gather content from the users and deliver it back to them. Like blog articles, comments, images, videos, etc.
5. Monitoring
Monitoring isn't a feature, but every app needs a way to tell us when it has problems.
6. Analytics
Not a feature we can sell either, but it's always nice to know which parts of the app are used, how often, by how many users, etc.
7. Offline
Networks are patchy, and many connections are metered, so we need to give users a way to use the app without being online.
8. Real-time
Often it's crucial to let users know about updates as fast as possible, especially in IoT or chat apps.
9. Onboarding
It's important to give users a way to understand why we created the app, especially if it's not apparent. If we execute this well, people feel taken care of.
And that's it!
What's your opinion?