A fierce man who developed a Slack client that runs on Windows 3.1 appeared



Slack , a chat app for businesses, is a popular tool used by various companies. Yeo Kheng Meng's engineers, developed a client of Slack moving even Windows 3.1, which was released in 1993, on GitHub public has been.

Building a new Win 3.1 app in 2019 Part 1: Slack client | YKM's corner on the web
http://yeokhengmeng.com/2019/12/building-a-new-win-3-1-app-in-2019-part-1-slack-client/


You can see where you actually send and receive text with Slack in the following movie.

Slack client for Windows 3.1-YouTube


The Windows 3.1 version is shown on the IBM ThihkPad 390E monitor on the left, and the macOS version Slack client is shown on the right.



Enter the message 'hi mac from win 3.1' and send it to the Windows 3.1 version ...



A message was displayed on the macOS version of the Slack client.



This time I sent a message from the macOS version ...



Received successfully on Windows version 3.1.



Since Windows 3.1 does not have a network function as standard, the Slack client developed by Yeo is supposed to run under the

Windows for Workgroups (WfW) 3.11 environment, which is strictly an add-on. Also, in order to develop a Windows 3.1 version of Slack client, Yeo purchased and studied a 16-bit Windows programming textbook for Windows 3.1.



The language is standard C

C89 . Yeo seems to use the C language a lot at work, but C89 was more complicated than the modern specifications, so he said he had a hard time. Also, because C89 has no library support, Yeo says that much work had to be done manually.



The compiler I used was Visual C ++ version 1.52, a 16-bit program. According to Yeo, version 1.52 is the last Visual C ++ that supports the WfW3.11 environment.



Furthermore, in Windows 3.1, the memory area (heap area) that can be used by the program was divided into '

global heap ' and ' local heap '. Yeo says he needed to access the global heap to run the Slack client on Windows 3.1.

In WfW3.11, Windows Sockets API 1.1 is standard, but secure REST API communication via HTTPS is not supported. In order to be able to use Slack, Yeo has developed a proxy ' http-to-https-proxy ' that upgrades HTTP connections of systems that cannot make HTTPS requests to HTTPS connections, and mediates communication with Slack servers It seems.



According to Yeo, WfW3.11 is very unstable and prone to crashing, and coding socket programming, JSON parsing, and UI design wasn't quite common. Yeo says, “To develop a program that runs in the Windows 3.1 environment, there are few correct manuals and information on the net, so it was necessary to work in the traditional way while reading books at the time. I was able to empathize with the hardships of an old programmer who had to code without having to code, 'he said.

in Software,   Video, Posted by log1i_yk