The six Mobile Apps you should write

Take a look at the mobile apps on the app stores and you will see patterns emerge.  The same pattern is repeated time and time again.  It’s crazy to think about this, but you only need to learn how to write six mobile apps that implement the common patterns.  You can then pretty much write any app that is out there.

Your First App: Notes or Task List

There is a reason that just about every beginner tutorial uses the Todo app or the Notes app as the base.  It’s a solid basic app that has a variety of features.  It starts with a basic “master-detail” panel with a list of items and the details for that item.  When you connect it to the cloud, you can immediately integrate structured data.  You can then expand to include analytics, authentication, push notifications, and data synchronization.  That is a hell of a lot of features for a basic app.

Your Second App: Photo Gallery

Transition to your second app – a gallery display allows you to integrate with hardware (the camera) then integrate social authentication and sharing to your favorite social networks.  Don’t stop there, though.  You can also integrate file synchronization, cloud data processing (thumbnail generation via automated serverless image manipulation), and machine learning (search for celebrities in my photos).

Your Third App: Local Weather

The next app is an API driven information app.  I generally use the local weather.  Integrate an API (OpenWeatherMap), include GPS integration.  Again, expand it to beyond the basics.  Add in-app notifications (severe weather alerts), advertising, then go to the IoT world – set up a weather station in your back yard and use that when necessary.  The UI will tend to be more pictorial and use tab navigation (switch between cities, for example).

Your Fourth App: Support Chat App

The next chapter in your mobile app development experience is a chat app.  The primary feature you are working on here is real-time communication.  You can use a Pub/Sub messaging queue that your mobile app subscribes to.  Add in some sort of authentication and back-end storage to allow your user to re-establish a conversation.  If you aren’t the sort of person who likes talking to other people, you can use chatbots to communicate to a program instead.  Finally, try out voice-enabling your app, especially if it is a chatbot!

Your Fifth App: Bring it together in a game

Games are great for sharpening several developer skills.  The frameworks you use are completely different (there are several mobile gaming platforms to choose from),  but the cloud services will be very familiar – real-time communication, data storage, social authentication, push notifications, analytics and geo-location will all play a role in the ideal game.  I tend to work with basic things, but I want to branch out.  Pokemon Go has me thinking about augmented reality, for example.  Start small (Space Invaders, anyone?) then let your imagination run wild.

Your Sixth App: ECommerce

By this point, you will be well versed in mobile app development.  Let’s tackle an eCommerce problem.  Maybe write a clone of the Starbucks app for your local coffee shop?  Perhaps a complete ordering system is in the works?   Whatever you decide, it’s likely that you will want all the techniques I’ve described above, plus dealing with online payments and suggestion engines.

Master six apps.  Make them functional and beautiful.  Ensure that they are awesome to use.  You can be a master app developer.