Comparing Performance Parameters of Mobile App Development Strategies

This paper compares the performance of ten of the most popular Cross Platform Tools (CPTs) for app development, relative to that of native tools.  The CPTs are tested on Android, iOS and Windows platforms (where possible) and are categorised as either:

  1. Javascript frameworks & web-to-native wrappers
  2. Runtimes
  3. Source Code translators

A fourth category of ‘App factories’ is acknowledged, but excluded from the comparison due to their limited and simplistic nature.

The performance criteria used for evaluation are:

  1. Response times
  2. CPU usage
  3. Memory usage
  4. Disk space requirements
  5. Battery usage

Generally, the overall findings show that the performance of native apps are superior to that of any of the CPTs.  The paper also goes on to acknowledge that the use of CPTs can have an impact on specific functional aspects of mobile applications, such as capability with complex algorithms and device resource accessibility.

Up until now, I have been considering pursuing the use of Flutter as a cross platform development tool.  This paper has suggested that I need to undertake further research into the performance and other capabilities (and limitations) of Flutter, and whether the benefits of developing a single app for both Android and iOS platforms outweigh the limitations that this approach might present.

I will also investigate some other CPTs, such as Xamarin and React Native, in order to gain wider perspective, and an appreciation for what options are available along with their relative pros and cons. At this point, I remain undecided.

Remote Paper Prototype Testing

Paper prototype testing is useful for testing your concept with a sample of intended users, at an early stage of development. 

It can be very helpful in establishing how well you have understood your market, their requirements from your app, and your alignment with their thought processes.  This can be a relatively straightforward exercise, however, certain situations can dictate that a face to face meeting is not an economically viable option, and so it could be useful to conduct the exercise remotely.

Some good examples would be when testing cultural differences, or where location/setting (that the developer doesn’t have easy access to) plays a significant role within your app. 

My “Breakout!” concept could be tested using a video link to a classroom, as this is where the app is intended to be used. Students would be in an environment that is familiar to them, eliminating any potential intimidation or nervousness ( which could skew prototype testing results) that an unfamiliar environment might present for them.

While doing some further reading around the subject of remote paper prototype testing, I came across “Morae“, a software tool that facilitates the process. The software basically captures the test session on video, and enables the tester to add notes on the session and the findings. The entire package can then be easily shared with other members of the development team and other stakeholders.

The paper also covers the use of Google glass, but I believe that glass is no longer in use.

Design an App with Android App Inventor

A screenshot of the App Inventor development environment

I like the relative simplicity of this app development tool, and I’m sure that it could do a decent job for:

  • building simpler app ideas
  • building prototypes – particularly useful for testing the flow of your app
  • teaching the basic principles of app development

However, I suspect that Android App Inventor would be considered incompetent beyond a certain level of complexity of requirement.

I spent 20 minutes or so playing with Android App Inventor, and downloaded the app to see my experiments appear on my phone.  Although it appears to be fairly simple to use, I will need to spend more time familiarising myself with it in order to use it for prototyping.

Google Lightning Talks

free background photos from pngtree.com

An interesting series of brief introductions to a variety of Google offerings from the 2017 Game Developers Conference.  Some of the topics were completely new to me (I grasped the concepts to varying degrees), while I had some semblance of familiarity with others.

I could utilise the Firebase database for my “Breakout!” app concept, and incorporate Google Analytics to gain valuable feedback which could be used to assist in the continuing evolution of the app.

The Play Commerce team had 3 useful recommendations for increasing income from your app:

  1. Collect usage data and experiment (Using Google Analytics)
  2. Implement a subscription model (market research would help to shape an appropriate model)
  3. Guard against refund abuse (Unlikely to be a concern with my “Breakout!” app, but worth noting)

I particularly appreciated a quote that one of the speakers used:

“I’ve learned that people will forget what you said, people will forget what you did, but people will never forget how you made them feel.” — Maya Angelou

I found this to be very thought provoking.  Not only is it a good mantra to apply throughout my app development endeavours, it has a much broader application for general life.

Design a site like this with WordPress.com
Get started