Brought to you by Meta. In addition to remaining active in the open source community and conference circuit, this podcast offers another channel that allows us to highlight the technical work of our engineers who will discuss everything from low-level frameworks to end-user features. Throughout the podcast, Meta engineer Pascal Hartig (@passy) will interview developers in the company.

20: droidcon London 2019, Part II

December 20, 2019 43:14 41.74 MB Downloads: 0

For the last episode of the decade, Pascal is joined by Inside Facebook Mobile royalty Emil, who shares what he has been up to since his last appearance on the podcast and how Facebook Open Source is still part of his day-to-day work. Then we head over to Droidcon UK 2019 again, where Pascal interviews Aziz from the Android Native UI Frameworks team about benchmarking UI components, followed by a chat with Aziz’s teammates Andy and Pasquale about effective multi-threading on Android. Unfortunately, the video recordings of the talks are still unavailable, but we will update you if that changes. Please do send us feedback! You can reach us via email mobilepodcasts@fb.com, Twitter (@insidefbmobile) or Instagram (insidefbmobile). News and Topics fbjni: https://github.com/facebookincubator/fbjni Jest: https://jestjs.io/ Litho: https://fblitho.com/ Flipper: http://fbflipper.com/ Visly: http://visly.app/ Facebook and Microsoft Partnering on Remote Development: https://developers.facebook.com/blog/post/2019/11/19/facebook-microsoft-partnering-remote-development/ The Diff - Talking Libra with Eric Nakagawa: https://thediffpodcast.com/docs/episode-8 Timestamps Intro fbjni 3:43 News: FB and MS work on VS Code 8:47 Skip Language (http://skiplang Interviews 11:55 Interview: Aziz on UI Benchmarking 12:20 Interview: Pasquale and Andy on Threading 21:00 Post-Interview Chat with Emil 32:36 Outro 41:03 Bloopers 41:44

19: droidcon London 2019, Part I

November 15, 2019 36:37 35.49 MB Downloads: 0

