Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

PowerHarryG4

macrumors regular
Original poster
May 31, 2020
112
41
London, England
I had a bit of free time and wanted to see if I could make a reddit viewer for MacOS Tiger. I mainly know web development, so I basically just used Claude to make this, but was still fun trying to make it work. There are quite a few bugs currently, like you can't view comments if a post has more than about 20 comments and you can't open articles. If your screen size is small, you also may not be able to click the Previous and next buttons; I'll have to work on a fix for this.

However, you can navigate most subreddits, download full sized pictures and videos! If you get any crashes let me know and I'll try and look into it.

If you know Objective-C code better than I do and want to make some changes feel free to make some pull-requests on github or fork it.

The code is public here: https://github.com/harryfornasier/TigerReddit
MacintoshGarden link: https://macintoshgarden.org/apps/tigerreddit

Picture 3.png
 
I have seen a few weeks ago someone shared a CLI Reddit client in Python (which presumably should work on ppc) on r/commandline, but Cocoa is more fun.

BTW, would we get improvement building against 10.5 SDK?
 
Tested and working (apart from the off screen buttons) on my 12" Powerbook - well done.

Would it be a similar job to create a search tool for Youtube, which had a "copy URL link" button - which you can then manually pass to yt-dlp or youtube-dl?
 
Tested and working (apart from the off screen buttons) on my 12" Powerbook - well done.

Would it be a similar job to create a search tool for Youtube, which had a "copy URL link" button - which you can then manually pass to yt-dlp or youtube-dl?

What doesn’t satisfy you in QMPlay2?
 
I have seen a few weeks ago someone shared a CLI Reddit client in Python (which presumably should work on ppc) on r/commandline, but Cocoa is more fun.

BTW, would we get improvement building against 10.5 SDK?

Yeah was interesting to try and build something in Cocoa. No I don't think there would be any improvement.

Tested and working (apart from the off screen buttons) on my 12" Powerbook - well done.

Would it be a similar job to create a search tool for Youtube, which had a "copy URL link" button - which you can then manually pass to yt-dlp or youtube-dl?

Funnily enough I was working on a YouTube-Subscription viewer that takes in a list of your subscritions as an OPML and then you can view and download videos from there, it's still a work-in-progress. When I get some more time I'll try and finish it and see about adding some search functionality. From what I can see it seems like YT-DLP has YouTube search built it so I should be able to build it around that.
 
I had a bit of free time and wanted to see if I could make a reddit viewer for MacOS Tiger. I mainly know web development, so I basically just used Claude to make this, but was still fun trying to make it work.

I debated trying my hand at vibe coding in Tiger.

I'm a web dev too, and I created an electron app to download the video wallpapers. I originally wrote it in spaghetti JS just to see if it work and just vibed it to react instead of actually doing the work of porting it over. It did it correctly in about 5 minutes of work whereas it'd taken me a day or so to do it manually. That's my extent of macOS development other than React Native years and years ago and another team member handled most of it. I was just doing UI/UX.

I was so impressed with Claude that I tried to make a screen saver on vibes forgot how incomprehensible Xcode can be, and how terrible and how poorly documented some things are, like screen savers. My idea was just use Webkit to render out the animations and I could just create them with CSS/JS for a modern screensaver. I could get it to present Webkit but it wouldn't update the page. I gave up but now that latest version is out I should retry.

Anyhow, what was your tactics? Did it often get confused about modern libraries and dependencies?
 
I debated trying my hand at vibe coding in Tiger.

I'm a web dev too, and I created an electron app to download the video wallpapers. I originally wrote it in spaghetti JS just to see if it work and just vibed it to react instead of actually doing the work of porting it over. It did it correctly in about 5 minutes of work whereas it'd taken me a day or so to do it manually. That's my extent of macOS development other than React Native years and years ago and another team member handled most of it. I was just doing UI/UX.

I was so impressed with Claude that I tried to make a screen saver on vibes forgot how incomprehensible Xcode can be, and how terrible and how poorly documented some things are, like screen savers. My idea was just use Webkit to render out the animations and I could just create them with CSS/JS for a modern screensaver. I could get it to present Webkit but it wouldn't update the page. I gave up but now that latest version is out I should retry.

