flowup

FlowUp: How to monitor the performance of your Android and iOS apps

All members of Karumi have been developing applications for Android or iOS for years, and it is curious to observe how all believe that we have long been developing applications almost blind. To solve this problem we decided to create from scratch FlowUp, the platform monitoring real -time applications for Android and iOS that we are developing.

flowup

Image Source: Google Image

The fact that we think we have been developing blind for so long is curious, but there are a number of questions that validate our thesis. If you have a developer of mobile about yourself or work developing applications for iOS or Android, trying to find answers to the following questions:

  • What is the average consumption of CPU or memory that has the applications in which you work?
  • How many bytes consume application per second?
  • Your application is able to display 60 frames per second ?
  • What is the (screen Activity / ViewController) with poor application performance?
  • What size occupy the preferences shared database or on the device?
  • Is the latest version you posted better or worse in terms of performance? Do you use more data? Do you write more in the database or less?

If you think you have an answer to these questions, try to think of how many different devices (more than 15,000 in the case of Android) and versions of the operating system in which the application may be running.

The number of different uses that the application has, which need not be the same use as the developer makes it not match the device that the developer uses. Not all of our users have a Nexus or Pixel and use the application as we, the developers, we do.

Complete your stack of tools for developers FlowUp

Application developers now have access to performance analysis tools like Android Studio monitor, systrace or instruments in the case of iOS.But these tools only measure application usage in a development environment, not the environment where our software adds value to the business, the production environment. FlowUp monitors your end users in their real devices and gives you all this information in Real-time so you can easily analyze it.

Any developer in their day to day has a mental model of the behavior of your software, but this model resembles the behavior of software as well as a city map. The map of the city of Murcia is just a representation of the city, not the city itself. The further away is our mental model of the software we build, worse can reason about our software. Decide whether to arrange a feature that does not have a correct behavior or implement new have to be a decision based on our software metrics.

You may also like to read another article on Web-Build: 8 trends that are changing the marketing influencers

FlowUp about the world of production monitoring systems to mobile application developers. Initializing a library in our application with a single line, as shown in the example of the SDK we are developing for Android, we have access to information that will help us improve the performance of our applications.

What metrics provides FlowUp?

The amount of information that FlowUp gets on the status and behavior of your application in production is very interesting:

  • Frames per second and frame time of each of your activities / view controllers .
  • required to run the lifecycle of your activities / view controllers time.
  • CPU consumption.
  • Memory consumption.
  • Network traffic both upstream and downstream.
  • Disk usage in relation to database, shared preferences or NSUserDefault.

Of course, all this information filtered by:

  • Version of the application.
  • Device model.
  • Operating system version.
  • Activity / ViewController name.
  • Screen size and density.
  • Network quality.

All this information in a series of dashboards organized to easily show if there are any problems in the performance of your application and where you are.

We are currently completing the development of the platform and preparing a program of private betas in which we would like to include some developers. We want to help create the best possible application.