Pascal went mobile again and brought the mics to this year’s droidcon Android conference in London. He interviewed the record-breaking six speakers Facebook had this year and discussed some topics with them. This episode kicks off with Sergey, who presented a deep-dive into the current state of cross-platform coroutine libraries for Kotlin, comparing Reaktive and kotlinx.coroutines Flow in their usability, performance and memory appetite. The second interview is with Alexander from the Fresco team who talks about the evolution of the open source image loading and memory management library and teases at what’s up next for the widely used project. In the last interview we hear from Lisa (https://twitter.com/lisawrayz), a software engineer on the Messenger Lite team. She joins Pascal to chat about the design principles that went into designing a messenger application for emerging markets. Sadly, the video recordings of the talks are currently unavailable, but we will update you here and on the podcast as soon as that changes. Please do send us feedback! You can reach us via email mobilepodcasts@fb.com, Twitter (@insidefbmobile) or Instagram (insidefbmobile). News and Topics fbjni soft launch: https://github.com/facebookincubator/fbjni PyTorch for Android: https://pytorch.org/mobile/android/ Fresco: https://frescolib.org/ Reaktive: https://github.com/badoo/Reaktive Kotlinx.coroutines: https://github.com/Kotlin/kotlinx.coroutines Messenger Lite: https://play.google.com/store/apps/details?id=com.facebook.mlite Timestamps Intro    0:05 News: fbjni    1:43 News: PyTorch for Android    2:34 Interviews    3:05 Correction    3:43 Sergey on Kotlin Coroutines    4:26 Alexander on Fresco    11:42 Lisa on Messenger Lite    26:58 Outro    35:50 Nope, no bloopers    36:33

18: Outside Facebook Mobile at the London Mobile Forum 2019

October 18, 2019 49:23 47.64 MB Downloads: 0

Once a year, Facebook invites developers from various companies to a cosy place somewhere in East London to talk for a day about scaling challenges on mobile. This year, Mihaela and Pascal join the fun and talk to a bunch of the attendees, which are for the first time not (all) Facebook employees. Tune in to learn how Deliveroo are moving from Java to Kotlin, the BBC is using their app to find a more inclusive audience, how Asos moved away from never-ending feature branches and much more. Please do send us feedback! You can reach us via email mobilepodcasts@fb.com, Twitter (@insidefbmobile) or Instagram (insidefbmobile). Topics Discussed mvfst-rl: https://github.com/facebookresearch/mvfst-rl The Diff: https://thediffpodcast.com/ Tech & Society with Mark Zuckerberg: https://podcasts.apple.com/us/podcast/tech-society-with-mark-zuckerberg/id1460731098 Timestamps Intro 0:00 mvfst-rl 0:40 The Diff 1:20 Tech & Society 1:53 London Mobile Forum 2:19 Sophie Interview - The Guardian 4:48 Andrew Interview - BBC 7:17 Ana Interview - Deliveroo 10:03 Kateryna Interview - Magic Lab 13:20 Stefano Interview - Asos 19:33 Adiba Interview - Moody Month 23:29 Pasquale Interview - Facebook/Litho 29:43 Maria Interview - Deliveroo 34:24 Abdul Interview - Deliveroo 39:36 Outro 44:57 Bloopers 47:28

17: Hermes JS Engine Development with Marc

September 20, 2019 26:38 25.69 MB Downloads: 0

Every time we get to talk about an open-source project on our podcast, we couldn't be happier. This episode we have Marc to talk about Hermes, an open-source JavaScript engine, optimised for running React Native apps on Android. You can listen to Marc explain why it was necessary to build a JavaScript engine to support the needs of a particular framework and get a glimpse of the architecture and the design decisions behind it. Tune in now for episode 17! Please do send us feedback! You can reach us via email mobilepodcasts@fb.com, Twitter (@insidefbmobile) or Instagram (insidefbmobile). Topics Discussed Hermes: https://hermesengine.dev/ React Native: https://facebook.github.io/react-native/docs/hermes Timestamps Intro 00:05 Interview: Marc 00:57 Hermes Overview 02:25 Design Tradeoffs 07:01 Garbage Collector 11:56 Feature Omissions 15:36 Hermes Technical Design 17:35 Developer Experience 19:23 What's Next? 20:15 Using Hermes Without RN 21:32 Outro 22:28 Bloopers 00:25:50

16: React Native Developer Advocacy and Documentation Engineering with Rachel

August 16, 2019 52:43 51.07 MB Downloads: 0

Join us for this episode where Pascal and Fabio interview one of Facebook’s new joiners: Rachel is a developer advocate on the React Core team in London. React is one of the biggest open source UI frameworks in the world, a reputation kept sustainable especially thanks to the amazing work the React Core team puts into the educational material available to the community. Rachel shares her journey from cartoonist to developer advocacy roles to the present day, where she curates and maintains documentation material built for people rather than just coders. How to find the missing or next chapter of your docs? How to measure success? This and much more in episode 16. Please do send us feedback! You can reach us via email mobilepodcasts@fb.com, Twitter (@insidefbmobile) or Instagram (insidefbmobile).   Topics Dev Tools Challenger: http://devtoolschallenger.com/ React: https://reactjs.org React Native: https://facebook.github.io/react-native/ Docusaurus: https://docusaurus.io ComponentKit: https://componentkit.org Flipper: https://fbflipper.com Web Animations API: https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API MDN: https://developer.mozilla.org/en-US/ Rachel’s Web Animation Docs: http://rachelnabors.com/waapi Rachel’s book on UI Animation: https://abookapart.com/products/animation-at-work Rachel’s courses on CSS Animation and Cartooning: https://courses.rachelnabors.com/ Inclusive speech linter: https://alexjs.com/   Timestamps Intro 00:06 News: React Native Docs Revamp 01:21 News: Hermes 02:27 Intro Rachel (http://devtoolschallenger 3:43 MDN 07:14 100x Programmers 13:22 Measuring Impact 23:20 Third-Party Docs 32:31 Incremental API Design 35:38 Style Guides 39:35 Managing organic growth 43:32 Goodbye 47:37 Outro 48:10 Bloopers 51:19  

15: Infer Static Analysis for Mobile Apps with Ezgi

July 17, 2019 44:21 42.97 MB Downloads: 0

Episode 15 features a topic that might sound familiar to you if you've listened to previous editions of Inside Facebook Mobile. It's a project that provides such value to developers that it keeps coming up in discussions with engineers working in many different areas at Facebook. Ezgi has a long-awaited converstion with Mihaela and Pascal about Infer, an open-source static analysis tool with support for Java and C-based languages. Ezgi joined Infer as a natural extension of her PhD in programming languages and type systems. You'll not only hear from her about writing and testing a new analyses for Infer, but also what it's like to balance academic research with having applied industry impact. We're sure you'll stay tuned until the end! Please do send us feedback! You can reach us via email mobilepodcasts@fb.com, Twitter (@insidefbmobile) or Instagram (insidefbmobile). Topics Infer: https://fbinfer.com/ Getafix: https://code.fb.com/developer-tools/getafix-how-facebook-tools-learn-to-fix-bugs-automatically/ Litho: http://fblitho.com Fresco: https://frescolib.org/ Flipper: https://fbflipper.com/ Lightweight Multi-Language Syntax Transformation with Parser Parser Combinators: https://www.cs.cmu.edu/~rvantond/pdfs/ppc-pldi-2019.pdf Timestamps   Intro 00:05 Mailbag: Editors 00:32 Mailbag: Worst part of working here 02:21 News: React Native 0.60 04:32 News: Flipper 0.23 05:18 News: Litho 06:11 News: Fresco 2.0 07:23 Interview: Ezgi 07:47 What is Infer? 09:42 Supporting different languages 11:34 Who can contribute to Infer? 12:57 Build system integration 14:12 Review tool integration 15:32 Infer's compositional analysis 16:51 Measuring success 23:03 What other checks does Infer support? 24:09 Creating new checks 29:56 Performance checks 31:56 Coming up next for Infer 33:22 Ezgi's paper recommendations 36:21 Ocaml 37:46 Outro 41:02 Bloopers 43:25

14: Facebook iOS UI Infrastructure with Adam

June 14, 2019 42:52 41.49 MB Downloads: 0

Episode 14 introduces Adam, the first dedicated iOS developer that Mihaela and Pascal have hosted on the podcast. Adam created ComponentKit, an iOS open-source framework inspired by React, and he joins this episode to tell the story of how the framework was built and adopted. Adam shares some insight on API design considerations, how to build frameworks around scalability and correctness and what the current challenges of working on the Facebook iOS apps are. Before you hear all about this, Daniel gives a special bite-sized intro to Spectrum, an open-source image processing library for Android and iOS, so this episode is one that can’t be missed! Please do send us feedback! You can reach us via email mobilepodcasts@fb.com, Twitter (@insidefbmobile) or Instagram (insidefbmobile). Topics Spectrum: https://libspectrum.io/ ComponentKit: https://componentkit.org/ ReactNative updates: https://facebook.github.io/react-native/blog/2019/06/12/react-native-open-source-update Timestamps Intro 0:00 News: React Native 0:40 News: Spectrum with Daniel 2:10 Interview 8:02 Adam Intro 8:40 Frameworks 10:55 ComponentKit in Newsfeed 13:06 ComponentKit Adoption 14:02 API Regrets 15:05 Size Reduction 16:28 5000 classes 19:14 Correctness as a Feature 21:05 Inspirations From Other Frameworks 23:29 Yoga 26:18 ComponentKit in Open Source 28:47 Handing Off a Project 29:32 Next Challenges 31:47 Rust 36:15 Outro 38:40 Bloopers 41:49  

13: Android UI Infrastructure with Hilal

May 17, 2019 39:56 39.01 MB Downloads: 0

Did you watch F8 this year? You've probably seen the new Facebook blue and your app got a sleeker, more modern icon. Hilal is part of the team that made that happen and he joins Mihaela and Pascal on episode 13 to talk about how to scale packaging and distributing UI resources to devices. Hilal also helps fight UI regressions and inconsistencies with the screenshot tests infrastructure he contributes to. Please do send us feedback! You can reach us via email mobilepodcasts@fb.com, Twitter (@insidefbmobile) or Instagram (insidefbmobile). Topics F8 Talks: https://developers.facebook.com/videos/ mvfst: https://github.com/facebookincubator/mvfst The Diff: https://thediffpodcast.com/ idb: https://github.com/facebook/idb Urban Computing Foundation: https://venturebeat.com/2019/05/07/uber-google-ibm-and-others-join-the-urban-computing-foundation-to-create-tools-for-cities-of-tomorrow/ Chris Banes - Becoming a master window fitter: https://www.youtube.com/watch?v=_mGDMVRO3iE Timestamps Intro 00:00 News: F8 talks 00:47 News: mvfst 01:27 News: The Diff 01:52 News: idb 02:10 News: Urban Computing Foundation 06:29 Hilal Intro 07:05 Current projects 08:12 UI Scaling Problems 08:52 APK Size 09:56 Shipping Icons 10:45 New FB Colours 15:00 Screenshot Tests 18:33 Design Library 25:19 Ad: The Diff 30:23 Kotlin at FB 30:53 Notches and Status Bars / Chris Banes Talk 32:06 Supporting Foldables 34:42 Hilal's Team 36:52 Outro 37:16 Theme 39:21 Bloopers 39:29

12: Product Management on Workplace with Chiara

April 18, 2019 34:18 33.32 MB Downloads: 0

Chiara is a Product Manager who supports the Workplace team. She joins Pascal and Mihaela on episode 12 to give some clarity on the role of a Product Manager. With a background in graphic design, she tells us about her journey to becoming a Product Manager and the skills and mindset she practices in this role. If you enjoy the business aspect of a project and you're someone who can coordinate understanding a problem and identifying a path to the solution, being a Product Manager will fit you like a glove. Tune in to hear from Chiara herself! Projects discussed Fresco: https://frescolib.org/ Flipper: https://fbflipper.com/ Aroma: https://ai.facebook.com/blog/aroma-ml-for-code-recommendation/ Workplace: https://workplace.com/ Timestamps Intro 00:00 News: Fresco Anniversary 01:13 News: Litho Sections in Flipper 01:57 News: Aroma 02:25 Guest intro 03:28 Chiara 04:29 What does a PM do? 05:06 Becoming a PM 06:02 How is PMing at FB different? 07:16 PM framework 08:19 When does having a PM make sense? 12:06 Resolving conflicts 13:39 Where do ideas come from? 15:17 Working with/on mobile 16:11 Workplace 18:33 Who uses Workplace? 20:59 Ad: The Diff 23:36 Teams within Workplace 24:06 PM at Workplace vs Facebook 26:07 Favourite features 27:14 Bants 29:20 Outro 30:13 Bloopers 33:14  

11: Secure Networking on Android with Subodh

March 15, 2019 59:37 57.79 MB Downloads: 0

Subodh, a software engineer leading the QUIC team in Menlo Park, joins us for episode 11 and talks with Mihaela and Pascal about Android networking. If you've never given much attention to the network protocols your app is using, listen to Subodh why you should give it a second though. You'll hear about how the Android networking stack has evolved over the years, why zero round-trip time matters on mobile and what it's like to contribute to a network protocol specification (spoiler: it's TLS 1.3). Brush up on your networking knowledge and tune in for this new episode! For feedback, please reach out on Twitter at @insidefbmobile, Instagram at insidefbmobile or drop us an email at mobilepodcasts@fb.com. Topics discussed - https://www.reactiflux.com/transcripts/react-native-team/ - https://www.reddit.com/r/reactnative/comments/av7vw3/future_ama_the_react_native_team_will_be_hosting/ - https://github.com/react-native-community/discussions-and-proposals/issues/64#issuecomment-446098249 - https://facebook.github.io/react-native/blog/2019/03/01/react-native-open-source-update - https://code.fb.com/developer-tools/mark-harman-harlan-d-mills-award/ Timestamps Intro 00:00 News 00:16 React Native OSS Update 00:25 React AMA 00:54 Relay 3.0 01:25 Sapienz 01:39 The Diff 02:40 Magma 03:22 Interview Prelude 04:03 Subodh Intro 05:02 First Projects 06:02 What got you interested in security? 07:18 Whitehat 08:15 FB Android networking 6 years ago 09:49 HTTPS enforcement 11:09 Evolution of the mobile networking stack 12:08 Certificate Pinning 15:07 Adopting system-level APIs 18:00 WebView security 20:29 TLS 1.3 features 21:32 Encrypted SNI 25:44 What's next after TLS 1.3? 27:46 Header compression flaws 28:34 QUIC 31:19 Standards Contributions (link) 40:07 mvfst 43:00 Low-level API UX 48:50 Katran: https://code.fb.com/open-source/open-sourcing-katran-a-scalable-network-load-balancer/ 52:20 Wrap-up 54:11 Outro 55:19 Bloopers 58:52  

