Speaker

Harun Wangereka

Harun Wangereka

GDE Android, Android Engineer at Apollo Agriculture

Nairobi, Kenya

Actions

Android Engineer who is passionate about creating quality applications. Never tired of learning and building the tech community and helping other developers upscale their skills. I love writing technical articles on Android and Kotlin topics. I am very passionate about giving back to the community and sharing my knowledge and experiences.

Area of Expertise

  • Information & Communications Technology

Topics

  • Android Development
  • android
  • Android Architecture
  • Kotlin
  • Kotlin Coroutines
  • Android Design
  • Android Tools

Recomposition Roundup: All You Need to Know

Jetpack Compose, a modern UI toolkit for Android, offers a declarative approach to UI development. However, understanding and optimizing recompositions is crucial for delivering smooth and efficient user experiences. This technical session will explore common pitfalls developers encounter when working with recompositions in Jetpack Compose.

We'll explore the impact of unstable classes, including external classes and lambdas, on unintended recompositions. These classes can often lead to unnecessary recompositions, impacting performance. Additionally, we'll discuss performance challenges associated with LazyList, columns, continuously changing state, and the role of modifiers in affecting recomposition behavior.

Through practical examples and code demonstrations, attendees will learn techniques to:

Identify and resolve recomposition issues
Optimize UI performance
Write efficient and stable Jetpack Compose code

By the end of this session, you'll have a solid understanding of recompositions and how to avoid common pitfalls, enabling you to create high-quality and performant Jetpack Compose applications.

Now In Compose

Jetpack Compose emerged as a game-changer for Android UI development, offering a declarative and efficient way to build user interfaces. However, harnessing its full potential requires a deep understanding of best practices, especially when it comes to handling state in a unidirectional manner and navigating the intricacies of using Compose in production environments.

This comprehensive workshop on Jetpack Compose focuses on best practices for unidirectional state management and tips for using Compose in production. Participants will learn efficient state handling, testing methodologies, performance optimization, navigation, theming, and handling user input. The workshop aims to empower developers to build maintainable, scalable, and performant UIs using Jetpack Compose.

This workshop promises to elevate the attendees' Compose skills and empower them to build stunning and efficient Android UIs with ease. Most importantly I have prepared the workshop using the experience of how we use Jetpack Compose in production at Apollo Agriculture.

Transforming Farmer's Lives Using Android in Kenya

Imagine if you could change the lives of farmers using Android. We did that! This is the story of how Apollo Agriculture relies on two Android apps, entirely written in Kotlin, are offline first, and heavily rely on Server Side Driven UI to render the UI components.

I'll dive deeply into the challenges we face when developing apps for devices with low memory, low internet bandwidth, offline-first approach, and some of the critical lessons we've learned so far. This session will show how our server-side UI approach with Jetpack Compose works, the reasons that made us adapt this, and the implementation details of our stateful approach in building UI Components with compose. Additionally, the session will cover the tools we use to make this possible: an internal tool called "Choice Expressions" and an implementation of JsonSchema, both used to build UIs from a set of conditions.

Transforming farmer's lives using Android in Kenya

Imagine if you could change the lives of farmers using Android. We did that! This is the story of how Apollo Agriculture relies on two Android apps, both fully written in Kotlin, are offline first and heavily rely on Server Side Driven UI to render the UI components.

We'll take a deep dive into the challenges we face when developing apps for devices with low memory, low internet bandwidth, offline-first approach and some of the key lessons we've learnt so far. This talk will show how our server-side UI approach works, and some of the reasons that made us adapt this. Additionally, the talk covers the tools we use to make this possible: an internal tool called "Choice Expressions" and an implementation of JsonSchema, both used to build UIs from a set of conditions.

Lastly, we'll talk about some of our future plans, including but not limited to adopting Jetpack Compose in the apps.

Securing Your Android App

Security is one of the most important aspects of modern Android development. As such, we as Android Developers need to develop apps that are secure and safe for users.

In this session, I will explain some of the ways to make our Android apps secure. Having worked on financial applications for close to a year, I'll share some of the things to look at when securing your apps.

Compose once, and Run Everywhere!

Jetpack Compose has had new additions over the last few months that allow you to build beautiful apps across devices, on phones, tablets, foldables, Chrome OS and Wear OS.

In this session, I'll cover how to use Jetpack Compose to develop apps for these different form factors. I'll share some of the available tools to use in Android Studio, like emulators and layout editors, which make it easier for you to build and test. Additionally, I'll cover the APIs available and show how to take the simplicity and decorativeness of Jetpack Compose to achieve all this.

Come prepared to compose once and run everywhere!

Android Developer Keynote from Google I/O 2022

Google I/O 2022 just ended. This is the more anticipated event for developers around the Google Developer Ecosystem. In Android too, Google introduced more tools, libraries, and services for doing things in Modern Android Development.



Come learn the new announcements from Google I/O starting from improvements to Jetpack Compose, updates to a bunch of Jetpack Libraries, and an announcement of Jetpack Compose for Wear OS(beta). We’ll also see what’s new in the Android Development Tools and some of the new entry Jetpack Libraries.

 More importantly,

I’ll share new exciting features on Android 13 and the special focus on building for large screens and the new things on the Play Store.

Come, and read this letter from Google I/O 22 to us Android Developers!

Android Things

Beginner codelab on Android Things to introduce developers to IoT through Android Things. The codelab will focus on getting started with Android Things. Developers will learn how to get set up with Android Things and create simple project on Android Things.
During the codelab we will have a talk and Q & A session.

Improving application architecture : The right way

To build modern apps that scale, architecture is a very key component.

In this session, attendees will learn how to properly architect their android apps. From learning architecture patterns(MVVM) and how it works, to learning how to use Jetpack Components to address common pain points in Android Development.

In this session, am going to share my experience in application architecture, lessons learnt along the way, pros and cons and also most importantly, the things to avoid when you are looking for a good architecture for your android application.

The areas to be covered are but not limited to :
1. Repository Pattern In Android
2. ViewModel and ViewModel Saved State
3. Using Kotlin Coroutines for Network Calls
4. MVVM as an architecture pattern
5. Proper Error Handling

The session will be a use-case based approach with sample use cases of real android applications as learnt while developing Android Apps at Apps:Lab.

State management using Kotlin's Sealed Classes

Managing states in android can be quite a task when not carefully approached.So many problems can occur due to poor state management,for example: poor failure handling, code becomes hard to read and multiple responsibilities for simple use cases. With Kotlin, we have Sealed classes to our rescue.

Sealed Classes are useful when modeling state’s within various app workflows. In this workshop we'll be looking at how to leverage the power of Kotlin Sealed Classes .The attendees will get to see what they are, how they work and how they can use sealed classes to mange states in developing android applications.

Harun Wangereka

GDE Android, Android Engineer at Apollo Agriculture

Nairobi, Kenya

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