1. Tips For Mobile Development

    by Frank Rizzi

    Last year, U.S. consumption of digital content from mobile devices overtook consumption from desktop computers: the average user is now more likely to access your application from a mobile device than a static workstation.

    Info Tech recently launched the Mobile Inspector™ app, our first product targeting mobile devices that also interacts with legacy client/server systems. Along the way, we learned lessons and best practices applicable beyond that project. Here are four that I believe have the widest impact.

    Keep It Minimal

    The Minimum Viable Product strategy becomes even more important in the world of mobile development, as mobile users have but “one eye and one thumb.” Mobile devices are intrinsically meant for usage “on the go,” and the users will be multi-tasking while accessing your system.

    Of course, this impacts the user interface and user experience of your application, but we found that focusing on a minimal set of cohesive use cases allows every aspect of the process to move faster and smoother.

    Be Resilient to Interruptions

    Some applications on the market work only with a live connection. Others don’t leverage the connection, but provide a syncing mechanism for the user to trigger when a connection is available.
    Rather than making it the user’s concern, we believe a better approach is to treat the connection as the application’s problem, and to make the system resilient to all scenarios. To achieve this, leverage the storage capabilities on the device, and assume an asynchronous, interruptible flow of data with the rest of your product’s ecosystem.

    Build Bridges to the Past to Avoid Big Bangs

    Speaking of which, the success of your mobile application is likely tied to the success of your whole ecosystem, including any pre-existing legacy systems that have been in operation for years, gathering valuable data from the users. If those systems don’t provide interoperability facilities compatible with your new application, you might think that a “Big Bang” moment is necessary to update them accordingly.

    Instead, we recommend developing “Bridges,” small independent components in charge of transferring data to and from these systems. The end result is the same, extending the lifetime of the legacy system into new territory, but their cost is usually much smaller than a “big rewrite.”

    Hybrids to Tame Market Fragmentation

    The mobile application market is currently suffering from a problem the industry faced before: fragmentation. Beyond the big split due to different operating systems (Apple’s iOS, Google’s Android, and Microsoft Windows Phone), version-specific, as well as brand-specific and model-specific differences make the market unwieldy.

    Instead of developing parallel applications for each market sector, or constraining yourself to using only the features available through web browsers, we recommend developing “hybrid applications.” This is possible thanks to libraries that abstract the OS-specific programmatic interfaces into a unified JavaScript API. It’s like having your cake (a unified code base) and eating it too (deploy as a native application), and it allows you to inject native code if you ever need to.

    As we continue into new mobile development projects, these four lessons learned will guide our processes. What lessons can you share with us?