The automotive industry is getting more and more complex every day. All companies, nevertheless if OEMs or Tier’s, are operating in VUCA (Volatile, Uncertain, Complex and Ambiguous) world. The systems that we build...
We’re heading towards a Mobile Economy. People spend ever more time on their Smartphones for
entertainment, shopping, professional training and the like. Unsurprisingly, Mobile Application
Development is in high demand.
Sebastian (Question = Q): What are the most common challenges in Mobile Application
Development? Is it performance?
Codelab Developer Team (A = Answer): As a UX/UI Design and developer you have to bear in mind,
that the user group is anything but homogeneous: Users are of different age, they are using different
languages, travelling to different countries. Your app should appeal to all of them.
Another typical challenge: Users have limited access to internet. This requires you to come up with
good ideas how to ensure a great User Experience (UX), even if the Internet connection is only
intermittent or isn’t available at all.
Additionally we have a lot of different kind of mobile devices (smart glasses, smart watches, tablets,
etc…) or different Operating Systems where the application could or should be deployed.
Q: How do you typically approach a new Mobile Development Project?
A: The first step is to define the purpose and the business case of the application. We define the
target group of users, select the devices and Operating Systems that should be supported. If our
clients come up with demanding requirements and exotic features (this is quite often the case,
actually), we’ll also do a feasibility study.
For some features we need to check whether we get access to specific resources of OS. The good
information is that SDK’s for mobile development provide pretty good solutions. Based on that
developer can 100% focus on implementation of features and doesn’t need to worry too much about
Q: How easy is it, for example, to integrate a Shopping system into an App?
A: It is easy if some conditions are met: You have a well-defined UX/UI design. The API for the shop
systems is well-documented. And the requirements consistent. That is, however, an ideal situation –
the reality in development projects is different.
As per our experience you always have to cope with challenges of some sort or another. This
includes changes (or even corrections) to the API. But that’s not meant to be a complaint: We’re all
tech enthusiasts and we like challenges, we actually like to create something that requires some
technical genius. We’re nerds, aren’t we?!
Q: Hacker Attacks and Data Leakages are on the increase. Are Mobile Applications also affected?
Can Mobile Applications be made sufficiently made secure?
A: In theory you can make mobile apps sufficiently secure. However, in practice there’s a lot of
room for improvement. Some reports on that issue come to the conclusion that 85% of mobile
apps violate security standards. Developers tend to forget about fundamental rules. Mobile apps,
for example, are especially vulnerable to man-in-the-middle attacks. Why? Because they are
constantly connecting to different and insecure WiFi networks. Therefore it is crucial that
developers ensure encryption for data transmission. That’s not always the case.
Q: What are some key considerations to ensure a high application security?
A: Some apps don’t use strong enough encryption for storing sensitive user data such as financial
or healthcare. We’ve even seen app developers “hardcode” passwords, which means they put
non-encrypted passwords and keys into their source code. Black Hat Hackers can
reverse-engineer these password.
Most of the time apps do use backend services to exchange data. It’s critical to secure these
endpoints as well. If server-side services are not secure enough even the most advanced apps
could be hacked.
Q: There’s this highly popular SDK for Mobile Development called Flutter. You’ve used it already.
Can you introduce Flutter shortly and explain, what you particularly like about it?
A: Flutter is the latest cross-platform solution introduced by Google in 2018. Cross-platform
frameworks use “write once, run everywhere” approach. That means that a developer can write
code once and deploy it on many platforms such as iOS or Android.
Flutter also provides a couple of great features that make app development quick and easy. ‘Hot
reload’, for example: It give developers a live preview of his/her app. That’s great for rapid UI
development, testing and debugging and it’s way faster than native programming.
The other advantage is the great documentation, and there is a big community of developers.
Everyone can develop and publish his/her own Flutter package (kind of a third party library).
Those packages get ranks according to community likes (that’s kind of social portal for Flutter
developers). It’s also worth mentioning that Flutter uses DART as a programming language. It’s
easy, modern and supports reactive programming for apps (which is great news for devs).
Q: Do you observe any interesting trends in Mobile Apps, in Mobile Development?
A: Actually, there’s a lot interesting stuff going on. Machine learning, Artificial Intelligence
technology is increasingly being used in mobile apps. Image recognition, for example, can help a
user with creating a digital catalogue of his house plants. Or warn about possible inappropriate
treatment. Biometrics and facial recognition are highly reliable methods for authenticating
smartphone users. We shouldn’t forget Gaming: A realistic imitation of human-like behavior
offers exciting possibilities, if you play against the computer as an opponent, for example.
Q: Do you observe any trends in the UI design of Mobile Apps?
A: Oh yes, there is a trend towards animated images and micro-interactions. That means: A lot of
motion on splash screens and during interactions with UI components like tab bars, menus, even
on the fullscreen backgrounds. All this thanks to a very good performance of smartphones with
ever better hardware.
Let’s not forget about neumorphism, which creates some 3D effect. Neumorphism allows to
create stunning effects, such as UI components “floating” over the background. This can be
achieved by applying bright and dark shadows oppositely and sometimes a slight amount of color
gradient. It’s eye-catching and easy to implement by developers!
Q: Why did you actually choose to become Mobile App developers?
Jacek: In my case it was a straight path from being an electronic musician with over 15 years
experience into the world of professional iOS development.
At some point I was composing a lot of video games music and recording sound effects for living.
A friend of mine which, was a mobile music software developer, commissioned me to make an
audio content for his products.
Since that moment I started designing and then programming my own music apps for iPad
devices. iOS was a natural choice for me as Apple’s CoreAudio framework was offering great
performance and stability for playing music live using both tablets and smartphones. I really
enjoyed that fact that even being a single developer I was in control of the entire production path,
from designing UI, through implementation and testing features, to the app release.
Michal: I always wanted to be a part of new technology. Mobile development forces you to use
the latest tech solutions. You have to follow mobile trends and incorporate them into your
solutions. That’s something which was always exciting from my perspective and motivated me to
improve and develop my knowledge.
Since over a decade people use mobile apps widely and they are easily accessible. That also can
give you everyday motivation. It’s great when you see that your app grows everyday and users
give you great feedback. This is a thing every creator would appreciate.
Want to learn more about our expertise in Mobile Application development?