I Build Things

With Software and Electronics

RC2022/10: Weekend One

3 minutes
October 3, 2022

Taking Stock

I started out by looking at what I had, and figuring out what to work on first. Immediately, I noticed memory usage was a little higher than I remembered. Looking closer, it seems the most likely culprit is simply the libraries being loaded - there’s a few:

Of these, openssl is the largest. I’m not actually using most of these right now, and I am actually tempted to use a design which does not depend on libcurl, however I’ll still need openssl (or similar).

Honestly, I’m not actually too worried about this, since I think it is unlikely to grow much further. I did spend a while playing with openssl build options to remove some features I don’t need - this probably made it smaller by about 10% which isn’t nothing.

What It Currently Looks Like

In the last post, I shared what it looked like in Windows XP. Here are some screenshots on older operating systems:

Running under Windows 2000

Running under Windows 2000

Running under Windows 98 - note how the data is not displayed

Running under Windows 98 - note how the data is not displayed

Ultimately, I intend the white bar at the side to hold a menu. As I keep saying, it’s going to be a fairly awful client, because it uses a suitably terrible MDI interface. That’s kinda the point though!

Next Steps

The most logical next step would be to hook it up to the Twitter API. This is going to need a server-side component to handle the oauth flows and to protect the API tokens. I’m quite tempted to define some weird, custom binary protocol between the client and the server, since that feels more retro. I’ll probably write that server in Go or something, sure it isn’t really retro but I want to focus on the client here so don’t want to spend too much time writing the server.

Another thing that would be very nice to do would be to make a new grid control with all the features I want - this would make windows 98 support better, while also probably helping more modern OSes. The idea here is some sort of lazy loading grid component, ideally with a spinner or something for when that row is loading. I don’t think that would be too hard to create.

Some Progress

What I actually worked on was the grid view! Sure, hooking it up to the Twitter data source is a more useful thing to do really, however the grid view change should, theoretically make the app work the same on Win98 as it does on 2000/XP - so this is very much a nice thing to get working.

It looks almost exactly the same, but the grid view has been reworked

It looks almost exactly the same, but the grid view has been reworked

There’s still some work to do on that grid control but it can now evolve with everything else. I’ve yet to actually try it on Windows 98.