10: FBLite and Fast Android Apps for Emerging Markets with Tal

February 19, 2019 34:10 33.05 MB Downloads: 0

For the 10th episode of Inside Facebook Mobile, you can listen to Tal, a Technical Program Manager based in the Tel Aviv Facebook office, who joins Pascal and Mihaela to talk about Facebook Lite. Tal discusses the challenges of building, maintaining and releasing an app that has tight constraints of memory, network and disk usage in sight. You'll learn about what Facebook Lite is, why it's important to make it easy for everyone to be able to access it from their phones and you'll hear interesting insight about how phone constraints change how someone accesses internet services. For feedback, please reach out on Twitter at @insidefbmobile, Instagram at @insidefbmobile or drop us an email at mobilepodcasts@fb.com. Topic Discussed Spectrum: https://code.fb.com/android/spectrum/ Docusaurus: https://docusaurus.io/ Top Developer Tools: https://stackshare.io/posts/top-developer-tools-2018 PyTorch: https://pytorch.org/ Time Stamps Intro 00:00:00 Open Source News 00:00:21 Tal Intro 00:02:13 Tal's Background 00:03:11 What's a TPM? 00:03:22 What's FBLite? 00:05:46 Why does FBLite matter? 00:07:07 FBLite rendering infrastructure 00:07:50 Challenges besides size 00:09:11 Release cadence 00:11:00 Libraries used in FBLite 00:11:33 Developer relations within FB 00:12:29 International work hours 00:16:36 Feature parity 00:18:47 Usage patterns in emerging markets 00:21:34 Release trains 00:25:00 Flipper plugins 00:27:01 Tel Aviv FB Office 00:27:34 Outro 00:29:44 Bloopers 00:33:54

