Ensuring stability in the online courses mobile app | How we do IT #3

00:00 → 00:02

When talking about application stability,

00:02 → 00:05

we can't just ask if it works properly or not.

00:05 → 00:07

Every error, every lack of response,

00:07 → 00:10

every element that takes too long to load may affect user

00:10 → 00:13

satisfaction and consequently damage the company's reputa.

00:13 → 00:14

Reputation.

00:18 → 00:19

I'm Aleksandra,

00:19 → 00:22

Senior Content Marketing Specialist at Merixstudio and

00:22 → 00:23

this is how we do it.

00:23 → 00:27

In this series, we present you specific design and development challenges and

00:27 → 00:30

explain how we deal with them at Merixstudio.

00:30 → 00:34

Every case is based on our own experience and projects we've

00:34 → 00:35

worked on so far.

00:35 → 00:36

In today's episode,

00:36 → 00:39

we are going to take a look at an American mobile application

00:39 → 00:42

that teaches users how to manage their funds.

00:42 → 00:45

Financial literacy is a big problem, especially in the US.

00:45 → 00:49

The number of people who are unbanked or who do not have the

00:49 → 00:53

knowledge or confidence in how to manage their savings is astonishing.

00:53 → 00:56

The app in question aims to address this issue.

00:56 → 00:59

Like any other application developed at Merixstudio,

00:59 → 01:02

it must be stable and there are at least three reasons for that.

01:02 → 01:05

One, users should want to use it, obviously.

01:05 → 01:09

Two, it should cement the organization's reputation and credibility.

01:09 → 01:10

Three.

01:10 → 01:13

Employees should be able to introduce and develop it

01:13 → 01:15

without any difficulties.

01:15 → 01:18

The most important features of this application are sign up

01:18 → 01:21

for a multi stage course, participation in webinars,

01:21 → 01:25

integration of the stock market interactive elements and

01:25 → 01:26

gamification.

01:26 → 01:28

How have we ensured its stable operation?

01:28 → 01:31

What do we focus on when creating reliable applications?

01:31 → 01:34

See how we do it at Merixstudio.

01:34 → 01:37

Let me start with the things that may be problematic from

01:37 → 01:38

the stability point of view.

01:38 → 01:41

Let's begin with stable operation on the back end.

01:41 → 01:44

That's where we begin to prevent further problems,

01:44 → 01:47

but that's also where some less predictable things may happen.

01:47 → 01:48

Maybe users are reporting issues,

01:48 → 01:52

the rating is going down, or we want to release an update,

01:52 → 01:53

but we do not know what to fix.

01:53 → 01:56

These scenarios are far from perfect.

01:56 → 01:58

Then there is user experience.

01:58 → 02:01

Many factors influence users' perception of the application,

02:01 → 02:05

so we need to tailor it to the potential customers' expectations.

02:05 → 02:08

This involves determining the arrangement of elements,

02:08 → 02:11

animation times, the amount of content, and so on.

02:11 → 02:15

But mind you, user experience is not only influenced by the looks,

02:15 → 02:18

but also by the app's operation in various scenarios.

02:18 → 02:21

The final challenge is to ensure stability during

02:21 → 02:24

maintenance and further application development.

02:24 → 02:26

It's an educational platform with lessons and progress

02:26 → 02:30

records, so users expect developers to expand the course

02:30 → 02:32

library regularly.

02:32 → 02:35

Imagine the user tries to launch the application,

02:35 → 02:38

but it doesn't load because it requires an update.

02:38 → 02:40

Once the update is installed,

02:40 → 02:43

the user sees that some of their favorite features have been changed.

02:43 → 02:46

What's even worse, the application is now slower.

02:46 → 02:48

And you know what the user will do next, don't you?

02:48 → 02:50

They're on the verge of uninstallation,

02:50 → 02:53

and that's just because of a single update.

02:53 → 02:55

Now that we've discussed the challenges,

02:55 → 02:58

let's see how we can cope with them in this case.

02:58 → 03:00

Aydin, our Senior Mobile Developer,

03:00 → 03:02

has some pro tips for us.

03:02 → 03:06

So Aydin, what can we do to ensure stability on the back end?

03:07 → 03:10

