So, my userbar at the moment is a (one-way) SAX client! Go check it out at the bottom of this post if you haven't seen it already. Just ctrl-click the image twice with about a second between clicks and then refresh the page to toggle the client on or off.

Here's the link to the GitHub repository if you want to check out how it works.

It's written in Python, and I'm using Flask and an entirely custom APNG implementation to stream frames to the client using a long-running connection. It also supports an infinite number (well, as many as you can fit in the 300-character limit) of buttons, though at the moment I'm not using any besides the one that turns it back off. I was considering using this to allow you to send messages back, but I figured that people wouldn't really want said messages in the chat.

The default image is just a normal PNG, so there's no performance overhead when it's switched off compared to a regular userbar, except I guess cookies, which are negligible.

The actual bridge is being handled by the irc module, and I'm using PIL to render the text.

I may do something else with the underlying framework in the future, so stay tuned!

Instructions don't seem to work on Firefox + Mac
You'll probably have to change your protection settings from blocking "third party cookies" to blocking only "third party tracking cookies."

Technically cookies aren't required for it to work, they're just there so that not everyone who requests the image gets a long-running connection, which would waste bandwidth for everyone and processing power for me.

You can also try it out on this page, where the cookies are first party, it's just that that defeats the point of it being in a userbar.
That's quite cool! Any additional features/growth planned for this?
I may eventually make some other programs using the same backend that do other things besides being an IRC client. I think some games would be neat, but the combination of the high latency, unusual aspect ratio, and restrictive potential button layouts greatly constrains the types of game you could run on it. I imagine something like Pokemon might work well, if you removed the running-around parts and reorganized the screen, but that's probably too complicated to set up for a small project like this, and you'd also likely run into copyright issues. If anyone else has any ideas for what types of games and programs might work well with this system, I'm all ears.

As I previously mentioned, I'm considering adding a means of text input using a minimal number of buttons, if only because it's funny to imagine someone opening thousands of tabs in order to send a short message to someone. Obviously I'd do that in another channel, if I did implement it, since there's very little overlap between the type of messages people would be willing to type on such an input method and the type of messages that are expected in #cemetech.
Turns out this has been down for quite a while now due to a Python update; I fixed it today.
Relevant xkcd:


In the process of fixing it, I also changed it to return a HTTP 204 when clicked. In theory, this should prevent it from navigating away from the page when clicked, but apparently every link on here is target="_blank", causing it instead to open a new tab of about:blank. Lame.
Oh I hadn't seen this, pretty cool project/hack Very Happy
Glad to see it back in action! Can confirm, works once more.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement