Mobility Changes the Shape of App Development

There's no denying that smartphones and tablets have changed the way we find and install the applications we use, and what we expect from them. Added to this is the increasing desire to use these devices for work purposes, driving a need for enterprise applications.

Previously we've only relied on our phones for calls, texts and maybe emails. But with the rapid adoption of smartphones, apps have taken over and developers are looking to provide a richest experience possible. This is also being driven by the fact that mobility provides a good entry point to cloud and software-as-a-service (SaaS)-delivered applications.

Mobility is still very nascent, but the space is evolving rapidly. This is having a tremendous impact on how we run our lives and our businesses. According to a recent study by InformationWeek, only a quarter (26 per cent) of business technology decision makers don't have custom applications or have plans on developing them, and the vast majority are evaluating at least one mobile operating system for use within the business and/or for developing custom mobile applications.

As a result of these factors, the majority of modern application development is taking a 'mobile first' approach. This is bringing a new interface paradigm –-- driven by these smaller devices and touch screens.

The Power of Mobile

Mobile devices and the ubiquitous connectivity they enable, brings a whole new level of remote working for employees and a range of 'self-service' opportunities for customers and users. This includes activities like checking the status of an order, buying tickets or updating details -- all of which traditionally needed a phone call or visit to a branch office -- thereby saving operational costs, while boosting customer service.

Compared with desktops and laptops, smartphones are limited in terms of processing power and screen size, but are also packed with a lot more sensors such as touchscreens, GPS, accelerometers, cameras, Bluetooth and NFC -- all of which can be leveraged by smart applications.

This can help offset some of the limitations of mobile by offering a range of smart interface possibilities as well as adding levels of context and capability that desktop applications can't match.

Hybrid Apps: Write Once, Run Anywhere

From a developer perspective, this explosion of smart devices has created some incredibly complex challenges, mainly due to the number of different platforms and devices around. Not only do developers considering native mobile applications have to consider developing for iOS, Android, Blackberry and Windows Phone, they also have to consider the variety of different form factors of today's smartphones and tablets. Furthermore, this has to extend to Q&A and testing as well as making sure the application meets the requirements for the various app stores that will be the delivery mechanism.

As a result, some developers have turned to developing web-based apps in HTML5. Because these usually run in the device's browser, they do not have the same complexity challenges that native app development brings. But these apps also don't offer the same local 'app experience' and can't tap into the added features that these devices contain. Similarly, concerns around security and performance exist for web-based applications.

According to InformationWeek's research, the native versus browser debate is still raging, with each strategy garnering 74 per cent of respondents who plan to deploy custom applications in one form or the other.

While some apps are best suited as specifically native or browser based, in many cases, the answer lies in the hybrid app. A hybrid app is one that is developed on HTML5 and Javascript libraries, such as JQuery, but delivered in a "wrapper" that makes it look and feel like a native app. This gives developers the advantage of the browser-based "write once, and run anywhere" while allowing them to tap into the functionality, security and performance of a native app, as well as the delivery model, such as being downloaded from the app store. In this scenario Q&A and testing is simplified down to a single version. This approach not only simplifies development and maintenance, but also delivers consistency for users regardless of their platform of choice.

Mobile Apps: The Next Generation

Organizations want to modernize their existing applications, resulting in a much more mobile-first approach. This includes moving the back end from on-premise servers to a more cloud-based architecture (whether that's public, private or hybrid) and updating the front end to be intuitive and mobile-capable.

This is augmented by a move away from old development practices and a shift towards a more process-centric approach, which lends itself to creating an externalised rule system, meaning logic is no longer hardwired into the application. This allows for greater collaboration between developers and other stakeholders such as business project managers and the creation of simplified, easy-to-navigate interfaces, within an intuitive drag-and-drop development environment, which binds to the existing back-end.

As a result, development cycles are shorter, user acceptance is faster and, ultimately, ramp-up is quicker -- something vital in the mobile world where the demand for new apps is so great.

We expect this trend to develop into ever more process-centric and rules-centric application development, combined with API-based mashups across on-premises, cloud and mobile applications. This will bring higher levels of agility and support the rapid innovation needed by the world's best companies.

The App is Dead – Long Live the App

Mobility is changing the shape of application development. Demand for cross platform support is growing, development cycles are shortening and users' expectations are evolving.

Exploiting these devices to their full potential means empowering employees to use them to be more productive and enabling customers to be more self-reliant. Changing development techniques offer developers a real opportunity to take the lead in optimising business processes for mobility and stake out an app development strategy, while collaborating more closely with other stakeholders.

Whether it's developing a native app, a browser-based one, or taking a hybrid approach, mobile apps are a unique species and it's not possible to just attempt to transfer techniques that worked well for desktop application development. The key is to embrace these new methodologies and seek out best practice from partners and providers to find the right applications to empower users, both within and outside the business.