When and why to build a responsive application

Herve Mischler, SAP's visual designer, offers advice on responsive application design and recommends when it might be preferable to go native.

Device proliferation has driven developers to seek alternatives to the high-performing but restrictive native app. As devices continue to multiply and evolve, it has become increasingly problematic to build an app only supported by one operating system. Hervé Mischler, user experience designer with SAP, has been working on a responsive application design project for more than a year. "We tried to look at what's coming between all these platforms and we created our own visual language; our own UI [user interface], that will sit perfectly on any device."

The goal is to create an app that will automatically detect device parameters -- such as screen size and UI -- and then change accordingly. "We want that app to be available on any device," Mischler said. "And we want to develop it once so that our customers have it everywhere immediately." This write-once, run-anywhere paradigm is a territory that belongs to JavaScript and HTML5. Responsive apps are, by nature, Web apps, and Mischler had a session on the pros and cons of developing in this environment that he presented at The Ultimate Developer Event in Boston.

Mischler offered advice to developers interested in breaking into responsive app design, discussed advantages and drawbacks, and recommended when it might be preferable to go native.

Acting responsively

The approach to building a responsive application is very different from building a responsive website. It is, in fact, the opposite. Mischler explained that apps are designed for mobile first and then extended to tablets and computers. Since a mobile app is more precise and task-oriented, the original design is more complex, he added. "It's more work at the beginning because you have to anticipate all the use cases, all the different scenarios; but, on the other hand, you really have to simplify how the applications are working." The result, he said, is better apps for everyone, on every platform.

We want [the] app to be available on any device and we want to develop it once.

This backward approach to app building will likely be a challenge for developers accustomed to more practiced development methods, Mischler warned. "The traditional way to design websites is to design pages, but when it comes to responsive Web applications, you have to think in terms of components -- reusable components." He likened these components to bricks that operate as the application's building blocks, intended to become buttons, input fields and so on -- all adaptable to device specifications.

According to Mischler, many developers make the mistake of thinking in terms of pages and wind up with iPhone-sized interfaces on the computer screen or computer-sized input fields on the iPhone. "At the end it's very static whereas it should be really dynamic and change depending on the constraints of the screen."

Going native

As a relatively new development, responsive apps aren't necessarily the best approach for all applications. Because native apps perform better than those in HTML5 and JavaScript, developers working with the latter prioritize ubiquity over complexity, Mischler explained. "The question is, do you want to have some amazing animations and effects in your app or do you just want to achieve some simple tasks?" Native apps simply have fuller access to device capabilities and should not be ruled out if an application demands sophisticated features.

It is also important to note that responsive apps' relative youth means a reliable set of best practices has not yet been implemented. "It's so new that nothing has been decided. The Web community spends a lot of time solving a lot of responsive Web design problems and there are some new HTML specifications coming out to solve those issues, but it's more complex when it comes to apps." However, Mischler predicted these issues are the result of immaturity and will sort themselves out over time as responsive apps become more widely adopted.

In any case, responsive app development is a valuable skill for designers and developers to acquire. Mischler's opinion on this point was succinct. "Platforms die." But the Web, he added, is sticking around for a long time. If developers want to build apps with staying power, they had better keep to HTML.

Dig Deeper on Topics Archive