9: Android Bytecode Optimisation with Emma

January 17, 2019 41:31 40.34 MB Downloads: 0

In this episode, Pascal and Mihaela chat with Emma about Redex, an open-source bytecode optimiser for Android apps. Emma talks about the importance and trade-offs of such optimisations and walks us through the basic steps of how Redex works and the different types of detection patterns it uses. If you are interested in trying Redex for yourself or curious to know how it's different than other similar tools, Emma discusses how to adopt Redex in your app and how to write your own detection pattern. For feedback, please reach out on Twitter at @insidefbmobile or drop us an email at mobilepodcasts@fb.com. Topics discussed Redex: https://fbredex.com/ Sparta: https://github.com/facebook/redex/tree/master/sparta Proguard: https://www.guardsquare.com/en/products/proguard Facebook Open Source year-in-review: https://code.fb.com/open-source/open-source-2018/ Spectrum: https://github.com/facebookincubator/spectrum Droidcon SF Talk about Spectrum: https://www.youtube.com/watch?v=Lb5H6_vCEok Mozjpeg: https://github.com/mozilla/mozjpeg/ PyTorch: https://pytorch.org/ Github 2018 review: https://octoverse.github.com/projects PyTorch 1.0: https://code.fb.com/ai-research/pytorch-developer-ecosystem-expands-1-0-stable-release/   Time Codes Intro 0:00.000 PyTorch 1.0 0:39.728 FB Open Source Year in Review 1:20.000 Spectrum 2:06.708 Retiring Nuclide 2:51.525 Recent Litho Changes 3:38.753 Recent Flipper Changes 5:09.199 Emma Intro 6:49.595 What's Redex? 12:16.341 Optimization Passes 16:02.753 Tradeoffs 27:38.198 Open Source 31:52.276 Pattern Match Optimizations 33:28.602 Contributing to Redex 36:56.130 Removing Cats and Good Bye 38:06.425 Outro 38:25.360 Bloopers 41:44.451  

