Imageboard aggregator: an interesting application for a URL-embedded text command interface


Damn imageboards... There may be a way to operate them a little bit more wisely. How about an idea for a tool which preloads the whole content of a board (let's say, all 10 pages of 4chan.org/c) and compactifies the presentation to make it look like a RSS stream? No problems, we need to download and parse the specified amount of pages and use the URL 4chan.org/c:10p to tell the tool which number of pages to grab. Having all the data available we also can easily reverse the thread order and display the oldest threads first with the URL 4chan.org/c:10p:rev or sort them by id with  4chan.org/c:10p:sortd (if the highest id is stored in a database it's also possible to visually mark new threads). Need to search for all the K-ON related threads? The following URL would help: 4chan.org/c:10p:search{k-on}. Need to display only new threads or the threads with new posts from the last visit? Not a problem again, the 'new' switch rescues: 4chan.org/c:10p:new. It's even possible to display threads from several boards in the same stream using, for example, the 4chan.org/[a:10p,m:5p] URL.

It may be not wisely to specify the page number each time, so we may save the default page amount for this board somewhere in the preferences and use just 4chan.org/c:new. Because we have all the available data parsed and structured, it's possible to make other interesting things, for example, save a thread OP-post in the database and pin it to the top of the thread stream or extract all visible images with 4chan.org/c:img. There is one little problem though, a way to distinguish these URLs from the regular ones is necessary. The two most obvious solutions of this problem are: a browser extension which would listen for some protocol scheme (for example, chan://) or a web-application which includes these URLs as a part of its own one.

The both solutions are implemented by the Dark Flow aggregator. The application listens for the URLs with the chan:// scheme and tries to transform the requested resource according to the options specified in the URL (only Wakaba-derived boards are supported currently). The following video demonstrates the basic functionality of an old experimental version of the application in action.

No comments:

Post a Comment