Blog

Build a Reliable System in a Microservices World at Snap
How do you orchestrate a complex workflow across tens of microservices running on multiple cloud providers? How do you build it reliably while focusing on core business logic? In this post, we will talk about how Snap embraces the Temporal open source project to solve microservice orchestration with its powerful and flexible workflow engine.
Network
media photo
Network
QUIC at Snapchat
At Snapchat, our goal is to make our Camera the fastest way to share a moment. We do not want Snapchatters to face any delays when they are in the moment and want to share with their real friends. Network requests are on the critical path of using Snapchat. Compared to a UI update or disk write that takes milliseconds, network latency can take seconds with high error rate and device constraints. To reduce network latency and error, we make requests and responses smaller, reduce unnecessary sync, utilize global content distribution partners to bring media close to the people who use it, and use an efficient, next generation network protocol called Quick UDP Internet Connections, or QUIC for short.
Inclusive Engineering
Speakers. from left to right: Katherine Tassi, Chad DePue, Tammarrian Rogers, Olamide Olatunji.
Inclusive Engineering
Inclusive Engineering At Snap
This week, Snap released our second annual diversity report, which shares our comprehensive workforce data for 2020 and outlines our continued commitment to becoming a more fair, inclusive, and anti-racist company by driving meaningful change within our culture, our products, and the larger tech ecosystem we are part of.
Innovation
Innovation
GPU Transcoding at Scale
We strive to make Snapchat the fastest way to communicate and share a moment. In doing so, we constantly juggle the trade offs between quality and application performance when creating, posting and viewing media.
Dev Tools
Dev Tools
A Developer Ecosystem for Snapchat
Building a successful developer ecosystem is about unlocking win-win opportunities for Snapchatters and our developer partners. Providing value to both of these groups is critical for a thriving, healthy and successful community. Snap Kit provides developers with access to powerful features with thoughtful controls to keep our users safe.
Performance
Helping Snapchatters Communicate Faster
Performance
Measuring ‘Time to Camera ready’
When a user opens the Snapchat app, the first experience they are exposed to is the camera. This is key to ensure our users can capture the moment and communicate as fast as possible. To measure and optimize this experience, we measure the time a user presses the Snapchat app icon on their home screen, to the time that the camera is ready to take a snap.
Privacy
Privacy
Privacy at Snap
At Snap, we have always made privacy a top priority. From the get go, we designed and engineered our products to collect and store very little information about the lives of our customers. Snapchat has demonstrated a focus on privacy through the ephemeral nature of its content, offering end-to-end encryption for one-to-one Snaps, and keeping the friend list private by default. By providing a private and safe platform, we advance our mission to “empower people to express themselves, live in the moment, . . . and have fun together.”
Android
Android
Shipping Two Apps in One on Android
We knew early on that rebuilding the app is only half the battle - releasing a stable app that doesn’t regress any of our business metrics is as big of a challenge (if not bigger). Therefore, we needed to start testing the app with some of our users very early on in the process. We came up with following set of requirement for our release plan:
Machine Learning
Machine Learning
Device-Distributed Machine Learning
Snapchat uses machine learning to power many features across the app - from sophisticated lenses, to serving relevant and interesting Discover content, to returning relevant search results, to security architecture that keeps our community safe.
Android
Android
Making The Most of a Rewrite
As Part 1 of this series highlights, over time, Snapchat grew to be a complex app with dozens of large and disjointed features. As our app grew, we saw each feature fighting for resources in a spiraling “tragedy of the commons," resulting in a sluggish experience across much of the app. Too many features were running too much work at app startup time so they could load a bit faster if and when they are used. While this may help a particular feature load faster, every other feature loads slower as a result.