Season 6 Episode 1 Oct 28, 2021

VS Code in the Browser, Facebook Internal Documents, and Corporate Open Source

Pitch

It's browser time for VS Code!

Description

In this episode, we talk about the explosive Facebook internal documents, a merger between Ruby Central and Ruby Together, and the short lived removal of .NET’s Hot Reload feature, which had a lot of developers frustrated and confused by the decision. Then we speak with Brigit Murtaugh, Program Manager II at Microsoft, and João Moreno, Principal Software Engineer for VS Code about how they created a new lightweight version of VS Code that can run fully in the browser.

Hosts

Saron Yitbarek

Disco - Founder

Saron Yitbarek is the founder of Disco, host of the CodeNewbie podcast, and co-host of the base.cs podcast.

Josh Puetz

Forem - Principal Engineer

Josh Puetz is Principal Software Engineer at Forem.

Guests

Brigit Murtaugh

Microsoft, Visual Studio Code team - Program Manager II

Brigit Murtaugh is a Program Manager on the Visual Studio Code team at Microsoft, where she focuses on remote and web experiences, including the remote development extensions and VS Code for the Web.

João Moreno

Microsoft, Visual Studio Code team - Principal Software Engineer

João Moreno is a Principal Software Engineer on the Visual Studio Code team at Microsoft, where he focuses on UI, engineering, cross-plat releases and more recently, vscode.dev.

Show Notes

Audio file size

54689366

Duration

00:37:59

Transcript

[00:00:10] SY: Welcome to DevNews, the news show for developers by developers, where we cover the latest in the world of tech. I’m Saron Yitbarek, Founder of Disco.

 

[00:00:19] JP: And I’m Josh Puetz, Principal Engineer at Forem.

 

[00:00:21] SY: This week, we’re talking about the explosive Facebook internal documents, a merger between Ruby Central and Ruby Together, and the short-lived removal of .NET’s Hot Reload feature, which had a lot of developers frustrated and confused by the decision.

 

[00:00:36] JP: Then we speak with Brigit Murtaugh, Program Manager II at Microsoft, and João Moreno, Principal Software Engineer for VS Code, about how they created a new lightweight version of VS Code that can run fully in the browser.

 

[00:00:48] JM: And so I could just hop on to a different device, or even if I’m at my parents’ house and I’m fixing something for them in their computer, I immediately get my dev environment without installing anything on their machine.

 

[00:01:01] SY: So we’re starting the season off with a doozy. A bunch of stories dropped this week about the internal workings of Facebook. Internal documents were given to the Securities and Exchange Commission by Frances Haugen, an ex-Facebook employee, and now prominent whistleblower, who testified before Congress earlier this month.

 

[00:01:21] FH: I believe Facebook’s products harm children, stoke division, and weaken our democracy. The company’s leadership knows how to make Facebook and Instagram safer, but won’t make the necessary changes because they have put their astronomical profits before people. Congressional action is needed. They won’t solve this crisis without your help.

 

