Computing history: Raymond Chen is once again reminding us that back when Windows 95 ruled the software world, coding was a completely different beast. The Win9x user interface eventually made its way to the Windows NT world, but getting it there took some effort – and a few clever tricks.

Windows 95 is 30 years old, and Microsoft veteran Raymond Chen continues sharing interesting tidbits about how the iconic operating system came together. Developing Windows 95 was a complex, time-pressured endeavor, but things got even trickier when Microsoft engineers began figuring out how to port the brand-new user interface to Windows NT.

As most tech enthusiasts know by now, Windows NT had a very different origin and purpose than the consumer-focused Windows 95. One Microsoft team was building Windows 95 while another wrapped up work on Windows NT 3.1, Chen explained in a recent post on his Old New Thing blog.

The two platforms began to converge in time for the Windows NT 4.0 release, so developers ported the "finished" Windows 95 code to NT. Members of the Windows 95 user interface team met regularly with their NT counterparts to keep them in the loop on ongoing developments.

In 1995, the Windows 95 GUI was still a cutting-edge design aimed at making computer interaction more intuitive and accessible. Microsoft decided to bring that same interface to the NT platform, merging the two technologies with Windows NT 4.0 – a milestone release that laid the foundation for the Windows 2000 workstation OS.

The Windows NT team began adapting the Win9x GUI during the final stages of the Windows 95 project. Both systems traced their "window managers" back to Windows 3.1 and already shared many core design principles. The NT developers focused on reconciling the differences that had emerged between the two code bases. Since merging the Windows 95 code directly wasn't feasible, they instead used it as a reference to re-create the same features in NT.

Porting the Explorer file manager and other "user-model" components proved easier. Developers imported the existing code, updated it to align with Windows NT conventions, and integrated it with NT-specific capabilities such as Unicode file name support.

The developers were pleased with the NT port and decided to incorporate those improvements back into the Windows 95 code base. They only needed to mark NT-specific sections with #ifdef WINNT directives so the compiler would ignore them during Windows 95 builds.

In the 1990s, Microsoft managed its internal source code with a system called Source Library Manager, or SLM – nicknamed "slime" after even the engineers forgot the meaning of the acronym. The tool lacked modern branching capabilities, so developers had to manually copy every change between Windows 95 and Windows NT by updating each modified source file.

"I suspect this manual process was largely automated, but it was not as simple as a git merge," Chen said.

Finally, Chen notes that the team responsible for porting the Windows 95 shell to Windows NT included Dave Plummer. Plummer, another Redmond veteran, made several notable contributions to Windows history, including designing the original Windows Product Activation system, which was famously bypassed by the leaked FCKGW volume licensing key.