Speaker

Artur Badretdinov

Artur Badretdinov

GDE, Director of Android Engineering @ Squire

Toronto, Canada

Actions

Started programming from school, because it's fun!

Got Master degrees in Computer Science and Software Engineering when understood that nowadays it is important to be a team player and to write code in a way that it will be understandable and modifiable.

Google Developer Group Lead in Russia, love to get knowledge and share my experience.

Developed backend apps on Java then decided to be closer to users and dove into Android development: school journal, banking app, video ringtones.

Currently making barber's lives easier at Squire, creating the best-in-class ERP system for barbershops.

Area of Expertise

  • Information & Communications Technology

Topics

  • Android Development
  • Software Engineering
  • AI
  • LLMs

Digital Nomad. Pros and cons

The world started its shifting to remote. Many people tried work from home with its pros and cons.

But have you heard about Digital Nomads? Maybe, you wanted to become one? What is it like to work not from the office not only because you have to, but because you love to?

My wife and I have worked from 20+ countries in Europe, South and North Americas, Australia, and Asia during the last three years. We had to overcome some complexities and felt the pleasures of such a lifestyle.

Join the talk, and I'll share my hands-on experience of being a digital nomad. Hidden rocks and nice moments. Things to think about and gotchas in the trip planning and teamwork. What do you need to keep in mind if your team is distributed in 15 time zones from California to India and Bali.

Ribs, MVI, Compose - Buzzwords or the stack for your next app?

For the last year, I've been leading a team that developed a project using RIBs and MVICore. We decided to go this way instead of the usual MVVM and (almost) Clean Architecture. We got into some bumps and enjoyed the ride. As with any technical stack, this set has its own pros and cons. Eager to learn more?

I'll talk about what we've achieved and what problems we've encountered. When this setup helps you to achieve your goals and when it is better to go some other way. What are the alternatives and what we decided to change in the future.

Are you still using MVVM and wondering about the Brave New World? Come and get an overview of an alternative. Fragmentless, UDF, MVI - these are the main keywords.

After all, the grass is always greener out there, right?

Painless navigation in Android. Cicerone

Cicerone is a lightweight library that makes the navigation in an Android app easy.

Mainly, Android apps can be divided into two categories: Actvivity based or Single Activity (and some variations, as usual). What unites them - need for navigation from screen to screen.

In this talk I would like present you a lightweight solution of the complicated problem.

In this talk, we will discuss:

The problem of screen navigation in Android
Common solutions and their drawbacks
Ready frameworks (Conductor, Flow, Architecture Components Navigation) and why they don't fit to any project
Qalities we want to achieve (and how Cicerone fulfills them)
Decisions that were made while designing the library
How to use it
Common examples of building the navigation in case of using Drawer Menu or Bottom Navigation Panel.

UI profiling in examples. Where is my bottleneck?

You developed a feature, tested it yourself - everything works well. You send it to the internal testing, your managers... And they say it is slow!

We ran into the exact same situation and dug into the tools that may be used to make your Android app work on 60 frames per second.

This presentation is intended for the people who haven't dived into the UI performance yet. You will see some examples of easy and fast ways to check if your app works well and if it is not, how to find the potential problem.

In the presentation, I will tell you about:

How android renders views and why does it matter to you (DisplayLists, Choreographer, VSync, Render Thread - things that will be covered)
How to understand that you have a problem (GPU profiling, SysTrace)
How to get metrics about the current rendering speed (fps) of your app ( dumpsys gfxinfo, Systrace, HierarchyViewer)
Some of our mistakes we made, how we found them and how we fixed them (overlaying Controllers (analog of Fragments), incorrect usage of RecyclerView with NestedScrollView
How to easily find GPU overdraw and fix it (using GPU overdraw in dev settings and export view layers in HierarchyViewer or Scalpel to show you the ways to improve)
How to be sure that the problem doesn’t regress (Android Vitals,  dumpsys gfxinfo)

Contacts Framework and phones formatting. My contact in China is no my contact

Have you thought about the structure of Android Contacts? How can you add your app into the Android Contact info page? Do, you know that there are 4 ways to write the same number in India? And you should better not try to call it from China... Why? Come to the presentation and let's talk about it!

And yes, saving all the numbers in e164 won't save you if you have millions of users in different countries and that users have different phones like Samsung, Oppo and Xiaomi...

Artur Badretdinov

GDE, Director of Android Engineering @ Squire

Toronto, Canada

Actions

Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top