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.



.avif)

.avif)
.avif)
.avif)