Search

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.
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.
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.
Culture
Culture
Kindness in engineering
At Snap, we believe that kindness is at the heart of engineering: we place a high value on integrity, craftsmanship, and collaboration in all of our work. We also recognize that kindness without courage is not always enough: successful companies should foster healthy internal debate, driving positive change.
Don't Rewrite Your App, Unless You Have To
Rewrites can have positive results, but they are challenging. In order to develop our strategy, we researched our app’s performance thoroughly before starting. Once we began, a tremendous amount of coordination and support was needed to keep the project on track, and we used and tested our new app from early on to keep the quality high. In this post, we outline some of our decision making processes and lessons learned from the experience.