Simplifying Multi-Channel App Development Through Reusability
Simplifying Multi-Channel App Development Through Reusability by Robert Bond
Customers today expect that the businesses they interact with will provide simple, intuitive experiences. This of course means enabling users to interact and transact with your business using any device, from mobile phone to desktop. Creating a multi-channel user experience is not only beneficial for customer engagement. As mobile device usage increases, even internal business applications can benefit from optimization across device categories. As mentioned in a blog post by my colleague Ed Hadley, without a quality user experience for each device category, productivity and engagement rapidly decrease.
Fortunately, the Mendix platform provides all the tools you need to rapidly add new device interfaces, which makes building multi-channel apps a breeze. We commonly see a desktop first phase followed quickly by mobile and tablet experiences to bring maximum value in minimum time. Mendix has a number of technological shortcuts that help you reach more users on more devices in less time.
Built-in device profiles
Mendix developers can quickly set up completely separate device experiences for all channels within the same project. Mendix recently introduced profiles that allow for separate navigation, microflows, and pages for desktop, tablet, and online and offline mobile devices.
Because they exist in the same project, there is no need to rebuild key microflows or integrations, or maintain two separate code bases. Developers can choose to build separate pages or reuse components to deploy to new devices even faster.
Easily customize existing pages for mobile experience
Starting your Mendix app with a responsive page layout is a great first step to a multi-channel experience. However, as complexity increases, you will find that rendering the same data equally well across platforms is not enough for a truly immersive application. Users expect functional differences based on the device type like Information rich grids on the desktop, large simple buttons on mobile, and uncluttered graphics for small screens.
Because the Mendix UI framework is built on top of bootstrap, your pages can leverage the complete range of responsive utilities. The addition of a few simple statements like ‘visible-sm’ or ‘hidden-lg’ can provide device-specific actions and views all on the same page.
If you want to hide some data on the smaller screen behind a ‘show me more’ button, tagging that button with a responsive bootstrap class hides it except when it would benefit the user the most.
The button does not render on larger resolution devices, and is visible on the same page when the resolution reaches a minimum width. In this way, the same page can be optimized for many devices at the same time. By using the same Mendix Page, you can save yourself the effort of creating and maintaining several different sets of pages. Users can show or hide grids, list views, buttons, and other widgets to suit the needs of the device in question.
Device sensitive logic drives model reusability
As your multi-channel app matures, the differences between device types can grow drastically. Perhaps you want a dramatic difference in layout or user flow between devices. In this case, maintaining one page for two completely different experiences can be cumbersome. Fortunately, Mendix is capable of identifying the device type at run time, meaning logic and navigation can be customized easily within the same microflow.
Mendix exposes a system variable that automatically determines the device type.
This can be leveraged in any context within a microflow, meaning button clicks or navigation elements can perform device specific actions to route users accordingly.
In this flow, the device type routes to different pages based on the device variable.
Your single-channel microflows quickly become reusable multi-channel elements with the addition of a single exclusive split object.
Developing multi-channel applications has never been more important, even to core business applications. Fortunately, the Mendix Modeler contains many shortcuts that help you re-use your existing model to build other app channels quickly. Combined with one-click deployment and hosting, the Mendix Platform gives you a complete toolkit to turn your ideas into multi-channel reality.