From 0053b5fa221e05e125c74b307152f5fcd6c5d4f7 Mon Sep 17 00:00:00 2001 From: Alexey Martemyanov Date: Sat, 17 Oct 2026 02:17:16 +0600 Subject: [PATCH] =?UTF-8?q?[2026-10-17]=20eagle:=20work/zoom-transcripts/2?= =?UTF-8?q?026-10-09=20=D0=97=D0=B0=D0=BB=20=D0=BF=D0=B5=D1=80=D1=81=D0=BE?= =?UTF-8?q?=D0=BD=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=D0=B9=20=D0=BA=D0=BE=D0=BD?= =?UTF-8?q?=D1=84=D0=B5=D1=80=D0=B5=D0=BD=D1=86=D0=B8=D0=B8=20Alex=20Marte?= =?UTF-8?q?myanov=202026-10-09=2018=2051(GMT+6=2000)=20AEmGnEdJQfCMmCjwLyG?= =?UTF-8?q?tGA/transcript.json=20work/zoom-transcripts/2026-10-09=20=D0=97?= =?UTF-8?q?=D0=B0=D0=BB=20=D0=BF=D0=B5=D1=80=D1=81=D0=BE=D0=BD=D0=B0=D0=BB?= =?UTF-8?q?=D1=8C=D0=BD=D0=BE=D0=B9=20=D0=BA=D0=BE=D0=BD=D1=84=D0=B5=D1=80?= =?UTF-8?q?=D0=B5=D0=BD=D1=86=D0=B8=D0=B8=20Alex=20Martemyanov=202026-10-0?= =?UTF-8?q?9=2018=2051(GMT+6=2000)=20AEmGnEdJQfCMmCjwLyGtGA/transcript.md?= =?UTF-8?q?=20work/zoom-transcripts/2026-10-16=20All-Company=20Meeting=202?= =?UTF-8?q?026-10-16=2021=2031(GMT+6=2000)=20klekRLtLSEuMv0PCCPCjtA/transc?= =?UTF-8?q?ript.json=20work/zoom-transcripts/2026-10-16=20All-Company=20Me?= =?UTF-8?q?eting=202026-10-16=2021=2031(GMT+6=2000)=20klekRLtLSEuMv0PCCPCj?= =?UTF-8?q?tA/transcript.md=20work/zoom-transcripts/index.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../transcript.json | 439 ++++++++++++++++++ .../transcript.md | 99 ++++ .../transcript.json | 109 +++++ .../transcript.md | 33 ++ work/zoom-transcripts/index.json | 16 + 5 files changed, 696 insertions(+) create mode 100644 work/zoom-transcripts/2026-10-09 Зал персональной конференции Alex Martemyanov 2026-10-09 18 51(GMT+6 00) AEmGnEdJQfCMmCjwLyGtGA/transcript.json create mode 100644 work/zoom-transcripts/2026-10-09 Зал персональной конференции Alex Martemyanov 2026-10-09 18 51(GMT+6 00) AEmGnEdJQfCMmCjwLyGtGA/transcript.md create mode 100644 work/zoom-transcripts/2026-10-16 All-Company Meeting 2026-10-16 21 31(GMT+6 00) klekRLtLSEuMv0PCCPCjtA/transcript.json create mode 100644 work/zoom-transcripts/2026-10-16 All-Company Meeting 2026-10-16 21 31(GMT+6 00) klekRLtLSEuMv0PCCPCjtA/transcript.md mode change 100755 => 100644 work/zoom-transcripts/index.json diff --git a/work/zoom-transcripts/2026-10-09 Зал персональной конференции Alex Martemyanov 2026-10-09 18 51(GMT+6 00) AEmGnEdJQfCMmCjwLyGtGA/transcript.json b/work/zoom-transcripts/2026-10-09 Зал персональной конференции Alex Martemyanov 2026-10-09 18 51(GMT+6 00) AEmGnEdJQfCMmCjwLyGtGA/transcript.json new file mode 100644 index 00000000..0bced7ac --- /dev/null +++ b/work/zoom-transcripts/2026-10-09 Зал персональной конференции Alex Martemyanov 2026-10-09 18 51(GMT+6 00) AEmGnEdJQfCMmCjwLyGtGA/transcript.json @@ -0,0 +1,439 @@ +{ + "schema_version": 1, + "note_id": "AEmGnEdJQfCMmCjwLyGtGA", + "title": "Зал персональной конференции Alex Martemyanov 2026-10-09 18:51(GMT+6:00)", + "meeting_date": "2026-10-09", + "source_url": "https://us01mynotes.zoom.us/AEmGnEdJQfCMmCjwLyGtGA", + "transcript": [ + { + "time": "18:51:55", + "speaker": "Andre Martingo", + "text": "Hello." + }, + { + "time": "18:51:57", + "speaker": "Alex Martemyanov", + "text": "Hey." + }, + { + "time": "18:51:59", + "speaker": "Andre Martingo", + "text": "Who are you?" + }, + { + "time": "18:52:01", + "speaker": "Alex Martemyanov", + "text": "Oh, yeah. Good." + }, + { + "time": "18:52:05", + "speaker": "Andre Martingo", + "text": "A lot of stuff going on." + }, + { + "time": "18:52:06", + "speaker": "Alex Martemyanov", + "text": "Uh… Yeah." + }, + { + "time": "18:52:09", + "speaker": "Andre Martingo", + "text": "If…" + }, + { + "time": "18:52:09", + "speaker": "Alex Martemyanov", + "text": "Just constantly switching between windows, it's…" + }, + { + "time": "18:52:12", + "speaker": "Andre Martingo", + "text": "Yeah, sorry for… sorry for bothering you so much, but… yeah, but I think it's been… I don't know if it's always like this, but at least it's been productive, this cheap review. It's my first one, so I don't know." + }, + { + "time": "18:52:12", + "speaker": "Alex Martemyanov", + "text": "All right. My head blows. Yeah, it's just several things happening in parallel. Like, you know, ship review, PR, the… my tech design, the…" + }, + { + "time": "18:52:31", + "speaker": "Andre Martingo", + "text": "Yep. I saw that. Yeah, I saw the tech design quite challenging." + }, + { + "time": "18:52:37", + "speaker": "Alex Martemyanov", + "text": "Top priority work and the release maintenance and all at the same time. So I'm trying to." + }, + { + "time": "18:52:45", + "speaker": "Andre Martingo", + "text": "Yeah, no worries. I didn't want to pressure or to bother you. So just, yeah, just for us to follow up here." + }, + { + "time": "18:52:46", + "speaker": "Alex Martemyanov", + "text": "Ah, keep my head." + }, + { + "time": "18:52:55", + "speaker": "Andre Martingo", + "text": "on the remaining work, so… because I assume it's almost time to close the day for you, it's already quite late, actually." + }, + { + "time": "18:53:02", + "speaker": "Alex Martemyanov", + "text": "Yes, and I still have to post a couple of reports." + }, + { + "time": "18:53:07", + "speaker": "Andre Martingo", + "text": "Okay." + }, + { + "time": "18:53:07", + "speaker": "Alex Martemyanov", + "text": "And yeah, so generally, if we went through everything I mentioned and spotted. So. Yeah, I was going to basically approve the PR." + }, + { + "time": "18:53:22", + "speaker": "Andre Martingo", + "text": "Mm-hmm." + }, + { + "time": "18:53:23", + "speaker": "Alex Martemyanov", + "text": "And just, uh, would ask you to validate once again through the chat and, uh, the items." + }, + { + "time": "18:53:30", + "speaker": "Andre Martingo", + "text": "Okay, so…" + }, + { + "time": "18:53:30", + "speaker": "Alex Martemyanov", + "text": "That we have everything added to the ship review as… as a tasks, or as follow-up tasks, if… if not fitting to the ship review." + }, + { + "time": "18:53:33", + "speaker": "Andre Martingo", + "text": "Yep. Mm-hmm, yep. So, okay." + }, + { + "time": "18:53:39", + "speaker": "Alex Martemyanov", + "text": "And just process that separately." + }, + { + "time": "18:53:42", + "speaker": "Andre Martingo", + "text": "Okay, sounds good. So basically, I improved the comment, as you suggest. Sorry, I was not very clear how to reproduce that or how to… because there were so many small issues, it's hard sometimes to explain by words. That's why I recorded afterwards." + }, + { + "time": "18:53:51", + "speaker": "Alex Martemyanov", + "text": "Yeah, I mean… It's… Yeah, just feel free to add some longer comment. So because for somebody out of the context, it may sound confusing and weird, like what does it mean, why it is not decided and why it's disabled." + }, + { + "time": "18:54:04", + "speaker": "Andre Martingo", + "text": "Yeah. Yeah, yeah. Yeah, exactly." + }, + { + "time": "18:54:14", + "speaker": "Alex Martemyanov", + "text": "So, yeah, there should be the exact case how to validate this, and maybe it gets other way otherwise in the following macOS releases, so…" + }, + { + "time": "18:54:14", + "speaker": "Andre Martingo", + "text": "Yep. Okay. Yeah." + }, + { + "time": "18:54:22", + "speaker": "Alex Martemyanov", + "text": "Yeah, the steps should be there." + }, + { + "time": "18:54:25", + "speaker": "Andre Martingo", + "text": "Okay, and so basically, um, the idea would be, so today I still have a couple of hours, so I would merge all of these, and then I would create a stack PRs with the open tasks. pointing the release branch on Monday. Um, so…" + }, + { + "time": "18:54:43", + "speaker": "Alex Martemyanov", + "text": "Yeah, and uh… And one, uh, one thing I mentioned in the PR, I sent you the comments about the removal." + }, + { + "time": "18:54:50", + "speaker": "Andre Martingo", + "text": "Mm-hmm." + }, + { + "time": "18:54:52", + "speaker": "Alex Martemyanov", + "text": "I just highlighted that it may affect the broad behavior. Alright, no doubt. Okay. Yeah, that's right. From their phone, it shouldn't be. Better to be… Yeah, so… Basically, the feature flag there, just to keep the old behavior and market for removal." + }, + { + "time": "18:55:32", + "speaker": "Andre Martingo", + "text": "Yeah, yeah. Yeah, yeah, I added. Yeah, yeah, yeah. Mm-hmm, indeed, yeah, okay. Okay. So I talked with Dominique as well." + }, + { + "time": "18:55:41", + "speaker": "Alex Martemyanov", + "text": "Yeah, and just… just add a comment… just add a comment that… that should be… should be removed when the feature is…" + }, + { + "time": "18:55:44", + "speaker": "Andre Martingo", + "text": "Mm-hmm." + }, + { + "time": "18:55:48", + "speaker": "Alex Martemyanov", + "text": "validated." + }, + { + "time": "18:55:50", + "speaker": "Andre Martingo", + "text": "Okay. Yeah, I assume, like, basically, whenever this feature is validated, I will find I will try with Claude to find all the. Entry points on feature flags, and kind of remove everything that is not related with it." + }, + { + "time": "18:56:07", + "speaker": "Alex Martemyanov", + "text": "Yeah, I'd keep it for running for half a year. I'm monitoring the incoming feedback." + }, + { + "time": "18:56:13", + "speaker": "Andre Martingo", + "text": "Okay. Okay." + }, + { + "time": "18:56:15", + "speaker": "Alex Martemyanov", + "text": "Because it's quite a large change." + }, + { + "time": "18:56:18", + "speaker": "Andre Martingo", + "text": "Yeah, indeed. Yeah, it was my first big project. I landed here without knowing much." + }, + { + "time": "18:56:18", + "speaker": "Alex Martemyanov", + "text": "And, uh… Friendly. Yeah, I… it's… it's… It's not… it's not… it's not trivial. Indeed, I remember touching it and implementing the initial approaches, and it's really not trivial. There is a lot of corner cases and a lot of small things that I may." + }, + { + "time": "18:56:29", + "speaker": "Andre Martingo", + "text": "No. Exactly." + }, + { + "time": "18:56:42", + "speaker": "Alex Martemyanov", + "text": "have missed. That's why I suggest not even using the 3… the standard 3-month, uh, removal window, but extend it maybe to half a year." + }, + { + "time": "18:56:51", + "speaker": "Andre Martingo", + "text": "Okay. Okay, that's good." + }, + { + "time": "18:56:52", + "speaker": "Alex Martemyanov", + "text": "Just to make sure we don't miss anything." + }, + { + "time": "18:56:55", + "speaker": "Andre Martingo", + "text": "Yep. Yeah, exactly. Yeah. For me it was my first big project and it was so many small details and small issues. Actually I check Windows project and they have a huge list of fixes as well. Because as you saw, like it's infinite possibilities of combinations. So it's quite." + }, + { + "time": "18:57:13", + "speaker": "Alex Martemyanov", + "text": "No." + }, + { + "time": "18:57:14", + "speaker": "Andre Martingo", + "text": "Tricky." + }, + { + "time": "18:57:15", + "speaker": "Alex Martemyanov", + "text": "And also each of the permissions work a little bit different from one another." + }, + { + "time": "18:57:20", + "speaker": "Andre Martingo", + "text": "Yeah. Yeah, exactly, exactly. And the Swiss link as well. It was challenging. Thanks for your help there. So let's see. Okay, so, okay, overall, let's then merge this one. I will follow up. into the other PRs, I will start with each other, pointing, try to fix today to point to merge to the release branch on Monday, and it should be a small diff, so it should be easier to check the PR. Um…" + }, + { + "time": "18:57:50", + "speaker": "Alex Martemyanov", + "text": "Yeah, sure." + }, + { + "time": "18:57:52", + "speaker": "Andre Martingo", + "text": "And if you need me for something, just ping me. But yeah, mainly it was just to say thanks for your time and patience with all of this." + }, + { + "time": "18:58:03", + "speaker": "Alex Martemyanov", + "text": "Yeah, welcome. Happy to help. Just one ask to make sure to go through the testing steps yourself once again and through the code and all the comments that I highlighted." + }, + { + "time": "18:58:12", + "speaker": "Andre Martingo", + "text": "Mm-hmm. Oh, okay. Yeah." + }, + { + "time": "18:58:18", + "speaker": "Alex Martemyanov", + "text": "Just once again to validate everything, and nothing got broken, because I don't have capacity today to make it again, so I'll just…" + }, + { + "time": "18:58:21", + "speaker": "Andre Martingo", + "text": "Okay. Okay." + }, + { + "time": "18:58:28", + "speaker": "Alex Martemyanov", + "text": "Drop you here, and I'm going to approve it now." + }, + { + "time": "18:58:32", + "speaker": "Andre Martingo", + "text": "Okay, I will do it. No worries. I have a couple of more hours today, so I will go through everything again." + }, + { + "time": "18:58:32", + "speaker": "Alex Martemyanov", + "text": "Yeah, that's fine. Okay, thank you." + }, + { + "time": "18:58:40", + "speaker": "Andre Martingo", + "text": "Okay, Alex, thanks for your time, and good luck in the proposal. Sounds super interesting, your tech design, because that would unblock us as well to have more modularization on macOS, because Core Data is kind of a blocker, right, to move some. Features into SPM so." + }, + { + "time": "18:58:58", + "speaker": "Alex Martemyanov", + "text": "Ah, it was. Actually, it's not… it's not a problem anymore." + }, + { + "time": "18:59:03", + "speaker": "Andre Martingo", + "text": "Okay." + }, + { + "time": "18:59:03", + "speaker": "Alex Martemyanov", + "text": "Well, that's got 27, so… Generally, I foresee no problems, just need some careful review and testing. Otherwise, it works surprisingly well." + }, + { + "time": "18:59:06", + "speaker": "Andre Martingo", + "text": "Ah, okay. Okay. Yeah. Okay, okay, that's good, yeah. It will be nice, because I wanted to start isolate more stuff, to have previews working, because it's such a big package that I cannot make previews work on macOS for now." + }, + { + "time": "18:59:31", + "speaker": "Alex Martemyanov", + "text": "Mm, that's…" + }, + { + "time": "18:59:31", + "speaker": "Andre Martingo", + "text": "Uh, because it has so many things to compile, and I tried, and if I create a smaller package, it works." + }, + { + "time": "18:59:35", + "speaker": "Alex Martemyanov", + "text": "Actually… Actually, it's worth highlighting on the tech design as well." + }, + { + "time": "18:59:38", + "speaker": "Andre Martingo", + "text": "Uh, even on Xcode 27. Yeah, I was about to post. I can post a comment about the previous as a upside as well." + }, + { + "time": "18:59:42", + "speaker": "Alex Martemyanov", + "text": "Okay. Yeah, that would be good if you could." + }, + { + "time": "18:59:51", + "speaker": "Andre Martingo", + "text": "Okay." + }, + { + "time": "18:59:51", + "speaker": "Alex Martemyanov", + "text": "Post your thoughts." + }, + { + "time": "18:59:53", + "speaker": "Andre Martingo", + "text": "Okay, sounds good." + }, + { + "time": "18:59:54", + "speaker": "Alex Martemyanov", + "text": "Because… because currently, I think the main friction points are about the people not, uh… not really willing to switch, but I'm not forcing anybody to switch, but just, okay, let's keep the things as they are now, and not… let's not change anything, so that's, like, a default position for, uh… for many people, and that's…" + }, + { + "time": "19:00:15", + "speaker": "Andre Martingo", + "text": "Yeah. The question is the implementation, right? So to juggle the time to implement these with the top priority is quite of a challenge, right?" + }, + { + "time": "19:00:16", + "speaker": "Alex Martemyanov", + "text": "The main friction point. Yeah, thanks to all the AI tools that made it possible during the last year. Actually, it was a huge leap forward because." + }, + { + "time": "19:00:28", + "speaker": "Andre Martingo", + "text": "Okay. Okay." + }, + { + "time": "19:00:37", + "speaker": "Alex Martemyanov", + "text": "A year ago, when I just started, maybe even more than a year ago, I had to go many orders through all the storyboards, just through the codes, just not to miss anything, and convert it using a converter, then ask AI to, you know, validate." + }, + { + "time": "19:00:45", + "speaker": "Andre Martingo", + "text": "Yeah, yeah." + }, + { + "time": "19:00:54", + "speaker": "Alex Martemyanov", + "text": "Uh, put some last things, and that was really painful experience. Now I just charged Claude. Uh, it exhausted my monthly limit, but, uh, still, it made a really, really good job. There was a couple of misses, uh, not reaching production, luckily, but anyways, there were a couple of…" + }, + { + "time": "19:01:06", + "speaker": "Andre Martingo", + "text": "No worries. Thanks. Okay. Yeah." + }, + { + "time": "19:01:18", + "speaker": "Alex Martemyanov", + "text": "Missed points, uh, during the migration, especially on the storyboards, but otherwise it was mainly, like. launching several separate branches and, uh, telling it to prepare pull requests and review it, review everything in the end. So… Yeah, otherwise it would last for much more long time, I think." + }, + { + "time": "19:01:34", + "speaker": "Andre Martingo", + "text": "But… Okay. Okay, yeah, I will post the comment about previews on your tech design and yeah, thanks for your time and enjoy your weekend. See you next week." + }, + { + "time": "19:01:51", + "speaker": "Alex Martemyanov", + "text": "Yep. Thanks. You too." + } + ] +} diff --git a/work/zoom-transcripts/2026-10-09 Зал персональной конференции Alex Martemyanov 2026-10-09 18 51(GMT+6 00) AEmGnEdJQfCMmCjwLyGtGA/transcript.md b/work/zoom-transcripts/2026-10-09 Зал персональной конференции Alex Martemyanov 2026-10-09 18 51(GMT+6 00) AEmGnEdJQfCMmCjwLyGtGA/transcript.md new file mode 100644 index 00000000..930830f7 --- /dev/null +++ b/work/zoom-transcripts/2026-10-09 Зал персональной конференции Alex Martemyanov 2026-10-09 18 51(GMT+6 00) AEmGnEdJQfCMmCjwLyGtGA/transcript.md @@ -0,0 +1,99 @@ +--- +title: "Зал персональной конференции Alex Martemyanov 2026-10-09 18:51(GMT+6:00)" +date: 2026-10-09 +zoom_note_id: "AEmGnEdJQfCMmCjwLyGtGA" +source: "https://us01mynotes.zoom.us/AEmGnEdJQfCMmCjwLyGtGA" +--- + +# Зал персональной конференции Alex Martemyanov 2026-10-09 18:51(GMT+6:00) + +[Zoom My Notes](https://us01mynotes.zoom.us/AEmGnEdJQfCMmCjwLyGtGA) + +## Transcript + +- **18:51:55 · Andre Martingo:** Hello. +- **18:51:57 · Alex Martemyanov:** Hey. +- **18:51:59 · Andre Martingo:** Who are you? +- **18:52:01 · Alex Martemyanov:** Oh, yeah. Good. +- **18:52:05 · Andre Martingo:** A lot of stuff going on. +- **18:52:06 · Alex Martemyanov:** Uh… Yeah. +- **18:52:09 · Andre Martingo:** If… +- **18:52:09 · Alex Martemyanov:** Just constantly switching between windows, it's… +- **18:52:12 · Andre Martingo:** Yeah, sorry for… sorry for bothering you so much, but… yeah, but I think it's been… I don't know if it's always like this, but at least it's been productive, this cheap review. It's my first one, so I don't know. +- **18:52:12 · Alex Martemyanov:** All right. My head blows. Yeah, it's just several things happening in parallel. Like, you know, ship review, PR, the… my tech design, the… +- **18:52:31 · Andre Martingo:** Yep. I saw that. Yeah, I saw the tech design quite challenging. +- **18:52:37 · Alex Martemyanov:** Top priority work and the release maintenance and all at the same time. So I'm trying to. +- **18:52:45 · Andre Martingo:** Yeah, no worries. I didn't want to pressure or to bother you. So just, yeah, just for us to follow up here. +- **18:52:46 · Alex Martemyanov:** Ah, keep my head. +- **18:52:55 · Andre Martingo:** on the remaining work, so… because I assume it's almost time to close the day for you, it's already quite late, actually. +- **18:53:02 · Alex Martemyanov:** Yes, and I still have to post a couple of reports. +- **18:53:07 · Andre Martingo:** Okay. +- **18:53:07 · Alex Martemyanov:** And yeah, so generally, if we went through everything I mentioned and spotted. So. Yeah, I was going to basically approve the PR. +- **18:53:22 · Andre Martingo:** Mm-hmm. +- **18:53:23 · Alex Martemyanov:** And just, uh, would ask you to validate once again through the chat and, uh, the items. +- **18:53:30 · Andre Martingo:** Okay, so… +- **18:53:30 · Alex Martemyanov:** That we have everything added to the ship review as… as a tasks, or as follow-up tasks, if… if not fitting to the ship review. +- **18:53:33 · Andre Martingo:** Yep. Mm-hmm, yep. So, okay. +- **18:53:39 · Alex Martemyanov:** And just process that separately. +- **18:53:42 · Andre Martingo:** Okay, sounds good. So basically, I improved the comment, as you suggest. Sorry, I was not very clear how to reproduce that or how to… because there were so many small issues, it's hard sometimes to explain by words. That's why I recorded afterwards. +- **18:53:51 · Alex Martemyanov:** Yeah, I mean… It's… Yeah, just feel free to add some longer comment. So because for somebody out of the context, it may sound confusing and weird, like what does it mean, why it is not decided and why it's disabled. +- **18:54:04 · Andre Martingo:** Yeah. Yeah, yeah. Yeah, exactly. +- **18:54:14 · Alex Martemyanov:** So, yeah, there should be the exact case how to validate this, and maybe it gets other way otherwise in the following macOS releases, so… +- **18:54:14 · Andre Martingo:** Yep. Okay. Yeah. +- **18:54:22 · Alex Martemyanov:** Yeah, the steps should be there. +- **18:54:25 · Andre Martingo:** Okay, and so basically, um, the idea would be, so today I still have a couple of hours, so I would merge all of these, and then I would create a stack PRs with the open tasks. pointing the release branch on Monday. Um, so… +- **18:54:43 · Alex Martemyanov:** Yeah, and uh… And one, uh, one thing I mentioned in the PR, I sent you the comments about the removal. +- **18:54:50 · Andre Martingo:** Mm-hmm. +- **18:54:52 · Alex Martemyanov:** I just highlighted that it may affect the broad behavior. Alright, no doubt. Okay. Yeah, that's right. From their phone, it shouldn't be. Better to be… Yeah, so… Basically, the feature flag there, just to keep the old behavior and market for removal. +- **18:55:32 · Andre Martingo:** Yeah, yeah. Yeah, yeah, I added. Yeah, yeah, yeah. Mm-hmm, indeed, yeah, okay. Okay. So I talked with Dominique as well. +- **18:55:41 · Alex Martemyanov:** Yeah, and just… just add a comment… just add a comment that… that should be… should be removed when the feature is… +- **18:55:44 · Andre Martingo:** Mm-hmm. +- **18:55:48 · Alex Martemyanov:** validated. +- **18:55:50 · Andre Martingo:** Okay. Yeah, I assume, like, basically, whenever this feature is validated, I will find I will try with Claude to find all the. Entry points on feature flags, and kind of remove everything that is not related with it. +- **18:56:07 · Alex Martemyanov:** Yeah, I'd keep it for running for half a year. I'm monitoring the incoming feedback. +- **18:56:13 · Andre Martingo:** Okay. Okay. +- **18:56:15 · Alex Martemyanov:** Because it's quite a large change. +- **18:56:18 · Andre Martingo:** Yeah, indeed. Yeah, it was my first big project. I landed here without knowing much. +- **18:56:18 · Alex Martemyanov:** And, uh… Friendly. Yeah, I… it's… it's… It's not… it's not… it's not trivial. Indeed, I remember touching it and implementing the initial approaches, and it's really not trivial. There is a lot of corner cases and a lot of small things that I may. +- **18:56:29 · Andre Martingo:** No. Exactly. +- **18:56:42 · Alex Martemyanov:** have missed. That's why I suggest not even using the 3… the standard 3-month, uh, removal window, but extend it maybe to half a year. +- **18:56:51 · Andre Martingo:** Okay. Okay, that's good. +- **18:56:52 · Alex Martemyanov:** Just to make sure we don't miss anything. +- **18:56:55 · Andre Martingo:** Yep. Yeah, exactly. Yeah. For me it was my first big project and it was so many small details and small issues. Actually I check Windows project and they have a huge list of fixes as well. Because as you saw, like it's infinite possibilities of combinations. So it's quite. +- **18:57:13 · Alex Martemyanov:** No. +- **18:57:14 · Andre Martingo:** Tricky. +- **18:57:15 · Alex Martemyanov:** And also each of the permissions work a little bit different from one another. +- **18:57:20 · Andre Martingo:** Yeah. Yeah, exactly, exactly. And the Swiss link as well. It was challenging. Thanks for your help there. So let's see. Okay, so, okay, overall, let's then merge this one. I will follow up. into the other PRs, I will start with each other, pointing, try to fix today to point to merge to the release branch on Monday, and it should be a small diff, so it should be easier to check the PR. Um… +- **18:57:50 · Alex Martemyanov:** Yeah, sure. +- **18:57:52 · Andre Martingo:** And if you need me for something, just ping me. But yeah, mainly it was just to say thanks for your time and patience with all of this. +- **18:58:03 · Alex Martemyanov:** Yeah, welcome. Happy to help. Just one ask to make sure to go through the testing steps yourself once again and through the code and all the comments that I highlighted. +- **18:58:12 · Andre Martingo:** Mm-hmm. Oh, okay. Yeah. +- **18:58:18 · Alex Martemyanov:** Just once again to validate everything, and nothing got broken, because I don't have capacity today to make it again, so I'll just… +- **18:58:21 · Andre Martingo:** Okay. Okay. +- **18:58:28 · Alex Martemyanov:** Drop you here, and I'm going to approve it now. +- **18:58:32 · Andre Martingo:** Okay, I will do it. No worries. I have a couple of more hours today, so I will go through everything again. +- **18:58:32 · Alex Martemyanov:** Yeah, that's fine. Okay, thank you. +- **18:58:40 · Andre Martingo:** Okay, Alex, thanks for your time, and good luck in the proposal. Sounds super interesting, your tech design, because that would unblock us as well to have more modularization on macOS, because Core Data is kind of a blocker, right, to move some. Features into SPM so. +- **18:58:58 · Alex Martemyanov:** Ah, it was. Actually, it's not… it's not a problem anymore. +- **18:59:03 · Andre Martingo:** Okay. +- **18:59:03 · Alex Martemyanov:** Well, that's got 27, so… Generally, I foresee no problems, just need some careful review and testing. Otherwise, it works surprisingly well. +- **18:59:06 · Andre Martingo:** Ah, okay. Okay. Yeah. Okay, okay, that's good, yeah. It will be nice, because I wanted to start isolate more stuff, to have previews working, because it's such a big package that I cannot make previews work on macOS for now. +- **18:59:31 · Alex Martemyanov:** Mm, that's… +- **18:59:31 · Andre Martingo:** Uh, because it has so many things to compile, and I tried, and if I create a smaller package, it works. +- **18:59:35 · Alex Martemyanov:** Actually… Actually, it's worth highlighting on the tech design as well. +- **18:59:38 · Andre Martingo:** Uh, even on Xcode 27. Yeah, I was about to post. I can post a comment about the previous as a upside as well. +- **18:59:42 · Alex Martemyanov:** Okay. Yeah, that would be good if you could. +- **18:59:51 · Andre Martingo:** Okay. +- **18:59:51 · Alex Martemyanov:** Post your thoughts. +- **18:59:53 · Andre Martingo:** Okay, sounds good. +- **18:59:54 · Alex Martemyanov:** Because… because currently, I think the main friction points are about the people not, uh… not really willing to switch, but I'm not forcing anybody to switch, but just, okay, let's keep the things as they are now, and not… let's not change anything, so that's, like, a default position for, uh… for many people, and that's… +- **19:00:15 · Andre Martingo:** Yeah. The question is the implementation, right? So to juggle the time to implement these with the top priority is quite of a challenge, right? +- **19:00:16 · Alex Martemyanov:** The main friction point. Yeah, thanks to all the AI tools that made it possible during the last year. Actually, it was a huge leap forward because. +- **19:00:28 · Andre Martingo:** Okay. Okay. +- **19:00:37 · Alex Martemyanov:** A year ago, when I just started, maybe even more than a year ago, I had to go many orders through all the storyboards, just through the codes, just not to miss anything, and convert it using a converter, then ask AI to, you know, validate. +- **19:00:45 · Andre Martingo:** Yeah, yeah. +- **19:00:54 · Alex Martemyanov:** Uh, put some last things, and that was really painful experience. Now I just charged Claude. Uh, it exhausted my monthly limit, but, uh, still, it made a really, really good job. There was a couple of misses, uh, not reaching production, luckily, but anyways, there were a couple of… +- **19:01:06 · Andre Martingo:** No worries. Thanks. Okay. Yeah. +- **19:01:18 · Alex Martemyanov:** Missed points, uh, during the migration, especially on the storyboards, but otherwise it was mainly, like. launching several separate branches and, uh, telling it to prepare pull requests and review it, review everything in the end. So… Yeah, otherwise it would last for much more long time, I think. +- **19:01:34 · Andre Martingo:** But… Okay. Okay, yeah, I will post the comment about previews on your tech design and yeah, thanks for your time and enjoy your weekend. See you next week. +- **19:01:51 · Alex Martemyanov:** Yep. Thanks. You too. diff --git a/work/zoom-transcripts/2026-10-16 All-Company Meeting 2026-10-16 21 31(GMT+6 00) klekRLtLSEuMv0PCCPCjtA/transcript.json b/work/zoom-transcripts/2026-10-16 All-Company Meeting 2026-10-16 21 31(GMT+6 00) klekRLtLSEuMv0PCCPCjtA/transcript.json new file mode 100644 index 00000000..5fe5147f --- /dev/null +++ b/work/zoom-transcripts/2026-10-16 All-Company Meeting 2026-10-16 21 31(GMT+6 00) klekRLtLSEuMv0PCCPCjtA/transcript.json @@ -0,0 +1,109 @@ +{ + "schema_version": 1, + "note_id": "klekRLtLSEuMv0PCCPCjtA", + "title": "All-Company Meeting 2026-10-16 21:31(GMT+6:00)", + "meeting_date": "2026-10-16", + "source_url": "https://us01mynotes.zoom.us/klekRLtLSEuMv0PCCPCjtA", + "transcript": [ + { + "time": "21:31:08", + "speaker": "Gabriel Weinberg", + "text": "Hello? That was a nice fade out. Um… Okay… No new team members, no AOR updates. Um, we had one company update, there's no name by it." + }, + { + "time": "21:31:23", + "speaker": "Anne Hildebrand", + "text": "Sorry, that was me. Um, yes, this is Anne. Uh, just a reminder to check your inboxes for the outcome of the compensation review." + }, + { + "time": "21:31:26", + "speaker": "Gabriel Weinberg", + "text": "Yeah." + }, + { + "time": "21:31:34", + "speaker": "Anne Hildebrand", + "text": "And also, uh, we want to make sure you get your questions answered around anything you want to discuss there, so submit a PeopleOps form, that's one way to do it. Um, if you do submit it without your name on the form, remember that the responses go to the project I've dropped in the channel there, so make sure not to miss those. That's it for me." + }, + { + "time": "21:31:58", + "speaker": "Viktor Jansson", + "text": "Alright, objective update from 05 Search Revenue. Last week, we held an assessment and switched the focus to evaluate ad experience and optimizations for search revenue. We will do this by evaluating if we can show ads from other providers for commercial queries, where Microsoft doesn't give us any ads, and how we can improve our overall shopping and product experience. For the optimizations, we have a few products in the pipeline, mainly for optimizing product ads, which we expect a potential $4 million a year revenue increase for. And the Duckbill Award goes to Renato, who ran a product during Quick Win Days to highlight prices for products on sale, which added half a million dollars a year, while at the same time helping our users to find discounted products. Great example of time well spent during Quick Win Days with a large impact to the objective KPIs. Over to Kirby for more million dollar updates." + }, + { + "time": "21:32:56", + "speaker": "Kirby (she/they)", + "text": "Hey, thanks Victor. So we built a lot this past cycle. We hit 150,000 active subscribers. We're tracking toward 180,000 by the end of this year, which is the stretch goal that we set out in our last cycle. And it's not official yet, but tentatively, we're working toward 300,000 as the goal for the end of next year, end of 2027. So more exciting updates to come. This slide is mostly about one A/B test that we did, and I want to take a minute to explain it, because it's really interesting. So we, in rough numbers, about 800 people start a subscription every day. Some of them are going direct into a paid subscription. Some of them are starting a free trial. Also, every day we have between 4 and 500 people canceling their subscription. So more than half. And the difference between those numbers is net subscriber additions. That's OO's KPI. So we're not just trying to get more people to start a subscription. We're also trying to get fewer people to cancel. And one way we're doing that is by giving people a better day zero experience as soon as they subscribe, creating subscriber onboarding. But another way we're doing it is by shifting people over to yearly plans. So we've got monthly, we've got yearly. Monthly plans have a 14% churn rate. That's the likelihood that someone will cancel every month. Yearly plans, it's only 2%, because you only have one opportunity to churn. every year. So to try to shift people toward yearly, we tested removing the free trial option from monthly plans to make yearly a little more appealing. And we did this first on Android, and we saw what we expected or what we hoped for. which is that fewer people are getting a subscription, because some people will see that there's no free trial on monthly, they don't want yearly, they bounce. But of the people who do stick around, more of them are on yearly, and we modeled it out so that we'd catch up with where. our growth would have been within a few months. Then we also did it on iOS, and we saw something surprising, which is that iOS users will just buy the monthly subscription with no free trial, and more of them are going yearly also. So the number of extra people we got on iOS. cancels out the people we lost on Android. So there's no cost. It's not going to take any time to catch up with where our growth would have been. We're just getting the extra lifetime value of each of these users by shifting more people over to yearly. And we're going to reduce the churn rate from where it is now, 9.5%, which is pretty good compared to the industry standard for VPNs. We want it to be at 7% and we want it to stay there. And a year from now, just from this one experiment. we're going to get down to 7.2% churn from having more people coming in on yearly plans. So if you're close to OO, you know that we work really hard to get one experiment out right after the last one. And this is why we never know. when we're gonna have one that's even more valuable than we'd anticipated. In lifetime value, which is different from revenue, but it's the projected amount of revenue we expect to get per user, we're adding 5 million in lifetime value per. year just from this one experiment. So the next time we're moving quickly to get something out for an experiment, out of the way, because these are really valuable and interesting. And congratulations to the team for all the work that got done. Super congratulations to Bartek, who's come on in a tech lead role. And as soon as he got to the objective, he got up to speed really quickly. and is our Duckbill winner because he has been accelerating the timelines in project after project by just thinking of something we didn't think of, coming up with a simpler way to solve something, and he connected the dots between incidents that we've been seeing across platforms where users are getting logged out and we don't know why. And he'd figured out a path forward, turned it into an SLO, and owned it, and is getting it fixed. Congratulations, Bartek. And next, on to Russell, I think." + }, + { + "time": "21:37:23", + "speaker": "russell holt", + "text": "Thanks, Gary. Hi, yeah, Russell here with an update for OE, where we are working on cookie prompt management and ad blocking. Um, for CPM, we've been, uh, improving the automated pipeline, which processes. uh, fixes and unhandled sites. And at this point, about 50% of these changes, uh, to our data set are fully automated, meaning no human involvement, which is pretty exciting. And right now we're at about overall 73% coverage, uh, in the US. Right now. So, one thing that we did this cycle is we finally got a reasonable opt-in rate. um, of 65% on Android, similar to iOS for CPM. Uh, which is a flow we've been struggling with for a bit, because we have a lot of cases where we need user consent. to automatically do something for them for legal reasons. And in this case, it was we need to accept cookies under certain circumstances to raise that coverage to improve the experience. And it's been a little bit of trouble, but that was great. So, on this cycle, we're really doubling down on the CPM automation, making the agent faster, more accurate, improving heuristic pop-up detection, doing regression testing, and this is really the key. to the long-term maintenance mode for CPM, which is finally in sight again, which we're pretty excited about. Um, and on the ad blocking side, uh, we're moving forward with two of the main feature requests. that we got from our analysis after the big YouTube ad blocking launch. Um, which will be… One, expanding ad blocking to a selection of top sites, starting with adult sites. And then two, on YouTube specifically, giving users the ability to skip sponsored segments. sponsored content segments, which look like ads to people. Uh, through YouTube. So, the goal there is to give people more control. and make a better default experience, even for YouTube Premium. where people see these sponsored segments as ads, so better not block. All right, that's it for OE. I guess on to Emmanuelle." + }, + { + "time": "21:39:42", + "speaker": "Emanuele Feliziani", + "text": "Yes, Russell, thanks. Exciting updates on the CDM and unblocking stuff. We had OI assessment last week. We will keep the focus on ChatSync. We will have a hopefully final push to stabilize the ChatSync system. So this will be more of a milestone focus. And we'll focus, yes, on stabilization. What we've done in the sparse cycle, we've optimized. the Syncflow on several platforms, both mobile and, uh, like, native and, um, and third-party, and we also shipped, uh, promos for ChatSync. For third parties, we've seen a significant inflow of users from those promos. We've doubled the daily activations and the daily active users for third parties specifically is up almost 5x. And it's 30% across all platforms. So really nice bump in users there. We're still not happy with the adoption. We want more. We are also not happy with the conversion rates. So we will keep iterating. in the… in future cycles, so after this one. Uh, in the meantime, we are also running, uh, user research to try and understand the drop of… the drop of points, the points of confusion. For users during the sync setup flow and see where we can be more helpful towards our users, making sure that they are able to set up sync. um… across multiple devices especially. We'll also look into ways to make the sync entry point more prominent. We've already seen that people struggle to find it in the settings, it's kind of buried, so we try to make it more prominent, lift it up a little bit, make it more intuitive how to use it. Um, and yeah. That's it for ROI. The duck bill goes to Pablo Serrano, the pub RR. designer, Serrano, uh, designer Pablo, we also have a Pablo on the back end. Uh, and yeah, he's, he's been great. Uh, he's been great for a long time and this cycle we are happy to congratulate him, uh, with, with the award. And, uh, yeah, he's been, uh, he's been great, uh, on the project advisory side, very quick and tidy on the design front. And he's been, diving into the metrics with, with Gusto. So, really happy to see Pablo grow in this role. Thanks, Pablo, and congrats. Uh, next up, I think, is, uh, team member, uh, updates with John Russell." + }, + { + "time": "21:42:36", + "speaker": "Jon Russo", + "text": "Hi. Didn't realize I was coming up this soon. But, hi, everybody. I'm John from the CloudOps team. I guess I'm Matt. Two different angles here. One from the work side. Recently, I started working on some of our Kubernetes stuff, which is really exciting and a little intimidating for me. I've been wanting to kind of dip my toes into this technology for a while, and it's nice to be able to finally do it. I got a lot of people on the team helping me in that, and kind of designing a new deployment spec for some of our new Kubernetes clusters. So that's fun and exciting in the infra velocity kind of project there. On a personal side, two pretty exciting things coming up. One tomorrow, I've been doing a lot of trail running this past year, and I have a half marathon coming up at a place called Von Trapp Mountain. Um, it's just outside of Stowe, Vermont, if anybody knows the area. Uh, the Von Trapp family is famous from The Sound of Music, uh, movies way back in the day, and it's an absolutely beautiful property up there. Um, so it's gonna be a fun race, um… there that has about 2,000 feet of elevation gain in it. I think that's roughly like 600 meters for the Europeans. The weather is looking pretty terrible, actually, so it might be a bit of a slop fest. We're expected to get an inch of rain today, and then it's going to be 33 degrees Fahrenheit at the start of the race, about 1 degree Celsius, so pretty dang cold. Um, and then the other side is that, uh, about a couple weeks ago, I booked a trip to Japan for end of January. Uh, this is something I've always wanted to do. It's been a bucket list trip for me to go skiing there. Um, so me and a couple friends are going to Hokkaido for two weeks. And, uh, traveling around in a van, and kind of exploring all the resorts there, and doing some backcountry skiing, uh, maybe even backcountry skiing into a volcano. Um, so that should be fun. Yeah, that's it for me. Thanks." + }, + { + "time": "21:44:56", + "speaker": "Stephen", + "text": "Oh, I think this is me. Hi, so we've been working on a refreshed new tab page for iOS for a while, and we're finally getting ready for the first internal release. It should be next week. I think there's a link in there if you want to enable it early. I tried to make a video. So this would work out well, but that didn't work. So we're gonna do it live demo real quick. So hopefully this does work out. I'm gonna try to. share this via… My phone. So if it doesn't work, someone please yell at me. Okay. Hopefully you can see my phone." + }, + { + "time": "21:45:37", + "speaker": "Spencer", + "text": "Yes." + }, + { + "time": "21:45:38", + "speaker": "Stephen", + "text": "Okay, awesome. Thank you. So… So here's the new tab — the new, new tab page. Kind of a weird phrasing. But you can see it's more brand forward. We have Dax there. He's got some Dax greetings. We have a nice background illustration there in the background. And the greetings will update. Probably not this frequently, but you can kind of see there's a few in there and we're going to update them based on time of day and some other stuff. The toggle's right there so you can switch between chat and search pretty easily. And you can see we have. Placeholder favorites now. So these are not hidden by default. So this is kind of inviting people to add more favorites. I could add one. Maybe. Yep, and there's that one, so that goes there. But we don't show the, uh… icon until you go there once. And then we also have… The return to hatch there. So you can get back to that. You can swipe it away if you want. Also get to your new tabs easier. And… I think I lost my window. I have too many DuckDuckGo's going here. You can also… Have a lot of favorites. So they scroll and expand and contract. And you can use the customization right on the page now, so you can toggle them on and off. From here, change some settings, we're gonna add some more there as well, and it also has… Dark mode, so if you want a cool fancy dark mode, you can have that as well, and everything should look… Nice there as well. So if you want to try that out, you can wait till next week, or you can follow the link and turn it on for yourself now." + }, + { + "time": "21:47:35", + "speaker": "Julia Abreu", + "text": "We had one more demo added to the agenda, but there is no name there. So, how to enable Redesign NTP? Does anyone…" + }, + { + "time": "21:47:45", + "speaker": "Gabriel Weinberg", + "text": "I think that's Brett Stevens." + }, + { + "time": "21:47:46", + "speaker": "Stephen", + "text": "Oh, yeah, that was part of mine, sorry." + }, + { + "time": "21:47:48", + "speaker": "Gabriel Weinberg", + "text": "Yeah." + }, + { + "time": "21:47:48", + "speaker": "Julia Abreu", + "text": "Oh, okay, cool. Just wanted to make sure that there was no extra in there. Uh, okay, before we wrap up, I just wanted to say or remind everybody that next day we have Hack Days. Um, it's the last Hack Days of the year. We will have a quick win in, uh, December. If you want to check the dates, you can see the AOR for special days. I am just drafting the calendar for next year, so I'll get Gabriel to take a look, and then I will post it as well under the AOR. I am working on some ideas on how to make the meeting for the demos a little shorter. I don't want to make it. every demo shorter than 2 minutes, because, um, I know you all wouldn't like that, but I'm trying to figure out, um, some ways that maybe we can split demos in different days, or, like, so if you have any ideas, or if you would like to help in any way. please go ahead and ping me. And otherwise, I just have one personal update that is special for Elle. Um, this is Maple. This is our third Dash Hound. Um, I am completely out of control now that I have a garden, so, um, I might be just sharing a new Dutch hound every week. Uh, and if I get her to not bark at everyone, I will bring her to our next meetup, uh, because the other two are not. very well trained. Um, so that's it for me. I hope you all have a great weekend, and uh… we'll roll out GPT for next week." + }, + { + "time": "21:49:17", + "speaker": "Gabriel Weinberg", + "text": "Yeah, one idea for you, Julia, for everyone here, is that to make less demos, you can collaborate with each other on projects, so… I'm not sure our best process for that at the moment, but there's the Hack Days project. You can say what you're gonna work on in there and try to recruit people. There's, we have a Mattermost channel too, don't we? Do you? Or if not, maybe we should." + }, + { + "time": "21:49:37", + "speaker": "Julia Abreu", + "text": "We do have, yes, specialties." + }, + { + "time": "21:49:40", + "speaker": "Gabriel Weinberg", + "text": "Maybe that's the place to go. Go to the Mattermost channel. Um, okay, hope everyone's gonna be good." + } + ] +} diff --git a/work/zoom-transcripts/2026-10-16 All-Company Meeting 2026-10-16 21 31(GMT+6 00) klekRLtLSEuMv0PCCPCjtA/transcript.md b/work/zoom-transcripts/2026-10-16 All-Company Meeting 2026-10-16 21 31(GMT+6 00) klekRLtLSEuMv0PCCPCjtA/transcript.md new file mode 100644 index 00000000..86413091 --- /dev/null +++ b/work/zoom-transcripts/2026-10-16 All-Company Meeting 2026-10-16 21 31(GMT+6 00) klekRLtLSEuMv0PCCPCjtA/transcript.md @@ -0,0 +1,33 @@ +--- +title: "All-Company Meeting 2026-10-16 21:31(GMT+6:00)" +date: 2026-10-16 +zoom_note_id: "klekRLtLSEuMv0PCCPCjtA" +source: "https://us01mynotes.zoom.us/klekRLtLSEuMv0PCCPCjtA" +--- + +# All-Company Meeting 2026-10-16 21:31(GMT+6:00) + +[Zoom My Notes](https://us01mynotes.zoom.us/klekRLtLSEuMv0PCCPCjtA) + +## Transcript + +- **21:31:08 · Gabriel Weinberg:** Hello? That was a nice fade out. Um… Okay… No new team members, no AOR updates. Um, we had one company update, there's no name by it. +- **21:31:23 · Anne Hildebrand:** Sorry, that was me. Um, yes, this is Anne. Uh, just a reminder to check your inboxes for the outcome of the compensation review. +- **21:31:26 · Gabriel Weinberg:** Yeah. +- **21:31:34 · Anne Hildebrand:** And also, uh, we want to make sure you get your questions answered around anything you want to discuss there, so submit a PeopleOps form, that's one way to do it. Um, if you do submit it without your name on the form, remember that the responses go to the project I've dropped in the channel there, so make sure not to miss those. That's it for me. +- **21:31:58 · Viktor Jansson:** Alright, objective update from 05 Search Revenue. Last week, we held an assessment and switched the focus to evaluate ad experience and optimizations for search revenue. We will do this by evaluating if we can show ads from other providers for commercial queries, where Microsoft doesn't give us any ads, and how we can improve our overall shopping and product experience. For the optimizations, we have a few products in the pipeline, mainly for optimizing product ads, which we expect a potential $4 million a year revenue increase for. And the Duckbill Award goes to Renato, who ran a product during Quick Win Days to highlight prices for products on sale, which added half a million dollars a year, while at the same time helping our users to find discounted products. Great example of time well spent during Quick Win Days with a large impact to the objective KPIs. Over to Kirby for more million dollar updates. +- **21:32:56 · Kirby (she/they):** Hey, thanks Victor. So we built a lot this past cycle. We hit 150,000 active subscribers. We're tracking toward 180,000 by the end of this year, which is the stretch goal that we set out in our last cycle. And it's not official yet, but tentatively, we're working toward 300,000 as the goal for the end of next year, end of 2027. So more exciting updates to come. This slide is mostly about one A/B test that we did, and I want to take a minute to explain it, because it's really interesting. So we, in rough numbers, about 800 people start a subscription every day. Some of them are going direct into a paid subscription. Some of them are starting a free trial. Also, every day we have between 4 and 500 people canceling their subscription. So more than half. And the difference between those numbers is net subscriber additions. That's OO's KPI. So we're not just trying to get more people to start a subscription. We're also trying to get fewer people to cancel. And one way we're doing that is by giving people a better day zero experience as soon as they subscribe, creating subscriber onboarding. But another way we're doing it is by shifting people over to yearly plans. So we've got monthly, we've got yearly. Monthly plans have a 14% churn rate. That's the likelihood that someone will cancel every month. Yearly plans, it's only 2%, because you only have one opportunity to churn. every year. So to try to shift people toward yearly, we tested removing the free trial option from monthly plans to make yearly a little more appealing. And we did this first on Android, and we saw what we expected or what we hoped for. which is that fewer people are getting a subscription, because some people will see that there's no free trial on monthly, they don't want yearly, they bounce. But of the people who do stick around, more of them are on yearly, and we modeled it out so that we'd catch up with where. our growth would have been within a few months. Then we also did it on iOS, and we saw something surprising, which is that iOS users will just buy the monthly subscription with no free trial, and more of them are going yearly also. So the number of extra people we got on iOS. cancels out the people we lost on Android. So there's no cost. It's not going to take any time to catch up with where our growth would have been. We're just getting the extra lifetime value of each of these users by shifting more people over to yearly. And we're going to reduce the churn rate from where it is now, 9.5%, which is pretty good compared to the industry standard for VPNs. We want it to be at 7% and we want it to stay there. And a year from now, just from this one experiment. we're going to get down to 7.2% churn from having more people coming in on yearly plans. So if you're close to OO, you know that we work really hard to get one experiment out right after the last one. And this is why we never know. when we're gonna have one that's even more valuable than we'd anticipated. In lifetime value, which is different from revenue, but it's the projected amount of revenue we expect to get per user, we're adding 5 million in lifetime value per. year just from this one experiment. So the next time we're moving quickly to get something out for an experiment, out of the way, because these are really valuable and interesting. And congratulations to the team for all the work that got done. Super congratulations to Bartek, who's come on in a tech lead role. And as soon as he got to the objective, he got up to speed really quickly. and is our Duckbill winner because he has been accelerating the timelines in project after project by just thinking of something we didn't think of, coming up with a simpler way to solve something, and he connected the dots between incidents that we've been seeing across platforms where users are getting logged out and we don't know why. And he'd figured out a path forward, turned it into an SLO, and owned it, and is getting it fixed. Congratulations, Bartek. And next, on to Russell, I think. +- **21:37:23 · russell holt:** Thanks, Gary. Hi, yeah, Russell here with an update for OE, where we are working on cookie prompt management and ad blocking. Um, for CPM, we've been, uh, improving the automated pipeline, which processes. uh, fixes and unhandled sites. And at this point, about 50% of these changes, uh, to our data set are fully automated, meaning no human involvement, which is pretty exciting. And right now we're at about overall 73% coverage, uh, in the US. Right now. So, one thing that we did this cycle is we finally got a reasonable opt-in rate. um, of 65% on Android, similar to iOS for CPM. Uh, which is a flow we've been struggling with for a bit, because we have a lot of cases where we need user consent. to automatically do something for them for legal reasons. And in this case, it was we need to accept cookies under certain circumstances to raise that coverage to improve the experience. And it's been a little bit of trouble, but that was great. So, on this cycle, we're really doubling down on the CPM automation, making the agent faster, more accurate, improving heuristic pop-up detection, doing regression testing, and this is really the key. to the long-term maintenance mode for CPM, which is finally in sight again, which we're pretty excited about. Um, and on the ad blocking side, uh, we're moving forward with two of the main feature requests. that we got from our analysis after the big YouTube ad blocking launch. Um, which will be… One, expanding ad blocking to a selection of top sites, starting with adult sites. And then two, on YouTube specifically, giving users the ability to skip sponsored segments. sponsored content segments, which look like ads to people. Uh, through YouTube. So, the goal there is to give people more control. and make a better default experience, even for YouTube Premium. where people see these sponsored segments as ads, so better not block. All right, that's it for OE. I guess on to Emmanuelle. +- **21:39:42 · Emanuele Feliziani:** Yes, Russell, thanks. Exciting updates on the CDM and unblocking stuff. We had OI assessment last week. We will keep the focus on ChatSync. We will have a hopefully final push to stabilize the ChatSync system. So this will be more of a milestone focus. And we'll focus, yes, on stabilization. What we've done in the sparse cycle, we've optimized. the Syncflow on several platforms, both mobile and, uh, like, native and, um, and third-party, and we also shipped, uh, promos for ChatSync. For third parties, we've seen a significant inflow of users from those promos. We've doubled the daily activations and the daily active users for third parties specifically is up almost 5x. And it's 30% across all platforms. So really nice bump in users there. We're still not happy with the adoption. We want more. We are also not happy with the conversion rates. So we will keep iterating. in the… in future cycles, so after this one. Uh, in the meantime, we are also running, uh, user research to try and understand the drop of… the drop of points, the points of confusion. For users during the sync setup flow and see where we can be more helpful towards our users, making sure that they are able to set up sync. um… across multiple devices especially. We'll also look into ways to make the sync entry point more prominent. We've already seen that people struggle to find it in the settings, it's kind of buried, so we try to make it more prominent, lift it up a little bit, make it more intuitive how to use it. Um, and yeah. That's it for ROI. The duck bill goes to Pablo Serrano, the pub RR. designer, Serrano, uh, designer Pablo, we also have a Pablo on the back end. Uh, and yeah, he's, he's been great. Uh, he's been great for a long time and this cycle we are happy to congratulate him, uh, with, with the award. And, uh, yeah, he's been, uh, he's been great, uh, on the project advisory side, very quick and tidy on the design front. And he's been, diving into the metrics with, with Gusto. So, really happy to see Pablo grow in this role. Thanks, Pablo, and congrats. Uh, next up, I think, is, uh, team member, uh, updates with John Russell. +- **21:42:36 · Jon Russo:** Hi. Didn't realize I was coming up this soon. But, hi, everybody. I'm John from the CloudOps team. I guess I'm Matt. Two different angles here. One from the work side. Recently, I started working on some of our Kubernetes stuff, which is really exciting and a little intimidating for me. I've been wanting to kind of dip my toes into this technology for a while, and it's nice to be able to finally do it. I got a lot of people on the team helping me in that, and kind of designing a new deployment spec for some of our new Kubernetes clusters. So that's fun and exciting in the infra velocity kind of project there. On a personal side, two pretty exciting things coming up. One tomorrow, I've been doing a lot of trail running this past year, and I have a half marathon coming up at a place called Von Trapp Mountain. Um, it's just outside of Stowe, Vermont, if anybody knows the area. Uh, the Von Trapp family is famous from The Sound of Music, uh, movies way back in the day, and it's an absolutely beautiful property up there. Um, so it's gonna be a fun race, um… there that has about 2,000 feet of elevation gain in it. I think that's roughly like 600 meters for the Europeans. The weather is looking pretty terrible, actually, so it might be a bit of a slop fest. We're expected to get an inch of rain today, and then it's going to be 33 degrees Fahrenheit at the start of the race, about 1 degree Celsius, so pretty dang cold. Um, and then the other side is that, uh, about a couple weeks ago, I booked a trip to Japan for end of January. Uh, this is something I've always wanted to do. It's been a bucket list trip for me to go skiing there. Um, so me and a couple friends are going to Hokkaido for two weeks. And, uh, traveling around in a van, and kind of exploring all the resorts there, and doing some backcountry skiing, uh, maybe even backcountry skiing into a volcano. Um, so that should be fun. Yeah, that's it for me. Thanks. +- **21:44:56 · Stephen:** Oh, I think this is me. Hi, so we've been working on a refreshed new tab page for iOS for a while, and we're finally getting ready for the first internal release. It should be next week. I think there's a link in there if you want to enable it early. I tried to make a video. So this would work out well, but that didn't work. So we're gonna do it live demo real quick. So hopefully this does work out. I'm gonna try to. share this via… My phone. So if it doesn't work, someone please yell at me. Okay. Hopefully you can see my phone. +- **21:45:37 · Spencer:** Yes. +- **21:45:38 · Stephen:** Okay, awesome. Thank you. So… So here's the new tab — the new, new tab page. Kind of a weird phrasing. But you can see it's more brand forward. We have Dax there. He's got some Dax greetings. We have a nice background illustration there in the background. And the greetings will update. Probably not this frequently, but you can kind of see there's a few in there and we're going to update them based on time of day and some other stuff. The toggle's right there so you can switch between chat and search pretty easily. And you can see we have. Placeholder favorites now. So these are not hidden by default. So this is kind of inviting people to add more favorites. I could add one. Maybe. Yep, and there's that one, so that goes there. But we don't show the, uh… icon until you go there once. And then we also have… The return to hatch there. So you can get back to that. You can swipe it away if you want. Also get to your new tabs easier. And… I think I lost my window. I have too many DuckDuckGo's going here. You can also… Have a lot of favorites. So they scroll and expand and contract. And you can use the customization right on the page now, so you can toggle them on and off. From here, change some settings, we're gonna add some more there as well, and it also has… Dark mode, so if you want a cool fancy dark mode, you can have that as well, and everything should look… Nice there as well. So if you want to try that out, you can wait till next week, or you can follow the link and turn it on for yourself now. +- **21:47:35 · Julia Abreu:** We had one more demo added to the agenda, but there is no name there. So, how to enable Redesign NTP? Does anyone… +- **21:47:45 · Gabriel Weinberg:** I think that's Brett Stevens. +- **21:47:46 · Stephen:** Oh, yeah, that was part of mine, sorry. +- **21:47:48 · Gabriel Weinberg:** Yeah. +- **21:47:48 · Julia Abreu:** Oh, okay, cool. Just wanted to make sure that there was no extra in there. Uh, okay, before we wrap up, I just wanted to say or remind everybody that next day we have Hack Days. Um, it's the last Hack Days of the year. We will have a quick win in, uh, December. If you want to check the dates, you can see the AOR for special days. I am just drafting the calendar for next year, so I'll get Gabriel to take a look, and then I will post it as well under the AOR. I am working on some ideas on how to make the meeting for the demos a little shorter. I don't want to make it. every demo shorter than 2 minutes, because, um, I know you all wouldn't like that, but I'm trying to figure out, um, some ways that maybe we can split demos in different days, or, like, so if you have any ideas, or if you would like to help in any way. please go ahead and ping me. And otherwise, I just have one personal update that is special for Elle. Um, this is Maple. This is our third Dash Hound. Um, I am completely out of control now that I have a garden, so, um, I might be just sharing a new Dutch hound every week. Uh, and if I get her to not bark at everyone, I will bring her to our next meetup, uh, because the other two are not. very well trained. Um, so that's it for me. I hope you all have a great weekend, and uh… we'll roll out GPT for next week. +- **21:49:17 · Gabriel Weinberg:** Yeah, one idea for you, Julia, for everyone here, is that to make less demos, you can collaborate with each other on projects, so… I'm not sure our best process for that at the moment, but there's the Hack Days project. You can say what you're gonna work on in there and try to recruit people. There's, we have a Mattermost channel too, don't we? Do you? Or if not, maybe we should. +- **21:49:37 · Julia Abreu:** We do have, yes, specialties. +- **21:49:40 · Gabriel Weinberg:** Maybe that's the place to go. Go to the Mattermost channel. Um, okay, hope everyone's gonna be good. diff --git a/work/zoom-transcripts/index.json b/work/zoom-transcripts/index.json old mode 100755 new mode 100644 index c64e6616..d64d9a47 --- a/work/zoom-transcripts/index.json +++ b/work/zoom-transcripts/index.json @@ -56,6 +56,22 @@ "folder": "2026-10-06 Dominik Kapusta's Personal Meeting Room 2026-10-06 15 12(GMT+6 00) NtgNJ-Y-Qxy5sMGMjngukw", "sha256": "212d398d41d23a40877f4336e383295e25293cc7d7e23341950e18eb42781265", "cues": 294 + }, + "klekRLtLSEuMv0PCCPCjtA": { + "title": "All-Company Meeting 2026-10-16 21:31(GMT+6:00)", + "meeting_date": "2026-10-16", + "source_url": "https://us01mynotes.zoom.us/klekRLtLSEuMv0PCCPCjtA", + "folder": "2026-10-16 All-Company Meeting 2026-10-16 21 31(GMT+6 00) klekRLtLSEuMv0PCCPCjtA", + "sha256": "5c6b111a0bc4c48ec4b2e1379dd7b3754d33798bcbb1d6db0392fcc973bd2cc6", + "cues": 20 + }, + "AEmGnEdJQfCMmCjwLyGtGA": { + "title": "Зал персональной конференции Alex Martemyanov 2026-10-09 18:51(GMT+6:00)", + "meeting_date": "2026-10-09", + "source_url": "https://us01mynotes.zoom.us/AEmGnEdJQfCMmCjwLyGtGA", + "folder": "2026-10-09 Зал персональной конференции Alex Martemyanov 2026-10-09 18 51(GMT+6 00) AEmGnEdJQfCMmCjwLyGtGA", + "sha256": "562d2af7fee22ee565cd6494dac717becd8bcd090b926b8fe9deea7099e8e2f2", + "cues": 86 } } }