Aggregating In Aggregate
Thu Jul 23, 2015So, 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.