Jump to content
jonpurdy

I built a Feedbin client that works with classic Macs

Recommended Posts

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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! 

Share this post


Link to post
Share on other sites
21 hours ago, K Trueno said:

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).

Share this post


Link to post
Share on other sites

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!

 

loband.patch

Edited by K Trueno

Share this post


Link to post
Share on other sites
17 hours ago, K Trueno said:

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!

 

loband.patch

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!!

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
12 hours ago, K Trueno said:

I've cobbled together another server that uses https://github.com/tghw/macproxy instead of loband to help with links.  Works much better, lots more sites work.  I'll clean it up and send a patch again soon!

That seems cool too. Perhaps I could just provide support for using macproxy and other services (like @TechEdison's nocss) without actually integrating an entire macproxy module?

Share this post


Link to post
Share on other sites
4 hours ago, jonpurdy said:

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.

Edited by TechEdison

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×