Log in

No account? Create an account
bandwidth distribution via LJ friends-lists - brad's life — LiveJournal [entries|archive|friends|userinfo]
Brad Fitzpatrick

[ website | bradfitz.com ]
[ userinfo | livejournal userinfo ]
[ archive | journal archive ]

bandwidth distribution via LJ friends-lists [May. 3rd, 2004|09:47 pm]
Brad Fitzpatrick
If the LiveJournal client included a P2P client.... damn.

Peer with your LJ friends when they go online. (LiveJournal letting you know who to peer with....)

Download LJ entries, comments, userpics, photos, etc from them.... probably high hit rate: good possibility the people they're reading are your friends too.

The LJ server would then know who is logged in and not, and the P2P client would also listen to http://localhost:nnn/ and we could return userpic requests and such directly to that, which does its P2P thing.... or just redirect them to that for their friends page.

Um.... anybody want a project? No GUI's really needed... could all be web-based UI so it's portable.

(I think I've talked about this before, but I never considered the friends-P2P thing even though it's so obvious)

The question is what feature to offer to entice people to use it. Keeping LJ's bandwidth costs sane isn't incentive enough for most people. Maybe giving them a free paid account after some measurable gain by using it? (Freeing up CPU by having their client do the friend page aggregation and freeing bandwidth by having them cache things....)

Man, I'm so developing for Avalon/.NET when Microsoft pushes their fat clients. Mozilla/Mono people better book it. (.NET has a concept of "local storage" which is like cookies on crack....)

(Deleted comment)
[User Picture]From: brad
2004-05-03 10:23 pm (UTC)
But I can program.
(Reply) (Parent) (Thread)
[User Picture]From: jarodrussell
2004-05-03 10:11 pm (UTC)
The question is what feature to offer to entice people to use it.

If each user is hosting their own LJ -- and I'm thinking this would work like the "message boards" do in Groove, which is a scaled down Usenet -- then they'd have more than a paid account, they'd have a "root" account, so to speak. Wouldn't they?

Pull this off, and you'll probably solve the spam problem as well. Create an internal messaging system with a built-in Friend-or-Foe switch.
(Reply) (Thread)
[User Picture]From: brad
2004-05-03 10:23 pm (UTC)
*yawn* That Groove website just had all the right marketing words to put my brain asleep.

Each user is not going to host their own LJ. That'd be so unreliable.
(Reply) (Parent) (Thread) (Expand)
From: ex_snej373
2004-05-03 10:29 pm (UTC)
I'm not so enthused about p2p stuff, not until they solve the problem of getting through firewalls and NATs. (Maybe I feel that way because I'm behind a firewall at work and a NAT at home.) Do that many people really have a wide-open connection where any other host can open connections to them? Should they?

Have you looked at Jabber, aka XMPP? It's far from ideal, but it has a reasonable mechanism to support real-time messaging without being full-on P2P. The architecture is similar to SMTP. There is a publish-subscribe extension to Jabber that looks like it would be ideal for publishing blog/journal posts.
(Reply) (Thread)
[User Picture]From: travisd
2004-05-04 08:01 am (UTC)
I think this is a big one. Considering that the Cableco's and DSL providers are now giving away routers, more and more of the end-user internet is going to "disappear" I think. A $40 is jsut so darn effective and easy now that it's a no-brainer thing for even non-techie users. And most of the others who do have a direct connection/real-ip/no-firewall are on dialup. Would servigin content of someone's flaky 30kbps dialup connection really help things?
(Reply) (Parent) (Thread) (Expand)
[User Picture]From: scsi
2004-05-03 10:38 pm (UTC)
Make something like bittorrent for all the common userpics/friends pages..

I'd run a client on my boxen.
(Reply) (Thread)
[User Picture]From: adamthebastard
2004-05-03 11:37 pm (UTC)
Damn, you beat me to it.

I would make sense to setup a tracker + seeder on LJ.com and have clients download everything into their cache to serve it up to other people and if you're using bit-torrent then a lot of the code is already done. How much of your bandwidth is taken up by dynamic/static content? While it's easy to setup peering for static stuff like images it would require a few mods to use .torrents for serving journals.

Perhaps the client could incorporate a rewards system (with huge encryption). Say for every mb uploaded you get X number of points which can be used to buy userpic-slots/paid-features/lj-memorabilia.
(Reply) (Parent) (Thread)
[User Picture]From: robflynn
2004-05-03 11:06 pm (UTC)
I'd like to work with you guys sometime... if you have any ideas let me know. If you'd just like to chat and see what we come up with, let me know, too. I'm sure we could figure something out. You know how to find me... ;)

(Reply) (Thread)
[User Picture]From: brad
2004-05-03 11:59 pm (UTC)
What are you doing now?
(Reply) (Parent) (Thread) (Expand)
From: conculcate
2004-05-03 11:22 pm (UTC)
I would definitely pay extra for such a feature.
(Reply) (Thread)
[User Picture]From: brad
2004-05-04 12:02 am (UTC)
What feature?

The idea is to make everybody's friends views/connections faster, and reduce our bandwidth usage, while still offering more functionality.

I'm not talking about P2P like music sharing. Just transparent data sharing.
(Reply) (Parent) (Thread)
[User Picture]From: mcfnord
2004-05-03 11:30 pm (UTC)
As incentive, you can offer p2p users features that naturally fall out of the p2p architecture, including friend messenger, more icons, larger icons, or even a "delayed voice chat" feature built on the same time-sequential model of your current system. You have a powerful idea.
(Reply) (Thread)
[User Picture]From: adamthebastard
2004-05-04 01:53 am (UTC)
Another feature could be automatic notification and/or downloading of updated journals. While RSS is useful it's still something you have to poll and that means more stress on the server. If the client has a constant connection to the server each time a journal in a specific set (the owners friends) was updated the server could send a short packet asking the client if it wants to download the latest files the client then either asks for input or pulls it down automatically while pushing it to other clients. Once its finished downloading the client notifies the user and they can open it up for reading.
(Reply) (Parent) (Thread)
[User Picture]From: stalk_her
2004-05-04 01:08 am (UTC)
i was just thinking how I wished livejournal showed who was logged in from my friends list.
(Reply) (Thread)
[User Picture]From: d4b
2004-05-04 09:08 am (UTC)
What about authentication? Right now, if I'm looking at an LJ entry on LJ, there's a reasonably good chance that that person wrote what is showing as being from them. Perhaps I'm missing something, but this could get awkward once there's the chance that content has been modified.
(Reply) (Thread)
[User Picture]From: brad
2004-05-04 09:59 am (UTC)
Not that hard of a problem.
(Reply) (Parent) (Thread)
From: evan
2004-05-04 01:23 pm (UTC)
the real win is high-bandwidth media integration. with the crypto (digital signature) stuff needed to keep people from manipulating stuff they relay, it's just a small step to build it into a waste-like network with your lj-friends. there's the incentive for users: a checkbox like "share music with my livejournal friends".
(Reply) (Thread)