[00:01:43] SY: Redacted versions of the documents were given to Congress as well as obtained by a consortium of news organizations. Now there is a lot in these documents. We recommend reading a series called “The Facebook Files”, a Wall Street Journal investigation, which is published this September and what started all of this. And we’ll put that link in our show notes. We’ll also include a handful of recent articles that have come out that you should check out too. For today’s episode, we wanted to share a few items that we thought were particularly interesting. So the first is information from a Facebook report earlier this year that showed that usage of the Facebook app in the US actually declined 13% since 2019. And with a projected drop of 45% in the following two years, which is pretty big. And even Instagram, which is still really popular amongst teens, is also seeing a decline in usership. Now this news, in and of itself, might not be super surprising. I know a lot of Gen Zers don’t really use Facebook as much. That’s not their go-to social media experience. And that’s the demographic that Facebook is most interested in. But the thing is there’s an incredible amount of data showing how toxic Instagram is to teens, especially teen girls, and documents reveal that Facebook knows about this. One Facebook report showed that 7% of teenage girls experienced bullying on Instagram and another internal study showed that Instagram made body image issues worse for one in three teenage girls. We’ve also spoken on this show about other research showing how apps like Instagram perpetuate colorism and low self-esteem, which we’ll also put in our show notes. So even with all of this data and the toxicity of its apps, the company has been putting a ton of effort into courting younger users by developing things like Instagram Kids, which it only recently put on pause late September, 2021. Another interesting story is that Facebook has been examining and experimenting with the outcomes of the removal of the thumbs up like button, which has been shown to cause stress and anxiety to young users. You might’ve remembered the 24-hour period recently where Instagram removed the like button entirely and everyone pretty much freaked out. Well, that’s not the only time they revisited the concept of the like button. In a small study, they found that without the like button, users interacted less with posts and ads, but didn’t show conclusive results on whether it reduced stress and anxiety. In the end, larger plan tests were shelved for a more limited capacity one to, “Build a positive press narrative.” Other research like the research on a share button found that many of Facebook’s core features allow for the amplification and dissemination of toxic content as well as other negative results. Now the third thing I found surprising was a special program known as “cross check” or “XCheck”, which is a program where millions of VIPs, very important people, are exempt from the official Facebook policies and shielded from reinforcement of those policies. Now I’m not surprised that high profile people are treated differently, but I am surprised that it’s an official program with its own name and everything.

 

[00:04:54] JP: Yeah.

 

[00:04:54] SY: Right? Especially given that Facebook’s all about, “Oh, all voices are equal and everyone is the same and amplification of everyone,” this is a pretty big contradiction. It’s as big a condition as it gets. And although a lot of this is surprising, disappointing, even shocking, it’s not just the users and the politicians who were worried about Facebook’s impact. There’s a really great article from Wired, which talks about the grievances and misgivings that many employees have written or said about the company. One post from a researcher reads, “Out of fears over potential public and policy stakeholder responses, we are knowingly exposing users to risks of integrity harms.” Another quote reads, “I think Facebook is probably having a net negative influence on politics in Western countries.” Another employee, a security engineer named Alec Muffet wrote, “I am leaving because I’m highly concerned about our corporate direction, how our pursuit of growth may negatively impact our ethics and mission statement and how this has become manifest in our codebase. Plus, I’m too tired to fight it.” So those are kind of the highlights for me. What do you think about those highlights?

 

[00:06:06] JP: There’s so much in these files. This is crazy. You mentioned we’ll have it in the show notes a link to The Wall Street Journal’s kind of takeaways of the biggest stories. They found other tech outlets, like The Verge, New York Times, they’ve been doing their own coverage. These are also some of the biggest, surprising parts of the story that I found, but everything I read about the different takeaways that are coming out of the Facebook files, I find surprising and horrifying every time I read about another one. Then again, maybe this is because these files are a direct result of the Facebook leaker Frances Haugen’s testimony and the files that she leaked to Congress. But there’s not a lot of like positive stuff in there. And I don’t know if that’s a result of her picking or Congress picking which documents have been released or just the fact that it’s all really bad.

 

[00:07:01] SY: Yeah. This was maybe like a couple of weeks ago actually. I read The Ugly Truth, which is a really, really great book about Facebook and kind of behind the scenes. It’s why these two reporters who did a ton of research, looked at internal documents and wrote basically the history of Facebook over the lifetime of the company about different controversies, privacy rights, there’s all these things. And what really stood out to me about the book that’s kind of reinforced in these Facebook files is that the company actually knew a lot about what was going on. They knew. In public, they would go, “Oh, we’re trying,” or, “Oh, we just heard about this.” They are actively making decisions that they know are harmful and they just don’t care.

 

[00:07:48] JP: Right.

 

[00:07:48] SY: That’s really what it is. They just don’t care. And I think that there was probably some point maybe early in their life cycle where I think they really did believe in, “If we just give everyone a voice, it’ll work out.” I really do think there was a naiveté about it in the beginning, but after a while, you knew. You knew and you know.

 

