• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

I built a Feedbin client that works with classic Macs

jonpurdy

Well-known member
So I've wanted to use my 9500 for web browsing but most of the solutions just don't work for me. Classic browsers (even iCab) don't render most sites correctly, and web rendering proxy has many issues (like form submission and only rendering part of the page). 

But then I realized half of what I do on the web is reading news through Feedbin (the RSS service I use). This would be significantly easier to write a client for since it's got a great API and I wouldn't have to deal with any dynamic content, just the RSS entry content that's pretty basic.

I whipped up a quick proof-of-concept using Python and Flask and it can be run locally, on Docker/Vagrant, or in a VPS somewhere. It does all the work of grabbing feeds and entries from the Feedbin API and spits it out to a basic HTML format that any old Mac can read. You just navigate to the IP or domain that Feedbin-Classic is hosted on and you're good to go. I even implemented "Mark as Read" through old school HTML forms.

I'll probably publish this to Github soon, but is anyone else interested in this sort of thing? If so, any specific feature requests?

1.png

2.png

3.png

 

ants

Well-known member
Great work! A really simple solution to breathe new life into an old Mac.

 

jonpurdy

Well-known member
For those interested, I have released the source for "Mosaicbin" to Github: https://github.com/jonpurdy/mosaicbin

Over the past week I've added pagination, style cleanup, and a lot of fixes. But I'd say the biggest feature is image conversion. When an entry is requested that has image links, Mosaicbin will download the image, convert it to fit within 640 pixels wide, save as a JPEG, and then serve that converted file locally to the client. (No more missing images from HTTPS URLs!)

I've even emailed Icon Factory and licensed the icon from them (which I originally remember coming on a MacAddict CD around 1997), so Mosaicbin has a period-correct logo.

If you're interested in trying it out in it's current state, I recommend doing so either in a Vagrant machine or a VPS, so you're not messing around with your local Python install. But it does work locally as well. Installation instructions are on the Github link above.

mosaicbin-screen1.png

mosaicbin-screen2.png

mosaicbin-screen3.png

 

K Trueno

Well-known member
Pretty cool!  Surfing some feeds from my SE/30.  I had to make a few changes to get it going for whatever reason.  And I have some ideas about using loband.org, PR coming your way! 

 

jonpurdy

Well-known member
Pretty cool!  Surfing some feeds from my SE/30.  I had to make a few changes to get it going for whatever reason.  And I have some ideas about using loband.org, PR coming your way! 
That's great! Didn't even think of loband.org, but does it involve rewriting every <a href> to go through loband? If so, that's a great idea. Looking forward to the PR.

What changes did you have to make to get it going?

I've only tested this on a few feeds (simple and complex) but it still needs a lot of work. Figured I'd see if folks were interested first before putting a lot more into it. I'd like to restructure some of the code, plus have test coverage, plus handle errors properly rather than spit out debug info. And then eventually a bit more complex layout (could replicate the Feedbin UI with frames, lol).

 

K Trueno

Well-known member
I didn't have an account so I made one because I had to try, but got stuck because it was coming back as an empty page.  Debugged until I discovered I had no tags, and it doesn't work without Tags :)  So I just dumped all feeds if there were no tags.

Yup, just had to reformat the URL to get loband to work.  Here attached is a patch that will do it.  Loband isn't great but it works for HN comments and thats most important  :)

Thanks for getting this started!!  Made browsing on my SE/30 much more useful!

View attachment loband.patch

 
Last edited by a moderator:

jonpurdy

Well-known member
I didn't have an account so I made one because I had to try, but got stuck because it was coming back as an empty page.  Debugged until I discovered I had no tags, and it doesn't work without Tags :)  So I just dumped all feeds if there were no tags.

Yup, just had to reformat the URL to get loband to work.  Here attached is a patch that will do it.  Loband isn't great but it works for HN comments and thats most important  :)

Thanks for getting this started!!  Made browsing on my SE/30 much more useful!

View attachment 26586
That's great! I created an issue for this and will merge the patch when I get a chance this week: https://github.com/jonpurdy/mosaicbin/issues/1

I made a lot of assumptions, so I presume there will be more issues like this.

Especially cool to see the video of the SE/30!!

 

jonpurdy

Well-known member
I've added @K Trueno's changes so that entries can redirect to loband. In the develop branch, I've also added a setting (among others) to enable or disable loband redirection since I was having trouble getting most loband links to actually work (like, the service itself seems to not work with most sites).

I've also added a setting (in settings.py) for image width (I use 320 px wide images on older machines and smaller monitors, and 800 wide on my Wallstreet). Also number of entries per page, since my 9500 with iCab crashes with more than a few large entries (even with 50MB RAM allocated).

Finally, image conversion is now threaded, so that images can get converted without waiting for others to finish. Most of these changes are in the develop branch since I wanted to test threading a bit more first before merging.

Screen Shot 2019-03-23 at 16.07.42.png

 

TechEdison

Well-known member
I gave this a try and registered a couple of test accounts, but I can't seem to log into either of them. Response is an "Incorrect login." page being returned. Any ideas?
yeah... i actually noticed that too.. let me check the backend real quick; I did a domain change recently and I think it broke.

Edit:

phew... databases aren't working. Time to fix that, a lot of my sites just broke lol.

 
Last edited by a moderator:

jonpurdy

Well-known member
Hey all, just thought I'd post and mention that I've released a massively improved version of Mosaicbin. I've been using this version with my PowerBook 2400c for the past few weeks and it's the first time I've felt like I can sit back use Mosaicbin without running to my MacBook to fix a bug of try to improve performance. It's really fast now!

The main thing is that I redesigned how it actually works. Instead of loading multiple articles, clicking a feed just shows the titles of each post so you can load posts individually. This is much faster! Plus, it lets you see a full list of the remaining posts in one screen.

I've also added support for Feedbin Pages, the built-in read-it-later tool!

I also load the unread counts of each feed when the server is started, not when the user first requests the main page, so loading is exponentially faster if you have a large number of feeds. It also saves the state to disk. If you mark a bunch of stuff as 'read', click the Refresh Feeds button on the main page to hit Feedbin and update those counts. I will add support to update the unread count locally in the next release.

I've added some test cases as well and updated the readme. I plan on doing some more work on this with the goal to make it super solid and work really reliably.

Edit: maybe I should post the link! Here: https://github.com/jonpurdy/mosaicbin

mb1.png

mb2.png

mb3.png

mb4.png

 
Last edited by a moderator:
Top