Our thoughts on 2015 trends in software application development.
As a software consulting firm, we are often in the midst of one technology wave while simultaneously dipping our toes into the next. So as we cross the doorstep into 2015, I asked some members of our team for their thoughts on the current technology landscape and trends.
One thing is clear: the mobile revolution is now complete. In the past year the number mobile devices officially surpassed the number of desktop and laptop devices combined, according to comScore. Mobile devices are now the primary method of using the internet.
In fact, much of the innovation the past few years can be characterized as having been around new devices – smartphones, tablets, phablets, watches, etc. And each new device has provided a brief gold rush of opportunity around writing native software applications for that device.
But we are unlikely to see as many new device categories in the coming year, and standalone mobile apps have become pretty oversaturated. With over 1.2 million different apps currently available in the Apple App Store, it’s hard to imagine that the world needs too many more.
Meanwhile, consumers are less interested in purchasing and installing standalone apps at all – they simply want to be able to use their preferred online services from any device. In fact, the most-used mobile apps today – Facebook, Instagram, Pinterest, etc. – are really just thin native device software with one purpose: connecting to a proprietary cloud application where the actual data and logic resides.
Today, the newest devices on the landscape are “wearables” such as the Apple Watch, which can interact with your iPhone and iPad in novel ways. But it’s worth noting that it’s the interaction between devices that makes smart watches interesting, not the smart watch itself. We believe that this is an example of how in 2015, interoperability becomes a key trend.
Another example: One of the least-heralded new devices the past few years is Google Chromecast, a thumb-sized little $35 gadget that plugs into the back of your TV, allowing you to use the TV as a wireless screen for your laptop, Android tablet, iPhone, or pretty much any digital device. Deceptively simple, it’s essentially a device-neutral protocol for interaction between devices. Any number of people can interact with that display simultaneously, or with my device directly, using the Chromecast as a simple server. And the “app” that’s run on the display by the Chromecast is simply a single page application that listens for events from devices, rather than a mouse cursor clicking around the screen.
Again, interoperability becomes a key for 2015.
With this in mind, almost everything we build at Tivix is architected around the idea of exposing APIs as shared services. This is a defining characteristic of device-agnostic software, and we expect this trend to continue as a salient trend in 2015.
We also expect that Single Page Applications will continue to proliferate. This is a pretty radical evolution of the web that consumers have come to expect without even realizing it. A Single Page Application (SPA) provides a fluid user experience web applications which was previously only available in native desktop applications. No longer do users expect to have to sit through a series of pages (fill out the first page, press submit, wait for the server to respond, fill out a second page, press submit, etc). With a SPA, all interactions are handled within a single page, including complex logic and data manipulations. To users, it seems simple and natural, but the underlying code can be complex, requiring moving logic that was previously server-side to be pre-loaded and resident browser-side with dedicated code to handle the Document Object Model (think of your daily interaction with Facebook, where your clicks update elements in front of you without a page refresh).
In fact, this is part of a larger revolution in web application development going on today: moving logic to front end code. In the original web architecture, logic was always in the back end (server side code), while front end (browser side code) was simply mark-up (HTML). That model is in the midst of being turned on its head.
2012 was about Responsive Design (using CSS media queries to make the app adapt to different screen sizes) but today things like Web Components take things to a whole new level in front-end web software engineering. With Web Components we can fully embrace the DRY principle, assembling entire new web applications from encapsulated components, which drives good engineering practices while future-proofing code.
By the middle of 2015 the new ES6 (JavaScript) specification will be formalized and incorporated into the leading browsers, which will continue to drive the trend of moving logic to the front end. It’s a pretty significant shift – perhaps the biggest in web application history.
So that’s how we see the coming year: The mobile revolution is complete. Now it’s all about interoperability between devices and moving logic to front-end frameworks.
2015 is going to be the best year ever for application development. We’re looking forward to it.
(Many thanks to Tivix team members Peter Shafer and Rafał Krupiński, both of whom contributed significantly to this post).