8: Android Perf at Instagram with Mona

December 13, 2018 39:13 37.82 MB Downloads: 0

In this episode, Mihaela and Pascal chat with Mona from Instagram New York. We talk about Mona's journey from working on web in California to scroll performance at Instagram and how performance overall is approached from measuring, tackling regressions and establishing a company-wide performance culture. In addition to this, we go through some of our listener questions about team structure, time and release management and pick this up later in our interview where we discuss differences in our overall approach to engineering and QA between Facebook and Instagram. Topics discussed: deepfloat: https://code.fb.com/ai-research/floating-point-math/ Litho: https://fblitho.com/ Flipper Notifications: https://fbflipper.com/docs/writing-a-plugin.html#notifications Profilo: https://facebookincubator.github.io/profilo/ Time stamps: |0:00 |Intro | |0:31 |DeepFloat | |1:15 |Flipper News | |3:50 |Q: Team structures at FB | |4:56 |Q: Time management in teams | |7:06 |Q: FB Release Management | |7:33 |Q: Our views on the structure | |9:10 |Guest Intro: Mona | |9:58 |Mona's Journey from Product to Infra | |13:32 |Switching teams at FB | |15:01 |Performance at IG | |15:24 |Measuring performance | |17:27 |Dealing with regressions | |19:07 |Evolution of scroll perf tracking at IG | |20:03 |Good/bad perf practises | |21:36 |Frameworks helping with perf | |22:48 |Engineering differences between FB and IG | |24:01 |QA at IG | |27:08 |App size growth | |28:47 |Maintaining a high perf bar | |33:51 |What would you do if it wasn't perf? | |34:56 |Puppies and oat milk | |36:59 |Outro | |38:49 |Bloopers |

