Industry watchers are increasingly realizing that mobile is the first and primary medium of software delivery and consumption. With tablet shipments slated to surpass PCs very soon now, and smartphones having long since surpassed PC shipments, it’s no wonder that mobile-first is happening, and fast.
In another five years or so, our mobile-first world will look very different. Today, software developers are undergoing a fundamental shift in thinking, architectures are being reinvented to cater to mobile devices, and products are being reimagined. This article examines the three fundamental aspects to this new world order, the changes we can expect to see in the core software, the new interface, and the way we use it.
Now we come to context-driven software
Developing software with mobile-first in mind is a paradigm shift away from traditional Web-based software development. And we’re not just talking about a change in architectural philosophy or deciding between native and hybrid apps or thinking of ways to port existing applications to mobile. There are fundamental differences that fly in the face of the traditional Web development paradigm.
The first phase of software was that of procedural programming where the program drove user action. With the advent of the GUI, this was replaced by the event-driven paradigm, where the user generated events and the software responded with answers.
With push notifications, contextual and sensor-based information now enter the equation. Information such as location, presence and proximity mean a somewhat backward shift to having the program take over some of that control because it can now be more intelligent due to the presence of sensors and multi-source data analytics. In designing your mobile-first strategy, the “always-on” nature of your software, its ability to collate data and intelligence from various sources (both front-end and back-end sources), its ability to push notifications to the user, and its ability to change behavior based on user preferences that are crowdsourced all become critical to how you design and implement your software. For example, a mobile-first application will customize itself to show up differently based on time of day, location, user demographic, preferences, etc., all based on the contexts it can identify.
From monolithic to granular interfaces
The world of monolithic interfaces that all our Web-based “management systems” used is long gone, replaced by the granular world of mobile apps. But this aspect is much more than just small, single-purpose apps. The entire way of thinking about back-end systems and their interconnections has changed. We live in a world of APIs, which have the ability to be very granular, but can also be mashed up to form composite APIs to be consumed by mobile apps.
A recent article talked about the “composable enterprise”—one that is composed using APIs—that will “forever alter the economics and power relationships that define traditional enterprise IT organizations.” Granularity truly has significantly impacted the way we develop and think about systems. It affects how we design apps, prioritize features and define APIs, all with an eye to leaving some doors open for other known and unknown developers to put them together and create something of greater value.
From systems-centric to value-centric usage
Thinking of APIs and the granularity of interfaces impacts how a system is built. However, what makes it even more powerful is understanding how the system will be used. The older management systems mentioned earlier not only presented a monolithic interface, they were also used differently because of that interface.
Until mash-ups really came about (and they are still not very widely used), users went to these systems to get the work on that system alone: a CRM system for looking up a customer, HRMS for employee details, LinkedIn for lead generation opportunities, and so on. As the diagram below illustrates, in the mobile-first world, usage is based on a cumulative value that cuts across these systems rather than individual silos, and therefore is highly value-centric. This fact alone opens up a multitude of opportunities for developers and enterprises to exploit these dimensions for value creation and new business models.
Contextual software dramatically impacts what the user is shown based on the context; the granular interface opens up the possibilities for putting together virtually limitless amount of functionality; and value-centric usage completely changes the way users can leverage the system and what they can expect from it. By embracing these three pillars, software developers will not only survive but thrive in this brave new world.
Shivesh Vishwanathan is senior mobility consultant at Persistent Systems.