First of all, we keep our code clean and simple.

03:10 → 03:12

So everything is readable and maintainable.

03:12 → 03:16

Thanks to that, we quickly make necessary changes and handle problems

03:16 → 03:17

that users encounter.

03:17 → 03:20

Analytics and error reporting tools also shorten the time

03:20 → 03:23

spent on inspecting and fixing these problems.

03:23 → 03:26

Such tools provide technical details about errors, crashes,

03:26 → 03:28

timeouts, or various other metrics.

03:28 → 03:30

Just by going through these reports,

03:30 → 03:33

we easily know the sources of problems and save up the

03:33 → 03:34

valuable development time.

03:34 → 03:37

Another important thing is the backward compatibility.

03:37 → 03:41

There is literally no app that doesn't need regular updates.

03:41 → 03:44

Those updates could be for maintenance, cosmetic changes,

03:44 → 03:46

new features, you name it.

03:46 → 03:47

So at this point,

03:47 → 03:50

we must also think about the old users with various other

03:50 → 03:51

versions of our application,

03:51 → 03:54

because some versions of the application may refer to old

03:54 → 03:57

endpoints of the API, store an outdated data structure,

03:57 → 04:00

or contain outdated implementations.

04:00 → 04:03

So there has to be a safe way to handle this.

04:05 → 04:08

So the lack of backward compatibility can negatively

04:08 → 04:10

affect the user experience.

04:10 → 04:14

What other steps can we take to enhance user satisfaction?

04:14 → 04:18

First, we ensure the smooth operation by wisely managing the phone's resources.

04:18 → 04:20

There are tons of different devices with different

04:20 → 04:23

processing power, amount of memory, screen sizes, and so on.

04:23 → 04:25

Regardless of these differences,

04:25 → 04:28

the application shouldn't cause overheating, skip frames,

04:28 → 04:30

or greedily use battery.

04:30 → 04:34

Also, cached content shouldn't take as much space when videos are streamed.

04:34 → 04:37

Of course, users are free to download the content if they need to.

04:37 → 04:41

Another cool thing we've done in this project is conducting

04:41 → 04:43

tests to check when the application takes longer to

04:43 → 04:46

load or which animations last too long or too short.

04:46 → 04:49

After fixing bugs and adjusting the animations,

04:49 → 04:52

we can proceed to ensure they are at high frame rates,

04:52 → 04:56

so that the app doesn't feel slow on certain devices.

04:58 → 05:00

Moving on to the last solution,

05:00 → 05:03

how to ensure stable operation during the maintenance phase?

05:03 → 05:05

During the application's lifetime,

05:05 → 05:08

users will often do things that we haven't even imagined.

05:08 → 05:10

That's why we are tracking metrics that allow us to spot

05:10 → 05:13

errors and identify areas for improvement.

05:13 → 05:16

The error reporting I mentioned earlier also plays a role here.

05:16 → 05:19

At the end, all this information we collect from various analytics and

05:19 → 05:22

error reporting tools help us create these subsequent fixes.

05:22 → 05:25

Staying on the topic, version history also helps.

05:25 → 05:29

It creates a safety net for undoing the changes that aren't optimal.

05:29 → 05:32

Sometimes, these are just cosmetic changes that users do not like.

05:32 → 05:35

Sometimes, it's a minor bug that crept in with an update.

05:35 → 05:38

Regardless of the reason, we can roll it back quickly.

05:38 → 05:41

Lastly, we divide updates into optional and essential.

05:41 → 05:44

Optional updates aren't required immediately and

05:44 → 05:47

usually contain minor changes that won't affect the operation of the app.

05:47 → 05:51

However, the essential updates contain important changes that are most

05:51 → 05:53

likely to be breaking things.

05:53 → 05:56

At this point, user is kindly asked to update the app,

05:56 → 05:58

otherwise, application won't start.

05:58 → 06:02

Thanks, Aydin, for your pro tips for increasing application stability.

06:02 → 06:04

As you can see, the topic is wide,

06:04 → 06:08

but I hope this video will help you keep your application stable.

06:08 → 06:10

Thanks for tuning in,

06:10 → 06:14

and don't forget to check out more of our mobile development related content.

Let's connect and build together