When it comes to design patterns, the battle between push and pull has been ongoing since the start. Both models have their place. But the authors of this IBM® Redbooks® Point-of-View article, including IBM WebSphere® VP Jerry Cuomo, argue that in many situations, pushing data to users as it changes can consume far fewer resources than a conventional pull pattern.
The fact is that mobile users often pull (query) data that has not changed, putting needless strain on server and network resources. So the authors suggest pushing the most popular data to users’ devices proactively, whenever it changes.
Push notifications are much less resource-intensive than queries. At peak query times, a well-designed push model can consume as little as 4% of the resources needed for a pull model, according to the authors’ estimates.
In real-world terms, consider a mobile banking scenario. A push model could enable a bank's mobile app to always display the user's accurate current balance. The need for users to constantly click "Check My Balance" would be eliminated. And app-related server and network loads would be reduced dramatically.
In addition, the authors discuss how usage data and analytics can help enterprises determine which situations are best handled by a push model versus which ones should remain pull-based. There are even times when an app can offer user options that are supported by a mix of push and pull, allowing designers to balance the need for a satisfying user experience with the company's need to optimize its back-end investments.