[00:08:10] JP: Yeah. They do seem to care when it impacts ad rates or when it impacts click rates or engagement, then they care a whole lot. That’s the major through line I’ve taken away from all the stories. And the files that I’ve read is that unsurprisingly, they care very much about their bottom line and their revenue and how they’re getting information. And I can completely understand that, but at no point does ethics or concern for user wellbeing or anything like that ever seem to either win out or make a large enough dent in the decision-makers. Now I’m not saying nobody at Facebook cares about these things. The files clearly show a lot of Facebook employees care very much and are trying very hard to actively improve the company’s exposure, their name, their experience for users, the impact that they have on society. There are people there that care about these things, but they, by and large, do not seem to be in power and do not seem to be the decision makers. And that’s a company problem. That is how that company is aligned and structured and how they reward their executives and how they measure their performance and that’s what we’re seeing here.

 

[00:09:28] SY: Yeah. What I think about in terms of entrepreneurship and building a company is the idea of companies are incentivized based on the way we’ve structured our economy, our systems, our nation, to do exactly this. They are doing what we have told them to do. We have told them to care about profits. That’s it.

 

[00:09:50] JP: Yeah.

 

[00:09:51] SY: That’s the only thing that companies are accountable to, and they’re doing exactly what is being told and it really, to me, emphasizes the importance of the role of government, the importance of the role of public pressure, because without kind of these, there’ll be real legal consequences. Why would they care?

 

[00:10:09] JP: Yeah, that’s a good point.

 

[00:10:10] SY: For what? For what are they caring?

 

[00:10:12] JP: There’s all this public outcry, there’s all this government outcry about why are they doing something, why aren’t they protecting us? Well, because our capitalist’s system does not reward them for that.

 

[00:10:21] SY: Yeah. They get no reward for that.

 

[00:10:23] JP: Right. Exactly.

 

[00:10:24] SY: They’re only hurting themselves by listening to us. They have no reason. And unless we take some type of legal action, articles are not enough. We need the articles to start the conversation, but ultimately if we don’t regulate, if we don’t do something, it really doesn’t matter.

 

[00:10:37] JP: This is a loaded question, but do you have any confidence that the United States government will be able to get it together long enough to do anything? A, to do anything of substance here, and B, to do anything of substance here that’s nuanced. I think the United States government could be really good at coming in and saying like, “Well, you’re out of business.” Or, “Well, you need to split up your business,” and completely destroy the business. But where I personally don’t have a lot of faith is in the United States’ government ability to take a nuanced approach and really thread the needle and say, “Okay, here are the things that, as a company, they’re great and here are the things that are harming society, and those are the things we want to regulate.” I just don’t think our government’s up to the task.

 

[00:11:26] SY: Yeah. I mean, I feel like over the years, we’ve had so many congressional testimony, so many of them. And I'm just like, “What is the outcome of all of this?” And I can’t tell if it just takes a really long time for something to actually happen or if it’s more theatrical, I just don’t know what to make of the fact that we’ve had Mark Zuckerberg speaking and testifying over and over again, many times over years and nothing has actually come of it. The other thing that makes me lack faith is the fact that it’s not like Facebook is just waiting for the government to do something. They’ve got lobbyists. They’ve got their own arsenal of people who are going to be fighting regulation, who have been fighting regulation for years and years. So I think that they are obviously very well-funded and I don’t really know if we are a match for the money that they’re willing to put into the efforts of continuing to be the dominant player in social media. I just don’t know if we’re going to be able to fight that, even if the government did want to do something. Those are probably my biggest concerns. And also, I really don’t know if there is anything we would do that would actually make a difference. Okay, say we broke them up, then what?

 

[00:12:38] JP: Right.

 

