For a long time the conventional wisdom has been that mobile apps should be simple, do one thing and do it well.
I think things are changing.
I think that we're moving towards a place where people want greater sophistication from mobile apps.
We have these incredibly powerful devices that we carry around with us and yet most of the apps on them are only acting in the most basic of ways. They make no attempt at doing anything intelligent or at best rely on users to configure them (through complex settings pages) to do anything specifically tailored to the individuals needs.
With apps that retrieve data from a remote server, I'm sure the majority of them could be more advanced that having the most technically challenging thing they actually do is format the data the server returns.
Sophistication is not the same as complexity.
I don't think the need and desire for simple applications will go away but these will be supplemented with powerful and more sophisticated apps.
There are some apps that will always be useful and don't need to be anything other than simple and straight forward.
What about Facebook? They recently removed the messaging capability from their app and created a separate app with just the messaging capabilities. Doesn't this contradict my idea?
Not at all.
Let's looking at the Facebook app. It's far from simple and so breaks away from the conventional wisdom of what a mobile app should be. Breaking out the messaging functionality into a separate app makes perfect sense for the reasons stated. If, as was claimed, there were a lot of people just using the messaging functionality in the old Facebook app, then there was an opportunity to provide a better, more tailored experience to those people by making it a separate app. The separate app can be made to start faster and be updated more frequently as it can be tested faster than worrying about the rest of the app.