RC2022/10: Weekend One
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:
- libjpeg
- libpng (statically linked into the core dll since the makefile built a static version)
- libcurl
- openssl (pulled in by libcurl, though I might use it directly later)
- cJSON
- zlib (needed by libpng)
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:
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.
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.