Live data from Hacker News

Building a new Windows 3.1 app in 2019: A Slack Client

yeokhengmeng.com

71–80 of 248 posts

Re: Building a new Windows 3.1 app in 2019: A Slack Client

#71
post #44

Notice the binary size of the app is only 64KiB. In the demoscene this would be a disqualification as it's 676 bytes over the limit, but in this case I'll overlook it because of the sheer awesomeness of what you've done (and I'm sure trimming off 676 bytes wouldn't be too difficult ;-) More seriously, this is an excellent proof-of-concept that a Slack client does not need to use hundreds of MB of RAM and consume most…

I can't help but agree with you. Honestly I think it went to hell when we decided that it was acceptable to call an electron app native, but that may have been a symptom, not a cause.

Before Electron people had the arguments about bloated apps when it came to WPF and Qt. And Java apps, like WPF (and most Qt apps I’ve used lately) lacks true integration with native OS widgets so as a user I get an uncanny-valley feeling.

At least with Electron you’re essentially forced to style everything - and ever since Windows 8 (or Windows Vista) Microsoft has been actively uglifying native widgets.

Re: Building a new Windows 3.1 app in 2019: A Slack Client

#72
post #59

Earlier quoted context omitted.

If you happen to end up in those environments again, I would appreciate it if you take a look at my prototype web-based message board. It's designed for compatibility, and I've tested a lot of Netscapes and IE4, but nothing on Win311 yet. If you want to leave a comment, you can do so right on the message board. It should work, more likely with JS off.

> It should work, more likely with JS off. Many of the 3.1-era browsers didn't have a concept of JS yet. If you're relying on noscript at all it won't work. I did try and check if this was the case, but both links in your profile that it could have been lead to "not found" dreamhost sites.

Why would notscript not work on a browser that has no concept of JS?

Re: Building a new Windows 3.1 app in 2019: A Slack Client

#73
post #19

It’s unfortunate slack is this difficult to integrate with. Jabber or IRC clients could be spun up with zero pain.

Show us :-)

I'm sure writing mIrc was not "zero pain" back in the day. And Jabber needs a XML parser which is more complex than a JSON parser.

Re: Building a new Windows 3.1 app in 2019: A Slack Client

#74
post #45

Notice the binary size of the app is only 64KiB. In the demoscene this would be a disqualification as it's 676 bytes over the limit, but in this case I'll overlook it because of the sheer awesomeness of what you've done (and I'm sure trimming off 676 bytes wouldn't be too difficult ;-) More seriously, this is an excellent proof-of-concept that a Slack client does not need to use hundreds of MB of RAM and consume most…

> More seriously, this is an excellent proof-of-concept that a Slack client does not need to use hundreds of MB of RAM and consume most of a modern CPU core to provide its basic functionality. If you’re so sure that this is possible, then where is the Electron competitor which allows us to build cross platform applications like this, with the same levels of productivity and a consistent and decent user interface? No…

Redlang

Re: Building a new Windows 3.1 app in 2019: A Slack Client

#75
You can probably run this app using WINE on any modern Linux 64-bit system. Or maybe even Mac OS X Catalina.

(The Linux x86 maintainers are semi-seriously considering deprecating the horrible machinations needed for 16-bit on 32-bit to work, but 16-bit on 64-bit Will be supported for the foreseeable future.)

Re: Building a new Windows 3.1 app in 2019: A Slack Client

#76

Earlier quoted context omitted.

It feels a lot closer to write for MCUs if you write for 16-bit programs nowadays. The only difference is that MCUs are much more barebone and so less managed, but the constraints set by hardware however is the most distinctive common spot.

MCU?

Microcontroller unit.

Re: Building a new Windows 3.1 app in 2019: A Slack Client

#77

Notice the binary size of the app is only 64KiB. In the demoscene this would be a disqualification as it's 676 bytes over the limit, but in this case I'll overlook it because of the sheer awesomeness of what you've done (and I'm sure trimming off 676 bytes wouldn't be too difficult ;-) More seriously, this is an excellent proof-of-concept that a Slack client does not need to use hundreds of MB of RAM and consume most…

There is no direct correlation between the size of an executable (64kb) and the size of the RAM usage (can be hundreds of MB). I could not find any information about the total memory usage of the application, is it described anywhere?

Re: Building a new Windows 3.1 app in 2019: A Slack Client

#78

Notice the binary size of the app is only 64KiB. In the demoscene this would be a disqualification as it's 676 bytes over the limit, but in this case I'll overlook it because of the sheer awesomeness of what you've done (and I'm sure trimming off 676 bytes wouldn't be too difficult ;-) More seriously, this is an excellent proof-of-concept that a Slack client does not need to use hundreds of MB of RAM and consume most…

Hey thanks for the tips. Let me adjust the blog post to mention this point

Re: Building a new Windows 3.1 app in 2019: A Slack Client

#79

Related: winevdm makes running 16-bit apps on 64-bit Windows possible: https://github.com/otya128/winevdm

this is great, didn't know about this - now which 16 bit windows apps I want to run that haven't been ported or updated yet? i can't really remember

Re: Building a new Windows 3.1 app in 2019: A Slack Client

#80
post #72
post #59

Earlier quoted context omitted.

> It should work, more likely with JS off. Many of the 3.1-era browsers didn't have a concept of JS yet. If you're relying on noscript at all it won't work. I did try and check if this was the case, but both links in your profile that it could have been lead to "not found" dreamhost sites.

Why would notscript not work on a browser that has no concept of JS?

Because the element isn't valid for the stricter form of HTML that they use. Invalid elements didn't used to show up.
Post reply on HN