[00:12:38] SY: You know what I mean? I don’t know what the right solution is. It feels like the solution or the problem is the algorithm, right? Even in the Facebook files, they talked about the vaccine campaign that Facebook tries to do and it was Mark Zuckerberg who’s saying, “We’re going to use our platform for good. We’re going to push vaccine information and we’re going to encourage people to get vaccinated.” That was his whole thing. I don’t know. I mean, Facebook says the net effect was positive, but people took advantage of the algorithms and spread misinformation or disinformation about vaccination and really seem to doubt the vaccine. How much of that is Facebook making an executive decision and how much of it is just they built something that is just out of their control at this point? So if the issue is that the algorithm is so powerful in a bad way that even when Facebook says, “We are going to do good,” it still causes harm. How is breaking them up supposed to fix that? What is the fix for that?

 

[00:13:38] JP: Right. I get nervous because I think one potential fix that has been bandied about is rescinding or weakening Section 230. That’s the part of the United States law that says if you’re an online service provider or website, you cannot be held liable for the content that your members publish, and that is what prevents. Let’s say I have a loved one that read some misinformation about COVID vaccinations, didn’t get vaccinated directly because of that, and I could prove it, because of Facebook postings and they died. I can’t go back and sue Facebook because of Section 230. And there’s been some talk that maybe that would actually hurt Facebook if end users could sue Facebook for damages as a result of misinformation and et cetera. And I think that would definitely get Facebook to do something. But on the downside, it would really endanger the majority of the internet.

 

[00:14:38] SY: The whole internet?

 

[00:14:38] JP: Yeah, exactly. We’d be destroying the rest of the internet.

 

[00:14:41] SY: Yeah. It’s almost like what laws, what rules can you put in place that’ll affect Facebook and kind of help them get their stuff together, but also not destroy everyone and everything else. Yeah, it’s a tough call. It’s a tough call for sure.

 

[00:15:00] JP: Right.

 

[MUSIC BREAK]

 

[00:15:19] JP: This next bit of news might really only interest Ruby developers, but I also think it’s interesting from the standpoint of open source in general and what we’ll talk about in our story after this. So Ruby Central, the Ruby community non-profit that organizes the annual RubyConf and RailsConf conferences recently announced that they are merging with Ruby Together, a non-profit trade association that provides community funding for folks that are working on the Ruby language. A blog post on the Ruby Together site about the merger says, “Since Ruby Together was first started, we’ve worked together with Ruby Central. While Ruby Central has paid the server bills for RubyGems.org, Ruby Together has paid the software developers that keep it running. That cooperation has benefited the entire Ruby community for the last six years ever since Ruby Together began. The corporation that is Ruby Together will dissolve its board of directors, memberships, and other resources, and join the board of directors of Ruby Central.” This was a bit of a shocker because of some criticism Ruby Together received a while back in terms of its funding and where that funding went to, which was many of the people who were associated with Ruby Together. Over the years, however, the two groups have become more intertwined. And today, it’s sometimes hard to guess where the line between the two organizations are drawn. Well, I think this is overall a win for the Ruby community. It brings up a lot of interesting questions about the mechanics of organizations that are working in open source and the decisions that they make.

 

