Anyone else working on an imageboard or textboard engine? I remember that we had a thread like this in the past. What are you working on, what languages are you using, what are your goals?
I'm currently updating futallaby as a fun little project. So far I've made it html5 compliant, added cap codes, image replies and bans, made styles switchable, and I probably did some more that I've forgotten. It's been pretty fun so far.
I was in talks with kalyx about replacing vichan with my software, which was a derivative of another project I was working on. With appleman wanting to improve vichan instead, I lost interest and am now simply writing the software I was originally intending to.
Regardless, it's still been several weeks since I've worked on it. Once I get started again, I'll probably write much of it in one sitting.
I am not currently working on anything imageboard related, but I have considered figuring out a way to do a text/imageboard using Gopher and Telnet/SSH BBS software as optional gateways. More or less would work like standard imageboard software for average users, but also able to be accessed and posted to/from a Telnet/SSH BBS, and accessed read-only from Gopherspace (there's a way to do posting with the Gopher protocol but it is hacky at best). I have an old DOS machine that is capable of going online (but not enough memory for modern web browsing as we know it) that I would like to get some use out of other than retro gaming, and that is the primary reason for it.
Pic isnt mine, but more or less what I'd want to be able to do.
I wrote my own, rewrote it several times actually, because it was my first web development project. It's written in Ruby, not using Rails though. It's pretty basic, but at least it's pretty simple. Right now it's running on a server, it serves as a place for my group of friends to dump cute pictures. I'll be writing another one over the next few months when I'm done with some other things for usage in an imageboard-like website I'm coming up with right now. I'm not sure what to write it in. I was thinking about Crystal, since Kemal just added support for multipart/form-data forms and I've been itching to find a good use for the language, but I'm kinda burnt out on Ruby and Ruby-like languages right now. Maybe I'll try writing it in Ur/Web, even though I don't fully understand the language yet.
The threads shouldn't go away. There should be no opening post or image, just a "subject" header. Individual posts can then have one of those threads as its owner.
Threads should be eternal, like a circular buffer. Old posts just go away, disappearing from the top, while new posts get added to the bottom.
Post deletion should take thread popularity into account. It should be intelligent like a garbage collection scheme. Keep more posts if thread is active, delete more otherwise. Well-quoted posts are deleted later, lonely posts are discarded quicker. Automatic moderation? Inhibits feeding of trolls?
Since threads are so lightweight, they can linger for a long time if not forever. Same reasoning about text of posts as opposed to their attached files. Might still want to allow them to be GCed though, in order to defend against denial of service attacks. Maybe trigger an aggressive GC if some hard server limit is reached.
Structure of the chan: >posts contain text and files >threads collect posts in a given topic of conversation >boards collect threads about a certain subject
Generals must be done away with: >generals collect posts about a certain subject
They're conceptually the same as a board. If generals start showing up, its a sign a more specialized board is needed.
Have a good API from day one, and ship with a built-in extension.
When starting a thread, search all other existing posts automagically a-la StackOverflow. Show users something, anything that matches. Exact or near exact subject match prevents thread creation
Hello, this is my first post here. Just wanted to share my thoughts with you.
First I definitely agree with >>19467 >The threads shouldn't go away. >Post deletion should take thread popularity into account. My idea was instead of using popularity, rank by the "average time" of each threads. The reason was to prevent the bubble effect you see on Reddit where increased rating leads to more and so on. The other option was to use the popularity derivative but using the average time also have the advantage of smoothing bumps, so threads don't jump randomly on the top of the list or suddenly get deleted. Also, new threads are easier to bump as it promotes new content without artificially shortening threads lifetime. >When starting a thread, search all other existing posts automagically a-la StackOverflow. Also, I thought about merging automatically similar threads instead of deleting them or preventing their creation.
So, I started programming a board (now canceled, it's not an imageboard, at the beginning my target was development teams and random social groups) with a tree-based hierarchy approach and minimal design.
But on second thought I gave up on trees and now am working on a more graph-based design. Exactly like chans, where posts, a.k.a nodes, can have multiple parents and childs. This latter design will completely remove any kind of sorting, even time. So basically nodes will be visually mapped similarly to http://wikiverse.io/.
I was about to start work on a federated textboard: The idea is that it asks for the top N threads from all of its peers, and sorts them all by last post time. If the client asks for a thread hosted on another server, their connecting server forwards them to it.
For now it's pretty much just a sketch on paper, as I haven't written the code yet (I'm planning on writing in Scheme). There are probably a ton of architecture issues, too. But it should be fun.
>>19710 Still been working on it, mostly just adding admin/moderation tools.
I realised that my way of doing DB communication (raw SQL queries) should probably be replaced with an ORM library such as SQLAlchemy. So now I've to rewrite all the DB stuff in to models and such, that might take me a while.
>>20095 Well, there'd still be a need for a physical keyboard (the only thing worse than typing on a cellphone is typing on nothing), but since the people who design imagboards are massive nerds, the UI will likely be inspired by Minority Report.
Unless, of course, it gets implemented after somebody builds The Metaverse. Because who are we kidding, it may not catch on, but somebody's gonna do it.
I used to go to Barbelith, back when it was briefly the coolest place on the internet, it always looked great, but the coding was a piece of shit. Tom Coates was never very interested in his own creation, and would go months in between visits. He'd written the code so only he, the admin, could ban people, so the mods he appointed were reduced to basically trolling users they didn't like by moderating their posts. The proto-SJW assholes he picked for the job soon escalated to moderating anyone who disagreed with them, and turned the Lith into Tumblr Echo Chamber 0.5, the playable beta for what the rest of the internet has turned into since.
It wouldn't have come to that, but one asshole calling himself The Knowledge got kicked, sperged out and after figuring out Coates' broken code, made hundreds of sockpuppet accounts and spammed endless arguments between them, even pretending to be Grant Morrison, the guy the board started as a fansite to. Coates appointed the two biggest Lawful Evil PC shitlords on the board as mods, and they closed the board to new members, and hassled the remaining ones for EVER bringing up a subject that had already been discussed, EVER going off topic, or EVER being out of step with the board's left-wing politics, or any conversation they didn't deem of worth, all in the name of MAINTAINING QUALITY. Eventually everyone just drifted away. There were a couple attempts at creating a new Lith with a real back-end, but they never took off. There was Panopticon, and Plasticbag, and one was hilarious in retrospective because it was branded INTELLIGENT CONVERSATION, with a big empty chat area underneath. Yes, intelligent conversation is dead.
It was frustrating, because Barbelith was supposed to be a social experiment in distributed moderating power, you needed a consensus to approve any moderation, which sounds good in theory, but it just led to power-cliques who would always approve each others' actions on a quid-pro-quo basis. Like I told them, they'd just traded Judge Dredd politics for Science Council Of Krypton politics.
There was supposed to be more evolution of the power structure, but like I said, Tom Coates had all the power, couldn't share it without a lot of coding he either couldn't or wouldn't do, and the broken board couldn't defend itself against one determined stalker-troll. The place turned to shit because the mods went full Homeland Security against the terrorist, which is ironic because at the time they were all crying about Dubya Bush doing almost the same thing.
>>20095 a bunch of rooms filled with "avatars" where each avatar is a 12 year old boy with a green face and the "no image available" text, unless you happen to be a tripfag, in which case the text is the trip. You'd pretty much only be able to say racial slurs and [unrequested opinions on israel???]
>>20235 cause I have no idea how to plan it and what are good practices as I have no experience in django it would be probably so soykaf and spaghetti code it would be better to download any 5years old+ python engine off github or maybe I could learn django this way? good point