Aggregating In Aggregate

Thu Jul 23, 2015

So, fuck it. I guess I'm back.

And I've been working on something new. Because I don't have nearly enough random shit to do quite yet, you see. It's a massively distributed news aggregator.

The part I'm writing isn't the massively-distributed bit. That's a separate project called everybit.js built on top of Web RTC, whose eventual goal is to support web applications as meshes of clients with minimal centralized infrastructure. As far as I can tell, that's still an entirely hypothetical future, but there's no obvious walls in the way from here to there. Plenty of speedbumps, but no walls. Anyway, like I said, that's not the part I'm working on. It seems interesting in a purely intelectual way, but what really interests me is what kind of stuff you'd be able to build if you assume that such a platform is given.

Content aggregators become pretty simple, it turns out, but you do have to make peace with the fact that you will never, ever have a complete map of all content and votes in the network. Which isn't so bad actually; it means we get to do some interesting things with votes/posts originating from people you like, without creating a complete bubble. I've got the core more-or-less written here, and a throwaway front-end-minus-login-machinery here. That's not as much of a hand-wave as you'd think by the way; the first thing the everybit guys and gals (Trust me, it's multiple people, even though Dann is the only public member as of this writing), did was put together a public-key-based authentication system built for easy distribution. And it's built exactly the way I'd have done it. So, what I really mean is "I still need to put together the front-end and hook it into the appropriate network calls", not "I need to make an authentication system".

There's plenty more real work to do after that, of course. Building a non-throwaway UI, for starters. Then moving on to friends-lists, favorites, sub-groups/tagging, and all the million little things you need in order to keep the signal-to-noise ratio high in a distributed system.

I'll let you know how it goes.

Creative Commons License

all articles at langnostic are licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License

Reprint, rehost and distribute freely (even for profit), but attribute the work and allow your readers the same freedoms. Here's a license widget you can use.

The menu background image is Jewel Wash, taken from Dan Zen's flickr stream and released under a CC-BY license