# pixel

Published articles for pixel.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Google's September 2026 Pixel update addresses a modem vulnerability reportedly under limited, targeted exploitation

DevFeed: [Google's September 2026 Pixel update addresses a modem vulnerability reportedly under limited, targeted exploitation](<https://devfeed.tech/articles/google-pixel-owners-urged-to-patch-actively-exploited-modem-flaw-30920.md>)

Original publisher: [Read original article](<https://www.malwarebytes.com/blog/mobile/2026/09/google-pixel-owners-urged-to-patch-actively-exploited-modem-flaw>)

Author: Pieter Arntz

Published: 2026-09-16T10:39:04Z

Content type: news

Language: en

Sources: [Malwarebytes](<https://devfeed.tech/sources/malwarebytes.md>)

Topics: [Google](<https://devfeed.tech/topics/google.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>), [Android Security](<https://devfeed.tech/topics/android-security.md>), [Security & Privacy](<https://devfeed.tech/topics/security-privacy.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>)

Tags: [android-security](<https://devfeed.tech/tags/android-security.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [cve-2026-58704](<https://devfeed.tech/tags/cve-2026-58704.md>), [google](<https://devfeed.tech/tags/google.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [modem](<https://devfeed.tech/tags/modem.md>), [news](<https://devfeed.tech/tags/news.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [security](<https://devfeed.tech/tags/security.md>), [update](<https://devfeed.tech/tags/update.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>), [vulnerability](<https://devfeed.tech/tags/vulnerability.md>)

### AI overview

Google's September 2026 Pixel security update fixes 110 vulnerabilities, including CVE-2026-58704, a high-severity cellular modem permission-bypass flaw that may be under limited, targeted exploitation. Pixel users should install the update and verify that their device shows the September 5, 2026 security patch level or later.

### Source excerpt

Google's September Pixel update fixes 110 vulnerabilities, including a modem flaw being used in limited, targeted attacks.

## Italy's email open tracking pixels rules are changing

DevFeed: [Italy's email open tracking pixels rules are changing](<https://devfeed.tech/articles/italy-s-email-open-tracking-pixels-rules-are-changing-26248.md>)

Original publisher: [Read original article](<https://www.twilio.com/en-us/blog/insights/italy-open-pixel-rules>)

Author: Denis O'Sullivan

Published: 2026-09-14T00:00:00Z

Content type: article

Language: en

Sources: [Twilio Blog](<https://devfeed.tech/sources/twilio-blog.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Forms](<https://devfeed.tech/topics/forms.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [communications](<https://devfeed.tech/tags/communications.md>), [compliance](<https://devfeed.tech/tags/compliance.md>), [data-protection](<https://devfeed.tech/tags/data-protection.md>), [email](<https://devfeed.tech/tags/email.md>), [industry-insights](<https://devfeed.tech/tags/industry-insights.md>), [law](<https://devfeed.tech/tags/law.md>), [legal](<https://devfeed.tech/tags/legal.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [regulatory](<https://devfeed.tech/tags/regulatory.md>), [requirements](<https://devfeed.tech/tags/requirements.md>)

### AI overview

Italy's data protection authority has issued new rules for email open-tracking pixels. Senders must disclose their use, obtain prior explicit consent for many uses, update opt-in forms, and provide opt-out options. The rules include different requirements for subscribers who joined before and after April 29, 2026, with a compliance deadline of October 28, 2026.

### Source excerpt

Italy has followed France and introduced rules around email open tracking pixels. Here's what you need to know.

## AI Prototyping in 2026: The PM Field Guide

DevFeed: [AI Prototyping in 2026: The PM Field Guide](<https://devfeed.tech/articles/ai-prototyping-in-2026-the-pm-field-guide-39172.md>)

Original publisher: [Read original article](<https://www.productcompass.pm/p/ai-prototyping-lovable-ai-studio-claude>)

Author: Paweł Huryn

Published: 2026-08-19T12:19:16Z

Content type: tutorial

Language: en

Sources: [The Product Compass](<https://devfeed.tech/sources/the-product-compass.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [prompt](<https://devfeed.tech/topics/prompt.md>), [Tool](<https://devfeed.tech/topics/tool.md>), [Security](<https://devfeed.tech/topics/security.md>), [pixel](<https://devfeed.tech/topics/pixel.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [ai](<https://devfeed.tech/tags/ai.md>), [context](<https://devfeed.tech/tags/context.md>), [field](<https://devfeed.tech/tags/field.md>), [guide](<https://devfeed.tech/tags/guide.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [prompt](<https://devfeed.tech/tags/prompt.md>), [security](<https://devfeed.tech/tags/security.md>), [tool](<https://devfeed.tech/tags/tool.md>)

### AI overview

A field guide to AI prototyping that compares tools for different jobs, presents a context prompt, recommends a security check before sharing a link, and addresses pixel-perfect handoff.

### Source excerpt

I built the same CRM four times in just over an hour, live. The field guide: which tool for which job, the context prompt that beats a spec, the security check before you share a link, and the pixel-perfect handoff

## Haiku Activity & Contract Report, July 2026

DevFeed: [Haiku Activity & Contract Report, July 2026](<https://devfeed.tech/articles/haiku-activity-contract-report-july-2026-34787.md>)

Original publisher: [Read original article](<https://www.haiku-os.org/blog/waddlesplash/2026-08-14-haiku_activity_contract_report_july_2026/>)

Author: waddlesplash

Published: 2026-08-14T16:00:00Z

Content type: news

Language: en

Sources: [Haiku Project](<https://devfeed.tech/sources/haiku-project.md>)

Topics: [App](<https://devfeed.tech/topics/app.md>), [GUI](<https://devfeed.tech/topics/gui.md>), [Bluetooth](<https://devfeed.tech/topics/bluetooth.md>), [x86](<https://devfeed.tech/topics/x86.md>), [Font](<https://devfeed.tech/topics/font.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [Terminal](<https://devfeed.tech/topics/terminal.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [activity-report](<https://devfeed.tech/tags/activity-report.md>), [app](<https://devfeed.tech/tags/app.md>), [bluetooth](<https://devfeed.tech/tags/bluetooth.md>), [contractor](<https://devfeed.tech/tags/contractor.md>), [gui](<https://devfeed.tech/tags/gui.md>), [network](<https://devfeed.tech/tags/network.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [report](<https://devfeed.tech/tags/report.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [x86](<https://devfeed.tech/tags/x86.md>)

### AI overview

Haiku's July 2026 activity and contract report covers revisions hrev59821 through hrev59921. It summarizes GUI, application, translation, storage, CPU detection, video playback, server, and filesystem changes, along with bug fixes and improvements across Haiku.

### Source excerpt

This report covers hrev59821 through hrev59921. Applications humdinger adjusted a lot of GUI strings in the Bluetooth preferences to conform to our Interface Guidelines. aquamatic123 (GSoC '26) implemented a number of improvements in the Devices application. (He's since posted a blogpost covering these.) PulkoMandy cleaned up the layout of the URL bar for WebPositive, making things look a bit cleaner. madmax fixed the scaling of the close button on WebPositive's Find bar. k32n13 improved the pixel positioning of filename editors in Tracker, and also adjusted highlight box sizing slightly. humdinger moved "More details" in SoftwareUpdater into its settings window. madmax fixed a number of problems with translation catalogs in various applications, including Tracker, Terminal, Network preferences, and more. nathan242 implemented the ability to change the partition types in DriveSetup, making it easier to set up GPT disks for Haiku. madmax fixed the redrawing of some parts of Tracker's Info window and "count" view. jscipione fixed dragging inside the root window, and disabled the Disks dropdown on open/save panels. PulkoMandy updated the credits section of AboutSystem. apl fixed HaikuDepot to automatically deselect packages when the filtered list changes and they're no longer in it. waddlesplash fixed a crash in the OverlayImage replicant. PulkoMandy updated the PNP and ACPI IDs lists used by Devices. Kits k32n13 fixed problems with invisible carets, margin/padding drawing, and missing uses of cached font heights in BTextView. phoudoin fixed shortcuts not working properly when Caps Lock was enabled. KevinAdams improved the x86 CPU name detection logic (used by AboutSystem and other applications) significantly, relying more on the "brand string" and only hardcoding names for CPUs that have no or incorrect "brand string"s. PulkoMandy came by later and improved things a bit more. korli fixed some problems with buffer management in BBufferIO. haydentech fixed the drawing o

## Seasons time-lapse - the video

DevFeed: [Seasons time-lapse - the video](<https://devfeed.tech/articles/seasons-time-lapse-the-video-18927.md>)

Original publisher: [Read original article](<https://blog.frankel.ch/seasons-time-lapse/3/>)

Author: Nicolas Fränkel

Published: 2026-06-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Nicolas Fränkel](<https://devfeed.tech/sources/nicolas-frankel.md>)

Topics: [Image](<https://devfeed.tech/topics/image.md>), [Code](<https://devfeed.tech/topics/code.md>), [DateTime](<https://devfeed.tech/topics/datetime.md>)

Tags: [art](<https://devfeed.tech/tags/art.md>), [cameras](<https://devfeed.tech/tags/cameras.md>), [code](<https://devfeed.tech/tags/code.md>), [development](<https://devfeed.tech/tags/development.md>), [images](<https://devfeed.tech/tags/images.md>), [information](<https://devfeed.tech/tags/information.md>), [location](<https://devfeed.tech/tags/location.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [model](<https://devfeed.tech/tags/model.md>), [pipeline](<https://devfeed.tech/tags/pipeline.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [project](<https://devfeed.tech/tags/project.md>), [python](<https://devfeed.tech/tags/python.md>), [rotation](<https://devfeed.tech/tags/rotation.md>), [screen](<https://devfeed.tech/tags/screen.md>), [speed](<https://devfeed.tech/tags/speed.md>), [time-lapse](<https://devfeed.tech/tags/time-lapse.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

The third and final post in a series explains how the author creates a time-lapse video from photographs taken from the same position over multiple years. It discusses ordering images by day of year and time of day, using EXIF metadata, and practical observations about video generation.

### Source excerpt

In the first post of this series, I focused on the project foundations: what should I do to create a video from photos taken from the same position year after year? I dedicated the second part to aligning images. It wasn't as easy as I expected. I stumbled upon new concepts, such as ORB and RANSAC. In this third and final post, I want to tackle the video creation itself, explain some 'artistic' decisions, and leave the door open to future work.

## Android 15 and 16 are now live on Maestro Cloud

DevFeed: [Android 15 and 16 are now live on Maestro Cloud](<https://devfeed.tech/articles/android-15-and-16-are-now-live-on-maestro-cloud-22879.md>)

Original publisher: [Read original article](<https://maestro.dev/blog/android-15-and-16-on-maestro-cloud>)

Author: Manu Armani

Published: 2026-05-21T12:00:00Z

Content type: release

Language: en

Sources: [mobile.dev - Medium](<https://devfeed.tech/sources/mobile-dev-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Mobile Testing](<https://devfeed.tech/topics/mobile-testing.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Google Play](<https://devfeed.tech/topics/google-play.md>), [releases](<https://devfeed.tech/topics/releases.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-16](<https://devfeed.tech/tags/android-16.md>), [google-play](<https://devfeed.tech/tags/google-play.md>), [maestro](<https://devfeed.tech/tags/maestro.md>), [mobile-testing](<https://devfeed.tech/tags/mobile-testing.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [releases](<https://devfeed.tech/tags/releases.md>), [testing](<https://devfeed.tech/tags/testing.md>)

### AI overview

Maestro Cloud now supports automated mobile tests on Android 15 and Android 16. The release adds five device profiles, including pixel_6_stock, with configurations aligned to Android Studio defaults to improve local-to-cloud parity.

### Source excerpt

Maestro Cloud now supports automated mobile testing on Android 15 and Android 16, with new Pixel device profiles including Pixel 9, Pixel 9 Pro XL...

## Bringing Rust to the Pixel Baseband

DevFeed: [Bringing Rust to the Pixel Baseband](<https://devfeed.tech/articles/bringing-rust-to-the-pixel-baseband-19818.md>)

Original publisher: [Read original article](<http://security.googleblog.com/2026/04/bringing-rust-to-pixel-baseband.html>)

Author: Edward Fernandez (noreply@blogger.com)

Published: 2026-04-10T15:12:00Z

Content type: article

Language: en

Sources: [Google Online Security](<https://devfeed.tech/sources/google-online-security.md>)

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [Memory Safety](<https://devfeed.tech/topics/memory-safety.md>), [Security](<https://devfeed.tech/topics/security.md>), [Parsing](<https://devfeed.tech/topics/parsing.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-security](<https://devfeed.tech/tags/android-security.md>), [dns](<https://devfeed.tech/tags/dns.md>), [google](<https://devfeed.tech/tags/google.md>), [internet](<https://devfeed.tech/tags/internet.md>), [library](<https://devfeed.tech/tags/library.md>), [memory-safety](<https://devfeed.tech/tags/memory-safety.md>), [none](<https://devfeed.tech/tags/none.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [parsing](<https://devfeed.tech/tags/parsing.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [remote-code-execution](<https://devfeed.tech/tags/remote-code-execution.md>), [rust](<https://devfeed.tech/tags/rust.md>), [security](<https://devfeed.tech/tags/security.md>), [test-coverage](<https://devfeed.tech/tags/test-coverage.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>)

### AI overview

Google describes integrating a memory-safe Rust DNS parser into Pixel modem firmware. The post explains the security motivation, the modem's remote attack surface, and the evaluation of open-source Rust DNS libraries, identifying hickory-proto as the best candidate based on maintenance, test coverage, and adoption.

### Source excerpt

Posted by Jiacheng Lu, Software Engineer, Google Pixel Team Google is continuously advancing the security of Pixel devices. We have been focusing on hardening the cellular baseband modem against exploitation. Recognizing the risks associated within the complex modem firmware, Pixel 9 shipped with mitigations against a range of memory-safety vulnerabilities. For Pixel 10, Google is advancing its proactive security measures further. Following our previous discussion on "Deploying Rust in Existing Firmware Codebases", this post shares a concrete application: integrating a memory-safe Rust DNS(Domain Name System) parser into the modem firmware. The new Rust-based DNS parser significantly reduces our security risk by mitigating an entire class of vulnerabilities in a risky area, while also laying the foundation for broader adoption of memory-safe code in other areas. Here we share our experience of working on it, and hope it can inspire the use of more memory safe languages in low-level environments. Why Modem Memory Safety Can't Wait In recent years, we have seen increasing interest in the cellular modem from attackers and security researchers. For example, Google's Project Zero gained remote code execution on Pixel modems over the Internet. Pixel modem has tens of Megabytes of executable code. Given the complexity and remote attack surface of the modem, other critical memory safety vulnerabilities may remain in the predominantly memory-unsafe firmware code. Why DNS? The DNS protocol is most commonly known in the context of browsers finding websites. With the evolution of cellular technology, modern cellular communications have migrated to digital data networks; consequently, even basic operations such as call forwarding rely on DNS services. DNS is a complex protocol and requires parsing of untrusted data, which can lead to vulnerabilities, particularly when implemented in a memory-unsafe language (example: CVE-2024-27227). Implementing the DNS parser in Rust offers va

## Tap Detection on Arbitrary Shapes with Compose

DevFeed: [Tap Detection on Arbitrary Shapes with Compose](<https://devfeed.tech/articles/tap-detection-on-arbitrary-shapes-with-compose-25609.md>)

Original publisher: [Read original article](<https://www.romainguy.dev/posts/2025/arbitrary-shape-tap-detection/>)

Author: Romain Guy

Published: 2025-12-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [Posts on Romain Guy](<https://devfeed.tech/sources/posts-on-romain-guy.md>)

Topics: [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [compose](<https://devfeed.tech/tags/compose.md>), [developer](<https://devfeed.tech/tags/developer.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [image](<https://devfeed.tech/tags/image.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [parameter](<https://devfeed.tech/tags/parameter.md>), [performance](<https://devfeed.tech/tags/performance.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [render](<https://devfeed.tech/tags/render.md>)

### AI overview

This tutorial explains how to use Jetpack Compose's PathHitTester API to detect taps and test whether 2D coordinates lie inside arbitrary paths. It covers coordinate transformations, efficient repeated hit testing, updating the tester after path changes, and generating paths from images with the pathway library.

### Source excerpt

Detecting whether a user tapped on an arbitrary shape represented by a Path is an unfortunately difficult task on Android. The Path class does not offer any API to do this, and the workaround I have seen folks use (representing the tap as a small rectangle/circle and computing the intersection with the test shape) is inefficient and sometimes fails. Thankfully, Jetpack Compose a simple way to perform this task. The video below shows how the Compose APIs can be used to detect taps, or generally perform any test requiring to check whether a specific 2D coordinate is contained inside a Path:

## Behind the build: 2025's BFCM globe in a pinball machine 🌎🕹

DevFeed: [Behind the build: 2025's BFCM globe in a pinball machine 🌎🕹](<https://devfeed.tech/articles/behind-the-build-2025-s-bfcm-globe-in-a-pinball-machine-1276.md>)

Original publisher: [Read original article](<https://shopify.engineering/2025-bfcm-live-globe>)

Author: Shopify Engineering

Published: 2025-12-03T14:28:24Z

Content type: article

Language: en

Sources: [Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering.md>), [Shopify Engineering - Shopify Engineering](<https://devfeed.tech/sources/shopify-engineering-shopify-engineering.md>)

Topics: [Shopify](<https://devfeed.tech/topics/shopify.md>), [Three.js](<https://devfeed.tech/topics/threejs.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [React](<https://devfeed.tech/topics/react.md>), [browser](<https://devfeed.tech/topics/browser.md>), [Three.js shaders](<https://devfeed.tech/topics/three-js-shaders.md>)

Tags: [2025](<https://devfeed.tech/tags/2025.md>), [3d](<https://devfeed.tech/tags/3d.md>), [browser](<https://devfeed.tech/tags/browser.md>), [js](<https://devfeed.tech/tags/js.md>), [performance](<https://devfeed.tech/tags/performance.md>), [physics](<https://devfeed.tech/tags/physics.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [react](<https://devfeed.tech/tags/react.md>), [react-three-fiber](<https://devfeed.tech/tags/react-three-fiber.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [server-sent-events](<https://devfeed.tech/tags/server-sent-events.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [stream](<https://devfeed.tech/tags/stream.md>), [three-js](<https://devfeed.tech/tags/three-js.md>)

### AI overview

Shopify describes its 2025 BFCM live globe, implemented as a browser-based pinball machine that visualizes merchant sales in real time. The three.js app uses react-three-fiber, server-sent events, a physics engine, VR support, and shaders for its display animations.

### Source excerpt

Real-time merchant sales rendered on our globe, Easter eggs galore, and a pinball machine because... why not?

## How Android and Google Messages protect users from mobile scams

DevFeed: [How Android and Google Messages protect users from mobile scams](<https://devfeed.tech/articles/how-android-provides-the-most-effective-protection-to-keep-you-safe-from-mobile-scams-19803.md>)

Original publisher: [Read original article](<http://security.googleblog.com/2025/10/how-android-protects-you-from-scams.html>)

Author: Edward Fernandez (noreply@blogger.com)

Published: 2025-10-30T16:59:00Z

Content type: article

Language: en

Sources: [Google Online Security](<https://devfeed.tech/sources/google-online-security.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Cybersecurity](<https://devfeed.tech/topics/cybersecurity.md>), [Security](<https://devfeed.tech/topics/security.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Google AI](<https://devfeed.tech/topics/google-ai.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Google](<https://devfeed.tech/topics/google.md>), [iphone](<https://devfeed.tech/topics/iphone.md>), [Messaging](<https://devfeed.tech/topics/messaging.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [android](<https://devfeed.tech/tags/android.md>), [android-security](<https://devfeed.tech/tags/android-security.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [google](<https://devfeed.tech/tags/google.md>), [google-ai](<https://devfeed.tech/tags/google-ai.md>), [ios](<https://devfeed.tech/tags/ios.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [messaging](<https://devfeed.tech/tags/messaging.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [none](<https://devfeed.tech/tags/none.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [protection](<https://devfeed.tech/tags/protection.md>), [report](<https://devfeed.tech/tags/report.md>), [scams](<https://devfeed.tech/tags/scams.md>), [security](<https://devfeed.tech/tags/security.md>), [smartphone](<https://devfeed.tech/tags/smartphone.md>), [survey](<https://devfeed.tech/tags/survey.md>)

### AI overview

This article describes Android's layered protections against mobile scams, including defenses for malicious calls and messages and safety checks for RCS. It also presents a Google and YouGov survey comparing reported scam experiences and confidence among Android and iOS users in the U.S., India, and Brazil.

### Source excerpt

Posted by Lyubov Farafonova, Product Manager, Phone by Google; Alberto Pastor Nieto, Sr. Product Manager Google Messages and RCS Spam and Abuse; Vijay Pareek, Manager, Android Messaging Trust and Safety As Cybersecurity Awareness Month wraps up, we're focusing on one of today's most pervasive digital threats: mobile scams. In the last 12 months, fraudsters have used advanced AI tools to create more convincing schemes, resulting in over $400 billion in stolen funds globally.¹ For years, Android has been on the frontlines in the battle against scammers, using the best of Google AI to build proactive, multi-layered protections that can anticipate and block scams before they reach you. Android's scam defenses protect users around the world from over 10 billion suspected malicious calls and messages every month2. In addition, Google continuously performs safety checks to maintain the integrity of the RCS service. In the past month alone, this ongoing process blocked over 100 million suspicious numbers from using RCS, stopping potential scams before they could even be sent. To show how our scam protections work in the real world, we asked users and independent security experts to compare how well Android and iOS protect you from these threats. We're also releasing a new report that explains how modern text scams are orchestrated, helping you understand the tactics fraudsters use and how to spot them. Survey shows Android users' confidence in scam protections Google and YouGov3 surveyed 5,000 smartphone users across the U.S., India, and Brazil about their scam experiences. The findings were clear: Android users reported receiving fewer scam texts and felt more confident that their device was keeping them safe. Android users were 58% more likely than iOS users to say they had not received any scam texts in the week prior to the survey. The advantage was even stronger on Pixel, where users were 96% more likely than iPhone owners to report zero scam texts4. At the other end o

## Fast calculation of the distance to cubic Bezier curves on the GPU

DevFeed: [Fast calculation of the distance to cubic Bezier curves on the GPU](<https://devfeed.tech/articles/fast-calculation-of-the-distance-to-cubic-bezier-curves-on-the-gpu-26120.md>)

Original publisher: [Read original article](<http://blog.pkh.me/p/46-fast-calculation-of-the-distance-to-cubic-bezier-curves-on-the-gpu.html>)

Published: 2025-10-18T09:21:56Z

Content type: article

Language: en

Sources: [The Last Static Blog RSS](<https://devfeed.tech/sources/the-last-static-blog-rss.md>)

Topics: [GPU](<https://devfeed.tech/topics/gpu.md>), [glsl](<https://devfeed.tech/topics/glsl.md>), [WebGL](<https://devfeed.tech/topics/webgl.md>), [shaders](<https://devfeed.tech/topics/shaders.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [glsl](<https://devfeed.tech/tags/glsl.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [math](<https://devfeed.tech/tags/math.md>), [maths](<https://devfeed.tech/tags/maths.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [prog](<https://devfeed.tech/tags/prog.md>), [shaders](<https://devfeed.tech/tags/shaders.md>), [source](<https://devfeed.tech/tags/source.md>), [visualization](<https://devfeed.tech/tags/visualization.md>), [webgl](<https://devfeed.tech/tags/webgl.md>), [webgl-demo](<https://devfeed.tech/tags/webgl-demo.md>)

### AI overview

This article explains how to calculate the distance from a point to a cubic Bézier curve on the GPU. It derives the distance function and its derivative, reducing the problem to solving a fifth-degree polynomial, and demonstrates the method with self-contained GLSL fragment shaders and WebGL visualizations.

### Source excerpt

Bézier curves are a core building block of text and 2D shapes rendering. There are several approaches to rendering them, but one especially challenging problem, both mathematically and technically, is computing the distance to a Bézier curve. For quadratic curves (one control point), this is fairly accessible, but for cubic (two control points) we're going to see why it is so hard. A glyph from the Virgil font, composed of multiple Bézier curves Having this distance field opens up many rendering possibilities. It's hard, but it's possible; here is a live proof: Distance to a cubic Bézier curve In this visualization, I'm borrowing your device resources to compute the distance to the curve for every single pixel. The yellow points are the control points of the curve (in white) and the blue zone is a representation of the distance field. Note All the demos and code in this article are self-contained GLSL fragment shaders. Most of the code can be found in the article, but feel free to inspect the source code of any of these WebGL demo for the complete code. They can be run verbatim using ShaderWorkshop. The basic maths In a previous article, we explained that a Bézier curve can be expressed as a polynomial. In our case, a cubic polynomial: B_3(t) = \textbf{a}t^3 + \textbf{b}t^2 + \textbf{c}t + \textbf{d} Where a, b, c and d are the vector coefficients derived from the start (P_0), end (P_3), and control points (P_1, P_2) using the following formulas (you can refer to the previous article for details): \begin{aligned} \textbf{a} &= -P_0 + 3(P_1-P_2) + P_3 \\ \textbf{b} &= 3P_0 - 6P_1 + 3P_2 \\ \textbf{c} &= -3P_0 + 3P_1 \\ \textbf{d} &= P_0 \end{aligned} For a given point p in 2D space, the distance to that Bézier curve can be expressed as a length between our curve and p: \begin{aligned} d(t) &= ||B_3(t) - \textbf{p}|| \\ &= ||\textbf{a}t^3 + \textbf{b}t^2 + \textbf{c}t + \textbf{d} - \textbf{p}|| \end{aligned} Our goal is to find the t value where d(t) is the smallest.

## How Pixel and Android are bringing a new level of trust to your images with C2PA Content Credentials

DevFeed: [How Pixel and Android are bringing a new level of trust to your images with C2PA Content Credentials](<https://devfeed.tech/articles/how-pixel-and-android-are-bringing-a-new-level-of-trust-to-your-images-with-c2pa-content-credentials-19801.md>)

Original publisher: [Read original article](<http://security.googleblog.com/2025/09/pixel-android-trusted-images-c2pa-content-credentials.html>)

Author: Edward Fernandez (noreply@blogger.com)

Published: 2025-09-10T15:59:00Z

Content type: article

Language: en

Sources: [Google Online Security](<https://devfeed.tech/sources/google-online-security.md>)

Topics: [Google](<https://devfeed.tech/topics/google.md>), [Android Security](<https://devfeed.tech/topics/android-security.md>), [Security](<https://devfeed.tech/topics/security.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Hardware](<https://devfeed.tech/topics/hardware.md>), [Generative AI](<https://devfeed.tech/topics/generative-ai.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-security](<https://devfeed.tech/tags/android-security.md>), [digital-signature](<https://devfeed.tech/tags/digital-signature.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [google](<https://devfeed.tech/tags/google.md>), [hardware](<https://devfeed.tech/tags/hardware.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Google describes how Pixel 10, Pixel Camera, and Google Photos will support C2PA Content Credentials to improve the provenance and verification of digital media. The article outlines Android-specific security capabilities, including Assurance Level 2, private certificate management, trusted timestamps, offline support, and hardware-backed protection, and says developers can apply the model to Android apps.

### Source excerpt

Posted by Eric Lynch, Senior Product Manager, Android Security, and Sherif Hanna, Group Product Manager, Google C2PA Core At Made by Google 2025, we announced that the new Google Pixel 10 phones will support C2PA Content Credentials in Pixel Camera and Google Photos. This announcement represents a series of steps towards greater digital media transparency: The Pixel 10 lineup is the first to have Content Credentials built in across every photo created by Pixel Camera. The Pixel Camera app achieved Assurance Level 2, the highest security rating currently defined by the C2PA Conformance Program. Assurance Level 2 for a mobile app is currently only possible on the Android platform. A private-by-design approach to C2PA certificate management, where no image or group of images can be related to one another or the person who created them. Pixel 10 phones support on-device trusted time-stamps, which ensures images captured with your native camera app can be trusted after the certificate expires, even if they were captured when your device was offline. These capabilities are powered by Google Tensor G5, Titan M2 security chip, the advanced hardware-backed security features of the Android platform, and Pixel engineering expertise. In this post, we'll break down our architectural blueprint for bringing a new level of trust to digital media, and how developers can apply this model to their own apps on Android. A New Approach to Content Credentials Generative AI can help us all to be more creative, productive, and innovative. But it can be hard to tell the difference between content that's been AI-generated, and content created without AI. The ability to verify the source and history--or provenance--of digital content is more important than ever. Content Credentials convey a rich set of information about how media such as images, videos, or audio files were made, protected by the same digital signature technology that has secured online transactions and mobile apps for decades. I

## Now in Android #120

DevFeed: [Now in Android #120](<https://devfeed.tech/articles/now-in-android-120-22674.md>)

Original publisher: [Read original article](<https://medium.com/androiddevelopers/now-in-android-120-76eb908b9a8c?source=rss----95b274b437c2---4>)

Author: Daniel Galpin

Published: 2025-08-06T21:01:41Z

Content type: article

Language: en

Sources: [Android Developers - Medium](<https://devfeed.tech/sources/android-developers-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Beta channel](<https://devfeed.tech/topics/beta-channel.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Google Play](<https://devfeed.tech/topics/google-play.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Image](<https://devfeed.tech/topics/image.md>)

Tags: [agentic-ai](<https://devfeed.tech/tags/agentic-ai.md>), [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [androidcanary](<https://devfeed.tech/tags/androidcanary.md>), [canary-release](<https://devfeed.tech/tags/canary-release.md>), [continuous-integration](<https://devfeed.tech/tags/continuous-integration.md>), [developer-preview](<https://devfeed.tech/tags/developer-preview.md>), [featured](<https://devfeed.tech/tags/featured.md>), [google-play](<https://devfeed.tech/tags/google-play.md>), [now-in-android](<https://devfeed.tech/tags/now-in-android.md>), [pixel](<https://devfeed.tech/tags/pixel.md>)

### AI overview

Now in Android #120 is a roundup of Android development updates covering the new Canary release channel, Agent Mode in Android Studio, Google Play changes including 16 KB Page Size requirements, Play Games updates, Android 16 devices, and Compose tips.

### Source excerpt

Canary Channel, Agentic AI in Android Studio, 16 KB Pages, Policy Changes, Compose Tips, Play Games Welcome to Now in Android, your ongoing guide to what's new and notable in the world of Android development. This edition features the Android platform Canary Channel, the first release of Agentic AI in Android Studio, Play updates including 16 KB Page Size requirements and other policy changes, new capabilities around one-time purchases, Play Games Services v2, and Google Play Games on PC, I/O recaps on AI and dev productivity, next gen Samsung devices running Android 16, Compose tips, and more. https://medium.com/media/2034f6e8beea3e321d4483d4ee77ebdf/hrefhttps://medium.com/media/0247cb404c27e0b8725bc258c35923bc/href Most of the content of this post is available in the form of a video or podcast, so feel free to watch or listen rather than read on. (Or do all three to help you remember! There won't be a quiz.) Evolving Android's early-access programs: Introducing the Canary channel 🐦 Android has introduced a new Canary release channel for its early-access programs, replacing the previous developer preview model. This channel provides earlier and more consistent access to in-development platform features throughout the year. The new Canary channel offers continuous, rolling over-the-air (OTA) updates for supported Pixel devices, addressing previous limitations where previews required manual flashing and the preview program ended once a platform version reached Beta, requiring manual flashing to enter it again for the next cycle. You can use the Canary channel to: Access new features and potential behavior changes in their earliest stages. Integrate builds into your Continuous Integration (CI) systems to identify app compatibility issues early. Download Canary SDKs through the SDK Manager and access builds via the Android Studio Canary channel for development and testing. The Canary channel operates in parallel with the existing Beta program. Canary builds are bleedin

## Change font-weight based on the user's screen DPI

DevFeed: [Change font-weight based on the user's screen DPI](<https://devfeed.tech/articles/change-font-weight-based-on-the-user-s-screen-dpi-37273.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/font-weight-based-on-dpi/>)

Author: Stanko

Published: 2025-02-03T00:00:00Z

Content type: tutorial

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [Font](<https://devfeed.tech/topics/font.md>), [CSS](<https://devfeed.tech/topics/css.md>), [Media Queries](<https://devfeed.tech/topics/media-queries.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [User Experience](<https://devfeed.tech/topics/user-experience.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [browser](<https://devfeed.tech/tags/browser.md>), [css](<https://devfeed.tech/tags/css.md>), [fonts](<https://devfeed.tech/tags/fonts.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [user-experience](<https://devfeed.tech/tags/user-experience.md>)

### AI overview

This tutorial explains that thin font weights can become blurry and difficult to read on low-DPI screens. It demonstrates progressive enhancement with CSS media queries: use a more readable default weight for low-DPI displays and apply a thinner weight on high-DPI displays. The technique can also be applied to font size and icon line width.

### Source excerpt

A lot of us as developers have hi-DPI screens, and we can easily forget to test the websites we build on low-DPI screens. One common issue I noticed is that thin font weights can be hard to read on low-DPI screens. Since there are fewer pixels to render details, fine lines can appear blurry due to anti-aliasing. Here is an example of the same text rendered on two screens with different device pixel ratios. At the top is a hi-DPI screen (with a pixel ratio of 2), and below is a low-DPI screen (with a pixel ratio of 1). The font used is Inter, 24px tall, with a font weight of 100. This problem is a great example of how we can use progressive enhancement to improve the user experience. We'll set a default font weight that is readable on low-DPI screens, then use CSS media queries to target hi-DPI screens and apply thinner fonts. Here is a code example: // Default font weight for low-DPI screens h1 { font-weight: 300; } // Progressive enhancement for hi-DPI screens // Making font thinner and more elegant @media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { h1 { font-weight: 100; } } This will set the font weight to 300 on low-DPI screens and 100 on hi-DPI screens. Feel free to adjust these values as needed. Additional applications # This is an example using font weight, but you can apply the same technique to other properties, such as font size or icon line width. Simulating low-DPI on Mac # This is a great tip from StackOverflow: Open System Settings > Accessibility > Zoom > Advanced > Uncheck "Smooth Images" Zoom out your browser to 50% Turn on the system Zoom (the default shortcut is Option + ⌘ + 8) This should give you a good idea of how your website appears on a low DPI screen. Sorry, Windows and Linux users! If you have a good solution for your system, please open a GitHub issue, and I'll add it here.

## Optimization, Step by Step

DevFeed: [Optimization, Step by Step](<https://devfeed.tech/articles/optimization-step-by-step-25603.md>)

Original publisher: [Read original article](<https://www.romainguy.dev/posts/2024/optimization-step-by-step/>)

Author: Romain Guy

Published: 2024-11-25T00:00:00Z

Content type: tutorial

Language: en

Sources: [Posts on Romain Guy](<https://devfeed.tech/sources/posts-on-romain-guy.md>)

Topics: [Optimization](<https://devfeed.tech/topics/optimization.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Android](<https://devfeed.tech/topics/android.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [android](<https://devfeed.tech/tags/android.md>), [android-14](<https://devfeed.tech/tags/android-14.md>), [code](<https://devfeed.tech/tags/code.md>), [developer](<https://devfeed.tech/tags/developer.md>), [graphics](<https://devfeed.tech/tags/graphics.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [optimization](<https://devfeed.tech/tags/optimization.md>), [performance](<https://devfeed.tech/tags/performance.md>), [pixel](<https://devfeed.tech/tags/pixel.md>)

### AI overview

This tutorial describes step-by-step optimizations to the Kotlin implementation of BlurHash decoding. On a Pixel 6 running Android 14, the changes made decoding a fixed blur hash into a 384x384 image up to 4.35 times faster; one optimization using direct character access and a lookup table improved performance by roughly 5%.

### Source excerpt

BlurHash is a compact representation of placeholders for images. A blur hash is encoded as a short string that can be rendered to a bitmap at runtime to display a "blurry" version of the source image. The way it works remind me of how spherical harmonics are used in 3D rendering engines to efficiently encode irradiance. I recently remembered that I had been meaning to look at the Kotlin implementation of BlurHash to see if there was a way to make it faster. I looked up the KMP port and after a few changes, I was able to make decoding a blur hash up to 4.35x faster on a Pixel 6 running Android 14. For all the measurements mentioned in this article, I decoded a fixed blur hash to a 384x384 image. The original code took 24.4 ms to do this when running at full speed, and 41.5 ms when locking the CPU clocks. This is way too long considering the low resolution of the image.

## Why does the chromaticity diagram look like that?

DevFeed: [Why does the chromaticity diagram look like that?](<https://devfeed.tech/articles/why-does-the-chromaticity-diagram-look-like-that-28097.md>)

Original publisher: [Read original article](<https://jlongster.com/why-chromaticity-shape>)

Author: James Long

Published: 2024-01-08T12:00:00Z

Content type: article

Language: en

Sources: [James Long](<https://devfeed.tech/sources/james-long.md>)

Topics: [math](<https://devfeed.tech/topics/math.md>), [pixel](<https://devfeed.tech/topics/pixel.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [color](<https://devfeed.tech/tags/color.md>), [image](<https://devfeed.tech/tags/image.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [rgb](<https://devfeed.tech/tags/rgb.md>), [theory](<https://devfeed.tech/tags/theory.md>)

### AI overview

This article explains why the CIE 1931 chromaticity diagram has its characteristic shape and how its colors are computed. It introduces color-matching functions for red, green, and blue, then describes calculating color mixtures and rendering sampled points into a two-dimensional image.

### Source excerpt

(note: skipping interactive content block) ^30b920 I've always wanted to understand color theory, so I started reading about the XYZ color space which looked like it was the mother of all color spaces. I had no idea what that meant, but it was created in 1931 so studying 93-year old research seemed like a good place to start. When reading about the XYZ color space, this cursed image keeps popping up: By BenRG - Own work based on: CIExy1931.svg, Public Domain, https://commons.wikimedia.org/w/index.php?curid=7889658 I say "cursed" because I have no idea what that means. What the heck is that shape?? I couldn't find any reasonably clear answer to my question. It's obviously not a formula like x = func(y). Why is it that shape, and where did the colors come from? Obviously the edges are wavelengths which have a specific color, but how did the image above compute every pixel? I became obsessed with this question. Below is the path I took to try to answer it. I'll spoil the answer but it might not make sense until you read this article: the shape comes from how our eyes perceive red, green, and blue relative to each other. Skip to the last section if you want to see some direct examples. The fill colors inside the shape are another story, but a simple explanation is there is some math to calculate the mixture of colors and we can draw the above by sampling millions of points in the space and rendering them onto the 2d image. Let's dig in more. (note: skipping interactive content block) ^f0af28 (note: skipping interactive content block) ^82e29b Color matching functions The first place to start is color matching functions. These functions determine the strength of specific wavelengths (color) to contribute so that our eyes perceive a target wavelength (color). We have 3 color matching functions for red, green, and blue (at wavelengths 700, 546, and 435 respectively), and these functions specify how to mix RGB to so that we visually see a spectral color. More simply put: ima

## Understanding Density-Independent Pixels

DevFeed: [Understanding Density-Independent Pixels](<https://devfeed.tech/articles/understanding-density-independent-pixels-38463.md>)

Original publisher: [Read original article](<https://eevis.codes/blog/2023-09-04/understanding-density-independent-pixels/>)

Author: Eevis Panula

Published: 2023-09-04T03:35:34.847000Z

Content type: tutorial

Language: en

Sources: [Eevis Blog](<https://devfeed.tech/sources/eevis-blog.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [Development](<https://devfeed.tech/topics/development.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Front end](<https://devfeed.tech/topics/frontend.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [development](<https://devfeed.tech/tags/development.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [screen](<https://devfeed.tech/tags/screen.md>)

### AI overview

This tutorial explains density-independent pixels (dp) in Android, why they help preserve UI sizing across screens with different pixel densities, and how Android maps dp to physical pixels. It also introduces pixel conversions in Jetpack Compose.

### Source excerpt

I switched to Android development from web front end, and one thing that was a bit hard to understand was how the density of Android screens affects the use of units. For web, I mainly worked with pixels, ems (the computed value of the element's font size), and rems (the computed value of the root element's font size). So, I wanted to write a blog post about this theme because I bet I'm not the only one. Let's first look at the density-independent pixels, what they are, and why they're used. After that, let's discuss the conversion between them and pixels. I've purposely omitted scale-independent pixels from this blog post to concentrate on density-independent pixels. What Are Density-Independent Pixels? Android devices have different sizes of screens. They also have different pixel sizes for a screen - so a certain amount of pixels in, e.g., width, looks different on a screen with fewer pixels compared to one with a lot more pixels. This is because one screen might fit only 320 pixels in the same physical space while the other fits 640 pixels. Density-independent pixels are here to fix the issues these differences cause. Android documentation defines density-independent pixels in the following way: To preserve the visible size of your UI on screens with different densities, design your UI using density-independent pixels (dp) as your unit of measurement. One dp is a virtual pixel unit that's roughly equal to one pixel on a medium-density screen (160 dpi, or the "baseline" density). Android translates this value to the appropriate number of real pixels for each other density. Source: Support different pixel densities - Android Developers Let's next look at the conversions between real pixels and density-independent pixels. Conversions Between Pixels and Density-Independent Pixels There are multiple cases when we need the conversion from device-independent pixels to pixels - and vice versa. Let's look at how we can convert them - first in the scope of Composable comp

## How Meetup Used Android Baseline Profiles to Reduce Cold Startup Time by 36%

DevFeed: [How Meetup Used Android Baseline Profiles to Reduce Cold Startup Time by 36%](<https://devfeed.tech/articles/from-snail-to-sonic-how-baseline-profiles-supercharged-meetup-s-android-app-23969.md>)

Original publisher: [Read original article](<https://medium.com/making-meetup/from-snail-to-sonic-how-baseline-profiles-supercharged-meetups-android-app-3a2f0670052e?source=rss----6981e268ba45---4>)

Author: Colin Lee

Published: 2023-07-19T19:26:13Z

Content type: article

Language: en

Sources: [Making Meetup - Medium](<https://devfeed.tech/sources/making-meetup-medium.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [App](<https://devfeed.tech/topics/app.md>), [Google](<https://devfeed.tech/topics/google.md>), [Refactoring](<https://devfeed.tech/topics/refactoring.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [app-development](<https://devfeed.tech/tags/app-development.md>), [app-performance](<https://devfeed.tech/tags/app-performance.md>), [app-startup](<https://devfeed.tech/tags/app-startup.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [google](<https://devfeed.tech/tags/google.md>), [google-i-o](<https://devfeed.tech/tags/google-i-o.md>), [meetup](<https://devfeed.tech/tags/meetup.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mobile-app-development](<https://devfeed.tech/tags/mobile-app-development.md>), [mobile-app-performance](<https://devfeed.tech/tags/mobile-app-performance.md>), [performance](<https://devfeed.tech/tags/performance.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [refactoring](<https://devfeed.tech/tags/refactoring.md>)

### AI overview

Meetup integrated Android baseline profiles into its main app and measured a 36% improvement in best-case cold startup time on a Pixel 3, from 970ms to 620ms. The article explains that baseline profiles let the JVM pre-compile functions before they are needed, while noting that the business impact on conversion, retention, and revenue was not established.

### Source excerpt

As consumers, we've all been there -- you download a new app, launch it for the first time, and are frustrated by how long it takes to start up. If an app is sluggish at first launch, it leaves a bad first impression that's hard to overcome. At Meetup, we realized having slower apps was likely costing us users and revenue. So we implemented a simple change that cut our app's startup time by 36%, delivering a smoother experience that helps us to convert and retain users. And -- we did it without even writing much code. The Meetup mobile app, which now uses baseline profiles to start up to 36% faster Here's how we did it. Google recently introduced a technology called baseline profiles that optimizes Android apps for faster launch times. It allows the Java Virtual Machine (JVM) to pre-compile functions so they're ready before they're needed. As soon as it was announced at Google I/O 2022, I began adding baseline profiles to Meetup's Android apps. Recently, I conducted a benchmark test to measure the impact. The results were astounding. We integrated baseline profiles into our main Meetup Android app and saw best case cold app startup times on a Pixel 3 drop from 970ms to 620ms -- a 36% improvement. For app performance, a 36% improvement is remarkable. On a large refactoring initiative at a previous company, we were only able to achieve a 10% improvement in performance. Easy performance wins like baseline profiles don't come across your desk every day. This is what a baseline profile actually looks like before it is converted into binary For a more detailed understanding of baseline profiles, I recommend watching the Google video below. The takeaway for any mobile app business is clear. Your app startup experience shapes lasting first impressions. Is your app fast and friction-less or sluggish and buggy? Investing in performance optimizations like baseline profiles can deliver a big competitive advantage by creating smoother first-time user experiences. The result is high

## Personal Heatmaps

DevFeed: [Personal Heatmaps](<https://devfeed.tech/articles/personal-heatmaps-26574.md>)

Original publisher: [Read original article](<https://medium.com/strava-engineering/personal-heatmaps-f51d15a0db2b?source=rss----89d4108ce2a3---4>)

Author: J Evans

Published: 2022-10-28T21:15:46Z

Content type: tutorial

Language: en

Sources: [Strava Engineering](<https://devfeed.tech/sources/strava-engineering.md>)

Topics: [data](<https://devfeed.tech/topics/data.md>), [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [real-time](<https://devfeed.tech/topics/real-time.md>), [Google Maps](<https://devfeed.tech/topics/google-maps.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [cycling](<https://devfeed.tech/tags/cycling.md>), [data](<https://devfeed.tech/tags/data.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [gis](<https://devfeed.tech/tags/gis.md>), [google-maps](<https://devfeed.tech/tags/google-maps.md>), [gps](<https://devfeed.tech/tags/gps.md>), [heat](<https://devfeed.tech/tags/heat.md>), [map](<https://devfeed.tech/tags/map.md>), [mapping](<https://devfeed.tech/tags/mapping.md>), [navigation](<https://devfeed.tech/tags/navigation.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [recursion](<https://devfeed.tech/tags/recursion.md>), [running](<https://devfeed.tech/tags/running.md>), [strava](<https://devfeed.tech/tags/strava.md>), [zoom](<https://devfeed.tech/tags/zoom.md>)

### AI overview

This article explains the algorithm behind Strava's Personal Heatmap, which renders an athlete's GPS activity as a frequency-based heatmap on an interactive world map. It focuses on Mercator projection and recursive map tiling, where 256x256 pixel tiles are served at different zoom levels for real-time navigation.

### Source excerpt

This post discusses the algorithm behind Personal Heatmap, one of Strava's most acclaimed subscriber features. Product Overview The Personal Heatmap feature has been around in some form since 2015, but we gave it a major overhaul in 2020. For those unfamiliar, the heatmap is an aggregated view of an athlete's GPS-enabled activities on Strava. Activity data is rendered onto a map according to path traversal frequency; the more an athlete runs on a road, the brighter -- i.e. "hotter" -- that road shows up on the map. The result is a beautiful color gradient displaying the intricate web of past activities, unique to each athlete. The Personal Heatmap is displayed on an interactive world map, also known as a slippy map. Athletes can seamlessly zoom in and out or pan around to arbitrary views of the map, and their activity heat stays displayed the entire time. To enable this, we must provide a scheme for rendering and serving subsections of the world map on the fly. Enter map tiling. Mercator Projection & Map Tiling Map tiling is the practice of subdividing a map into many discrete images that can be stitched together and rendered as a single image in real-time during map navigation. The first step in choosing a tiling scheme is picking what world map to use. Enter, the Mercator Projection, the most commonly used projection of Earth as a flat, rectangular surface. We use this projection in all of our mapping products, including heatmaps. https://medium.com/media/d9e120d13950dd0f1bb4ee14108aa9a9/href Now, imagine a grid overlaying the Mercator projection. Each grid section is known as a tile, a pixel image with resolution 256x256. Every tile has an associated zoom level, and tiles are defined recursively according to this zoom level. A tile at a given zoom level can be subdivided into four equal sized tiles at a next zoom level. For example, Zoom level 0 displays the entire planet in a single 256x256 pixel image. Zoom level 1 displays the world in four 256x256 pixel images.

## Chasing Monet inside the Android framework

DevFeed: [Chasing Monet inside the Android framework](<https://devfeed.tech/articles/chasing-monet-inside-the-android-framework-28362.md>)

Original publisher: [Read original article](<https://siddroid.com/post/android/chasing-monet-inside-the-android-framework/>)

Author: Siddhesh Patil

Published: 2022-04-27T23:50:55Z

Content type: article

Language: en

Sources: [Sid Patil - Android Engineer and Kotlin Advocate](<https://devfeed.tech/sources/sid-patil-android-engineer-and-kotlin-advocate.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [material-you](<https://devfeed.tech/topics/material-you.md>), [Material Design](<https://devfeed.tech/topics/material-design.md>), [ui](<https://devfeed.tech/topics/ui.md>), [color](<https://devfeed.tech/topics/color.md>), [aosp](<https://devfeed.tech/topics/aosp.md>), [android-13](<https://devfeed.tech/topics/android-13.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-12](<https://devfeed.tech/tags/android-12.md>), [android-13](<https://devfeed.tech/tags/android-13.md>), [android-framework](<https://devfeed.tech/tags/android-framework.md>), [android-open-source-project](<https://devfeed.tech/tags/android-open-source-project.md>), [android-system-ui](<https://devfeed.tech/tags/android-system-ui.md>), [aosp](<https://devfeed.tech/tags/aosp.md>), [article](<https://devfeed.tech/tags/article.md>), [articles-by-sid-patil](<https://devfeed.tech/tags/articles-by-sid-patil.md>), [color](<https://devfeed.tech/tags/color.md>), [deep-dive](<https://devfeed.tech/tags/deep-dive.md>), [design](<https://devfeed.tech/tags/design.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [dynamic-colors-jetpack-compose](<https://devfeed.tech/tags/dynamic-colors-jetpack-compose.md>), [dynamic-theming](<https://devfeed.tech/tags/dynamic-theming.md>), [dynamic-theming-on-android](<https://devfeed.tech/tags/dynamic-theming-on-android.md>), [framework](<https://devfeed.tech/tags/framework.md>), [how-does-dynamic-theming-work-on-android](<https://devfeed.tech/tags/how-does-dynamic-theming-work-on-android.md>), [internals](<https://devfeed.tech/tags/internals.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [material-design](<https://devfeed.tech/tags/material-design.md>), [material-design-3](<https://devfeed.tech/tags/material-design-3.md>), [material-you](<https://devfeed.tech/tags/material-you.md>), [md3](<https://devfeed.tech/tags/md3.md>), [monet](<https://devfeed.tech/tags/monet.md>), [monet-in-aosp](<https://devfeed.tech/tags/monet-in-aosp.md>), [monet-theme-engine](<https://devfeed.tech/tags/monet-theme-engine.md>), [monet-theming](<https://devfeed.tech/tags/monet-theming.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [system-ui-apk](<https://devfeed.tech/tags/system-ui-apk.md>), [tiramisu](<https://devfeed.tech/tags/tiramisu.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

A technical deep dive into Monet, the Android framework changes behind Android 12/12L dynamic theming and Material You. It explains how System UI responds to wallpaper changes, extracts colors, generates tonal palettes, and refreshes the system context.

### Source excerpt

We deep dive into the internals of the Android framework, covering the System-UI to understand the changes introduced starting from Android 12/12L and above, code-named Monet. We will explore the new system-wide dynamic theming capabilities and take a look at how Monet fuels the Material You design.

## Android UI screenshot testing across locales, font sizes, orientations, and UI modes

DevFeed: [Android UI screenshot testing across locales, font sizes, orientations, and UI modes](<https://devfeed.tech/articles/design-a-pixel-perfect-android-app-25689.md>)

Original publisher: [Read original article](<https://sergiosastre.hashnode.dev/design-a-pixel-perfect-android-app-with-screenshot-testing>)

Author: Sergio Sastre Florez

Published: 2022-03-30T05:29:19Z

Content type: tutorial

Language: en

Sources: [Sergio's little tech corner](<https://devfeed.tech/sources/sergio-s-little-tech-corner.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [screenshot-testing](<https://devfeed.tech/topics/screenshot-testing.md>), [ui-testing](<https://devfeed.tech/topics/ui-testing.md>), [ui](<https://devfeed.tech/topics/ui.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [User experience (UX)](<https://devfeed.tech/topics/ux.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [arabic](<https://devfeed.tech/tags/arabic.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [design](<https://devfeed.tech/tags/design.md>), [language](<https://devfeed.tech/tags/language.md>), [layout](<https://devfeed.tech/tags/layout.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [screenshot-testing](<https://devfeed.tech/tags/screenshot-testing.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>), [ui-testing](<https://devfeed.tech/tags/ui-testing.md>), [ux](<https://devfeed.tech/tags/ux.md>)

### AI overview

This tutorial explains how Android screenshot testing can verify UI correctness across configurations such as locales, font sizes, orientations, and light or dark modes. It also discusses localization concerns including right-to-left layouts, mirrored drawables, and numeral systems.

### Source excerpt

The success of your app depends heavily on its UI/UX. The more popular your app becomes, the more you should care about the diversity of your users. They might speak different languages, suffer from some sort of visual impairment, or feel too much ey...

## A Review of Generative Art, Blogging, Work, and Side Projects in 2021

DevFeed: [A Review of Generative Art, Blogging, Work, and Side Projects in 2021](<https://devfeed.tech/articles/into-2022-37290.md>)

Original publisher: [Read original article](<https://muffinman.io/blog/into-2022/>)

Author: Stanko

Published: 2022-03-04T00:00:00Z

Content type: opinion

Language: en

Sources: [Stanko Tadić](<https://devfeed.tech/sources/stanko-tadic.md>)

Topics: [generative art](<https://devfeed.tech/topics/generative-art.md>), [3D modeling](<https://devfeed.tech/topics/3d-modeling.md>), [pixel](<https://devfeed.tech/topics/pixel.md>), [ibm](<https://devfeed.tech/topics/ibm.md>)

Tags: [3d-modeling](<https://devfeed.tech/tags/3d-modeling.md>), [clients](<https://devfeed.tech/tags/clients.md>), [code](<https://devfeed.tech/tags/code.md>), [generative-art](<https://devfeed.tech/tags/generative-art.md>), [ibm](<https://devfeed.tech/tags/ibm.md>), [pixel](<https://devfeed.tech/tags/pixel.md>)

### AI overview

The author reviews 2021, covering generative art, reduced blogging activity, a redesign of the site from Jekyll to Zola, work with TED and IBM Research, and side projects including 3D modeling, electronics, and a pixel art frame.

### Source excerpt

I'm super late with this post, but again, better late than never. I just couldn't find the inspiration and drive for writing last year. Generally, I lacked motivation and wasn't really productive. Generative Art # As for my art, 2021 wasn't as fruitful as the year before, but I did finish a couple of drawings. I'm still very much into it and lately I have found my drive again. AxiDraw, the pen plotter, continues to be my favorite purchase ever. Here are a couple of my plotted drawings from the last year: I wrote a separate post about the creative process behind the last drawing - Breaking down Krypton. Blog # Oh boy, did I neglect this blog last year. I wrote only four posts. But I really couldn't find the inspiration and will to write. Naturally, the number of visits dropped, and it was a little above 90K. The fact that adblockers now block Goat Analytics also had an impact on numbers. Luckily, now I have way more drive to write and keep the site updated. This February, the blog got a redesign that I planned for a long time. I wanted to add "Art" and "Projects" sections, but I kept redesigning it over and over again. Finally, when I decided to switch from JekyllI'll probably cover that in a another post. to Zola I was able to focus and finish the redesign. I did the design myself, using the thing or two I picked up from my designer colleagues. I released it as soon as I had something presentable. It was super bare bones and I'm still tweaking it and adding more personality, but nonetheless, I'm pretty satisfied with how it turned out. Fun fact, you can try my layout debug mode, I kept it in the production on purpose. Work # Last year was productive for my company as a whole. I had the pleasure of working with two clients, TED and IBM Research. In both cases, teams consisted of wonderful people and I feel proud that I was able to help them build and improve their digital products. Side projects # I tremendously enjoy these small pet projects. Generative art was a bi

## Ideas and Solutions for Advent of Code 2021 in Kotlin -- Part 4/4

DevFeed: [Ideas and Solutions for Advent of Code 2021 in Kotlin -- Part 4/4](<https://devfeed.tech/articles/ideas-and-solutions-for-advent-of-code-2021-in-kotlin-part-4-4-24736.md>)

Original publisher: [Read original article](<https://medium.com/xorum-io/ideas-and-solutions-for-advent-of-code-2021-in-kotlin-part-4-4-75c207692bdb?source=rss----92bb7980cc9f---4>)

Author: Yev Kanivets

Published: 2021-12-26T14:39:41Z

Content type: tutorial

Language: en

Sources: [xorum.io - Medium](<https://devfeed.tech/sources/xorum-io-medium.md>)

Topics: [Advent of Code](<https://devfeed.tech/topics/advent-of-code.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [3D](<https://devfeed.tech/topics/3d.md>), [pixel](<https://devfeed.tech/topics/pixel.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [advent-of-code](<https://devfeed.tech/tags/advent-of-code.md>), [algorithms](<https://devfeed.tech/tags/algorithms.md>), [array](<https://devfeed.tech/tags/array.md>), [beacon](<https://devfeed.tech/tags/beacon.md>), [competitive-programming](<https://devfeed.tech/tags/competitive-programming.md>), [data-structures](<https://devfeed.tech/tags/data-structures.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [points](<https://devfeed.tech/tags/points.md>), [scanner](<https://devfeed.tech/tags/scanner.md>), [solutions](<https://devfeed.tech/tags/solutions.md>)

### AI overview

A Kotlin walkthrough of Advent of Code 2021 tasks 19 and 20. It explains matching rotated point sets in 3D space using beacon intersections, then enhancing an image represented as a 2D pixel array while accounting for infinite padding and changing background values.

### Source excerpt

Ideas and Solutions for Advent of Code 2021 in Kotlin -- Part 4/4 The final week of Advent of Code was, obviously, the most challenging one. To be honest I was close to being happy with just a silver star multiple times. But at the end, tenacity made the difference. 50 stars are mine this year 🌟 Ideas and Solutions for tasks 1 to 6 can be found here, for tasks 7 to 12 -- here, for tasks 13 to 18 -- here. Day 19: Beacon Scanner We are provided with several sets of points in 3D space. Those points are rotated differently in each set, so we don't know how X, Y, and Z coordinates are aligned between sets. Our goal is to merge all those sets into a single group by matching points (sub-task one) and find the most significant distance between coordinate origins after they are matched. Here is the complete task. This is an exciting task! I've initially learned about this idea from The Three-Body Problem book, which introduced the concept of locating any star in the Universe by the distances from a few nearest stars -- in our case, "a few" means 12. Think about it as a star fingerprint ;) So to match the sets of points in 3D space, we need: check all combinations of rotations in three dimensions (in our task, the step is 90 degrees, so there are 48 combinations) for the whole set assume that each pair of points from the first set and the second set is an intersection by adjusting all points to that pair check how many adjusted points intersect between the two sets if there are more than 12 intersections, voilá -- the sets are matched The embedded Kotlin's functions like intersect, map, and mapNotNull make the solution, even for such a complex task, elegant. Day 20: Trench Map This image-enhancing task provides us with the initial photo (2D array of black and white pixels), and enhancing guidance (1D array). Enhancing happens in steps, where for each pixel, we found its enhanced value as a result of a combination of itself + all eight adjacent pixels. Here is the complete task. We

## Quests along the Road to Devcon

DevFeed: [Quests along the Road to Devcon](<https://devfeed.tech/articles/quests-along-the-road-to-devcon-16964.md>)

Original publisher: [Read original article](<https://blog.ethereum.org/en/2021/05/19/quests-along-the-road>)

Author: Devcon

Published: 2021-05-19T00:00:00Z

Content type: news

Language: en

Sources: [Ethereum Foundation Blog](<https://devfeed.tech/sources/ethereum-foundation-blog.md>)

Topics: [Ethereum](<https://devfeed.tech/topics/ethereum.md>), [Blockchain](<https://devfeed.tech/topics/blockchain.md>), [Canvas](<https://devfeed.tech/topics/canvas.md>), [Discord](<https://devfeed.tech/topics/discord.md>)

Tags: [art](<https://devfeed.tech/tags/art.md>), [badge](<https://devfeed.tech/tags/badge.md>), [blockchain](<https://devfeed.tech/tags/blockchain.md>), [canvas](<https://devfeed.tech/tags/canvas.md>), [collect](<https://devfeed.tech/tags/collect.md>), [community](<https://devfeed.tech/tags/community.md>), [contribute](<https://devfeed.tech/tags/contribute.md>), [devcon](<https://devfeed.tech/tags/devcon.md>), [digital](<https://devfeed.tech/tags/digital.md>), [discord](<https://devfeed.tech/tags/discord.md>), [ethereum](<https://devfeed.tech/tags/ethereum.md>), [event](<https://devfeed.tech/tags/event.md>), [events](<https://devfeed.tech/tags/events.md>), [experiment](<https://devfeed.tech/tags/experiment.md>), [learn](<https://devfeed.tech/tags/learn.md>), [livestream](<https://devfeed.tech/tags/livestream.md>), [nfts](<https://devfeed.tech/tags/nfts.md>), [pixel](<https://devfeed.tech/tags/pixel.md>), [pixel-art](<https://devfeed.tech/tags/pixel-art.md>), [youtube](<https://devfeed.tech/tags/youtube.md>)

### AI overview

The article announces Road to Devcon Quests, periodic community activities designed to encourage collaboration, contribution, and learning while Devcon 6 planning continues. It highlights online events with the EthStaker community, including a POAP.art livestream where participants can create pixel art and earn POAP badges.

### Source excerpt

Friends, As the Ethereum ecosystem continues to grow and mature at break-neck speeds, we continue to work hard on delivering an amazing Devcon 6. Though the timing is still unclear as to when we'll all be able to reunite in Bogota, we want to keep our community involved along...

[Next page](<https://devfeed.tech/tags/pixel.md?cursor=WyIyMDIxLTA1LTE5VDAwOjAwOjAwKzAwOjAwIiwgIjQxMzA2NzBhLTQ1NDgtNGM1ZS1iNWNhLTMzYWI5ZWRkYTkxNCJd>)