• December 14, 2018

Pitfalls in mobile app development

mobiledevices
Mobile devices

Modern society is spoiled. Any time you sit in a café, myriad mobile devices are visible around you, and these represent only a small percentage of the numerous models of smartphones, tablets, laptops, etc. which are currently available on the market. Nowadays, everyone expects to be able to access the data they require at any time or place.

What people often don’t realize is that the mobile applications they have downloaded or the websites they access from their mobile device often require a complex back-end data system. A successful user experience ensures that the complexity of the back-end data system is completely invisible.

Mainframes
Mainframes

Mainframes have long been the preferred option for any company creating a data program which expects to deal in large volumes of data transactions, e.g. insurance companies, banks etc. Many of these programs were developed more than 20 years ago and are still in use. They were developed at a time when the UI technology available for data input was much more restricted than now. Combo boxes, context menus, carousels, sliding techniques…these were never even thought of.

But now we all want to be able to do our banking using our mobile phone, to look up our insurance policy details from our tablet, to check our mobile phone subscription information from our mobile.

These services are usually provided by a custom ‘app’ developed by your specific bank, insurance company or mobile provider. The creation of these apps to expose the background mainframe applications to your mobile devices is affected by a number of decisions:

  • Destination device screen size
    • How many controls can fit on the screen effectively?
    • Any images included in the application should be scaled appropriately for the destination device
  • Network access
    • How will the application operate in offline mode
    • Will 3G/4G/LTE versus WiFi access be sufficient for performance?
  • Application management
    • Efficient mainframe access is measured according to Million Service Units (MSUs), with possible needs to restrict number of application instances with access to the mainframe
    • Ability to restrict application access to specific user group
    • Revoke of application permissions
  • Execution platform
    • Web (typically HTML5 so viewable anywhere but no access to device sensors e.g. GPS)
    • Native (access to device sensors but requires device specific code)
    • Hybrid (mixture of the two–more complex to develop)

And once you have finalized how you want to create your app, you then need to decide how you will test it. Most popular browsers offer in-built device simulators which are very useful for quickly testing how the app appears on different devices. But the simulators cannot replace a real device experience. But how do you test your app on each physical device? The number of models available is extended daily, so you can never cope with all variations.

A typical approach is to have one physical tablet and one physical mobile phone available in the test lab, running the following OS variants:

  • Apple
  • Android
  • Windows

This will allow general verification for the major mobile platforms. For more information regarding the complexity of testing mobile applications see https://www.keynote.com/resources/white-papers/testing-strategies-tactics-for-mobile-applications

Further verification is possible using a cloud device test service, and it’s possible to pay for a service in the cloud which will allow you to test your application on a vast number of device models.

CloudTesting
Cloud Testing

 

Do you have experience in the mobile app development space? Please share your views on how the design/development phase can be simplified.

Vivienne van der Vooren 3 Posts

I am a Software Engineer located in the Dordrecht office in The Netherlands.

3 Comments

  • Patrycja Reply

    March 9, 2015 at 11:56 am

    It seems that it was just yesterday, when the Client/Server applications were taking over, we heard a lot of complains on how size- restricted 80×24 lines green screen application is comparing to a Windows application.
    But it seems now that all that design freedom wasn’t that productive after all.

    We are back to a design board – to figure out how to create the simplest of all UIs, with the most efficiency – for the mobile apps.

    • Vivienne van der Vooren Reply

      March 9, 2015 at 4:54 pm

      So true ! It highlights how essential it is to concentrate on good UI design process making use of the new generation of controls and interaction gestures ( eg Carousel, swiping, camera integration etc )

  • Michael Byrne

    Michael Byrne Reply

    March 11, 2015 at 3:41 pm

    Responsive UI CSS frameworks, such as Bootstrap, seem to be a key in creating a smooth applications that can transition to a variety of devices, at least in the hybrid and web app designs. But even with that, developers also MUST re-evaluate the user experience, because work flow will probably change drastically versus the legacy terminal emulation mentality.

Leave a Comment

Your email address will not be published. Required fields are marked *