[00:16:47] SY: This brings us to our next point, which is all about open source and governance and organizations making decisions in open source. But this one’s about the .NET community. So Microsoft had decided to remove a key part of Hot Reload for the release of .NET 6 and the functionality will only be enabled through Visual Studio 2022. That’s the private version of VS Code. So Hot Reload is a very popular feature, which allows developers to change code and get instant feedback. According to The Verge, the decision to remove Hot Reload from the .NET 6 release was made by the head of Microsoft Developer Division, Julia Liuson. In an announcement put out on the Microsoft Blog, the company said this move was to help them “focus on providing the best experiences to the most users”. However, many in the open source community showed frustration and questioned the decision. This also comes on the heels of an explosive post written by Rodney Littles II about his resignation from the board of the .NET Foundation, a nonprofit organization created by Microsoft to support the open source ecosystem from the .NET platform. In his post, he describes his frustrations with the .NET Foundation, specifically in terms of its support for its members and its open source sustainability. He writes, “From what I have seen, the .NET Foundation has not fostered anything for any of its members and constantly undermines them.” And, “The .NET Foundation needs to be clear and honest with the community and tell us once and for all, are you here to enforce Microsoft’s will on .NET open source or are you here to help foster and promote a healthy community? The scoreboard doesn’t look good for the latter.” The controversy led to the resignation of Claire Novotny, .NET Foundation’s Executive Director. Just in the last day, however, Microsoft reversed course, re-enabling the feature in the SDK. Scott Hunter, Director of Program Management at .NET, said in a statement, “First and foremost, we want to apologize. We made a mistake in executing on our decision and took longer than expected to respond back to the community. We have approved the pull request to re-enable this code path and it will be in the GA build of the .NET 6 SDK.” Microsoft claims it only meant to disable the code path for Hot Reload in the .NET 6 SDK instead of removing the code entirely. Okay. Yeah. So these two stories might feel kind of unrelated. One is about Ruby, one is about .NET, but what I found interesting about them is I feel like they both bring together this idea of how do you combine open source governance with corporations and how does all that come together. So with Ruby Together, this was many years ago, there was some controversy around who gets paid for what projects. And there was some concern about how the people who were taking in the money and doing the management of Ruby Together were also the people who are getting paid. It was kind of like, “Oh, you’re just kind of paying yourselves.” It felt weird. And there were a lot of questions around that, and that is open source governance, right?

 

[00:19:56] JP: Yeah.

 

[00:19:56] SY: That is deciding what projects get funded. That is deciding where the money goes. That is deciding what features get built for the community. And similarly, here, we have this tension. Microsoft says it was unintentional, but there’s this tension between. .NET and Microsoft where .NET is supposed to be open source. Well, I mean, it is open source, and Visual Code, which is the private version, is the private version of VS Code, and what goes into the paid version, what goes into the free version. And who decides that? Right? Microsoft obviously is making money from Visual Studio and all that and they created .NET. And so they have a lot of say. So similarly, they are the creators of the code and the recipients of the money. So how does that work and how do we make those decisions? It’s an interesting question.

 

[00:20:46] JP: Yeah. I think it’s also the differences between these two different stories are that on the Ruby side, there’s not a corporate owner or corporate sponsor. Ruby started out as an open-source project and has remained open source. It has a lot of interest from large companies like Heroku, Salesforce, Shopify, GitHub. They’re all involved. They all have people that contributed to it and they spend money on it. But Ruby itself has remained fiercely open source and is not controlled by any one company. Over on the .NET side, you have a product that was completely close source and has been opened up over time, had an open source component to begin with, but has continually had to thread the needle and balance the tension between corporate, what is a feature that could be closed off to sell and what is a feature that will basically be given away for free in the open source version. And you don’t see that tension with open source languages. That part to me is really, really fascinating because I don’t think you’d want to see a situation in which the .NET Foundation, which is the open source branch says, “Hey, great news! We’ve been acquired by Microsoft and we’re joining forces with them.” I think everybody would completely freak out because the separation of concerns is dissolving away. Whereas on the Ruby side, Ruby Together and Ruby Central are two open source organizations and they’re coming together, and by and large, the community is like, “This is great. Instead of splitting our efforts and splitting the money, let’s pull the money and let’s have one big group of people that care about this platform.”

 

[00:22:29] SY: Yes, the structure and I think the history of it kind of where it all began, the roots of the story and the different organizations definitely plays a role. And it’s interesting when you have a foundation that is created by a company that created the product that the foundation is now managing, that sounds very thorny. It sounds like there’s been some issues around how that works and how smooth that type of management is, but I can definitely see the tension coming up there. And it seems like the Hot Reload issue may have been a result of some of that tension. Luckily, Microsoft has reversed course, and now we’re kind of back in the green and now things seem to be good. No?

 

[00:23:12] JP: I mean, there was a lot of fire coming out of the .NET Foundation.

 

[00:23:18] SY: I think it’s been eased up a little bit with the reinstatement.

 

