Wednesday, October 13, 2021

Visual Studio and Teams Get More Native


We’re moving Visual Studio for Mac to native macOS UI, which will fix over 100 previously reported issues related to performance, reliability, and product quality. By using native macOS UI, the IDE now works more reliably with macOS’s built in assistive technologies. In this first preview release, we’re giving you a glimpse at the IDE and focused on main features .NET developers use to build applications for the web.

My understanding is that this used a cross-platform UI layer [Update: Gtk+], not Electron.

Faisal Khan (via Hacker News):

Microsoft recently announced that they have reached a whopping 250 Million active users with Teams. Not Word or Excel but Teams is the rockstar of the Microsoft Office suite. But, it has always been plagued with performance issues as it consumes heaps of system resources. Running Teams is a nightmare on computers with less memory to work with.


The senior vice president of Microsoft Teams announced that Teams would be moving to their own Edge Webview2 Rendering Engine ditching Electron for seeking performance gains. It is marketed that Teams would consume 2x less memory as a result of the transition. It would be called Teams 2.0 and might ship with Windows 11 in late 2022.

I’m not sure this makes much difference for Mac users, since it’s still built on Web technologies with a bundled browser engine.


5 Comments RSS · Twitter

Visual Studio for Mac was built on MonoDevelop, for which Xwt, a custom UI framework, was built around the time Xamarin got started: . Visual Studio for Mac has now absorbed many components from the original Visual Studio, after they have been ported to be platform-independent. This work started when the WPF-based editor on Windows was made abstract and a proper Cocoa backend was created with the same layout core. The WPF editor was very forward looking and allowed custom controls and adornments in the middle of the flow of the text, as well as space negotiation between different extensions, and some of this power is just recently being explored fully, with "type hints" showing up next to values or type inference or parameter names where they are not specified. I don't think the Mac port has any kind of extensibility at all yet.

Visual Studio Code is the one built on Electron, in TypeScript (but probably with native components). Visual Studio Code was largely built around the Monaco editor, which was originally built and used for various web properties.

The two are completely different products and code bases.

Partial kudus to the Big M for this … though in my blog post ^^^ I think I still make a good case about why native is better!

I have a lot of very tangible and significant reasons for being happy I’m leaving my day job in a couple months, but the relatively trivial joy of being able to uninstall Teams for good is somehow always front of mind.

Such a brutally bad program on so many fronts, I sometimes wonder if it’s payback for iTunes on Windows.

I'm not a fan of slack. Then I had to use teams in a project, and now I'm perfectly fine with slack.

Are there any good examples of when Enterprise software has leapfrogged the market leader?

Wait, Figma is the perfect example.

Any examples of when one of the big companies has done it?

I think it's pretty funny (and sad) that one of the major recent "native" Mac apps using AppKit is… Visual Studio. Good for Microsoft on doing this; their Gtk UI (I'm not sure Xwt was ever actually used in it) had lots of strange kinks.

In the previews so far, some of them are still around. But it's gotten a lot better.

As for Teams: relatively hard stuff like video conferencing and screen sharing works reliably, although it uses an absurd amount of CPU. But the basics like text editing, scrolling through your message history, or wanting to open some stuff in a separate window, are awful. Its design choices feel informed by people who flat-out don't understand desktop apps. Adium was a million times better at basic text messaging and message history a decade and a half ago. It was worse at stuff like file transfer, but that's somewhat understandable since they had to mostly reverse-engineer third-party APIs.

Leave a Comment