With renewed interest in migrating applications to the cloud, the landscape of web applications is ever changing. Even a few years ago, checking your web-based email required refreshing the page. Now, Google’s Gmail automatically downloads new emails behind the scenes. Facebook instantly shows you new likes and comments in your news feed and Twitter automatically injects new tweets into your timeline. Consumers have come to expect a certain level of functionality and finesse in the web applications they use every day – why should that stop when these users enter the workplace?
IT directors are at an interesting crossroads. They understand that their decade-old business applications are lacking with regard to form and function, but they cannot rationalize budgets for application rewrites when such endeavors simply replace an existing application without providing something new for users other than an improved experience. At the same time, IT directors understand that the enterprise is undergoing a massive shift towards mobile. Especially relevant in a “bring your own device” environment where supporting many device types and operating systems can be a great ordeal, IT directors are looking for a cost-effective way to bring their legacy applications to mobile devices, even if the mobile version simply offers a subset of functionality as the desktop version.
IT directors faced with this predicament can solve both issues simultaneously. By following this process for creating mobile applications, IT departments can modernize their aging legacy application infrastructure while providing tangible benefits along the way.
What is a Modern Web Application and Why Should I Want One?
User experience is defined as the way a person feels about using a product, system, or service. Consumer web applications like Gmail, Facebook, and Twitter are shining examples of applications that provide a seamless user experience, empowering users to operate at a high level of efficiency. This is made possible through usage of lightweight/asynchronous communication and interactive user interface design. The first allowing for the “real-time” updating of page data without user interaction and the latter allowing for users to navigate the application intuitively. As mentioned in the introduction, users expect this level of interactivity from the daily applications they use at home and at work.
One of the tenets of modern web applications is client-side rendering. This means that rather than a web server generating the HTML markup that represents a page, the web server simply sends the necessary data (ideally using a lightweight transport mechanism like JSON). Upon receiving this data, the client knows how to best “draw” a page using that data based on templates provided by the web server on page load. By abstracting your “views” of this data, developers minimize the code base that requires cross-browser testing. Additionally, front-end code abstraction enforces componentization which paves the way towards code reuse and fewer development dollars spent.
How Can Mobilization Get You There?
Modernization efforts that subscribe to the process illustrated above will see an incremental transition from the legacy web application to the modern one – with the added bonus of a mobile application. During the first phase, analysts should work with users to create an end-state for the application that subscribes to modern web application principles. Design and user experience are key decision points during this phase. Oftentimes during these discussions, users and product owners will discover unused, “wasteful” functionality in the legacy application. This knowledge, coupled with logical groupings of features, allows the implementation team to plan development sprints around migrating these feature sets to the mobile application. Breaking useful features into distinct sets allows the team to utilize the agile software development methodology equating to less waste, or unused features.
As the development process continues through each sprint, the team will deliver a functional version of the mobile application that consumes the newly developed web services. At some point, the project will hit a tipping point where most of the necessary features have been migrated from the legacy application to the new service layer. Once this point is reached, concurrent development on the new desktop user interface that consumes the same backend as the mobile version can begin. When finished, the mobile application and the modernized desktop web application will share the same backend services. As such, future sprints of new features will add functionality to both the mobile version as well as the desktop version with minimal changes required in both applications’ interfaces.
As mobile computing continues to grow and legacy applications continue to age, IT directors are looking to move applications to mobile and application users are asking for a better experience with the legacy applications that they use. The Modernization through Mobilization process allows for maximum code reuse during the development of a mobile application while putting a fresh face on a legacy application along the way. IT directors are able to embrace mobile while enhancing existing applications without rewriting them from scratch.
It is important to note that the mobile application’s architecture (native, mobile web, or hybrid) does not matter as long as it consumes the same backend web services as the desktop application. For more information on choosing the best mobile application architecture, see John Sprunger’s article “Mobile Client Architecture – Native vs. Hybrid vs. Web apps”
Our technical consultants are experienced in modernizing legacy desktop web applications by sharing web services with a new mobile application. Click here to read more about West Monroe Partners’ Mobile Application Solutions.