Posts

How WhatsApp Made Key Transparency Work (And Why It Matters)

Image
How WhatsApp's Key Transparency Changed the Game for Encrypted Messaging Okay so let's talk about something actually important for once - how WhatsApp made their encryption more trustworthy without making us jump through hoops. You know how every messaging app claims to be "secure" these days? Well WhatsApp actually put their money where their mouth is with this Key Transparency thing. Let me explain why this matters more than you might think. Visual from their tech docs - looks complicated but trust me it's cool The Big Problem Nobody Talks About So we all know WhatsApp uses end-to-end encryption. Great. But here's the sketchy part nobody mentions - how do you REALLY know you're talking to who you think you are? Like, what if: Some hacker swapped the encryption keys without you knowing? There's a middleman reading your messages right now? The app itself got compromised somehow? Scary stuff right? That's where Key Trans...

Advertisement

How they Supercharged SwiftUI Development at DoorDash (And How You Can Too)

Image
Alright, let's talk about something that used to drive our mobile team crazy - waiting ages just to see if our SwiftUI changes looked right. I mean, who's got time for that? We sure didn't. So we built this PreviewSnapshots thing that cut our dev time in half. No joke. Before/after using PreviewSnapshots - night and day difference The Pain of Regular SwiftUI Previews Man, where do I even start? The default SwiftUI previews are great and all, but try using them in a big project like ours. Here's what sucked: Slow as molasses:  Waiting 30+ seconds just to see a button change Fragile:  Break if you look at them wrong Limited:  Hard to test different states and configurations Inconsistent:  Would work on Mark's machine but not Sarah's (classic) We were wasting hours every week just waiting for previews to load. That's when we said "enough is enough" and built PreviewSnapshots. What Makes PreviewSnapshots Different It's not rocket science, just smar...

DoorDash's iOS Performance Breakthrough: A Case Study in App Optimization

Image
Let me tell you about the time our iOS app got so slow that users could literally say "I'm hungry" three times while waiting for it to load. Not cool for a food delivery app. Here's the messy, real-world story of how Doordash fixed similar Issue. Our "before" and "after" metrics - that downward slope never looked so beautiful The Wake-Up Call It started when their analytics showed: 4.2 second average cold start time (yikes!) 1 in 3 users tapping repeatedly like that would help App Store reviews saying "slow as molasses in January" Turns out when people want food, they want it NOW. Who knew? What Was Making them Slow After digging in with Instruments (and several nervous breakdowns), they found: SDK Overload: 18 - yes EIGHTEEN - analytics packages loading at launch Storyboard Spaghetti: UI files so big they made Xcode cry Eager Beaver Network Calls: Fetching data we didn't need yet Font Fiasco: ...

How Facebook Finally Fixed Their Messy iOS App (And Why It Mattered)

Image
Let’s be real - Facebook’s iOS app used to be a dumpster fire. Slow. Buggy. Crashed if you looked at it wrong. But here’s the wild part - they completely rebuilt the dang thing while BILLIONS of people were using it daily. No big deal right? Here’s the untold story of how they pulled it off without breaking everything. “Before” vs “After” - way less spaghetti code! The Hot Mess They Started With Back in like 2019, Facebook’s codebase was what devs nightmares are made of: 15+ years of legacy Objective-C piled up Build times longer than Avengers Endgame (seriously - 45+ mins) 500+ engineers stepping on each other’s code daily New features took weeks to implement cuz of dependencies One engineer told me: “It felt like changing tires on a moving Ferrari. While on fire.” The Breaking Point Three things forced them to act: App size ballooned to 400MB+ (users were deleting it) App Store rejection became weekly occurrence Top engineers were quitting cuz...

How DoorDash Pushes App Updates Without Breaking Everyone's Lunch

Image
Let's be real - most of us only think about DoorDash when we're hangry and staring at that "Update Required" message. But behind the scenes, their engineering team has built one of the slickest mobile release systems I've seen. They're updating their app constantly without making it feel unstable. Here's how they pull it off. Not their actual dashboard (but probably close) Why Mobile Releases Are a Nightmare DoorDash's challenge is brutal when you think about it: 70+ million users across iOS and Android Drivers, customers, AND restaurants using different app versions Zero tolerance for downtime (people get cranky when their burrito is delayed) Most companies would just cross their fingers and hope for the best. DoorDash actually engineered a solution. The Three Release Killers They Battled App Store Lag: That 1-3 day wait for Apple's review? Brutal. Partial Rollouts: 1% of users seeing bugs is still 700,000 angry p...

How Facebook/Meta's Engineers Built Strobelight - And Why It Matters

Image
So get this - Facebook (okay fine, Meta) had this big problem with debugging performance issues in their ridiculously huge infrastructure. Like we're talking about systems handling billions of requests daily. Their existing tools? Basically duct tape and prayers. Then some smart engineers built this thing called Strobelight , and honestly, it's kinda genius how they made it work. What their Strobelight dashboard looks like - pretty slick right? The Problem That Started It All Here's the deal - when your apps are running on thousands of servers worldwide, traditional profiling tools just don't cut it. The Meta engineers were dealing with: Scale issues: Regular profilers would crash or timeout Noisy neighbors: Couldn't isolate performance spikes Data overload: Too much info, not enough insights Tool fragmentation: Different teams using different solutions Basically they needed something that could handle their insane scale while actually be...

How LinkedIn Finally Fixed Their Messaging Mess (And Why It Took So Damn Long)

Image
Let’s be real - LinkedIn messaging used to suck. You’d get notifications that didn’t make sense. Messages showing up in weird places. That awkward moment when someone replies to a message you can’t even find. But after 2 years of work, the eng team finally cleaned up this hot mess. Here’s the inside story you won’t find in their press releases. Old vs New - spot the difference! The Hot Mess Era Back in 2020, LinkedIn’s messaging was held together with duct tape: 3 different codebases for messages (why??) Notifications that sometimes... just didn’t notify Group chats that exploded if someone left Search? Forget about it One engineer told me: “We had so many message types even we didn’t know how they worked.” Yikes. The Breaking Point Three things forced them to act: 1. Users complained about lost job offers (!!!) 2. Mobile app ratings tanked to 3.2 stars 3. New features took 6+ months to ship Something had to give. The Great Unification Project The ...

Advertisement