Mobile Project Management Made Easy with Mendix

Mobile devices give people the ability to interact with each other and with brands and businesses from anywhere. Mobile apps offer users convenience, portability, and simplicity. Whether your application is fully mobile, or only a small subset of functionality is available on mobile, mobile apps deliver your products and services to your users in new and exciting ways.

By 2022, 70% of software interactions in enterprises will occur on mobile devices.” – Gartner

Development of a mobile application with Mendix is different than the development of a web app, but the underlying objectives and principles still apply. This blog post will address some areas where mobile app development differs from web app development and will outline some strategies that our customers use to be successful with mobile development.

Source Code Management

The biggest difference between developing a mobile versus a web app with Mendix is that a mobile app has “source code” that Cordova uses to package your application into a hybrid app that runs on iOS and Android devices. This code is mostly Javascript, HTML, and CSS, and these so-called source files are not visible through the Mendix Modeler. One of the biggest challenges that our customers face is keeping track of these files and versioning them appropriately. The recommended strategy for this is to use an External Versioning tool, like Github, to manage your app’s source files.

For the fastest build experience, you can leverage the NPM (Node Package Manager) package that our hybrid-app-template is based on. It’s the zip package that you download from the Sprintr portal, and documentation on how best to build and test your app for multiple environments on real devices or emulators can be found here. The scripts in this package allow you to make modifications to the app configuration, the source code, or even the build platform, and allow you to rebuild and test your app in a manner of seconds, which makes mobile development a breeze.

Team Skill Set

When developing a mobile app, the skillset that you should look for when building your team needs to be more focused on experience and interaction design. In a previous blog post, I wrote about how to build a Mobile-First Mendix application. In that post, I talked about how experience is king and interactions need to be intuitive and fluid. Because of this, it’s absolutely critical to involve a User Experience (UX) team from the beginning with a mobile application. They need to be involved in each sprint demo and their feedback must be prioritized as highly as feedback regarding functional/technical requirements.

Aside from UX, you’ll want to make sure you have a JavaScript whiz on your team. Since the Cordova source files are HTML&JS, any troubleshooting that you’ll want to do on the device’s console (either using Chrome Dev Tools or the Safari Web Inspector) will need to be done in JavaScript. This person will be involved during all of the testing of the mobile app. We recommend having a focused UX expert on your team from the beginning and having a JavaScript expert available for when you need help.

Releases

Dealing with releases with a Mendix mobile app is simpler than traditional app development since the model is hosted remotely and small changes don’t necessarily require a change to be sent to the App Store. That being said, it’s certainly a best practice to submit any changes which affect the UI of the application or otherwise change the user experience through the standard App Store update process. It’s not ideal for the images that you use in your App Store storefront to be different from what a user sees when she opens your app. We recommend using the standard App Store update process whenever you make changes that affect the app’s user experience.

Testing

An important part of developing any software application is sufficient testing. Testing and debugging mobile applications can differ from web applications, but there’s a how-to article in our documentation that gives some pointers to make this process easier and more familiar. With mobile testing, it’s important to think about the context in which users will be using your application when conducting testing. I.e. will they have network connectivity? What if it’s slow? Is the app designed in such a way that it’s easy for a user to get the information she needs? Just like the development experience needs to be focused more on experience and interaction, so too does the testing. We recommend continuing to keep your UX expert involved with user testing as you develop.

So there you have it. Managing a mobile project doesn’t have to be radically different from the process you’re already following now, as long as you can assemble the right team, become familiar with the tools, and organize your project to separate the Cordova source files from your model. Once you’ve got your team and tools ready, get started with Mendix!