Systems | Development | Analytics | API | Testing

WWDC 2025: Apple's AI, Swift on Android & Liquid Glass

At the 2025 instalment of its WWDC event, Apple set out its long-term vision for how we think about platform strategy, AI integration and multi-device architecture. If you’re a CTO, staff engineer, or mobile lead, this wasn’t just a conference to watch, it was one to plan your entire roadmap around. What Apple revealed at this year’s WWDS will affect everything from your frontend stack to how your systems talk to hardware.

Build Real-Time Android Apps with WebSockets and Kotlin

Before we get started on WebSocket integration, it’s worth quickly explaining how building real-time mobile apps used to work – and why issues with lag and latency led engineers to turn to WebSockets instead. Engineers building real-time Android apps struggled to make sure updates were reflected immediately when a user sent them. To solve this, they tried polling, which meant firing off a GET request to the server, say every five seconds, to a /messages endpoint.

How to Use GraphQL with Angular Using Apollo Client

You’ve probably heard of the concept of ‘Frontend decides, backend delivers’ in app development. On the off-chance that you haven’t, it means that the frontend defines the data it needs, and the backend acts on this instruction. This makes the data-fetching process more efficient, simplifies the error handling process and frees us, the devs, from the need to constantly make backend changes. The GraphQL query language for APIs, developed by Facebook, is a vital tool in this regard.

Android Macrobenchmark: Real-World Performance Testing for Apps

In Android development, performance isn’t something you tack on at the end. It’s foundational. Users don’t care how elegant your architecture is if the app stutters from their first tap of the screen. Responsiveness, fluidity, launch speed; all these things don’t just influence user experience, they define it. Saying “it works fine on my Pixel” is a nice confidence boost, but it doesn’t count as real data. And emulators don’t count either.

Jetpack Compose State Management: A Guide for Android Developers

There have been huge changes in Android development over the years, but none has been as significant as Jetpack Compose state management. This isn’t just another toolkit update. It’s a flight to freedom, a rethinking of how we build user interfaces from the ground up. Jetpack Compose gives us a new, declarative-style UI development, which means cleaner code and introduces a powerful state management system at the heart of the entire framework.

Hidden Risks of Data Leakage in Mobile Apps and How to Prevent Them

In today’s world, almost everyone has a mobile device full of apps. Most commonly, mobile apps serve as essential tools for personal and professional communication. However, the scope of apps goes much further, since many individuals use apps for fitness, healthcare, shopping, entertainment, and so much more. This means that, while your phone and its apps are packed with convenience and efficiency, they also come with one large hidden cost: your personal data.

Android Geofencing: How to Set Up and Troubleshoot Location Triggers

You’re probably familiar with Android Geofencing already, but in case this is your first rodeo, it’s a location-based system that can receive access to a mobile device’s location data, and trigger all kinds of functions when users pass in and out of specific areas. The ads our users see, the content they can stream, the offers they receive via push notifications… all can be triggered by geofencing.

How to Use Android Vitals to Improve App Stability and Google Play Ranking

If you want to run a health-check on your Android app, Android Vitals is a great piece of kit. Developed by Google and available on the Google Play console, this performance and stability checking tool helps us fix issues proactively, improve the technical quality of our apps, and avoid uninstalls. Crucially, it will also improve our Google Play ranking, because Google Play ranks app quality using Android Vitals data. And the really great news?

Kotlin Extension Functions: Add Functionality Without Modifying Code

Imagine you own a car. It’s reliable, runs smoothly and gets you where you need to go. But one day, you realize you need a GPS navigation system for better routes. What do you do? Would you redesign the entire car just to integrate GPS, or would you simply install a GPS device on the dashboard? Of course, the smarter choice is to add the GPS instead of modifying the car’s built-in system. This is exactly how a Kotlin Extension Function works.