HNHacker News
TopNewBestAskShowJobs

austdi

36 karma · joined February 14, 2020

submissionscomments
austdi··on Windows Terminal Preview 0.9
Development started in the late 1980s and continued through the early 1990s, I may have been slightly hyperbolic.
austdi··on Windows Terminal Preview 0.9
I would say that emoji support takes precedence, because emoji support implies support for UTF-16 surrogate pairs. Originally the console could only support UCS-2 which could not represent all CJK characters. Adding surrogate pair support brought better functionality to a significant portion of the world's population. Emojis were only a (very visible) part of that feature.

Besides, the console does support the mouse. It's my understanding that mouse input events have been available for decades. I'm not sure where you're seeing problems with them.

I can guarantee that everyone on the dev team dogfoods their product.

austdi··on Windows Terminal Preview 0.9
The team is incredibly small compared to other teams. 2-4 devs at a time, roughly a tenth of those on powershell. Much of the difficulty of the project came from the lack of resources yes, but also the age of the codebase. It was originally written in the 1980s (before most of the dev team was born) and the original authors had long since left the company by the time the mothballs were dusted off. The team also owned other codebases that time had to be split between.

Maintaining compatibility and performance were two of the main unbreakable tenets of the team (and Windows in general). This made it difficult to move quickly with features right out of the gate. A few of those years were spent understanding the system and modernizing the code from crufty C to C++17, while still managing to add features.

One of the first dev tasks I heard about when I became exposed to the project was of a dev mapping out all of the PVOIDs in the codebase so they could be eventually replaced with better abstractions. Another fun one was a different dev that refactored the GDI rendering, as a side project squeezed in around other tasks. The new renderer ended up being much faster and ~7000 lines shorter, if I remember right. We also took CJK language support quite seriously, which was difficult as none of the devs could read one of those languages day to day to catch bugs quickly.

austdi··on Windows Terminal Preview 0.9
With respect, emoji support and tabs were the most requested features for years according to the uservoice page that tracked the public feature requests.

I no longer work on the project but that team is filled with some of the most passionate and dedicated people you could find to shepherd the console from where it was to now. We collectively lived and breathed the console, yet the team was always understaffed and almost always had at least one dev that was pulled off by management to work on what was believed to be a higher priority project.

Implementing the emoji support took me years and that doesn't even count the rendering of them, just the ability to shuttle them through the internals and back. Tabs as well required quite a bit of work behind the scenes, there was an entire blog series written on the work that led up to tabs being possible.