[00:23:22] JP: Well, I haven’t followed the .NET community super closely. But my impression was always that Microsoft got a solid “job well done” sticker for their open source efforts. But these statements out of the .NET Foundation, this seems like it was just the trigger or the latest event for them to say, “Look, this isn’t working. You’re holding features back from the open source community. We don’t like it. We want better governance.” I don’t actually know if .NET has independent governance. Some open source projects that also have a close source version or are owned by a company have a board that controls the language and is completely open source. I don’t know enough about how .NET is organized. If the .NET Foundation like really has separate governance or not, but it seems like there’s a lot of complaints that could be leveled at Microsoft about how they’ve set this up. And I also like really, like, “Oops, we just accidentally deleted it. Sorry.” Really? Come on.

 

[00:24:26] SY: You don’t buy it? You don’t buy it?

 

[00:24:28] JP: I mean, I don’t say Microsoft’s lying, but it seems like a lot of people had to post a lot of complaints and people had to resign from Microsoft to actually do something.

 

[00:24:40] SY: Coming up, we talk about another Microsoft product, VS Code, and its new lightweight version that will run fully in the browser with Brigit Murtaugh, Program Manager II at Microsoft, and João Moreno, Principal Software Engineer for VS Code after this.

 

[MUSIC BREAK]

 

[00:25:13] SY: Here to talk to us about VS Code and its new lightweight version that’ll run fully in the browser, we have Brigit Murtaugh, Program Manager II at Microsoft, and João Moreno, Principal Software Engineer for VS Code. Thank you so much for joining us.

 

[00:25:28] JM: Thanks for having us.

 

[00:25:29] BM: Yeah. Thank you so much.

 

[00:25:30] SY: So first, before we get into VS Code on the browser, tell us what VS Code is for, for those who might not be familiar.

 

[00:25:38] BM: So VS Code is a code editor that anyone can use. So whether you’re a professional developer, whether you’re a student, it allows you to work on projects, repositories. So you can do editing, you can work on code, and now we have it where you no longer just have to work on the desktop. You can also work in the browser.

 

[00:25:58] JP: So tell us about VSCode.dev and why this is such an important step for VS Code in general.

 

[00:26:05] BM: So VS Code team’s original vision was actually creating a development tool that could run completely in the browser. So even though the VS Code that a lot of folks are familiar with is the desktop tool, the original vision that folks like Erich Gamma, who’s one of the engineering leads on the team, has spoken about was having a development tool in the browser. And so you’ll see a lot of trends today where having a development tool in the browser is super powerful because it enables things like having zero installed tools. So for folks like students or in educational settings or in workshops, you don’t have to download anything. For working on like client side applications and then local projects, you can get this really cool experience where now you can load up local files and work on them completely in the browser, with browser-based tools and debugging and things like that. So now we have this really cool capability where no matter where you want to work and what maybe you’re able to install or not, like maybe even if you’re working on a lower powered machine, like a Chromebook, or if you’re working on an iPad, you can work on VS Code pretty much anywhere.

 

[00:27:10] SY: Oh, that is so cool. So João, what are the current limitations of VSCode.dev? What can’t you do with the browser version that you can do with regular VS Code?

 

[00:27:19] JM: Actually, a lot of the codebase is shared with the actual VS Code for the desktop. So a lot of things work. But because we run in a browser, we’re at the mercy of whatever API the browser supports. We’ve actually gone pretty far as to allowing you to open a local folder, to edit some files locally, to even do a quick open and search. But there are some things that we simply cannot do because we’re running in browsers, like spawning a process. And that happens to be a very important functionality to get that a lot of the features working in VS Code such as debugging or tasks. But then again, you’d be surprised at how much we can actually do. We were trying to convey to the extension authoring community, as much as we can, that it’s fairly easy to migrate an extension to work on the web. And we’re seeing really good adoption there. So you have a bunch of great extensions that just work on the browser and that will cover most people’s most use cases very quickly.

 

