App Quality Tapping Into the Minds of the Top Market Leaders and Influencers Today
Android Performance Optimization - UI Rendering
This article focuses on UI optimization and rendering efficiency. We will start with techniques that are applicable to both XML and Jetpack Compose, then we will continue with the XML, and finally, we will focus on optimizing Jetpack Compose UIs.
Featured Stories
Collection
all
|interview
ios
android
more ...
android
performance
Android Performance Optimization - UI Rendering
This article focuses on UI optimization and rendering efficiency. We will start with techniques that are applicable to both XML and Jetpack Compose, then we will continue with the XML, and finally, we will focus on optimizing Jetpack Compose UIs.
5/13/2024
android
hilt
dependency-injection
Benefits of Hilt for Dependency Injection in Android App Development
Dependency Injection (DI) is a software design pattern commonly used in object-oriented programming and particularly prevalent in Android app development. It's a fundamental concept that aims to decouple classes from their dependencies, making them more modular, testable, and maintainable. Hilt is a dependency injection library for Android built on top of Dagger, developed by Google as part of the Android Jetpack libraries. Dagger is a dependency injection framework for Kotlin and Java applications. It helps manage dependencies by automatically providing and managing instances of classes that your application needs. Hilt aims to simplify the implementation of dependency injection in Android apps by providing a set of predefined components and annotations tailored specifically for Android development.
5/6/2024
android
log
In The Deep Rough - Lessons Learned From Logging On The Golf Course
Logging has proven to be an indispensable tool in my workflow, especially when developing new features. This article aims to guide you through key questions that shape a successful logging strategy along with some considerations around performance. Concluding with practical insights, it features a few case studies from Arccos Golf, demonstrating how logging has been instrumental in resolving real-world bugs.
3/6/2024
android
performance
Android Performance profiling & Optimization - Memory RAM
This article delves deeper into the crucial aspect of RAM optimization, examining strategies for profiling and managing memory usage effectively to enhance your app's performance and user experience.
2/26/2024
android
ios
kmm
cross-platform
kotlin
flutter
Kotlin Multiplatform Mobile (KMM)
Kotlin Multiplatform Mobile is an extension of the Kotlin programming language that enables the sharing of code between different platforms, including Android and iOS. Unlike traditional cross-platform frameworks that rely on a common runtime, KMM allows developers to write platform-specific code while sharing business logic and other non-UI code.
2/13/2024
android
performance
Android Performance Optimization Series- Battery & CPU
Performance is crucial in Android app development in order to meet the growing user expectations. Users demand smooth, responsive, and battery-efficient experiences, and they won't hesitate to uninstall apps that fall short. As developers, it's our responsibility to ensure our Android applications are not just functional but also performant.
12/21/2023
android
biometric
authentication
security
Implementing Biometric Authentication in Android with Jetpack Compose- A Step-by-Step Guide
Biometric authentication is a cutting-edge method that leverages the unique physiological and behavioral characteristics of an individual to grant access to applications and sensitive data. Instead of relying solely on traditional methods like PINs or passwords, biometric authentication harnesses distinctive traits such as fingerprints, facial features, and iris patterns to verify a user's identity.
11/6/2023
android
layout
RecyclerView Vs ListView in Android
RecyclerView and ListView are two popular options for displaying long lists of data within an Android application. Both are subclasses of the ViewGroup class and can be used to display scrollable lists. However, they have different features, capabilities and implementation.
10/11/2023
android
kotlin
jetpack compose
From Android Views to Jetpack Compose- Migrate a recycler view to the Jetpack Compose Lazy Column
Jetpack Compose is a revolutionary UI toolkit introduced by Google for building native Android applications. Unlike traditional Android Views, Jetpack Compose adopts a declarative approach to UI development, allowing developers to create user interfaces using composable functions.
8/8/2023
android
layout
Does ConstraintLayout Replace Other Layout Options in Android?
Does `ConstraintLayout` replace other layouts? No doubt one can build a complicated UI by means of `ConstraintLayout` alone. Although, looking at the resulting code, some might prefer traditional options as being (arguably) easier to modularize and reuse, relatively complicated UI can be built simpler and using less code. The more sophisticated the UI, the more evident the statement becomes.
7/23/2023
swift
swiftui
Debugging SwiftUI Views Redraws
Troubleshooting SwiftUI is often a challenge. To understand what happens under the hood, we need debugging. But how does debugging work in a value-oriented environment, where no state is ever preserved? Let’s see how SwiftUI views can be debugged using an example.
4/25/2023
swift
swiftui
State Restoration in SwiftUI
When dealing with the applications you want the app’s state to be preserved across its launches. But unfortunately, that’s not a default behavior in iOS. Let’s look at how we as developers can walk an extra mile in order to provide our users with a better experience by retaining app data.
3/27/2023
firebase
crashlytics
exceptions
Firebase Crashlytics Features
Troubles associated with crash fixing have led to creation of tools that help with logging all relevant information from remote devices, the most famous and widely used of which is undoubtedly Crashlytics.
1/24/2023
ios
log
apple
swift
objective-c
iOS Logs - Apple’s Unified Logging System
In 2016, Apple presented its replacement for ASL, the OSLog framework, also known as unified logging. And “unified” is right- It has a simple and clean API for creating entries, and an efficient way of reading logs across all Apple platforms. It logs both kernel and user events, and lets you read them all in a single place.
1/17/2023
swift
swiftui
navigation
SwiftUI Navigation in iOS 16
Navigation in SwiftUI has been a pain point for its users, especially with regard to bigger code bases, and Apple’s attention to navigation in this update will put a smile on the faces of many developers. But with this overhaul come new warnings and deprecations. Let’s take a look at SwiftUI’s navigation updates in practice and explore how to implement its features.
10/31/2022
code-review
The Culture of Code Review
The practice of code review has become so popular that everybody understands it intuitively - One or several people read and discuss all code before it’s merged with the common code base. The purpose of this activity is to improve the quality of code—an extra pair of eyes can catch more flaws.
10/27/2022
kotlin
coroutines
Kotlin Coroutines - Asynchronous Programming in Kotlin Android
Kotlin Coroutines not only enable asynchronous programming—often known as non-blocking programming—but also offer up plenty of additional possibilities, such as concurrency and actors. Coroutines on Android manage lengthy operations that will otherwise render your app unresponsive by blocking the main thread.
9/14/2022
ios
swift
kotlin
java
android
exception
crash
Exception Handling – Java vs. Kotlin vs. Swift
One notable Java language invention was checked exceptions—a model that later was often criticized. Let’s see if checked exceptions are really that harmful and look at what’s being used instead in contemporary programming languages, such as Kotlin and Swift.
7/17/2022
ios
swift
version
What to Expect from Swift 5.7
There are plenty of things we already know will be included in Swift 5.7, so let’s look at the most interesting developments.
7/10/2022
readablity
performance
Code Readability vs. Performance
What’s more important, readability or performance? And are they necessarily mutually exclusive? Let’s find out. What does it mean for code to be readable and what does it mean for it to be performant?
6/16/2022
android
kotlin
unit-test
Unit Testing in Android Development
This post will show you why you should perform unit testing and how to implement it in your Android development project.
6/1/2022
ios
swift
swiftui
storyboard
Swiftui vs Storyboard
In this article, we will compare SwiftUI and storyboards. Hint: SwiftUI is more powerful.
5/8/2022
ios
swift
version
What’s New in Swift 5.6
Built-in concurrency—released just last September with Swift 5.5—became an exciting game changer. And now, the next language release, 5.6, is out. In this post, we’ll take a peek at what this latest version delivers.
3/28/2022
ios
swift
concurrency
multi-threading
The Pitfalls of Async-Await
In this post, we will discuss concurrency and multithreading in iOS. We’ll start with what it was like to work with completion handlers before Swift 5.5 supported `async-await` statements. We’ll also explore some of the challenges of `async-await` and how to solve them.
3/20/2022
interview
log
android
kotlin
Tech in a Clothing Company
Interview with Mobile Lead at Nike, Author, Google Developers Group Beer Sheva Cofounder, Yossi Elkrief
2/13/2022
interview
log
open-source
elastic
Shaping the future of logs and open source
Interview with Dotan Horovits who started his career as a developer, moved to become a System Architect and Director of Product Management. This gives a broad understanding of various aspects of app development, which is extremely relevant for this blog where we focus on app quality in a broad sense. Today, Dotan is a Technology Evangelist, Podcaster, Speaker and Blogger at Logz.io .
1/30/2022
interview
log
QA
The Sauce Labs secret sauce: help businesses trust their code!
Yair Bar-On is a serial entrepreneur whose company, TestFairy, was acquired earlier this year by Sauce Labs. TestFairy is a mobile beta testing platform, handling app distribution, session recordings, and user feedback, in enterprise and secure environments.
1/11/2022
ios
unit-test
swift
Unit and UI Testing in iOS Development
In software development, you need to do software testing to avoid programs that do not match your requirements. In this post, we’ll discuss software testing and its benefits.
12/9/2021
interview
swift
flutter
react-native
Interview with the Author of the Brilliant Programming Cookbook Series, Vandad Nahavandipoor
Vandad has written a number of books published by O'Reilly such as iOS programming Cookbook, Swift Programming Cookbook and others, what’s more recently he has been publishing a ton of content, including videos with tips and tricks relating to Flutter on Youtube and Github. Vandaad currently has more then 2000 stars on Github for “Flutter Tips and Tricks”.
11/29/2021
interview
tesla
Diving Deep with the Expert on App Quality: Eran Kinsbruner
Eran Kinsburner who is Product Management and Quality in a number of very large corporations. For the last 10 years he has been the Chief Evangelist at Perforce Software. Not less important, Eran is a Best Selling Author of a number of books focusing on software testing and quality.
11/22/2021
interview
facebook
Forbes Dubbed him “The Man Transforming Startup Nation to Scale up Nation”: Interviewing the Amazing Hillel Fuld
Hillel Fuld has been named the 7th top tech blogger worldwide, he is named Israel’s top marketer, and on Forbes, was dubbed “The Man Transforming Startup Nation to Scale up Nation.” Hillel is a global speaker, tech blogger, startup marketer, and leading online influencer.
11/1/2021
firebase
crashlytics
log
crash
exception
event
Mobile Logs: The Missing Link for Monitoring App Quality
In this blog post, we give hands-on examples of why and how to add the third, crucial pillar to complete the analysis and fixing of app issues in the production environment - logs.
10/27/2021
interview
Blogging Your Way to Becoming a Better Developer: With Antoine van der Lee
Antoine van der Lee has an excellent Swift blog SwiftLee, and works at Dutch digital giant WeTransfer.
10/10/2021
tesla
log
Tesla’s Logging Systems Solve Mysteries
Tesla thanks to responsible company practice, Tesla’s cars log every drive so that each action and reaction of the car’s system is uploaded to the cloud. This makes finding the cause of accidents as simple as clicking a button.
7/2/2021
android
purchase
Easy Integration of In-App Purchasing for Android Apps
In-app purchases are a common way for developers to create a free application, and then provide users with options to upgrade through in-app purchases. Google Play in-app purchases are the simplest solution to selling digital products or content on Android apps. Therefore, many app developers who are looking to sell digital goods, or offer premium membership to users, use the Google Play in-app billing process for smooth and easy checkouts.
3/1/2021
gdpr
log
Why the GDPR Will Protect Both Programmer and End User
Prior to its coming into effect, a directive governed what companies could and could not collect about their customers and users. The issue with a directive is that it allows each of the member states of the EU to adopt and edit the directive to fit their needs. The GDPR in comparison, must be accepted in its entirety by all member states of the EU. It also applies to companies located outside of the EU, but with activity within the EU. In short, the ratification of the GDPR has made data protection more expansive, up-to-date, non-negotiable and compulsory.
7/20/2020
covid-19
log
Technological Consolidation During Corona
Times are challenging and in many parts of the world even frightening. Both health wise and on an economic scale. Almost everything seems to have stopped. International flights have certainly stopped. Many stores, building projects, hairdressers and so on are not able to continue their businesses for the moment. Like with so many other things, the stalemate is spreading like rings in the water.
4/28/2020
log
What's the Connection Between a Wooden Log and a Log in Software
The word ‘log’ has several meanings. A log is a piece of raw wood after it has been cut down in a forest. Another meaning is a nautical measurement of speed. You can guess that there’s a connection between a log in a forest and a log in a computer program. But what really is the connection?
10/24/2019
gdpr
log
A Short Guide to the Laws of GDPR for Mobile Log Writers
what’s more important is that you are one of those who understands that mobile logs contain important information which is gathered from the user – and it’s not just ‘any’ information.According to the European GDPR law it is forbidden to collect data on your customer for no particular purpose – and rightly so. Information collected on logs is intended to improve the quality of use of the mobile app. The information on the logs enables the correction of problems in the app without the user having to contact the app owner. While it is being used the programmer receives a list of logs.
7/27/2019
severity
log
How to Keep Error Logs to 0
This article will try to define a way of keeping error logs to 0 in you mobile app logs. Before that, let’s discuss the importance of doing this.
3/26/2019
crash
log
Is A Crash Reporting Tool enough? Do I also need a Log Management tool?
In the mobile app development world it is very common to use Crash Reporting Tools. But it is much less common to use Log Management Tools. Developers view a crash in the app as a top priority that has to be fixed. There is no doubt that a crash in the app is very disturbing for the user experience of the app. But, it isn’t the only thing that disturbs the user experience.
3/13/2019
debug
log
Debugging vs. Logging in Mobile App Development
In the early days of computer programming there were no good debuggers available that helped you debug the program step by step, therefore the easiest way was to print it in the console. Even when there were better debuggers they were not well integrated into an IDE so it was much easier just to write printf and to get the information thru the console. But once the developer has already written many printfs/logs, why not just save the console output so that the developer will always have this information when needed.
2/27/2019
mobile
log
Why Don't Mobile App Developers Use Logs
The question is why, in mobile app development, developers aren’t using the app logs to analyze app issues. Some even remove them before production, for example, in Android they use ״proguard״ to remove the logs.
1/16/2019
android
log
severity
Android Log Levels
The log levels in android. People are not logging their app in a systematic way. There are several guides that explain the levels but they usually just define them. I’ll try to help you decide which log level should be used.
12/24/2018