LLMs seem to make better sense with conventional topics and “average correct” answers. Once either the topic is obscure or desired solution is not that of the mainstream, it breaks down.
They are also okay at producing the code which compiles, but not necessarily works LOL
 
Once either the topic is obscure or desired solution is not that of the mainstream, it breaks down.
Yuuuuuup, that's why I was curious about your success and if you had any tactics to deal with that. Having to manage memory is just a ????? for me as a web dev and it's hilarious as we keep getting more ways to not have to learn other tech stacks. I'd be more inclined to write a react native app than actually do even Swift.

I debated creating a retro app but decided against it for now just because of the time it'd take thinking I couldn't vibe anything useful.
 
I debated trying my hand at vibe coding in Tiger.

I'm a web dev too, and I created an electron app to download the video wallpapers. I originally wrote it in spaghetti JS just to see if it work and just vibed it to react instead of actually doing the work of porting it over. It did it correctly in about 5 minutes of work whereas it'd taken me a day or so to do it manually. That's my extent of macOS development other than React Native years and years ago and another team member handled most of it. I was just doing UI/UX.

I was so impressed with Claude that I tried to make a screen saver on vibes forgot how incomprehensible Xcode can be, and how terrible and how poorly documented some things are, like screen savers. My idea was just use Webkit to render out the animations and I could just create them with CSS/JS for a modern screensaver. I could get it to present Webkit but it wouldn't update the page. I gave up but now that latest version is out I should retry.

Anyhow, what was your tactics? Did it often get confused about modern libraries and dependencies?
My advice would be that you have to be very explicit in telling it what to do since the tool isn't quite ready for you to just say "Make me a reddit app targetting mac os 10.4". It's also good to do some research on the topic of what you're trying to do - like at one point it was using objective-c to parse the JSON, which was very slow and I asked Claude "Can we just use cJSON" and that seemed to fix it

My prompt had to tell it what specific technologies to use since it would try to use wget to download the json from reddit, which would have https errors. I also had to tell it that there are workarounds to get python 3.11 on tiger as it would keep on telling my python 2.7 only works on Tiger. I'd also recommend using Sonnet 4 instead of Opus 4; I have no idea why but Opus was terrible and created so many errors in the code. I also didn't want to use the Xcode interface editor so I told it to make the whole layout of the app in code as I don't want to use the interface editor. There is also a point where the context seems to get too large if you continue to ask too many questions. At that point I had better luck copying the code into a new fresh chat and explaining what I was trying to do and what the current errors are. The prompt changed around a lot, but this was the basic idea of what I used:

"I want to develop a fast and lightweight Reddit viewer for classic Mac computers running Mac OS X 10.4 Tiger. My development environment is limited to Xcode 2.5, Python 3.11, and Objective-C. Due to outdated SSL/TLS support in Objective-C on Tiger, only Python 3.11 can reliably download data from modern HTTPS Reddit endpoints (for example, “https://old.reddit.com/r/all/.json”). Therefore, I want to use Python 3.11 to handle the downloading of Reddit JSON data, and then pass this data to Objective-C for parsing and display. Please provide guidance and sample code for: Downloading Reddit JSON data using Python 3.11(for HTTPS compatibility on Tiger). Passing the downloaded data from Python 3.11 to Objective-C. Parsing and displaying the data in a simple, efficient Objective-C interface suitable for older hardware. Ensure all recommendations and code samples are compatible with Mac OS X 10.4 Tiger, Python 3.11, and Objective-C. I do not want to use Xcode to make the interfaces for the app, just in code using gcc or make"
 
Very cool project! Thanks for the tiger.sh shoutout on github, glad you found it useful!

I just wanted to mention for the vibe coders that I put together a complete mirror of the Apple Developer Connection documentation circa July 2009, which is relevant for Leopard and Tiger development: https://leopard-adc.pepas.com/

Cheers!
 
  • Like
Reactions: barracuda156
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.