[00:28:20] JP: That’s a great point. That leads into the next question we had. Obviously, extensions are a huge part of the allure of VS Code. And you mentioned that a lot of them do work. I’m curious about the limitations of extensions because I can’t help but imagine, it’s very tricky to be implementing extensions in the browser version. So are there limitations on which VS Code extensions work? Are they all supported? Are there classes of extensions that are supported? I guess like an overview of what people should keep in mind as they try these extensions with the browser-based version of VS Code.

 

[00:28:57] JM: Absolutely. As far as users go, the trying an extension, we take care of it. So if an extension won’t work, we will not let you install it on the web. So probably you can search for it. You could still see it, but it will just appear as if you cannot install it. You touched on the point of extension classes, and that’s absolutely right. A bunch of extensions just work on the web. Some of those classes are themes. So icon themes or editor themes, workbench themes, those should just work. And as a matter of fact, any extension that doesn’t bring any code, we are sure that we can make it work. They just bring declarative contributions. So themes are such declarative contributions, but you were touching on the point of how difficult it is. You’d be surprised because, again, It’s pretty much the same codebase. So on the desktop of VS Code extension needs to work on top of the VS Code API, but it also has access to Node.js API. And so the power of those two APIs bring in the power of an extension. But on the web, the Node.js part isn’t there, but the entire VS Code API is available. So if an extension already has JavaScript that only interacts with the VS Code API, it will just work on the web, right? The adoption is straightforward.

 

[00:30:06] SY: So Brigit, thinking about what it was like to actually bring this all to life, what are some of the biggest challenges bringing it to a fully browser experience?

 

[00:30:17] BM: Thinking about how VS Code for the web really enhances the development experience and how it fits into the VS Code and development journey. This is going to be allowing developers to develop anywhere. You can develop in the web. You can develop on the desktop. It’s not just one or the other. We really want to convey that to users and make sure that is coming across. And I think that also thinking about what are some interesting and compelling ways to really make this as productive of an environment as possible. So for instance, users can customize their web experience with these customized URLs, which sets it apart from the desktop experience. So you can still have extensions as João was just describing. But now, for instance, you can have /LiveShare, you could have /Theme and then test out a theme and things like that. So I think thinking about those experiences that are unique just to the web and how we can make those really the most interesting and productive for users and extension authors as well.

 

[00:31:19] SY: And João, what about you? What about your role in the process? What were some of the biggest challenges for you?

 

[00:31:24] JM: I think Brigit hit it on the head. Positioning the product was important and connecting it with our past as well. But you kind of see that I think we did it very tastefully in the sense that we actually gave a bunch of users new use cases to use our product, but we connected with something like Setting Sync. And so if you enable Setting Sync on VS Code on the web, you actually bring in your themes and your configurations with you. And so I could just hop onto a different device, or even if I’m at my parents’ house and I’m fixing something for them in their computer, I immediately get my dev environment without installing anything on their machine. And on top of that, I think what is also interesting is the ability for us to run on different devices. And so something like an iPad, all of a sudden becomes a very powerful developer tool using VS Code.

 

[00:32:12] JP: That is just completely speaking my language because I have also dabbled in coding on an iPad and it has been really painful. So seeing this on an iPad is just incredible. Brigit, I wanted to ask you, what are some of the other things maybe from a product perspective about building VS Code for the browser that we haven’t talked about yet? Was there anything that was like surprising during the product development phase?

 

[00:32:35] BM: Yeah. I think continuing to see how many unique ways we can allow folks to use it in the web, like for instance, one of the members of our team, she’s developed a Pyodide extension where you’re able to actually start running Jupyter Notebooks against a Pyodide kernel. And so we can see kind of like the first steps of, “Wow, this is what it could look like to run some Python notebooks in the browser.” So I think really looking at how we can like push the boundaries of what’s possible in the web and thinking about like all the different possibilities there because we have such a rich extension ecosystem and community and extension authors. So really getting those folks like invested and excited is awesome as well, because then we can see what they come up with as well as we’ve just announced. So I think that there’s going to be a lot of really cool possibilities.

 