7: Performance and Instrumentation with Ariane

November 16, 2018 43:51 42.54 MB Downloads: 0

In this episode, Ariane joins for an in-depth conversation about performance logging. With more than 10 years focusing on this problem, Ariane moved from Facebook Seattle to Facebook London and started a team with other engineers that are as passionate about this subject as she is. You'll hear about why instrumenting performance markers is important for a healthy app, what makes a good metric and how to build sustainable logging systems. If you're just getting started with performance logging, tune in to hear Ariane's advice on how to get started. For feedback, please reach out on Twitter at @insidefbmobile or drop us an email at mobilepodcasts@fb.com. Projects discussed: - QNNPack: https://code.fb.com/ml-applications/qnnpack/ - StateService: https://code.fb.com/open-source/stateservice/ - Profilo: https://facebookincubator.github.io/profilo/ - Litho: https://fblitho.com/

6: The Story of Stories with Lillian

October 17, 2018 43:40 42.24 MB Downloads: 0

Lillian joins Mihaela and Pascal in this episode to talk about Facebook Stories and how it took shape from a new sharing surface developed by three engineers to the mature product it is today. You'll learn about the challenges her team faced while trying to scale Stories from a prototype and the performance implications of introducing new types of content as well as functionality at the top of News Feed. If you've listened to our previous episode featuring Balazs, who's been an engineering manager for some time, you can now hear about this role from the perspective of someone who's just recently become an engineering manager and is now going through the transition from an Android engineer to a manager. For feedback, please reach out on Twitter at @insidefbmobile or drop us an email at mobilepodcasts@fb.com. Projects discussed: - React Native: https://facebook.github.io/react-native/ - Log Device: https://logdevice.io/ - Skip: http://skiplang.com/ - Litho: https://fblitho.com/