[00:33:25] JP: João, is there anything from an engineering perspective that you found surprising or particularly challenging about building this tool?

 

[00:33:35] JM: Fortunately, not.

 

[00:33:37] SY: That’s great.

 

[00:33:38] JP: That’s really surprising.

 

[00:33:39] SY: That is surprising. Yeah.

 

[00:33:42] JM: As I said, the codebase is the same. It’s just part of the continuous work we’ve been doing since 10 years now. VS Code on the desktop is nothing but an electron app and an electron app is nothing but a web app. And so if we get our architecture right, which for sure we didn’t at the beginning, it was certainly an iterative process, then it makes it easy for us to pour the application to run on slightly different environments, such as the bare bones browser. And so technically it was still a bit of work, but it was not a complete unknown to us.

 

[00:34:15] SY: What do you currently working on that people might get to experience in future versions of VSCode.dev?

 

[00:34:22] JM: So Brigit already talked about some of the experiences for VSCode.dev. One that she did just mentioned is Live Share, which is already enabled. So what /LiveShare will give you is just an ephemeral live share session. This was very important for us because until VS Code web came up, we had this sort of funnel in which we would lose customers. You would get a link to join a live share session, and maybe you didn’t have VS Code installed. So you would have to go through the whole process of installing VS Code and then installing the Live Share extension and then activate it and so on and so forth. With this experience, you just click the link and you get VSCode.dev/LiveShare/SessionID, and all of a sudden, you’re in. The funnel is simply not existing anymore. And just like this, I can imagine a bunch of other experiences that I very much look forward to working so that we can enable these effortless flows for our users. There’s one that we also worked on, which is the CodeTour. CodeTour kind of lets you write up a tour for you on codebase. And so you can imagine sharing a CodeTour link in which people just land on VS Code and all of a sudden they’re getting a personal guided tour at random codebase.

 

[00:35:35] JP: Do you anticipate this product improving kind of in lockstep with the desktop version of VS Code and the cloud versions of VS Code? Are they on kind of separate upgrade paths? I wonder if you could talk about what the future planning looks like.

 

[00:35:51] JM: Yeah, definitely. I can tell you that. If you open VSCode.dev today and you go into the file menu or rather into the help about, you’ll see exactly the same version that you will see in the desktop. So for us, it’s just a different platform. We ship for Mac, we ship for Windows, we shift for Linux, and now we ship for the web. And when we ship, we ship for all of them simultaneously. So as far as stable channel goes, that’s once a month with the occasional recovery releases. As far as insiders goes, that’s every day. So every day at 7:00 AM, Europe time, there’s a new version coming out and that applies to both desktop and the web.

 

[00:36:29] BM: Yeah. And you can switch between stable and insiders in the web too. So you can use the gear in the lower left to switch to stable or insiders in VS Code for the web. Or you can go directly to insiders.vscode.dev as well to get all the latest features and fixes.

 

[00:36:45] JP: Anything else you’d like to talk about that we haven’t had a chance to cover yet?

 

[00:36:49] BM: I don’t know if we mentioned it earlier, but we have a web extension author’s guide. So it really walks you through the process of either creating a new extension for the web or converting an existing one. So you have that available on the VS Code docs site. That can really help you through that process. And if you have any feedback on it, we’d love to hear it as well since that’s really an integral part of this whole process.

 

[00:37:16] SY: Well, thank you both so much for being here.

 

[00:37:18] BM: Thank you so much.

 

[00:37:18] JM: Thank you.

 

[00:37:29] SY: Thank you for listening to DevNews. This show is produced and mixed by Levi Sharpe. Editorial oversight is provided by Peter Frank, Ben Halpern, and Jess Lee. Our theme music is by Dan Powell. If you have any questions or comments, dial into our Google Voice at +1 (929) 500-1513 or email us at [email protected] Please rate and subscribe to this show wherever you get your podcasts.